@voyantjs/markets-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 +14 -0
- package/dist/components/market-currency-dialog.d.ts.map +1 -1
- package/dist/components/market-currency-dialog.js +21 -12
- package/dist/components/market-dialog.d.ts.map +1 -1
- package/dist/components/market-dialog.js +23 -15
- package/dist/components/market-locale-dialog.d.ts.map +1 -1
- package/dist/components/market-locale-dialog.js +17 -7
- package/dist/i18n/en.d.ts +88 -0
- package/dist/i18n/en.d.ts.map +1 -0
- package/dist/i18n/en.js +87 -0
- package/dist/i18n/index.d.ts +5 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +3 -0
- package/dist/i18n/messages.d.ts +90 -0
- package/dist/i18n/messages.d.ts.map +1 -0
- package/dist/i18n/messages.js +1 -0
- package/dist/i18n/provider.d.ts +198 -0
- package/dist/i18n/provider.d.ts.map +1 -0
- package/dist/i18n/provider.js +44 -0
- package/dist/i18n/ro.d.ts +88 -0
- package/dist/i18n/ro.d.ts.map +1 -0
- package/dist/i18n/ro.js +87 -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 +23 -7
package/README.md
CHANGED
|
@@ -11,3 +11,17 @@ pnpm add @voyantjs/markets-ui @voyantjs/markets-react @voyantjs/ui @tanstack/rea
|
|
|
11
11
|
`@voyantjs/ui` provides the design-system primitives. `@voyantjs/markets-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
|
+
`MarketsUiMessagesProvider` and import only the locales your app supports.
|
|
19
|
+
|
|
20
|
+
```tsx
|
|
21
|
+
import { MarketsUiMessagesProvider } from "@voyantjs/markets-ui"
|
|
22
|
+
import { marketsUiEn } from "@voyantjs/markets-ui/i18n/en"
|
|
23
|
+
import { marketsUiRo } from "@voyantjs/markets-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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market-currency-dialog.d.ts","sourceRoot":"","sources":["../../src/components/market-currency-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,oBAAoB,EAG1B,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"market-currency-dialog.d.ts","sourceRoot":"","sources":["../../src/components/market-currency-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,oBAAoB,EAG1B,MAAM,yBAAyB,CAAA;AAqChC,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,oBAAoB,CAAA;IAC/B,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,IAAI,CAAA;CACrD;AAED,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,EAAE,yBAAyB,2CA+I3B"}
|
|
@@ -8,21 +8,26 @@ import { Loader2 } from "lucide-react";
|
|
|
8
8
|
import { useEffect } from "react";
|
|
9
9
|
import { useForm } from "react-hook-form";
|
|
10
10
|
import { z } from "zod/v4";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
import { useMarketsUiMessagesOrDefault } from "../i18n";
|
|
12
|
+
function createFormSchema(messages) {
|
|
13
|
+
return z.object({
|
|
14
|
+
currencyCode: z.string().length(3, messages.marketCurrencyDialog.validation.currencyThreeChars),
|
|
15
|
+
isDefault: z.boolean(),
|
|
16
|
+
isSettlement: z.boolean(),
|
|
17
|
+
isReporting: z.boolean(),
|
|
18
|
+
sortOrder: z.coerce.number().int().min(0),
|
|
19
|
+
active: z.boolean(),
|
|
20
|
+
});
|
|
21
|
+
}
|
|
19
22
|
export function MarketCurrencyDialog({ open, onOpenChange, marketId, currency, onSuccess, }) {
|
|
20
23
|
const isEditing = Boolean(currency);
|
|
21
24
|
const { create, update } = useMarketCurrencyMutation();
|
|
25
|
+
const messages = useMarketsUiMessagesOrDefault();
|
|
26
|
+
const formSchema = createFormSchema(messages);
|
|
22
27
|
const form = useForm({
|
|
23
28
|
resolver: zodResolver(formSchema),
|
|
24
29
|
defaultValues: {
|
|
25
|
-
currencyCode: "EUR"
|
|
30
|
+
currencyCode: "EUR" /* i18n-literal-ok domain default currency */,
|
|
26
31
|
isDefault: false,
|
|
27
32
|
isSettlement: false,
|
|
28
33
|
isReporting: false,
|
|
@@ -44,7 +49,7 @@ export function MarketCurrencyDialog({ open, onOpenChange, marketId, currency, o
|
|
|
44
49
|
}
|
|
45
50
|
if (open) {
|
|
46
51
|
form.reset({
|
|
47
|
-
currencyCode: "EUR"
|
|
52
|
+
currencyCode: "EUR" /* i18n-literal-ok domain default currency */,
|
|
48
53
|
isDefault: false,
|
|
49
54
|
isSettlement: false,
|
|
50
55
|
isReporting: false,
|
|
@@ -69,8 +74,12 @@ export function MarketCurrencyDialog({ open, onOpenChange, marketId, currency, o
|
|
|
69
74
|
onSuccess?.(saved);
|
|
70
75
|
};
|
|
71
76
|
const isSubmitting = form.formState.isSubmitting || create.isPending || update.isPending;
|
|
72
|
-
return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: isEditing
|
|
77
|
+
return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: isEditing
|
|
78
|
+
? messages.marketCurrencyDialog.titles.edit
|
|
79
|
+
: messages.marketCurrencyDialog.titles.create }) }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), children: [_jsxs(DialogBody, { className: "grid gap-4", children: [_jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.marketCurrencyDialog.fields.currencyCode }), _jsx(CurrencyCombobox, { value: form.watch("currencyCode") || null, onChange: (next) => form.setValue("currencyCode", next ?? "EUR" /* i18n-literal-ok domain default currency */, {
|
|
73
80
|
shouldValidate: true,
|
|
74
81
|
shouldDirty: true,
|
|
75
|
-
}) })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children:
|
|
82
|
+
}) })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.marketCurrencyDialog.fields.sortOrder }), _jsx(Input, { ...form.register("sortOrder"), type: "number", min: "0" })] })] }), _jsxs("div", { className: "flex flex-wrap gap-6", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Switch, { checked: form.watch("isDefault"), onCheckedChange: (value) => form.setValue("isDefault", value) }), _jsx(Label, { children: messages.marketCurrencyDialog.fields.isDefault })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Switch, { checked: form.watch("isSettlement"), onCheckedChange: (value) => form.setValue("isSettlement", value) }), _jsx(Label, { children: messages.marketCurrencyDialog.fields.isSettlement })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Switch, { checked: form.watch("isReporting"), onCheckedChange: (value) => form.setValue("isReporting", value) }), _jsx(Label, { children: messages.marketCurrencyDialog.fields.isReporting })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Switch, { checked: form.watch("active"), onCheckedChange: (value) => form.setValue("active", value) }), _jsx(Label, { children: messages.marketCurrencyDialog.fields.active })] })] })] }), _jsxs(DialogFooter, { children: [_jsx(Button, { type: "button", variant: "ghost", onClick: () => onOpenChange(false), children: messages.common.cancel }), _jsxs(Button, { type: "submit", disabled: isSubmitting, children: [isSubmitting && _jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }), isEditing
|
|
83
|
+
? messages.common.saveChanges
|
|
84
|
+
: messages.marketCurrencyDialog.actions.create] })] })] })] }) }));
|
|
76
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market-dialog.d.ts","sourceRoot":"","sources":["../../src/components/market-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,YAAY,EAGlB,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"market-dialog.d.ts","sourceRoot":"","sources":["../../src/components/market-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,YAAY,EAGlB,MAAM,yBAAyB,CAAA;AAiDhC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAA;CAC3C;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,iBAAiB,2CAkMxF"}
|
|
@@ -9,21 +9,26 @@ import { Loader2 } from "lucide-react";
|
|
|
9
9
|
import { useEffect } from "react";
|
|
10
10
|
import { useForm } from "react-hook-form";
|
|
11
11
|
import { z } from "zod/v4";
|
|
12
|
+
import { useMarketsUiMessagesOrDefault } from "../i18n";
|
|
12
13
|
const MARKET_STATUSES = ["active", "inactive", "archived"];
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
14
|
+
function createFormSchema(messages) {
|
|
15
|
+
return z.object({
|
|
16
|
+
code: z.string().min(1, messages.marketDialog.validation.codeRequired).max(50),
|
|
17
|
+
name: z.string().min(1, messages.marketDialog.validation.nameRequired).max(255),
|
|
18
|
+
status: z.enum(MARKET_STATUSES),
|
|
19
|
+
regionCode: z.string().optional().nullable(),
|
|
20
|
+
countryCode: z.string().optional().nullable(),
|
|
21
|
+
defaultLanguageTag: z.string().min(2).max(35),
|
|
22
|
+
defaultCurrency: z.string().length(3, messages.marketDialog.validation.currencyThreeChars),
|
|
23
|
+
timezone: z.string().optional().nullable(),
|
|
24
|
+
taxContext: z.string().optional().nullable(),
|
|
25
|
+
});
|
|
26
|
+
}
|
|
24
27
|
export function MarketDialog({ open, onOpenChange, market, onSuccess }) {
|
|
25
28
|
const isEditing = Boolean(market);
|
|
26
29
|
const { create, update } = useMarketMutation();
|
|
30
|
+
const messages = useMarketsUiMessagesOrDefault();
|
|
31
|
+
const formSchema = createFormSchema(messages);
|
|
27
32
|
const form = useForm({
|
|
28
33
|
resolver: zodResolver(formSchema),
|
|
29
34
|
defaultValues: {
|
|
@@ -33,7 +38,7 @@ export function MarketDialog({ open, onOpenChange, market, onSuccess }) {
|
|
|
33
38
|
regionCode: "",
|
|
34
39
|
countryCode: "",
|
|
35
40
|
defaultLanguageTag: "en",
|
|
36
|
-
defaultCurrency: "EUR"
|
|
41
|
+
defaultCurrency: "EUR" /* i18n-literal-ok domain default currency */,
|
|
37
42
|
timezone: "",
|
|
38
43
|
taxContext: "",
|
|
39
44
|
},
|
|
@@ -61,7 +66,7 @@ export function MarketDialog({ open, onOpenChange, market, onSuccess }) {
|
|
|
61
66
|
regionCode: "",
|
|
62
67
|
countryCode: "",
|
|
63
68
|
defaultLanguageTag: "en",
|
|
64
|
-
defaultCurrency: "EUR"
|
|
69
|
+
defaultCurrency: "EUR" /* i18n-literal-ok domain default currency */,
|
|
65
70
|
timezone: "",
|
|
66
71
|
taxContext: "",
|
|
67
72
|
});
|
|
@@ -86,8 +91,11 @@ export function MarketDialog({ open, onOpenChange, market, onSuccess }) {
|
|
|
86
91
|
onSuccess?.(saved);
|
|
87
92
|
};
|
|
88
93
|
const isSubmitting = form.formState.isSubmitting || create.isPending || update.isPending;
|
|
89
|
-
return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { size: "lg", children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: isEditing ?
|
|
94
|
+
return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { size: "lg", children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: isEditing ? messages.marketDialog.titles.edit : messages.marketDialog.titles.create }) }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), children: [_jsxs(DialogBody, { className: "grid gap-4", children: [_jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.marketDialog.fields.code }), _jsx(Input, { ...form.register("code"), placeholder: messages.marketDialog.placeholders.code })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.marketDialog.fields.name }), _jsx(Input, { ...form.register("name"), placeholder: messages.marketDialog.placeholders.name })] })] }), _jsxs("div", { className: "grid grid-cols-3 gap-3", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.marketDialog.fields.status }), _jsxs(Select, { items: MARKET_STATUSES.map((x) => ({
|
|
95
|
+
label: messages.common.marketStatusLabels[x],
|
|
96
|
+
value: x,
|
|
97
|
+
})), value: form.watch("status"), onValueChange: (value) => form.setValue("status", value), children: [_jsx(SelectTrigger, { className: "w-full", children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { children: MARKET_STATUSES.map((status) => (_jsx(SelectItem, { value: status, children: messages.common.marketStatusLabels[status] }, status))) })] })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.marketDialog.fields.regionCode }), _jsx(Input, { ...form.register("regionCode"), placeholder: messages.marketDialog.placeholders.regionCode })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.marketDialog.fields.country }), _jsx(CountryCombobox, { value: form.watch("countryCode") ?? null, onChange: (code) => form.setValue("countryCode", code) })] })] }), _jsxs("div", { className: "grid grid-cols-3 gap-3", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.marketDialog.fields.languageTag }), _jsx(Input, { ...form.register("defaultLanguageTag"), placeholder: messages.marketDialog.placeholders.languageTag })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.marketDialog.fields.defaultCurrency }), _jsx(CurrencyCombobox, { value: form.watch("defaultCurrency") || null, onChange: (next) => form.setValue("defaultCurrency", next ?? "EUR" /* i18n-literal-ok domain default currency */, {
|
|
90
98
|
shouldValidate: true,
|
|
91
99
|
shouldDirty: true,
|
|
92
|
-
}) })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children:
|
|
100
|
+
}) })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.marketDialog.fields.timezone }), _jsx(Input, { ...form.register("timezone"), placeholder: messages.marketDialog.placeholders.timezone })] })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.marketDialog.fields.taxContext }), _jsx(Input, { ...form.register("taxContext"), placeholder: messages.marketDialog.placeholders.taxContext })] })] }), _jsxs(DialogFooter, { children: [_jsx(Button, { type: "button", variant: "ghost", onClick: () => onOpenChange(false), children: messages.common.cancel }), _jsxs(Button, { type: "submit", disabled: isSubmitting, children: [isSubmitting && _jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }), isEditing ? messages.common.saveChanges : messages.marketDialog.actions.create] })] })] })] }) }));
|
|
93
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market-locale-dialog.d.ts","sourceRoot":"","sources":["../../src/components/market-locale-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"market-locale-dialog.d.ts","sourceRoot":"","sources":["../../src/components/market-locale-dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,yBAAyB,CAAA;AAqChC,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAA;CACjD;AAED,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE,uBAAuB,2CA8GzB"}
|
|
@@ -7,15 +7,23 @@ import { Loader2 } from "lucide-react";
|
|
|
7
7
|
import { useEffect } from "react";
|
|
8
8
|
import { useForm } from "react-hook-form";
|
|
9
9
|
import { z } from "zod/v4";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
import { useMarketsUiMessagesOrDefault } from "../i18n";
|
|
11
|
+
function createFormSchema(messages) {
|
|
12
|
+
return z.object({
|
|
13
|
+
languageTag: z
|
|
14
|
+
.string()
|
|
15
|
+
.min(2, messages.marketLocaleDialog.validation.languageTagRequired)
|
|
16
|
+
.max(35),
|
|
17
|
+
isDefault: z.boolean(),
|
|
18
|
+
sortOrder: z.coerce.number().int().min(0),
|
|
19
|
+
active: z.boolean(),
|
|
20
|
+
});
|
|
21
|
+
}
|
|
16
22
|
export function MarketLocaleDialog({ open, onOpenChange, marketId, locale, onSuccess, }) {
|
|
17
23
|
const isEditing = Boolean(locale);
|
|
18
24
|
const { create, update } = useMarketLocaleMutation();
|
|
25
|
+
const messages = useMarketsUiMessagesOrDefault();
|
|
26
|
+
const formSchema = createFormSchema(messages);
|
|
19
27
|
const form = useForm({
|
|
20
28
|
resolver: zodResolver(formSchema),
|
|
21
29
|
defaultValues: {
|
|
@@ -58,5 +66,7 @@ export function MarketLocaleDialog({ open, onOpenChange, marketId, locale, onSuc
|
|
|
58
66
|
onSuccess?.(saved);
|
|
59
67
|
};
|
|
60
68
|
const isSubmitting = form.formState.isSubmitting || create.isPending || update.isPending;
|
|
61
|
-
return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: isEditing
|
|
69
|
+
return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { children: [_jsx(DialogHeader, { children: _jsx(DialogTitle, { children: isEditing
|
|
70
|
+
? messages.marketLocaleDialog.titles.edit
|
|
71
|
+
: messages.marketLocaleDialog.titles.create }) }), _jsxs("form", { onSubmit: form.handleSubmit(onSubmit), children: [_jsxs(DialogBody, { className: "grid gap-4", children: [_jsxs("div", { className: "grid grid-cols-2 gap-4", children: [_jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.marketLocaleDialog.fields.languageTag }), _jsx(Input, { ...form.register("languageTag"), placeholder: messages.marketLocaleDialog.placeholders.languageTag })] }), _jsxs("div", { className: "flex flex-col gap-2", children: [_jsx(Label, { children: messages.marketLocaleDialog.fields.sortOrder }), _jsx(Input, { ...form.register("sortOrder"), type: "number", min: "0" })] })] }), _jsxs("div", { className: "flex gap-6", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Switch, { checked: form.watch("isDefault"), onCheckedChange: (value) => form.setValue("isDefault", value) }), _jsx(Label, { children: messages.marketLocaleDialog.fields.isDefault })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Switch, { checked: form.watch("active"), onCheckedChange: (value) => form.setValue("active", value) }), _jsx(Label, { children: messages.marketLocaleDialog.fields.active })] })] })] }), _jsxs(DialogFooter, { children: [_jsx(Button, { type: "button", variant: "ghost", onClick: () => onOpenChange(false), children: messages.common.cancel }), _jsxs(Button, { type: "submit", disabled: isSubmitting, children: [isSubmitting && _jsx(Loader2, { className: "mr-2 h-4 w-4 animate-spin" }), isEditing ? messages.common.saveChanges : messages.marketLocaleDialog.actions.create] })] })] })] }) }));
|
|
62
72
|
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
export declare const marketsUiEn: {
|
|
2
|
+
common: {
|
|
3
|
+
cancel: string;
|
|
4
|
+
saveChanges: string;
|
|
5
|
+
active: string;
|
|
6
|
+
default: string;
|
|
7
|
+
marketStatusLabels: {
|
|
8
|
+
active: string;
|
|
9
|
+
inactive: string;
|
|
10
|
+
archived: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
marketDialog: {
|
|
14
|
+
titles: {
|
|
15
|
+
create: string;
|
|
16
|
+
edit: string;
|
|
17
|
+
};
|
|
18
|
+
fields: {
|
|
19
|
+
code: string;
|
|
20
|
+
name: string;
|
|
21
|
+
status: string;
|
|
22
|
+
regionCode: string;
|
|
23
|
+
country: string;
|
|
24
|
+
languageTag: string;
|
|
25
|
+
defaultCurrency: string;
|
|
26
|
+
timezone: string;
|
|
27
|
+
taxContext: string;
|
|
28
|
+
};
|
|
29
|
+
placeholders: {
|
|
30
|
+
code: string;
|
|
31
|
+
name: string;
|
|
32
|
+
regionCode: string;
|
|
33
|
+
languageTag: string;
|
|
34
|
+
timezone: string;
|
|
35
|
+
taxContext: string;
|
|
36
|
+
};
|
|
37
|
+
actions: {
|
|
38
|
+
create: string;
|
|
39
|
+
};
|
|
40
|
+
validation: {
|
|
41
|
+
codeRequired: string;
|
|
42
|
+
nameRequired: string;
|
|
43
|
+
currencyThreeChars: string;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
marketCurrencyDialog: {
|
|
47
|
+
titles: {
|
|
48
|
+
create: string;
|
|
49
|
+
edit: string;
|
|
50
|
+
};
|
|
51
|
+
fields: {
|
|
52
|
+
currencyCode: string;
|
|
53
|
+
sortOrder: string;
|
|
54
|
+
isDefault: string;
|
|
55
|
+
isSettlement: string;
|
|
56
|
+
isReporting: string;
|
|
57
|
+
active: string;
|
|
58
|
+
};
|
|
59
|
+
actions: {
|
|
60
|
+
create: string;
|
|
61
|
+
};
|
|
62
|
+
validation: {
|
|
63
|
+
currencyThreeChars: string;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
marketLocaleDialog: {
|
|
67
|
+
titles: {
|
|
68
|
+
create: string;
|
|
69
|
+
edit: string;
|
|
70
|
+
};
|
|
71
|
+
fields: {
|
|
72
|
+
languageTag: string;
|
|
73
|
+
sortOrder: string;
|
|
74
|
+
isDefault: string;
|
|
75
|
+
active: string;
|
|
76
|
+
};
|
|
77
|
+
placeholders: {
|
|
78
|
+
languageTag: string;
|
|
79
|
+
};
|
|
80
|
+
actions: {
|
|
81
|
+
create: string;
|
|
82
|
+
};
|
|
83
|
+
validation: {
|
|
84
|
+
languageTagRequired: string;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
//# 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,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFK,CAAA"}
|
package/dist/i18n/en.js
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
export const marketsUiEn = {
|
|
2
|
+
common: {
|
|
3
|
+
cancel: "Cancel",
|
|
4
|
+
saveChanges: "Save Changes",
|
|
5
|
+
active: "Active",
|
|
6
|
+
default: "Default",
|
|
7
|
+
marketStatusLabels: {
|
|
8
|
+
active: "Active",
|
|
9
|
+
inactive: "Inactive",
|
|
10
|
+
archived: "Archived",
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
marketDialog: {
|
|
14
|
+
titles: {
|
|
15
|
+
create: "Add Market",
|
|
16
|
+
edit: "Edit Market",
|
|
17
|
+
},
|
|
18
|
+
fields: {
|
|
19
|
+
code: "Code",
|
|
20
|
+
name: "Name",
|
|
21
|
+
status: "Status",
|
|
22
|
+
regionCode: "Region code",
|
|
23
|
+
country: "Country",
|
|
24
|
+
languageTag: "Language tag",
|
|
25
|
+
defaultCurrency: "Default currency",
|
|
26
|
+
timezone: "Timezone",
|
|
27
|
+
taxContext: "Tax context",
|
|
28
|
+
},
|
|
29
|
+
placeholders: {
|
|
30
|
+
code: "EU-DE",
|
|
31
|
+
name: "Germany",
|
|
32
|
+
regionCode: "EU, APAC...",
|
|
33
|
+
languageTag: "en, de-DE...",
|
|
34
|
+
timezone: "Europe/Berlin",
|
|
35
|
+
taxContext: "EU-VAT, US-Sales-Tax...",
|
|
36
|
+
},
|
|
37
|
+
actions: {
|
|
38
|
+
create: "Add Market",
|
|
39
|
+
},
|
|
40
|
+
validation: {
|
|
41
|
+
codeRequired: "Code is required",
|
|
42
|
+
nameRequired: "Name is required",
|
|
43
|
+
currencyThreeChars: "Currency must be 3 chars",
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
marketCurrencyDialog: {
|
|
47
|
+
titles: {
|
|
48
|
+
create: "Add Currency",
|
|
49
|
+
edit: "Edit Currency",
|
|
50
|
+
},
|
|
51
|
+
fields: {
|
|
52
|
+
currencyCode: "Currency code",
|
|
53
|
+
sortOrder: "Sort order",
|
|
54
|
+
isDefault: "Default",
|
|
55
|
+
isSettlement: "Settlement",
|
|
56
|
+
isReporting: "Reporting",
|
|
57
|
+
active: "Active",
|
|
58
|
+
},
|
|
59
|
+
actions: {
|
|
60
|
+
create: "Add Currency",
|
|
61
|
+
},
|
|
62
|
+
validation: {
|
|
63
|
+
currencyThreeChars: "Currency must be 3 chars",
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
marketLocaleDialog: {
|
|
67
|
+
titles: {
|
|
68
|
+
create: "Add Locale",
|
|
69
|
+
edit: "Edit Locale",
|
|
70
|
+
},
|
|
71
|
+
fields: {
|
|
72
|
+
languageTag: "Language tag",
|
|
73
|
+
sortOrder: "Sort order",
|
|
74
|
+
isDefault: "Default",
|
|
75
|
+
active: "Active",
|
|
76
|
+
},
|
|
77
|
+
placeholders: {
|
|
78
|
+
languageTag: "en-GB, de-DE...",
|
|
79
|
+
},
|
|
80
|
+
actions: {
|
|
81
|
+
create: "Add Locale",
|
|
82
|
+
},
|
|
83
|
+
validation: {
|
|
84
|
+
languageTagRequired: "Language tag is required",
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { marketsUiEn } from "./en";
|
|
2
|
+
export type { MarketStatus, MarketsUiMessages } from "./messages";
|
|
3
|
+
export { getMarketsUiI18n, type MarketsUiMessageOverrides, MarketsUiMessagesProvider, marketsUiMessageDefinitions, resolveMarketsUiMessages, useMarketsUiI18n, useMarketsUiI18nOrDefault, useMarketsUiMessages, useMarketsUiMessagesOrDefault, } from "./provider";
|
|
4
|
+
export { marketsUiRo } 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,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,EACL,gBAAgB,EAChB,KAAK,yBAAyB,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { marketsUiEn } from "./en";
|
|
2
|
+
export { getMarketsUiI18n, MarketsUiMessagesProvider, marketsUiMessageDefinitions, resolveMarketsUiMessages, useMarketsUiI18n, useMarketsUiI18nOrDefault, useMarketsUiMessages, useMarketsUiMessagesOrDefault, } from "./provider";
|
|
3
|
+
export { marketsUiRo } from "./ro";
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { CreateMarketInput, MarketCurrencyRecord, MarketLocaleRecord, MarketRecord } from "@voyantjs/markets-react";
|
|
2
|
+
export type MarketStatus = NonNullable<CreateMarketInput["status"]>;
|
|
3
|
+
export type MarketLocaleLanguageTag = MarketLocaleRecord["languageTag"];
|
|
4
|
+
export type MarketCurrencyCode = MarketCurrencyRecord["currencyCode"];
|
|
5
|
+
export type MarketRegionCode = MarketRecord["regionCode"];
|
|
6
|
+
export type MarketCountryCode = MarketRecord["countryCode"];
|
|
7
|
+
export type MarketsUiMessages = {
|
|
8
|
+
common: {
|
|
9
|
+
cancel: string;
|
|
10
|
+
saveChanges: string;
|
|
11
|
+
active: string;
|
|
12
|
+
default: string;
|
|
13
|
+
marketStatusLabels: Record<MarketStatus, string>;
|
|
14
|
+
};
|
|
15
|
+
marketDialog: {
|
|
16
|
+
titles: {
|
|
17
|
+
create: string;
|
|
18
|
+
edit: string;
|
|
19
|
+
};
|
|
20
|
+
fields: {
|
|
21
|
+
code: string;
|
|
22
|
+
name: string;
|
|
23
|
+
status: string;
|
|
24
|
+
regionCode: string;
|
|
25
|
+
country: string;
|
|
26
|
+
languageTag: string;
|
|
27
|
+
defaultCurrency: string;
|
|
28
|
+
timezone: string;
|
|
29
|
+
taxContext: string;
|
|
30
|
+
};
|
|
31
|
+
placeholders: {
|
|
32
|
+
code: string;
|
|
33
|
+
name: string;
|
|
34
|
+
regionCode: string;
|
|
35
|
+
languageTag: string;
|
|
36
|
+
timezone: string;
|
|
37
|
+
taxContext: string;
|
|
38
|
+
};
|
|
39
|
+
actions: {
|
|
40
|
+
create: string;
|
|
41
|
+
};
|
|
42
|
+
validation: {
|
|
43
|
+
codeRequired: string;
|
|
44
|
+
nameRequired: string;
|
|
45
|
+
currencyThreeChars: string;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
marketCurrencyDialog: {
|
|
49
|
+
titles: {
|
|
50
|
+
create: string;
|
|
51
|
+
edit: string;
|
|
52
|
+
};
|
|
53
|
+
fields: {
|
|
54
|
+
currencyCode: string;
|
|
55
|
+
sortOrder: string;
|
|
56
|
+
isDefault: string;
|
|
57
|
+
isSettlement: string;
|
|
58
|
+
isReporting: string;
|
|
59
|
+
active: string;
|
|
60
|
+
};
|
|
61
|
+
actions: {
|
|
62
|
+
create: string;
|
|
63
|
+
};
|
|
64
|
+
validation: {
|
|
65
|
+
currencyThreeChars: string;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
marketLocaleDialog: {
|
|
69
|
+
titles: {
|
|
70
|
+
create: string;
|
|
71
|
+
edit: string;
|
|
72
|
+
};
|
|
73
|
+
fields: {
|
|
74
|
+
languageTag: string;
|
|
75
|
+
sortOrder: string;
|
|
76
|
+
isDefault: string;
|
|
77
|
+
active: string;
|
|
78
|
+
};
|
|
79
|
+
placeholders: {
|
|
80
|
+
languageTag: string;
|
|
81
|
+
};
|
|
82
|
+
actions: {
|
|
83
|
+
create: string;
|
|
84
|
+
};
|
|
85
|
+
validation: {
|
|
86
|
+
languageTagRequired: string;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/i18n/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { type LocaleMessageOverrides, type PackageI18nValue } from "@voyantjs/i18n";
|
|
2
|
+
import type { ReactNode } from "react";
|
|
3
|
+
import type { MarketsUiMessages } from "./messages";
|
|
4
|
+
export declare const marketsUiMessageDefinitions: {
|
|
5
|
+
en: {
|
|
6
|
+
common: {
|
|
7
|
+
cancel: string;
|
|
8
|
+
saveChanges: string;
|
|
9
|
+
active: string;
|
|
10
|
+
default: string;
|
|
11
|
+
marketStatusLabels: {
|
|
12
|
+
active: string;
|
|
13
|
+
inactive: string;
|
|
14
|
+
archived: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
marketDialog: {
|
|
18
|
+
titles: {
|
|
19
|
+
create: string;
|
|
20
|
+
edit: string;
|
|
21
|
+
};
|
|
22
|
+
fields: {
|
|
23
|
+
code: string;
|
|
24
|
+
name: string;
|
|
25
|
+
status: string;
|
|
26
|
+
regionCode: string;
|
|
27
|
+
country: string;
|
|
28
|
+
languageTag: string;
|
|
29
|
+
defaultCurrency: string;
|
|
30
|
+
timezone: string;
|
|
31
|
+
taxContext: string;
|
|
32
|
+
};
|
|
33
|
+
placeholders: {
|
|
34
|
+
code: string;
|
|
35
|
+
name: string;
|
|
36
|
+
regionCode: string;
|
|
37
|
+
languageTag: string;
|
|
38
|
+
timezone: string;
|
|
39
|
+
taxContext: string;
|
|
40
|
+
};
|
|
41
|
+
actions: {
|
|
42
|
+
create: string;
|
|
43
|
+
};
|
|
44
|
+
validation: {
|
|
45
|
+
codeRequired: string;
|
|
46
|
+
nameRequired: string;
|
|
47
|
+
currencyThreeChars: string;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
marketCurrencyDialog: {
|
|
51
|
+
titles: {
|
|
52
|
+
create: string;
|
|
53
|
+
edit: string;
|
|
54
|
+
};
|
|
55
|
+
fields: {
|
|
56
|
+
currencyCode: string;
|
|
57
|
+
sortOrder: string;
|
|
58
|
+
isDefault: string;
|
|
59
|
+
isSettlement: string;
|
|
60
|
+
isReporting: string;
|
|
61
|
+
active: string;
|
|
62
|
+
};
|
|
63
|
+
actions: {
|
|
64
|
+
create: string;
|
|
65
|
+
};
|
|
66
|
+
validation: {
|
|
67
|
+
currencyThreeChars: string;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
marketLocaleDialog: {
|
|
71
|
+
titles: {
|
|
72
|
+
create: string;
|
|
73
|
+
edit: string;
|
|
74
|
+
};
|
|
75
|
+
fields: {
|
|
76
|
+
languageTag: string;
|
|
77
|
+
sortOrder: string;
|
|
78
|
+
isDefault: string;
|
|
79
|
+
active: string;
|
|
80
|
+
};
|
|
81
|
+
placeholders: {
|
|
82
|
+
languageTag: string;
|
|
83
|
+
};
|
|
84
|
+
actions: {
|
|
85
|
+
create: string;
|
|
86
|
+
};
|
|
87
|
+
validation: {
|
|
88
|
+
languageTagRequired: string;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
ro: {
|
|
93
|
+
common: {
|
|
94
|
+
cancel: string;
|
|
95
|
+
saveChanges: string;
|
|
96
|
+
active: string;
|
|
97
|
+
default: string;
|
|
98
|
+
marketStatusLabels: {
|
|
99
|
+
active: string;
|
|
100
|
+
inactive: string;
|
|
101
|
+
archived: string;
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
marketDialog: {
|
|
105
|
+
titles: {
|
|
106
|
+
create: string;
|
|
107
|
+
edit: string;
|
|
108
|
+
};
|
|
109
|
+
fields: {
|
|
110
|
+
code: string;
|
|
111
|
+
name: string;
|
|
112
|
+
status: string;
|
|
113
|
+
regionCode: string;
|
|
114
|
+
country: string;
|
|
115
|
+
languageTag: string;
|
|
116
|
+
defaultCurrency: string;
|
|
117
|
+
timezone: string;
|
|
118
|
+
taxContext: string;
|
|
119
|
+
};
|
|
120
|
+
placeholders: {
|
|
121
|
+
code: string;
|
|
122
|
+
name: string;
|
|
123
|
+
regionCode: string;
|
|
124
|
+
languageTag: string;
|
|
125
|
+
timezone: string;
|
|
126
|
+
taxContext: string;
|
|
127
|
+
};
|
|
128
|
+
actions: {
|
|
129
|
+
create: string;
|
|
130
|
+
};
|
|
131
|
+
validation: {
|
|
132
|
+
codeRequired: string;
|
|
133
|
+
nameRequired: string;
|
|
134
|
+
currencyThreeChars: string;
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
marketCurrencyDialog: {
|
|
138
|
+
titles: {
|
|
139
|
+
create: string;
|
|
140
|
+
edit: string;
|
|
141
|
+
};
|
|
142
|
+
fields: {
|
|
143
|
+
currencyCode: string;
|
|
144
|
+
sortOrder: string;
|
|
145
|
+
isDefault: string;
|
|
146
|
+
isSettlement: string;
|
|
147
|
+
isReporting: string;
|
|
148
|
+
active: string;
|
|
149
|
+
};
|
|
150
|
+
actions: {
|
|
151
|
+
create: string;
|
|
152
|
+
};
|
|
153
|
+
validation: {
|
|
154
|
+
currencyThreeChars: string;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
marketLocaleDialog: {
|
|
158
|
+
titles: {
|
|
159
|
+
create: string;
|
|
160
|
+
edit: string;
|
|
161
|
+
};
|
|
162
|
+
fields: {
|
|
163
|
+
languageTag: string;
|
|
164
|
+
sortOrder: string;
|
|
165
|
+
isDefault: string;
|
|
166
|
+
active: string;
|
|
167
|
+
};
|
|
168
|
+
placeholders: {
|
|
169
|
+
languageTag: string;
|
|
170
|
+
};
|
|
171
|
+
actions: {
|
|
172
|
+
create: string;
|
|
173
|
+
};
|
|
174
|
+
validation: {
|
|
175
|
+
languageTagRequired: string;
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
export type MarketsUiMessageOverrides = LocaleMessageOverrides<MarketsUiMessages>;
|
|
181
|
+
export declare function resolveMarketsUiMessages({ locale, overrides, }: {
|
|
182
|
+
locale: string | null | undefined;
|
|
183
|
+
overrides?: MarketsUiMessageOverrides | null;
|
|
184
|
+
}): MarketsUiMessages;
|
|
185
|
+
export declare function getMarketsUiI18n({ locale, overrides, }: {
|
|
186
|
+
locale?: string | null | undefined;
|
|
187
|
+
overrides?: MarketsUiMessageOverrides | null;
|
|
188
|
+
}): PackageI18nValue<MarketsUiMessages>;
|
|
189
|
+
export declare function MarketsUiMessagesProvider({ children, locale, overrides, }: {
|
|
190
|
+
children: ReactNode;
|
|
191
|
+
locale: string | null | undefined;
|
|
192
|
+
overrides?: MarketsUiMessageOverrides | null;
|
|
193
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
194
|
+
export declare const useMarketsUiI18n: () => PackageI18nValue<MarketsUiMessages>;
|
|
195
|
+
export declare const useMarketsUiMessages: () => MarketsUiMessages;
|
|
196
|
+
export declare function useMarketsUiI18nOrDefault(): PackageI18nValue<MarketsUiMessages>;
|
|
197
|
+
export declare function useMarketsUiMessagesOrDefault(): MarketsUiMessages;
|
|
198
|
+
//# 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,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAKnD,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGe,CAAA;AAEvD,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,CAAA;AASjF,wBAAgB,wBAAwB,CAAC,EACvC,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACjC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,qBAOA;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,SAAS,GACV,EAAE;IACD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAClC,SAAS,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC7C,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAStC;AAED,wBAAgB,yBAAyB,CAAC,EACxC,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,yBAAyB,GAAG,IAAI,CAAA;CAC7C,2CAWA;AAED,eAAO,MAAM,gBAAgB,2CAA2B,CAAA;AACxD,eAAO,MAAM,oBAAoB,yBAA+B,CAAA;AAEhE,wBAAgB,yBAAyB,wCAExC;AAED,wBAAgB,6BAA6B,sBAE5C"}
|
|
@@ -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 { marketsUiEn } from "./en";
|
|
5
|
+
import { marketsUiRo } from "./ro";
|
|
6
|
+
const fallbackLocale = "en";
|
|
7
|
+
export const marketsUiMessageDefinitions = {
|
|
8
|
+
en: marketsUiEn,
|
|
9
|
+
ro: marketsUiRo,
|
|
10
|
+
};
|
|
11
|
+
const marketsUiContext = createPackageMessagesContext("MarketsUiMessages");
|
|
12
|
+
const defaultMarketsUiI18n = {
|
|
13
|
+
messages: marketsUiEn,
|
|
14
|
+
...createLocaleFormatters(fallbackLocale),
|
|
15
|
+
};
|
|
16
|
+
export function resolveMarketsUiMessages({ locale, overrides, }) {
|
|
17
|
+
return resolvePackageMessages({
|
|
18
|
+
definitions: marketsUiMessageDefinitions,
|
|
19
|
+
fallbackLocale,
|
|
20
|
+
locale,
|
|
21
|
+
overrides,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
export function getMarketsUiI18n({ locale, overrides, }) {
|
|
25
|
+
const resolvedLocale = locale ?? fallbackLocale;
|
|
26
|
+
return {
|
|
27
|
+
messages: resolveMarketsUiMessages({
|
|
28
|
+
locale: resolvedLocale,
|
|
29
|
+
overrides,
|
|
30
|
+
}),
|
|
31
|
+
...createLocaleFormatters(resolvedLocale),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export function MarketsUiMessagesProvider({ children, locale, overrides, }) {
|
|
35
|
+
return (_jsx(marketsUiContext.ResolvedMessagesProvider, { definitions: marketsUiMessageDefinitions, fallbackLocale: fallbackLocale, locale: locale, overrides: overrides, children: children }));
|
|
36
|
+
}
|
|
37
|
+
export const useMarketsUiI18n = marketsUiContext.useI18n;
|
|
38
|
+
export const useMarketsUiMessages = marketsUiContext.useMessages;
|
|
39
|
+
export function useMarketsUiI18nOrDefault() {
|
|
40
|
+
return marketsUiContext.useOptionalI18n() ?? defaultMarketsUiI18n;
|
|
41
|
+
}
|
|
42
|
+
export function useMarketsUiMessagesOrDefault() {
|
|
43
|
+
return useMarketsUiI18nOrDefault().messages;
|
|
44
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
export declare const marketsUiRo: {
|
|
2
|
+
common: {
|
|
3
|
+
cancel: string;
|
|
4
|
+
saveChanges: string;
|
|
5
|
+
active: string;
|
|
6
|
+
default: string;
|
|
7
|
+
marketStatusLabels: {
|
|
8
|
+
active: string;
|
|
9
|
+
inactive: string;
|
|
10
|
+
archived: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
marketDialog: {
|
|
14
|
+
titles: {
|
|
15
|
+
create: string;
|
|
16
|
+
edit: string;
|
|
17
|
+
};
|
|
18
|
+
fields: {
|
|
19
|
+
code: string;
|
|
20
|
+
name: string;
|
|
21
|
+
status: string;
|
|
22
|
+
regionCode: string;
|
|
23
|
+
country: string;
|
|
24
|
+
languageTag: string;
|
|
25
|
+
defaultCurrency: string;
|
|
26
|
+
timezone: string;
|
|
27
|
+
taxContext: string;
|
|
28
|
+
};
|
|
29
|
+
placeholders: {
|
|
30
|
+
code: string;
|
|
31
|
+
name: string;
|
|
32
|
+
regionCode: string;
|
|
33
|
+
languageTag: string;
|
|
34
|
+
timezone: string;
|
|
35
|
+
taxContext: string;
|
|
36
|
+
};
|
|
37
|
+
actions: {
|
|
38
|
+
create: string;
|
|
39
|
+
};
|
|
40
|
+
validation: {
|
|
41
|
+
codeRequired: string;
|
|
42
|
+
nameRequired: string;
|
|
43
|
+
currencyThreeChars: string;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
marketCurrencyDialog: {
|
|
47
|
+
titles: {
|
|
48
|
+
create: string;
|
|
49
|
+
edit: string;
|
|
50
|
+
};
|
|
51
|
+
fields: {
|
|
52
|
+
currencyCode: string;
|
|
53
|
+
sortOrder: string;
|
|
54
|
+
isDefault: string;
|
|
55
|
+
isSettlement: string;
|
|
56
|
+
isReporting: string;
|
|
57
|
+
active: string;
|
|
58
|
+
};
|
|
59
|
+
actions: {
|
|
60
|
+
create: string;
|
|
61
|
+
};
|
|
62
|
+
validation: {
|
|
63
|
+
currencyThreeChars: string;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
marketLocaleDialog: {
|
|
67
|
+
titles: {
|
|
68
|
+
create: string;
|
|
69
|
+
edit: string;
|
|
70
|
+
};
|
|
71
|
+
fields: {
|
|
72
|
+
languageTag: string;
|
|
73
|
+
sortOrder: string;
|
|
74
|
+
isDefault: string;
|
|
75
|
+
active: string;
|
|
76
|
+
};
|
|
77
|
+
placeholders: {
|
|
78
|
+
languageTag: string;
|
|
79
|
+
};
|
|
80
|
+
actions: {
|
|
81
|
+
create: string;
|
|
82
|
+
};
|
|
83
|
+
validation: {
|
|
84
|
+
languageTagRequired: string;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
//# 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,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFK,CAAA"}
|
package/dist/i18n/ro.js
ADDED
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
export const marketsUiRo = {
|
|
2
|
+
common: {
|
|
3
|
+
cancel: "Anuleaza",
|
|
4
|
+
saveChanges: "Salveaza Modificarile",
|
|
5
|
+
active: "Activ",
|
|
6
|
+
default: "Implicit",
|
|
7
|
+
marketStatusLabels: {
|
|
8
|
+
active: "Activ",
|
|
9
|
+
inactive: "Inactiv",
|
|
10
|
+
archived: "Arhivat",
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
marketDialog: {
|
|
14
|
+
titles: {
|
|
15
|
+
create: "Adauga Piata",
|
|
16
|
+
edit: "Editeaza Piata",
|
|
17
|
+
},
|
|
18
|
+
fields: {
|
|
19
|
+
code: "Cod",
|
|
20
|
+
name: "Nume",
|
|
21
|
+
status: "Status",
|
|
22
|
+
regionCode: "Cod regiune",
|
|
23
|
+
country: "Tara",
|
|
24
|
+
languageTag: "Eticheta limba",
|
|
25
|
+
defaultCurrency: "Moneda implicita",
|
|
26
|
+
timezone: "Fus orar",
|
|
27
|
+
taxContext: "Context fiscal",
|
|
28
|
+
},
|
|
29
|
+
placeholders: {
|
|
30
|
+
code: "EU-DE",
|
|
31
|
+
name: "Germania",
|
|
32
|
+
regionCode: "EU, APAC...",
|
|
33
|
+
languageTag: "en, de-DE...",
|
|
34
|
+
timezone: "Europe/Berlin",
|
|
35
|
+
taxContext: "EU-VAT, US-Sales-Tax...",
|
|
36
|
+
},
|
|
37
|
+
actions: {
|
|
38
|
+
create: "Adauga Piata",
|
|
39
|
+
},
|
|
40
|
+
validation: {
|
|
41
|
+
codeRequired: "Codul este obligatoriu",
|
|
42
|
+
nameRequired: "Numele este obligatoriu",
|
|
43
|
+
currencyThreeChars: "Moneda trebuie sa aiba 3 caractere",
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
marketCurrencyDialog: {
|
|
47
|
+
titles: {
|
|
48
|
+
create: "Adauga Moneda",
|
|
49
|
+
edit: "Editeaza Moneda",
|
|
50
|
+
},
|
|
51
|
+
fields: {
|
|
52
|
+
currencyCode: "Cod moneda",
|
|
53
|
+
sortOrder: "Ordine",
|
|
54
|
+
isDefault: "Implicit",
|
|
55
|
+
isSettlement: "Decontare",
|
|
56
|
+
isReporting: "Raportare",
|
|
57
|
+
active: "Activ",
|
|
58
|
+
},
|
|
59
|
+
actions: {
|
|
60
|
+
create: "Adauga Moneda",
|
|
61
|
+
},
|
|
62
|
+
validation: {
|
|
63
|
+
currencyThreeChars: "Moneda trebuie sa aiba 3 caractere",
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
marketLocaleDialog: {
|
|
67
|
+
titles: {
|
|
68
|
+
create: "Adauga Limba",
|
|
69
|
+
edit: "Editeaza Limba",
|
|
70
|
+
},
|
|
71
|
+
fields: {
|
|
72
|
+
languageTag: "Eticheta limba",
|
|
73
|
+
sortOrder: "Ordine",
|
|
74
|
+
isDefault: "Implicit",
|
|
75
|
+
active: "Activ",
|
|
76
|
+
},
|
|
77
|
+
placeholders: {
|
|
78
|
+
languageTag: "en-GB, de-DE...",
|
|
79
|
+
},
|
|
80
|
+
actions: {
|
|
81
|
+
create: "Adauga Limba",
|
|
82
|
+
},
|
|
83
|
+
validation: {
|
|
84
|
+
languageTagRequired: "Eticheta limbii este obligatorie",
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { MarketCurrencyDialog, type MarketCurrencyDialogProps, } from "./components/market-currency-dialog";
|
|
2
2
|
export { MarketDialog, type MarketDialogProps } from "./components/market-dialog";
|
|
3
3
|
export { MarketLocaleDialog, type MarketLocaleDialogProps } from "./components/market-locale-dialog";
|
|
4
|
+
export { getMarketsUiI18n, type MarketsUiMessageOverrides, type MarketsUiMessages, MarketsUiMessagesProvider, marketsUiEn, marketsUiMessageDefinitions, marketsUiRo, resolveMarketsUiMessages, useMarketsUiI18n, useMarketsUiI18nOrDefault, useMarketsUiMessages, useMarketsUiMessagesOrDefault, } from "./i18n";
|
|
4
5
|
//# 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,EACL,oBAAoB,EACpB,KAAK,yBAAyB,GAC/B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACjF,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,mCAAmC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,KAAK,yBAAyB,GAC/B,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACjF,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,mCAAmC,CAAA;AACpG,OAAO,EACL,gBAAgB,EAChB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,yBAAyB,EACzB,WAAW,EACX,2BAA2B,EAC3B,WAAW,EACX,wBAAwB,EACxB,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,QAAQ,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { MarketCurrencyDialog, } from "./components/market-currency-dialog";
|
|
2
2
|
export { MarketDialog } from "./components/market-dialog";
|
|
3
3
|
export { MarketLocaleDialog } from "./components/market-locale-dialog";
|
|
4
|
+
export { getMarketsUiI18n, MarketsUiMessagesProvider, marketsUiEn, marketsUiMessageDefinitions, marketsUiRo, resolveMarketsUiMessages, useMarketsUiI18n, useMarketsUiI18nOrDefault, useMarketsUiMessages, useMarketsUiMessagesOrDefault, } from "./i18n";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyantjs/markets-ui",
|
|
3
|
-
"version": "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"
|
|
@@ -25,9 +37,12 @@
|
|
|
25
37
|
"react": "^19.0.0",
|
|
26
38
|
"react-dom": "^19.0.0",
|
|
27
39
|
"react-hook-form": "^7.60.0",
|
|
28
|
-
"zod": "^3.
|
|
29
|
-
"@voyantjs/markets-react": "0.
|
|
30
|
-
"@voyantjs/ui": "0.
|
|
40
|
+
"zod": "^4.3.6",
|
|
41
|
+
"@voyantjs/markets-react": "0.17.0",
|
|
42
|
+
"@voyantjs/ui": "0.17.0"
|
|
43
|
+
},
|
|
44
|
+
"dependencies": {
|
|
45
|
+
"@voyantjs/i18n": "0.17.0"
|
|
31
46
|
},
|
|
32
47
|
"devDependencies": {
|
|
33
48
|
"@tanstack/react-query": "^5.96.2",
|
|
@@ -40,10 +55,11 @@
|
|
|
40
55
|
"react-hook-form": "^7.60.0",
|
|
41
56
|
"typescript": "^6.0.2",
|
|
42
57
|
"vitest": "^4.1.2",
|
|
43
|
-
"zod": "^3.
|
|
44
|
-
"@voyantjs/
|
|
58
|
+
"zod": "^4.3.6",
|
|
59
|
+
"@voyantjs/i18n": "0.17.0",
|
|
60
|
+
"@voyantjs/markets-react": "0.17.0",
|
|
45
61
|
"@voyantjs/voyant-typescript-config": "0.1.0",
|
|
46
|
-
"@voyantjs/ui": "0.
|
|
62
|
+
"@voyantjs/ui": "0.17.0"
|
|
47
63
|
},
|
|
48
64
|
"files": [
|
|
49
65
|
"dist"
|