intor 2.2.14 → 2.2.15
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/exports/config/index.d.ts +2 -0
- package/dist/exports/config/index.js +4 -0
- package/dist/exports/index.d.ts +5 -0
- package/dist/exports/index.js +11 -0
- package/dist/exports/next/index.d.ts +3 -0
- package/dist/exports/next/index.js +9 -0
- package/dist/exports/next/middleware/index.d.ts +2 -0
- package/dist/exports/next/middleware/index.js +2 -0
- package/dist/exports/next/server/index.d.ts +2 -0
- package/dist/exports/next/server/index.js +2 -0
- package/dist/exports/react/index.d.ts +2 -0
- package/dist/exports/react/index.js +6 -0
- package/dist/exports/server/index.d.ts +2 -0
- package/dist/exports/server/index.js +7 -0
- package/dist/src/adapters/next/middleware/handle-prefix/handle-prefix-all.d.ts +12 -0
- package/dist/src/adapters/next/middleware/handle-prefix/handle-prefix-all.js +60 -0
- package/dist/src/adapters/next/middleware/handle-prefix/handle-prefix-except-default.d.ts +16 -0
- package/dist/src/adapters/next/middleware/handle-prefix/handle-prefix-except-default.js +81 -0
- package/dist/src/adapters/next/middleware/handle-prefix/handle-prefix-none.d.ts +10 -0
- package/dist/src/adapters/next/middleware/handle-prefix/handle-prefix-none.js +22 -0
- package/dist/src/adapters/next/middleware/index.d.ts +2 -0
- package/dist/src/adapters/next/middleware/intor-middleware.d.ts +6 -0
- package/dist/src/adapters/next/middleware/intor-middleware.js +22 -0
- package/dist/src/adapters/next/middleware/utils/create-response.d.ts +17 -0
- package/dist/src/adapters/next/middleware/utils/create-response.js +42 -0
- package/dist/src/adapters/next/middleware/utils/determine-initial-locale.d.ts +8 -0
- package/dist/src/adapters/next/middleware/utils/determine-initial-locale.js +28 -0
- package/dist/src/adapters/next/middleware/utils/set-locale-cookie-edge.d.ts +15 -0
- package/dist/src/adapters/next/middleware/utils/set-locale-cookie-edge.js +24 -0
- package/dist/src/adapters/next/middleware/utils/set-pathname-header.d.ts +12 -0
- package/dist/src/adapters/next/middleware/utils/set-pathname-header.js +13 -0
- package/dist/src/adapters/next/navigation/index.d.ts +4 -0
- package/dist/src/adapters/next/navigation/link.d.ts +16 -0
- package/dist/src/adapters/next/navigation/link.js +25 -0
- package/dist/src/adapters/next/navigation/redirect.d.ts +16 -0
- package/dist/src/adapters/next/navigation/redirect.js +36 -0
- package/dist/src/adapters/next/navigation/use-pathname.d.ts +17 -0
- package/dist/src/adapters/next/navigation/use-pathname.js +49 -0
- package/dist/src/adapters/next/navigation/use-router.d.ts +20 -0
- package/dist/src/adapters/next/navigation/use-router.js +31 -0
- package/dist/src/adapters/next/navigation/utils/should-full-reload.d.ts +7 -0
- package/dist/src/adapters/next/navigation/utils/should-full-reload.js +19 -0
- package/dist/src/adapters/next/navigation/utils/use-locale-switch.d.ts +16 -0
- package/dist/src/adapters/next/navigation/utils/use-locale-switch.js +58 -0
- package/dist/src/adapters/next/server/get-i18n-context.d.ts +9 -0
- package/dist/src/adapters/next/server/get-i18n-context.js +47 -0
- package/dist/src/adapters/next/server/get-translator.d.ts +30 -0
- package/dist/src/adapters/next/server/get-translator.js +19 -0
- package/dist/src/adapters/next/server/index.d.ts +2 -0
- package/dist/src/adapters/next/shared/constants/pathname-header-name.d.ts +1 -0
- package/dist/src/adapters/next/shared/constants/pathname-header-name.js +4 -0
- package/dist/src/adapters/next/shared/utils/locale-prefix-pathname.d.ts +16 -0
- package/dist/src/adapters/next/shared/utils/locale-prefix-pathname.js +33 -0
- package/dist/src/adapters/next/shared/utils/localize-pathname.d.ts +18 -0
- package/dist/src/adapters/next/shared/utils/localize-pathname.js +36 -0
- package/dist/src/client/react/contexts/config/context.d.ts +3 -0
- package/dist/src/client/react/contexts/config/context.js +6 -0
- package/dist/src/client/react/contexts/config/hook.d.ts +2 -0
- package/dist/src/client/react/contexts/config/hook.js +12 -0
- package/dist/src/client/react/contexts/config/index.d.ts +2 -0
- package/dist/src/client/react/contexts/config/provider.d.ts +2 -0
- package/dist/src/client/react/contexts/config/provider.js +11 -0
- package/dist/src/client/react/contexts/config/types.d.ts +10 -0
- package/dist/src/client/react/contexts/intor-provider/index.d.ts +2 -0
- package/dist/src/client/react/contexts/intor-provider/intor-provider.d.ts +2 -0
- package/dist/src/client/react/contexts/intor-provider/intor-provider.js +17 -0
- package/dist/src/client/react/contexts/intor-provider/types.d.ts +14 -0
- package/dist/src/client/react/contexts/locale/context.d.ts +3 -0
- package/dist/src/client/react/contexts/locale/context.js +6 -0
- package/dist/src/client/react/contexts/locale/hook.d.ts +1 -0
- package/dist/src/client/react/contexts/locale/hook.js +12 -0
- package/dist/src/client/react/contexts/locale/index.d.ts +2 -0
- package/dist/src/client/react/contexts/locale/provider.d.ts +3 -0
- package/dist/src/client/react/contexts/locale/provider.js +48 -0
- package/dist/src/client/react/contexts/locale/types.d.ts +13 -0
- package/dist/src/client/react/contexts/locale/utils/change-locale.d.ts +22 -0
- package/dist/src/client/react/contexts/locale/utils/change-locale.js +35 -0
- package/dist/src/client/react/contexts/locale/utils/use-init-locale-cookie.d.ts +8 -0
- package/dist/src/client/react/contexts/locale/utils/use-init-locale-cookie.js +28 -0
- package/dist/src/client/react/contexts/messages/context.d.ts +3 -0
- package/dist/src/client/react/contexts/messages/context.js +6 -0
- package/dist/src/client/react/contexts/messages/hook.d.ts +2 -0
- package/dist/src/client/react/contexts/messages/hook.js +12 -0
- package/dist/src/client/react/contexts/messages/index.d.ts +2 -0
- package/dist/src/client/react/contexts/messages/provider.d.ts +3 -0
- package/dist/src/client/react/contexts/messages/provider.js +32 -0
- package/dist/src/client/react/contexts/messages/types.d.ts +15 -0
- package/dist/src/client/react/contexts/messages/utils/use-refetch-messages.d.ts +16 -0
- package/dist/src/client/react/contexts/messages/utils/use-refetch-messages.js +57 -0
- package/dist/src/client/react/contexts/translate-handlers/context.d.ts +2 -0
- package/dist/src/client/react/contexts/translate-handlers/context.js +6 -0
- package/dist/src/client/react/contexts/translate-handlers/hook.d.ts +2 -0
- package/dist/src/client/react/contexts/translate-handlers/hook.js +10 -0
- package/dist/src/client/react/contexts/translate-handlers/index.d.ts +3 -0
- package/dist/src/client/react/contexts/translate-handlers/provider.d.ts +2 -0
- package/dist/src/client/react/contexts/translate-handlers/provider.js +11 -0
- package/dist/src/client/react/contexts/translate-handlers/types.d.ts +7 -0
- package/dist/src/client/react/contexts/translator/context.d.ts +3 -0
- package/dist/src/client/react/contexts/translator/context.js +6 -0
- package/dist/src/client/react/contexts/translator/hook.d.ts +2 -0
- package/dist/src/client/react/contexts/translator/hook.js +12 -0
- package/dist/src/client/react/contexts/translator/index.d.ts +2 -0
- package/dist/src/client/react/contexts/translator/provider.d.ts +2 -0
- package/dist/src/client/react/contexts/translator/provider.js +53 -0
- package/dist/src/client/react/contexts/translator/types.d.ts +11 -0
- package/dist/src/client/react/hooks/use-translator.d.ts +12 -0
- package/dist/src/client/react/hooks/use-translator.js +38 -0
- package/dist/src/client/react/index.d.ts +4 -0
- package/dist/src/client/shared/utils/get-initial-locale.d.ts +11 -0
- package/dist/src/client/shared/utils/get-initial-locale.js +21 -0
- package/dist/src/config/constants/cache.constants.d.ts +2 -0
- package/dist/src/config/constants/cache.constants.js +7 -0
- package/dist/src/config/constants/cookie.constants.d.ts +2 -0
- package/dist/src/config/constants/cookie.constants.js +14 -0
- package/dist/src/config/constants/routing.constants.d.ts +2 -0
- package/dist/src/config/constants/routing.constants.js +11 -0
- package/dist/src/config/define-intor-config.d.ts +2 -0
- package/dist/src/config/define-intor-config.js +34 -0
- package/dist/src/config/index.d.ts +5 -0
- package/dist/src/config/resolvers/resolve-cache-options.d.ts +2 -0
- package/dist/src/config/resolvers/resolve-cache-options.js +10 -0
- package/dist/src/config/resolvers/resolve-cookie-options.d.ts +11 -0
- package/dist/src/config/resolvers/resolve-cookie-options.js +19 -0
- package/dist/src/config/resolvers/resolve-fallback-locales.d.ts +3 -0
- package/dist/src/config/resolvers/resolve-fallback-locales.js +33 -0
- package/dist/src/config/resolvers/resolve-routing-options.d.ts +13 -0
- package/dist/src/config/resolvers/resolve-routing-options.js +28 -0
- package/dist/src/config/types/cache.types.d.ts +7 -0
- package/dist/src/config/types/cookie.types.d.ts +23 -0
- package/dist/src/config/types/intor-config.types.d.ts +41 -0
- package/dist/src/config/types/loader.types.d.ts +38 -0
- package/dist/src/config/types/logger.types.d.ts +7 -0
- package/dist/src/config/types/routing.types.d.ts +15 -0
- package/dist/src/config/types/translator.types.d.ts +4 -0
- package/dist/src/config/validators/validate-default-locale.d.ts +3 -0
- package/dist/src/config/validators/validate-default-locale.js +24 -0
- package/dist/src/config/validators/validate-supported-locales.d.ts +7 -0
- package/dist/src/config/validators/validate-supported-locales.js +22 -0
- package/dist/src/server/index.d.ts +4 -0
- package/dist/src/server/intor/index.d.ts +2 -0
- package/dist/src/server/intor/intor.d.ts +14 -0
- package/dist/src/server/intor/intor.js +67 -0
- package/dist/src/server/intor/types.d.ts +14 -0
- package/dist/src/server/messages/index.d.ts +7 -0
- package/dist/src/server/messages/load-local-messages/index.d.ts +2 -0
- package/dist/src/server/messages/load-local-messages/load-local-messages.d.ts +11 -0
- package/dist/src/server/messages/load-local-messages/load-local-messages.js +85 -0
- package/dist/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/collect-file-entries.d.ts +29 -0
- package/dist/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/collect-file-entries.js +95 -0
- package/dist/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/index.d.ts +1 -0
- package/dist/src/server/messages/load-local-messages/read-locale-messages/collect-file-entries/types.d.ts +15 -0
- package/dist/src/server/messages/load-local-messages/read-locale-messages/index.d.ts +2 -0
- package/dist/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/index.d.ts +1 -0
- package/dist/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/parse-file-entries.d.ts +34 -0
- package/dist/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/parse-file-entries.js +85 -0
- package/dist/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/types.d.ts +18 -0
- package/dist/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/utils/json-reader.d.ts +6 -0
- package/dist/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/utils/json-reader.js +12 -0
- package/dist/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/utils/nest-object-from-path.d.ts +14 -0
- package/dist/src/server/messages/load-local-messages/read-locale-messages/parse-file-entries/utils/nest-object-from-path.js +21 -0
- package/dist/src/server/messages/load-local-messages/read-locale-messages/read-locale-messages.d.ts +10 -0
- package/dist/src/server/messages/load-local-messages/read-locale-messages/read-locale-messages.js +31 -0
- package/dist/src/server/messages/load-local-messages/read-locale-messages/types.d.ts +23 -0
- package/dist/src/server/messages/load-local-messages/types.d.ts +21 -0
- package/dist/src/server/messages/load-messages.d.ts +11 -0
- package/dist/src/server/messages/load-messages.js +77 -0
- package/dist/src/server/messages/load-remote-messages/fetch-locale-messages/fetch-locale-messages.d.ts +9 -0
- package/dist/src/server/messages/load-remote-messages/fetch-locale-messages/fetch-locale-messages.js +50 -0
- package/dist/src/server/messages/load-remote-messages/fetch-locale-messages/index.d.ts +1 -0
- package/dist/src/server/messages/load-remote-messages/fetch-locale-messages/types.d.ts +13 -0
- package/dist/src/server/messages/load-remote-messages/fetch-locale-messages/utils/build-search-params.d.ts +5 -0
- package/dist/src/server/messages/load-remote-messages/fetch-locale-messages/utils/build-search-params.js +25 -0
- package/dist/src/server/messages/load-remote-messages/index.d.ts +2 -0
- package/dist/src/server/messages/load-remote-messages/load-remote-messages.d.ts +9 -0
- package/dist/src/server/messages/load-remote-messages/load-remote-messages.js +79 -0
- package/dist/src/server/messages/load-remote-messages/types.d.ts +20 -0
- package/dist/src/server/messages/shared/global-messages-pool.d.ts +15 -0
- package/dist/src/server/messages/shared/global-messages-pool.js +10 -0
- package/dist/src/server/messages/shared/types.d.ts +39 -0
- package/dist/src/server/messages/shared/utils/is-valid-messages.d.ts +15 -0
- package/dist/src/server/messages/shared/utils/is-valid-messages.js +36 -0
- package/dist/src/server/messages/types.d.ts +15 -0
- package/dist/src/server/shared/logger/get-logger.d.ts +11 -0
- package/dist/src/server/shared/logger/get-logger.js +34 -0
- package/dist/src/server/shared/logger/global-logger-pool.d.ts +15 -0
- package/dist/src/server/shared/logger/global-logger-pool.js +8 -0
- package/dist/src/server/translator/get-translator.d.ts +33 -0
- package/dist/src/server/translator/get-translator.js +39 -0
- package/dist/src/server/translator/index.d.ts +1 -0
- package/dist/src/shared/constants/prefix-placeholder.d.ts +1 -0
- package/dist/src/shared/constants/prefix-placeholder.js +4 -0
- package/dist/src/shared/error/index.d.ts +1 -0
- package/dist/src/shared/error/intor-error.d.ts +16 -0
- package/dist/src/shared/error/intor-error.js +21 -0
- package/dist/src/shared/types/generated.types.d.ts +30 -0
- package/dist/src/shared/types/translator-instance.types.d.ts +33 -0
- package/dist/src/shared/utils/client/build-cookie-string.d.ts +9 -0
- package/dist/src/shared/utils/client/build-cookie-string.js +33 -0
- package/dist/src/shared/utils/client/set-locale-cookie-browser.d.ts +13 -0
- package/dist/src/shared/utils/client/set-locale-cookie-browser.js +21 -0
- package/dist/src/shared/utils/index.d.ts +8 -0
- package/dist/src/shared/utils/locale/normalize-locale.d.ts +4 -0
- package/dist/src/shared/utils/locale/normalize-locale.js +42 -0
- package/dist/src/shared/utils/locale/resolve-preferred-locale.d.ts +5 -0
- package/dist/src/shared/utils/locale/resolve-preferred-locale.js +26 -0
- package/dist/src/shared/utils/merge-messages.d.ts +6 -0
- package/dist/src/shared/utils/merge-messages.js +13 -0
- package/dist/src/shared/utils/normalize-cache-key.d.ts +3 -0
- package/dist/src/shared/utils/normalize-cache-key.js +29 -0
- package/dist/src/shared/utils/pathname/extract-pathname.d.ts +28 -0
- package/dist/src/shared/utils/pathname/extract-pathname.js +58 -0
- package/dist/src/shared/utils/pathname/normalize-pathname.d.ts +12 -0
- package/dist/src/shared/utils/pathname/normalize-pathname.js +43 -0
- package/dist/src/shared/utils/pathname/standardize-pathname.d.ts +18 -0
- package/dist/src/shared/utils/pathname/standardize-pathname.js +30 -0
- package/dist/src/shared/utils/resolve-namespaces.d.ts +10 -0
- package/dist/src/shared/utils/resolve-namespaces.js +33 -0
- package/package.json +28 -30
- package/dist/config/index.cjs +0 -198
- package/dist/config/index.d.cts +0 -145
- package/dist/config/index.d.ts +0 -145
- package/dist/config/index.js +0 -193
- package/dist/index.cjs +0 -234
- package/dist/index.d.cts +0 -224
- package/dist/index.d.ts +0 -224
- package/dist/index.js +0 -214
- package/dist/next/index.cjs +0 -940
- package/dist/next/index.d.cts +0 -282
- package/dist/next/index.d.ts +0 -282
- package/dist/next/index.js +0 -907
- package/dist/next/middleware/index.cjs +0 -387
- package/dist/next/middleware/index.d.cts +0 -128
- package/dist/next/middleware/index.d.ts +0 -128
- package/dist/next/middleware/index.js +0 -384
- package/dist/next/server/index.cjs +0 -734
- package/dist/next/server/index.d.cts +0 -277
- package/dist/next/server/index.d.ts +0 -277
- package/dist/next/server/index.js +0 -723
- package/dist/react/index.cjs +0 -649
- package/dist/react/index.d.cts +0 -224
- package/dist/react/index.d.ts +0 -224
- package/dist/react/index.js +0 -620
- package/dist/server/index.cjs +0 -696
- package/dist/server/index.d.cts +0 -377
- package/dist/server/index.d.ts +0 -377
- package/dist/server/index.js +0 -680
package/dist/next/index.d.cts
DELETED
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
import { LocaleMessages, Locale, FallbackLocalesMap, TranslateHandlers, ScopedLeafKeys, LocalizedLeafKeys, Replacement, LocalizedNodeKeys } from 'intor-translator';
|
|
2
|
-
import { Url } from 'next/dist/shared/lib/router/router';
|
|
3
|
-
import { LinkProps as LinkProps$1 } from 'next/link';
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
import * as next_dist_shared_lib_app_router_context_shared_runtime from 'next/dist/shared/lib/app-router-context.shared-runtime';
|
|
6
|
-
import { NavigateOptions } from 'next/dist/shared/lib/app-router-context.shared-runtime';
|
|
7
|
-
import { Level, NormalizerConfig, FormatterConfig, LoggerPreset } from 'logry/edge';
|
|
8
|
-
import { RedirectType } from 'next/navigation';
|
|
9
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
10
|
-
|
|
11
|
-
declare const PREFIX_PLACEHOLDER = "{locale}";
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Conditional type for generated types.
|
|
15
|
-
* - Returns `Then` if `IntorGeneratedTypes` exists, otherwise `Else`.
|
|
16
|
-
*/
|
|
17
|
-
type IfGen<Then, Else = never> = IntorGeneratedTypes extends void ? Else : Then;
|
|
18
|
-
/**
|
|
19
|
-
* Union of all configuration keys.
|
|
20
|
-
* - Defaults to `string` if `IntorGeneratedTypes` does not exist.
|
|
21
|
-
*/
|
|
22
|
-
type GenConfigKeys = IfGen<keyof IntorGeneratedTypes, string>;
|
|
23
|
-
/**
|
|
24
|
-
* Configuration shape for a given config key.
|
|
25
|
-
* - If `IntorGeneratedTypes` is not defined, falls back to default shape.
|
|
26
|
-
* Otherwise, picks `Locales` and `Messages` according to the key.
|
|
27
|
-
*/
|
|
28
|
-
type GenConfig<CK extends GenConfigKeys = "__default__"> = IntorGeneratedTypes extends void ? {
|
|
29
|
-
Locales: string;
|
|
30
|
-
Messages: LocaleMessages;
|
|
31
|
-
} : CK extends keyof IntorGeneratedTypes ? {
|
|
32
|
-
Locales: IntorGeneratedTypes[CK]["Locales"];
|
|
33
|
-
Messages: {
|
|
34
|
-
[K in IntorGeneratedTypes[CK]["Locales"]]: IntorGeneratedTypes[CK]["Messages"][typeof PREFIX_PLACEHOLDER];
|
|
35
|
-
};
|
|
36
|
-
} : never;
|
|
37
|
-
/** Extracts messages for a given config key */
|
|
38
|
-
type GenMessages<CK extends GenConfigKeys = "__default__"> = GenConfig<CK>["Messages"];
|
|
39
|
-
/** Extracts locales for a given config key */
|
|
40
|
-
type GenLocale<CK extends GenConfigKeys = "__default__"> = GenConfig<CK>["Locales"];
|
|
41
|
-
|
|
42
|
-
interface LinkProps extends Omit<LinkProps$1, "href">, Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "href"> {
|
|
43
|
-
href?: Url;
|
|
44
|
-
locale?: GenLocale;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Localized Link component
|
|
48
|
-
*
|
|
49
|
-
* - Wraps Next.js Link and handles locale switching.
|
|
50
|
-
* - Full reload occurs only if the locale changes and requires it; otherwise updates context.
|
|
51
|
-
*/
|
|
52
|
-
declare const Link: ({ href, locale, children, onClick, ...props }: LinkProps) => React.JSX.Element;
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Custom hook to get the current pathname in different forms based on the active locale.
|
|
56
|
-
*
|
|
57
|
-
* This hook wraps Next.js `usePathname` and processes the pathname according to the app's
|
|
58
|
-
* locale configuration.
|
|
59
|
-
*
|
|
60
|
-
* @example
|
|
61
|
-
* const { localizedPathname, standardizedPathname, unprefixedPathname } = usePathname();
|
|
62
|
-
* console.log(localizedPathname); // e.g. "/en/about"
|
|
63
|
-
* console.log(standardizedPathname); // e.g. "/{locale}/about"
|
|
64
|
-
* console.log(unprefixedPathname); // e.g. "/about"
|
|
65
|
-
*/
|
|
66
|
-
declare const usePathname: () => {
|
|
67
|
-
localizedPathname: string;
|
|
68
|
-
standardizedPathname: string;
|
|
69
|
-
unprefixedPathname: string;
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* useRouter hook.
|
|
74
|
-
*
|
|
75
|
-
* Wraps Next.js useRouter and provides push/replace methods that automatically switch locale.
|
|
76
|
-
*/
|
|
77
|
-
declare const useRouter: () => {
|
|
78
|
-
back(): void;
|
|
79
|
-
forward(): void;
|
|
80
|
-
refresh(): void;
|
|
81
|
-
prefetch(href: string, options?: next_dist_shared_lib_app_router_context_shared_runtime.PrefetchOptions): void;
|
|
82
|
-
push: (href: string, options?: NavigateOptions & {
|
|
83
|
-
locale?: GenLocale;
|
|
84
|
-
}) => void;
|
|
85
|
-
replace: (href: string, options?: NavigateOptions & {
|
|
86
|
-
locale?: Locale;
|
|
87
|
-
}) => void;
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
type CookieRawOptions = {
|
|
91
|
-
/** Enable cookie usage (read/write) - default: true */
|
|
92
|
-
enabled?: boolean;
|
|
93
|
-
/** Allow the system to automatically set cookies - default: true */
|
|
94
|
-
autoSetCookie?: boolean;
|
|
95
|
-
/** default: "intor.i18n.locale" */
|
|
96
|
-
name?: string;
|
|
97
|
-
/** default: null */
|
|
98
|
-
domain?: string | null;
|
|
99
|
-
/** default: "/" */
|
|
100
|
-
path?: string;
|
|
101
|
-
/** default: 60 * 60 * 24 * 365 (365 days) */
|
|
102
|
-
maxAge?: number;
|
|
103
|
-
/** default: false */
|
|
104
|
-
httpOnly?: boolean;
|
|
105
|
-
/** default: process.env.NODE_ENV !== "development" */
|
|
106
|
-
secure?: boolean;
|
|
107
|
-
/** default: lax */
|
|
108
|
-
sameSite?: "lax" | "strict" | "none";
|
|
109
|
-
};
|
|
110
|
-
type CookieResolvedOptions = Required<Omit<CookieRawOptions, "domain">> & {
|
|
111
|
-
domain: string | null;
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* ```ts
|
|
116
|
-
* {
|
|
117
|
-
* default: ["ui", "meta"],
|
|
118
|
-
* "/auth": ["auth", "admin"],
|
|
119
|
-
* }
|
|
120
|
-
* // When pathname is "/" => namespaces: ["ui", "meta"]
|
|
121
|
-
* // When pathname is "/auth" => namespaces: ["ui", "meta", "auth", "admin"]
|
|
122
|
-
* ```
|
|
123
|
-
*/
|
|
124
|
-
type RouteNamespaces = {
|
|
125
|
-
[key: string]: string[];
|
|
126
|
-
} | {
|
|
127
|
-
[key: string]: string[];
|
|
128
|
-
default: string[];
|
|
129
|
-
};
|
|
130
|
-
interface RemoteHeaders {
|
|
131
|
-
authorization?: string;
|
|
132
|
-
"x-api-key"?: string;
|
|
133
|
-
[key: string]: string | undefined;
|
|
134
|
-
}
|
|
135
|
-
type BaseLoaderOptions = {
|
|
136
|
-
rootDir?: string;
|
|
137
|
-
namespaces?: string[];
|
|
138
|
-
routeNamespaces?: RouteNamespaces;
|
|
139
|
-
concurrency?: number;
|
|
140
|
-
};
|
|
141
|
-
type LocalLoader = BaseLoaderOptions & {
|
|
142
|
-
type: "local";
|
|
143
|
-
};
|
|
144
|
-
type RemoteLoader = BaseLoaderOptions & {
|
|
145
|
-
type: "remote";
|
|
146
|
-
remoteUrl: string;
|
|
147
|
-
remoteHeaders?: RemoteHeaders;
|
|
148
|
-
fullReload?: boolean;
|
|
149
|
-
};
|
|
150
|
-
type LoaderOptions = LocalLoader | RemoteLoader;
|
|
151
|
-
|
|
152
|
-
type LoggerOptions = {
|
|
153
|
-
level?: Level;
|
|
154
|
-
normalizerConfig?: NormalizerConfig;
|
|
155
|
-
formatterConfig?: FormatterConfig;
|
|
156
|
-
preset?: LoggerPreset;
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
declare const routingPrefix: readonly ["none", "all", "except-default"];
|
|
160
|
-
declare const routingFirstVisitLocaleSource: readonly ["default", "browser"];
|
|
161
|
-
type RoutingRawOptions = {
|
|
162
|
-
/** default: "none" */
|
|
163
|
-
prefix?: (typeof routingPrefix)[number];
|
|
164
|
-
firstVisit?: {
|
|
165
|
-
/** default: "browser" */
|
|
166
|
-
localeSource?: (typeof routingFirstVisitLocaleSource)[number];
|
|
167
|
-
/** default: true */
|
|
168
|
-
redirect?: boolean;
|
|
169
|
-
};
|
|
170
|
-
/** default: "" */
|
|
171
|
-
basePath?: string;
|
|
172
|
-
};
|
|
173
|
-
type RoutingResolvedOptions = Required<RoutingRawOptions>;
|
|
174
|
-
|
|
175
|
-
type CacheRawOptions = {
|
|
176
|
-
/** default: process.env.NODE_ENV === "production" */
|
|
177
|
-
enabled?: boolean;
|
|
178
|
-
/** default: 60\*60\*1000 (1 hour) */
|
|
179
|
-
ttl?: number;
|
|
180
|
-
};
|
|
181
|
-
type CacheResolvedOptions = Required<CacheRawOptions>;
|
|
182
|
-
|
|
183
|
-
type TranslatorOptions = {
|
|
184
|
-
loadingMessage?: string;
|
|
185
|
-
placeholder?: string;
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
type IntorResolvedConfig = ({
|
|
189
|
-
loader: LoaderOptions;
|
|
190
|
-
supportedLocales: readonly Locale[];
|
|
191
|
-
} | {
|
|
192
|
-
loader?: undefined;
|
|
193
|
-
supportedLocales: readonly Locale[];
|
|
194
|
-
}) & {
|
|
195
|
-
readonly id: string;
|
|
196
|
-
readonly messages?: LocaleMessages;
|
|
197
|
-
readonly defaultLocale: Locale;
|
|
198
|
-
readonly fallbackLocales: FallbackLocalesMap;
|
|
199
|
-
readonly translator?: TranslatorOptions;
|
|
200
|
-
readonly cookie: CookieResolvedOptions;
|
|
201
|
-
readonly routing: RoutingResolvedOptions;
|
|
202
|
-
readonly logger?: LoggerOptions;
|
|
203
|
-
readonly cache: CacheResolvedOptions;
|
|
204
|
-
};
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* redirect utility.
|
|
208
|
-
*
|
|
209
|
-
* - Wraps Next.js redirect and applies locale-aware navigation.
|
|
210
|
-
* - Automatically prefixes the pathname with the correct locale.
|
|
211
|
-
* - External URLs are redirected directly without modification.
|
|
212
|
-
*/
|
|
213
|
-
declare const redirect: ({ config, locale, url, type, }: {
|
|
214
|
-
config: IntorResolvedConfig;
|
|
215
|
-
locale?: GenLocale;
|
|
216
|
-
url: string;
|
|
217
|
-
type?: RedirectType | undefined;
|
|
218
|
-
}) => Promise<never>;
|
|
219
|
-
|
|
220
|
-
interface IntorProviderProps {
|
|
221
|
-
value: {
|
|
222
|
-
config: IntorResolvedConfig;
|
|
223
|
-
initialLocale: Locale;
|
|
224
|
-
pathname?: string;
|
|
225
|
-
messages?: Readonly<LocaleMessages>;
|
|
226
|
-
onLocaleChange?: (newLocale: string) => Promise<void> | void;
|
|
227
|
-
isLoading?: boolean;
|
|
228
|
-
};
|
|
229
|
-
children: React.ReactNode;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
declare const IntorProvider: ({ value: { config, pathname, initialLocale, messages, onLocaleChange, isLoading, }, children, }: IntorProviderProps) => react_jsx_runtime.JSX.Element;
|
|
233
|
-
|
|
234
|
-
type TranslateHandlersProviderProps = {
|
|
235
|
-
handlers: TranslateHandlers;
|
|
236
|
-
children: React.ReactNode;
|
|
237
|
-
};
|
|
238
|
-
|
|
239
|
-
declare const TranslateHandlersProvider: ({ handlers, children, }: TranslateHandlersProviderProps) => react_jsx_runtime.JSX.Element;
|
|
240
|
-
|
|
241
|
-
/** Base properties shared by all translator instances. */
|
|
242
|
-
interface TranslatorBaseProps<M = unknown> {
|
|
243
|
-
/** `messages`: The message object containing all translations. */
|
|
244
|
-
messages: M;
|
|
245
|
-
/** Current locale in use. */
|
|
246
|
-
locale: Locale<M>;
|
|
247
|
-
}
|
|
248
|
-
/** Properties specific to client-side translator behavior. */
|
|
249
|
-
interface TranslatorClientProps<M = unknown> {
|
|
250
|
-
/** `isLoading`: Indicates whether translations are currently loading. */
|
|
251
|
-
isLoading: boolean;
|
|
252
|
-
/** `setLocale`: Function to update the current locale. */
|
|
253
|
-
setLocale: (locale: Locale<M>) => void;
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Conditional key type for TranslatorInstance.
|
|
257
|
-
* - Resolves to `ScopedLeafKeys` if a pre-key `PK` is provided,
|
|
258
|
-
* otherwise resolves to `LocalizedLeafKeys`.
|
|
259
|
-
*/
|
|
260
|
-
type Key<M, PK> = IfGen<PK extends string ? ScopedLeafKeys<M, PK> : LocalizedLeafKeys<M>, string>;
|
|
261
|
-
/**
|
|
262
|
-
* Translator instance type.
|
|
263
|
-
* Combines base props, client props, and core translation methods.
|
|
264
|
-
*/
|
|
265
|
-
type TranslatorInstance<M, PK extends string | undefined = undefined> = {
|
|
266
|
-
/** Check if a given key exists in the messages. */
|
|
267
|
-
hasKey: (key?: Key<M, PK>, targetLocale?: Locale<M>) => boolean;
|
|
268
|
-
/** Translate a given key into its string representation. */
|
|
269
|
-
t: <Result = string>(key?: Key<M, PK>, replacements?: Replacement) => Result;
|
|
270
|
-
} & TranslatorBaseProps<M> & TranslatorClientProps<M>;
|
|
271
|
-
|
|
272
|
-
/**
|
|
273
|
-
* React hook to access a ready-to-use translator instance in the client.
|
|
274
|
-
*
|
|
275
|
-
* - Provides `t`, `hasKey`, `messages`, `locale`, `isLoading` and `setLocale`.
|
|
276
|
-
* - Supports optional `preKey` to create a scoped translator for nested keys.
|
|
277
|
-
* - Can accept a generic type parameter `M` to strongly type your messages.
|
|
278
|
-
*/
|
|
279
|
-
declare function useTranslator<CK extends GenConfigKeys = "__default__">(): TranslatorInstance<GenMessages<CK>>;
|
|
280
|
-
declare function useTranslator<CK extends GenConfigKeys = "__default__", PK extends string = LocalizedNodeKeys<GenMessages<CK>>>(preKey: IfGen<PK, string>): TranslatorInstance<GenMessages<CK>, PK>;
|
|
281
|
-
|
|
282
|
-
export { IntorProvider, type IntorProviderProps, Link, TranslateHandlersProvider, type TranslateHandlersProviderProps, redirect, usePathname, useRouter, useTranslator };
|
package/dist/next/index.d.ts
DELETED
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
import { LocaleMessages, Locale, FallbackLocalesMap, TranslateHandlers, ScopedLeafKeys, LocalizedLeafKeys, Replacement, LocalizedNodeKeys } from 'intor-translator';
|
|
2
|
-
import { Url } from 'next/dist/shared/lib/router/router';
|
|
3
|
-
import { LinkProps as LinkProps$1 } from 'next/link';
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
import * as next_dist_shared_lib_app_router_context_shared_runtime from 'next/dist/shared/lib/app-router-context.shared-runtime';
|
|
6
|
-
import { NavigateOptions } from 'next/dist/shared/lib/app-router-context.shared-runtime';
|
|
7
|
-
import { Level, NormalizerConfig, FormatterConfig, LoggerPreset } from 'logry/edge';
|
|
8
|
-
import { RedirectType } from 'next/navigation';
|
|
9
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
10
|
-
|
|
11
|
-
declare const PREFIX_PLACEHOLDER = "{locale}";
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Conditional type for generated types.
|
|
15
|
-
* - Returns `Then` if `IntorGeneratedTypes` exists, otherwise `Else`.
|
|
16
|
-
*/
|
|
17
|
-
type IfGen<Then, Else = never> = IntorGeneratedTypes extends void ? Else : Then;
|
|
18
|
-
/**
|
|
19
|
-
* Union of all configuration keys.
|
|
20
|
-
* - Defaults to `string` if `IntorGeneratedTypes` does not exist.
|
|
21
|
-
*/
|
|
22
|
-
type GenConfigKeys = IfGen<keyof IntorGeneratedTypes, string>;
|
|
23
|
-
/**
|
|
24
|
-
* Configuration shape for a given config key.
|
|
25
|
-
* - If `IntorGeneratedTypes` is not defined, falls back to default shape.
|
|
26
|
-
* Otherwise, picks `Locales` and `Messages` according to the key.
|
|
27
|
-
*/
|
|
28
|
-
type GenConfig<CK extends GenConfigKeys = "__default__"> = IntorGeneratedTypes extends void ? {
|
|
29
|
-
Locales: string;
|
|
30
|
-
Messages: LocaleMessages;
|
|
31
|
-
} : CK extends keyof IntorGeneratedTypes ? {
|
|
32
|
-
Locales: IntorGeneratedTypes[CK]["Locales"];
|
|
33
|
-
Messages: {
|
|
34
|
-
[K in IntorGeneratedTypes[CK]["Locales"]]: IntorGeneratedTypes[CK]["Messages"][typeof PREFIX_PLACEHOLDER];
|
|
35
|
-
};
|
|
36
|
-
} : never;
|
|
37
|
-
/** Extracts messages for a given config key */
|
|
38
|
-
type GenMessages<CK extends GenConfigKeys = "__default__"> = GenConfig<CK>["Messages"];
|
|
39
|
-
/** Extracts locales for a given config key */
|
|
40
|
-
type GenLocale<CK extends GenConfigKeys = "__default__"> = GenConfig<CK>["Locales"];
|
|
41
|
-
|
|
42
|
-
interface LinkProps extends Omit<LinkProps$1, "href">, Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "href"> {
|
|
43
|
-
href?: Url;
|
|
44
|
-
locale?: GenLocale;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Localized Link component
|
|
48
|
-
*
|
|
49
|
-
* - Wraps Next.js Link and handles locale switching.
|
|
50
|
-
* - Full reload occurs only if the locale changes and requires it; otherwise updates context.
|
|
51
|
-
*/
|
|
52
|
-
declare const Link: ({ href, locale, children, onClick, ...props }: LinkProps) => React.JSX.Element;
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Custom hook to get the current pathname in different forms based on the active locale.
|
|
56
|
-
*
|
|
57
|
-
* This hook wraps Next.js `usePathname` and processes the pathname according to the app's
|
|
58
|
-
* locale configuration.
|
|
59
|
-
*
|
|
60
|
-
* @example
|
|
61
|
-
* const { localizedPathname, standardizedPathname, unprefixedPathname } = usePathname();
|
|
62
|
-
* console.log(localizedPathname); // e.g. "/en/about"
|
|
63
|
-
* console.log(standardizedPathname); // e.g. "/{locale}/about"
|
|
64
|
-
* console.log(unprefixedPathname); // e.g. "/about"
|
|
65
|
-
*/
|
|
66
|
-
declare const usePathname: () => {
|
|
67
|
-
localizedPathname: string;
|
|
68
|
-
standardizedPathname: string;
|
|
69
|
-
unprefixedPathname: string;
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* useRouter hook.
|
|
74
|
-
*
|
|
75
|
-
* Wraps Next.js useRouter and provides push/replace methods that automatically switch locale.
|
|
76
|
-
*/
|
|
77
|
-
declare const useRouter: () => {
|
|
78
|
-
back(): void;
|
|
79
|
-
forward(): void;
|
|
80
|
-
refresh(): void;
|
|
81
|
-
prefetch(href: string, options?: next_dist_shared_lib_app_router_context_shared_runtime.PrefetchOptions): void;
|
|
82
|
-
push: (href: string, options?: NavigateOptions & {
|
|
83
|
-
locale?: GenLocale;
|
|
84
|
-
}) => void;
|
|
85
|
-
replace: (href: string, options?: NavigateOptions & {
|
|
86
|
-
locale?: Locale;
|
|
87
|
-
}) => void;
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
type CookieRawOptions = {
|
|
91
|
-
/** Enable cookie usage (read/write) - default: true */
|
|
92
|
-
enabled?: boolean;
|
|
93
|
-
/** Allow the system to automatically set cookies - default: true */
|
|
94
|
-
autoSetCookie?: boolean;
|
|
95
|
-
/** default: "intor.i18n.locale" */
|
|
96
|
-
name?: string;
|
|
97
|
-
/** default: null */
|
|
98
|
-
domain?: string | null;
|
|
99
|
-
/** default: "/" */
|
|
100
|
-
path?: string;
|
|
101
|
-
/** default: 60 * 60 * 24 * 365 (365 days) */
|
|
102
|
-
maxAge?: number;
|
|
103
|
-
/** default: false */
|
|
104
|
-
httpOnly?: boolean;
|
|
105
|
-
/** default: process.env.NODE_ENV !== "development" */
|
|
106
|
-
secure?: boolean;
|
|
107
|
-
/** default: lax */
|
|
108
|
-
sameSite?: "lax" | "strict" | "none";
|
|
109
|
-
};
|
|
110
|
-
type CookieResolvedOptions = Required<Omit<CookieRawOptions, "domain">> & {
|
|
111
|
-
domain: string | null;
|
|
112
|
-
};
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* ```ts
|
|
116
|
-
* {
|
|
117
|
-
* default: ["ui", "meta"],
|
|
118
|
-
* "/auth": ["auth", "admin"],
|
|
119
|
-
* }
|
|
120
|
-
* // When pathname is "/" => namespaces: ["ui", "meta"]
|
|
121
|
-
* // When pathname is "/auth" => namespaces: ["ui", "meta", "auth", "admin"]
|
|
122
|
-
* ```
|
|
123
|
-
*/
|
|
124
|
-
type RouteNamespaces = {
|
|
125
|
-
[key: string]: string[];
|
|
126
|
-
} | {
|
|
127
|
-
[key: string]: string[];
|
|
128
|
-
default: string[];
|
|
129
|
-
};
|
|
130
|
-
interface RemoteHeaders {
|
|
131
|
-
authorization?: string;
|
|
132
|
-
"x-api-key"?: string;
|
|
133
|
-
[key: string]: string | undefined;
|
|
134
|
-
}
|
|
135
|
-
type BaseLoaderOptions = {
|
|
136
|
-
rootDir?: string;
|
|
137
|
-
namespaces?: string[];
|
|
138
|
-
routeNamespaces?: RouteNamespaces;
|
|
139
|
-
concurrency?: number;
|
|
140
|
-
};
|
|
141
|
-
type LocalLoader = BaseLoaderOptions & {
|
|
142
|
-
type: "local";
|
|
143
|
-
};
|
|
144
|
-
type RemoteLoader = BaseLoaderOptions & {
|
|
145
|
-
type: "remote";
|
|
146
|
-
remoteUrl: string;
|
|
147
|
-
remoteHeaders?: RemoteHeaders;
|
|
148
|
-
fullReload?: boolean;
|
|
149
|
-
};
|
|
150
|
-
type LoaderOptions = LocalLoader | RemoteLoader;
|
|
151
|
-
|
|
152
|
-
type LoggerOptions = {
|
|
153
|
-
level?: Level;
|
|
154
|
-
normalizerConfig?: NormalizerConfig;
|
|
155
|
-
formatterConfig?: FormatterConfig;
|
|
156
|
-
preset?: LoggerPreset;
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
declare const routingPrefix: readonly ["none", "all", "except-default"];
|
|
160
|
-
declare const routingFirstVisitLocaleSource: readonly ["default", "browser"];
|
|
161
|
-
type RoutingRawOptions = {
|
|
162
|
-
/** default: "none" */
|
|
163
|
-
prefix?: (typeof routingPrefix)[number];
|
|
164
|
-
firstVisit?: {
|
|
165
|
-
/** default: "browser" */
|
|
166
|
-
localeSource?: (typeof routingFirstVisitLocaleSource)[number];
|
|
167
|
-
/** default: true */
|
|
168
|
-
redirect?: boolean;
|
|
169
|
-
};
|
|
170
|
-
/** default: "" */
|
|
171
|
-
basePath?: string;
|
|
172
|
-
};
|
|
173
|
-
type RoutingResolvedOptions = Required<RoutingRawOptions>;
|
|
174
|
-
|
|
175
|
-
type CacheRawOptions = {
|
|
176
|
-
/** default: process.env.NODE_ENV === "production" */
|
|
177
|
-
enabled?: boolean;
|
|
178
|
-
/** default: 60\*60\*1000 (1 hour) */
|
|
179
|
-
ttl?: number;
|
|
180
|
-
};
|
|
181
|
-
type CacheResolvedOptions = Required<CacheRawOptions>;
|
|
182
|
-
|
|
183
|
-
type TranslatorOptions = {
|
|
184
|
-
loadingMessage?: string;
|
|
185
|
-
placeholder?: string;
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
type IntorResolvedConfig = ({
|
|
189
|
-
loader: LoaderOptions;
|
|
190
|
-
supportedLocales: readonly Locale[];
|
|
191
|
-
} | {
|
|
192
|
-
loader?: undefined;
|
|
193
|
-
supportedLocales: readonly Locale[];
|
|
194
|
-
}) & {
|
|
195
|
-
readonly id: string;
|
|
196
|
-
readonly messages?: LocaleMessages;
|
|
197
|
-
readonly defaultLocale: Locale;
|
|
198
|
-
readonly fallbackLocales: FallbackLocalesMap;
|
|
199
|
-
readonly translator?: TranslatorOptions;
|
|
200
|
-
readonly cookie: CookieResolvedOptions;
|
|
201
|
-
readonly routing: RoutingResolvedOptions;
|
|
202
|
-
readonly logger?: LoggerOptions;
|
|
203
|
-
readonly cache: CacheResolvedOptions;
|
|
204
|
-
};
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* redirect utility.
|
|
208
|
-
*
|
|
209
|
-
* - Wraps Next.js redirect and applies locale-aware navigation.
|
|
210
|
-
* - Automatically prefixes the pathname with the correct locale.
|
|
211
|
-
* - External URLs are redirected directly without modification.
|
|
212
|
-
*/
|
|
213
|
-
declare const redirect: ({ config, locale, url, type, }: {
|
|
214
|
-
config: IntorResolvedConfig;
|
|
215
|
-
locale?: GenLocale;
|
|
216
|
-
url: string;
|
|
217
|
-
type?: RedirectType | undefined;
|
|
218
|
-
}) => Promise<never>;
|
|
219
|
-
|
|
220
|
-
interface IntorProviderProps {
|
|
221
|
-
value: {
|
|
222
|
-
config: IntorResolvedConfig;
|
|
223
|
-
initialLocale: Locale;
|
|
224
|
-
pathname?: string;
|
|
225
|
-
messages?: Readonly<LocaleMessages>;
|
|
226
|
-
onLocaleChange?: (newLocale: string) => Promise<void> | void;
|
|
227
|
-
isLoading?: boolean;
|
|
228
|
-
};
|
|
229
|
-
children: React.ReactNode;
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
declare const IntorProvider: ({ value: { config, pathname, initialLocale, messages, onLocaleChange, isLoading, }, children, }: IntorProviderProps) => react_jsx_runtime.JSX.Element;
|
|
233
|
-
|
|
234
|
-
type TranslateHandlersProviderProps = {
|
|
235
|
-
handlers: TranslateHandlers;
|
|
236
|
-
children: React.ReactNode;
|
|
237
|
-
};
|
|
238
|
-
|
|
239
|
-
declare const TranslateHandlersProvider: ({ handlers, children, }: TranslateHandlersProviderProps) => react_jsx_runtime.JSX.Element;
|
|
240
|
-
|
|
241
|
-
/** Base properties shared by all translator instances. */
|
|
242
|
-
interface TranslatorBaseProps<M = unknown> {
|
|
243
|
-
/** `messages`: The message object containing all translations. */
|
|
244
|
-
messages: M;
|
|
245
|
-
/** Current locale in use. */
|
|
246
|
-
locale: Locale<M>;
|
|
247
|
-
}
|
|
248
|
-
/** Properties specific to client-side translator behavior. */
|
|
249
|
-
interface TranslatorClientProps<M = unknown> {
|
|
250
|
-
/** `isLoading`: Indicates whether translations are currently loading. */
|
|
251
|
-
isLoading: boolean;
|
|
252
|
-
/** `setLocale`: Function to update the current locale. */
|
|
253
|
-
setLocale: (locale: Locale<M>) => void;
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Conditional key type for TranslatorInstance.
|
|
257
|
-
* - Resolves to `ScopedLeafKeys` if a pre-key `PK` is provided,
|
|
258
|
-
* otherwise resolves to `LocalizedLeafKeys`.
|
|
259
|
-
*/
|
|
260
|
-
type Key<M, PK> = IfGen<PK extends string ? ScopedLeafKeys<M, PK> : LocalizedLeafKeys<M>, string>;
|
|
261
|
-
/**
|
|
262
|
-
* Translator instance type.
|
|
263
|
-
* Combines base props, client props, and core translation methods.
|
|
264
|
-
*/
|
|
265
|
-
type TranslatorInstance<M, PK extends string | undefined = undefined> = {
|
|
266
|
-
/** Check if a given key exists in the messages. */
|
|
267
|
-
hasKey: (key?: Key<M, PK>, targetLocale?: Locale<M>) => boolean;
|
|
268
|
-
/** Translate a given key into its string representation. */
|
|
269
|
-
t: <Result = string>(key?: Key<M, PK>, replacements?: Replacement) => Result;
|
|
270
|
-
} & TranslatorBaseProps<M> & TranslatorClientProps<M>;
|
|
271
|
-
|
|
272
|
-
/**
|
|
273
|
-
* React hook to access a ready-to-use translator instance in the client.
|
|
274
|
-
*
|
|
275
|
-
* - Provides `t`, `hasKey`, `messages`, `locale`, `isLoading` and `setLocale`.
|
|
276
|
-
* - Supports optional `preKey` to create a scoped translator for nested keys.
|
|
277
|
-
* - Can accept a generic type parameter `M` to strongly type your messages.
|
|
278
|
-
*/
|
|
279
|
-
declare function useTranslator<CK extends GenConfigKeys = "__default__">(): TranslatorInstance<GenMessages<CK>>;
|
|
280
|
-
declare function useTranslator<CK extends GenConfigKeys = "__default__", PK extends string = LocalizedNodeKeys<GenMessages<CK>>>(preKey: IfGen<PK, string>): TranslatorInstance<GenMessages<CK>, PK>;
|
|
281
|
-
|
|
282
|
-
export { IntorProvider, type IntorProviderProps, Link, TranslateHandlersProvider, type TranslateHandlersProviderProps, redirect, usePathname, useRouter, useTranslator };
|