next-intl 2.22.0 → 2.22.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/config.d.ts +3 -0
- package/dist/config.js +7 -0
- package/dist/development/_virtual/_rollupPluginBabelHelpers.js +20 -0
- package/dist/development/config.js +9 -0
- package/dist/development/index.js +21 -0
- package/dist/development/index.react-server.js +28 -0
- package/dist/development/middleware/getAlternateLinksHeaderValue.js +81 -0
- package/dist/development/middleware/middleware.js +146 -0
- package/dist/development/middleware/resolveLocale.js +110 -0
- package/dist/development/middleware/utils.js +150 -0
- package/dist/development/middleware.js +9 -0
- package/dist/development/navigation/BaseLink.js +52 -0
- package/dist/development/navigation/baseRedirect.js +22 -0
- package/dist/development/navigation/createLocalizedPathnamesNavigation.js +135 -0
- package/dist/development/navigation/createSharedPathnamesNavigation.js +19 -0
- package/dist/development/navigation/react-server/BaseLink.js +25 -0
- package/dist/development/navigation/react-server/baseRedirect.js +16 -0
- package/dist/development/navigation/react-server/createLocalizedPathnamesNavigation.js +77 -0
- package/dist/development/navigation/react-server/createSharedPathnamesNavigation.js +22 -0
- package/dist/development/navigation/useBasePathname.js +37 -0
- package/dist/development/navigation/useBaseRouter.js +76 -0
- package/dist/development/navigation/utils.js +108 -0
- package/dist/development/navigation.js +11 -0
- package/dist/development/navigation.react-server.js +11 -0
- package/dist/development/plugin.js +48 -0
- package/dist/development/react-client/index.js +38 -0
- package/dist/development/react-client/useLocale.js +24 -0
- package/dist/development/react-server/NextIntlClientProvider.js +33 -0
- package/dist/development/react-server/getBaseTranslator.js +21 -0
- package/dist/development/react-server/useFormatter.js +19 -0
- package/dist/development/react-server/useHook.js +21 -0
- package/dist/development/react-server/useLocale.js +14 -0
- package/dist/development/react-server/useMessages.js +19 -0
- package/dist/development/react-server/useNow.js +23 -0
- package/dist/development/react-server/useTimeZone.js +19 -0
- package/dist/development/react-server/useTranslations.js +19 -0
- package/dist/development/server/RequestLocale.js +43 -0
- package/dist/development/server/createRequestConfig.js +17 -0
- package/dist/development/server/getConfig.js +43 -0
- package/dist/development/server/getFormatter.js +26 -0
- package/dist/development/server/getLocale.js +11 -0
- package/dist/development/server/getMessages.js +21 -0
- package/dist/development/server/getNow.js +18 -0
- package/dist/development/server/getRequestConfig.js +12 -0
- package/dist/development/server/getTimeZone.js +18 -0
- package/dist/development/server/getTranslations.js +31 -0
- package/dist/development/server/resolveLocaleArg.js +15 -0
- package/dist/development/server.js +23 -0
- package/dist/development/shared/BaseLinkWithLocale.js +58 -0
- package/dist/development/shared/NextIntlClientProvider.js +30 -0
- package/dist/development/shared/constants.js +17 -0
- package/dist/development/shared/redirectWithLocale.js +16 -0
- package/dist/development/shared/utils.js +87 -0
- package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +1 -0
- package/dist/esm/config.js +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.react-server.js +1 -0
- package/dist/esm/middleware/getAlternateLinksHeaderValue.js +1 -0
- package/dist/esm/middleware/middleware.js +1 -0
- package/dist/esm/middleware/resolveLocale.js +1 -0
- package/dist/esm/middleware/utils.js +1 -0
- package/dist/esm/middleware.js +1 -0
- package/dist/esm/navigation/BaseLink.js +1 -0
- package/dist/esm/navigation/baseRedirect.js +1 -0
- package/dist/esm/navigation/createLocalizedPathnamesNavigation.js +1 -0
- package/dist/esm/navigation/createSharedPathnamesNavigation.js +1 -0
- package/dist/esm/navigation/react-server/BaseLink.js +1 -0
- package/dist/esm/navigation/react-server/baseRedirect.js +1 -0
- package/dist/esm/navigation/react-server/createLocalizedPathnamesNavigation.js +1 -0
- package/dist/esm/navigation/react-server/createSharedPathnamesNavigation.js +1 -0
- package/dist/esm/navigation/useBasePathname.js +2 -0
- package/dist/esm/navigation/useBaseRouter.js +1 -0
- package/dist/esm/navigation/utils.js +1 -0
- package/dist/esm/navigation.js +1 -0
- package/dist/esm/navigation.react-server.js +1 -0
- package/dist/esm/plugin.js +1 -0
- package/dist/esm/react-client/index.js +1 -0
- package/dist/esm/react-client/useLocale.js +1 -0
- package/dist/esm/react-server/NextIntlClientProvider.js +1 -0
- package/dist/esm/react-server/getBaseTranslator.js +1 -0
- package/dist/esm/react-server/useFormatter.js +1 -0
- package/dist/esm/react-server/useHook.js +1 -0
- package/dist/esm/react-server/useLocale.js +1 -0
- package/dist/esm/react-server/useMessages.js +1 -0
- package/dist/esm/react-server/useNow.js +1 -0
- package/dist/esm/react-server/useTimeZone.js +1 -0
- package/dist/esm/react-server/useTranslations.js +1 -0
- package/dist/esm/server/RequestLocale.js +1 -0
- package/dist/esm/server/createRequestConfig.js +1 -0
- package/dist/esm/server/getConfig.js +1 -0
- package/dist/esm/server/getFormatter.js +1 -0
- package/dist/esm/server/getLocale.js +1 -0
- package/dist/esm/server/getMessages.js +1 -0
- package/dist/esm/server/getNow.js +1 -0
- package/dist/esm/server/getRequestConfig.js +1 -0
- package/dist/esm/server/getTimeZone.js +1 -0
- package/dist/esm/server/getTranslations.js +1 -0
- package/dist/esm/server/resolveLocaleArg.js +1 -0
- package/dist/esm/server.js +1 -0
- package/dist/esm/shared/BaseLinkWithLocale.js +2 -0
- package/dist/esm/shared/NextIntlClientProvider.js +2 -0
- package/dist/esm/shared/constants.js +1 -0
- package/dist/esm/shared/redirectWithLocale.js +1 -0
- package/dist/esm/shared/utils.js +1 -0
- package/dist/index.js +3 -4
- package/dist/index.react-server.js +7 -0
- package/dist/middleware.js +7 -0
- package/dist/navigation.js +7 -0
- package/dist/navigation.react-server.js +7 -0
- package/dist/plugin.js +7 -0
- package/dist/production/_virtual/_rollupPluginBabelHelpers.js +1 -0
- package/dist/production/config.js +1 -0
- package/dist/production/index.js +1 -0
- package/dist/production/index.react-server.js +1 -0
- package/dist/production/middleware/getAlternateLinksHeaderValue.js +1 -0
- package/dist/production/middleware/middleware.js +1 -0
- package/dist/production/middleware/resolveLocale.js +1 -0
- package/dist/production/middleware/utils.js +1 -0
- package/dist/production/middleware.js +1 -0
- package/dist/production/navigation/BaseLink.js +1 -0
- package/dist/production/navigation/baseRedirect.js +1 -0
- package/dist/production/navigation/createLocalizedPathnamesNavigation.js +1 -0
- package/dist/production/navigation/createSharedPathnamesNavigation.js +1 -0
- package/dist/production/navigation/react-server/BaseLink.js +1 -0
- package/dist/production/navigation/react-server/baseRedirect.js +1 -0
- package/dist/production/navigation/react-server/createLocalizedPathnamesNavigation.js +1 -0
- package/dist/production/navigation/react-server/createSharedPathnamesNavigation.js +1 -0
- package/dist/production/navigation/useBasePathname.js +2 -0
- package/dist/production/navigation/useBaseRouter.js +1 -0
- package/dist/production/navigation/utils.js +1 -0
- package/dist/production/navigation.js +1 -0
- package/dist/production/navigation.react-server.js +1 -0
- package/dist/production/plugin.js +1 -0
- package/dist/production/react-client/index.js +1 -0
- package/dist/production/react-client/useLocale.js +1 -0
- package/dist/production/react-server/NextIntlClientProvider.js +1 -0
- package/dist/production/react-server/getBaseTranslator.js +1 -0
- package/dist/production/react-server/useFormatter.js +1 -0
- package/dist/production/react-server/useHook.js +1 -0
- package/dist/production/react-server/useLocale.js +1 -0
- package/dist/production/react-server/useMessages.js +1 -0
- package/dist/production/react-server/useNow.js +1 -0
- package/dist/production/react-server/useTimeZone.js +1 -0
- package/dist/production/react-server/useTranslations.js +1 -0
- package/dist/production/server/RequestLocale.js +1 -0
- package/dist/production/server/createRequestConfig.js +1 -0
- package/dist/production/server/getConfig.js +1 -0
- package/dist/production/server/getFormatter.js +1 -0
- package/dist/production/server/getLocale.js +1 -0
- package/dist/production/server/getMessages.js +1 -0
- package/dist/production/server/getNow.js +1 -0
- package/dist/production/server/getRequestConfig.js +1 -0
- package/dist/production/server/getTimeZone.js +1 -0
- package/dist/production/server/getTranslations.js +1 -0
- package/dist/production/server/resolveLocaleArg.js +1 -0
- package/dist/production/server.js +1 -0
- package/dist/production/shared/BaseLinkWithLocale.js +2 -0
- package/dist/production/shared/NextIntlClientProvider.js +2 -0
- package/dist/production/shared/constants.js +1 -0
- package/dist/production/shared/redirectWithLocale.js +1 -0
- package/dist/production/shared/utils.js +1 -0
- package/dist/server.js +7 -0
- package/dist/types/src/config.d.ts +1 -0
- package/dist/types/src/index.react-server.d.ts +1 -0
- package/dist/{src → types/src}/middleware/NextIntlMiddlewareConfig.d.ts +14 -10
- package/dist/types/src/middleware/getAlternateLinksHeaderValue.d.ts +12 -0
- package/dist/types/src/middleware/middleware.d.ts +4 -0
- package/dist/types/src/middleware/resolveLocale.d.ts +7 -0
- package/dist/types/src/middleware/utils.d.ts +17 -0
- package/dist/types/src/middleware.d.ts +1 -0
- package/dist/types/src/navigation/BaseLink.d.ts +63 -0
- package/dist/types/src/navigation/StrictParams.d.ts +8 -0
- package/dist/types/src/navigation/baseRedirect.d.ts +3 -0
- package/dist/types/src/navigation/createLocalizedPathnamesNavigation.d.ts +78 -0
- package/dist/types/src/navigation/createSharedPathnamesNavigation.d.ts +13 -0
- package/dist/types/src/navigation/index.d.ts +3 -0
- package/dist/types/src/navigation/react-server/BaseLink.d.ts +8 -0
- package/dist/types/src/navigation/react-server/baseRedirect.d.ts +3 -0
- package/dist/types/src/navigation/react-server/createLocalizedPathnamesNavigation.d.ts +60 -0
- package/dist/types/src/navigation/react-server/createSharedPathnamesNavigation.d.ts +44 -0
- package/dist/types/src/navigation/react-server/index.d.ts +3 -0
- package/dist/{src/client/usePathname.d.ts → types/src/navigation/useBasePathname.d.ts} +1 -1
- package/dist/{client/useRouter.d.ts → types/src/navigation/useBaseRouter.d.ts} +32 -31
- package/dist/types/src/navigation/utils.d.ts +51 -0
- package/dist/types/src/navigation.d.ts +1 -0
- package/dist/types/src/navigation.react-server.d.ts +1 -0
- package/dist/types/src/plugin.d.ts +1 -0
- package/dist/{react-client → types/src/react-client}/index.d.ts +15 -12
- package/dist/types/src/react-client/useLocale.d.ts +1 -0
- package/dist/types/src/react-server/NextIntlClientProvider.d.ts +5 -0
- package/dist/types/src/react-server/getBaseTranslator.d.ts +42 -0
- package/dist/types/src/react-server/index.d.ts +15 -0
- package/dist/types/src/react-server/useFormatter.d.ts +2 -0
- package/dist/types/src/react-server/useHook.d.ts +1 -0
- package/dist/types/src/react-server/useLocale.d.ts +2 -0
- package/dist/types/src/react-server/useMessages.d.ts +2 -0
- package/dist/types/src/react-server/useNow.d.ts +2 -0
- package/dist/types/src/react-server/useTimeZone.d.ts +2 -0
- package/dist/types/src/react-server/useTranslations.d.ts +2 -0
- package/dist/types/src/server/RequestLocale.d.ts +2 -0
- package/dist/types/src/server/createRequestConfig.d.ts +4 -0
- package/dist/types/src/server/getConfig.d.ts +23 -0
- package/dist/types/src/server/getFormatter.d.ts +14 -0
- package/dist/types/src/server/getLocale.d.ts +1 -0
- package/dist/types/src/server/getMessages.d.ts +3 -0
- package/dist/types/src/server/getNow.d.ts +3 -0
- package/dist/types/src/server/getRequestConfig.d.ts +10 -0
- package/dist/types/src/server/getTimeZone.d.ts +3 -0
- package/dist/types/src/server/getTranslations.d.ts +83 -0
- package/dist/types/src/server/index.d.ts +11 -0
- package/dist/types/src/server/resolveLocaleArg.d.ts +3 -0
- package/dist/types/src/server.d.ts +1 -0
- package/dist/types/src/shared/NextIntlClientProvider.d.ts +8 -0
- package/dist/{shared → types/src/shared}/constants.d.ts +3 -2
- package/dist/types/src/shared/redirectWithLocale.d.ts +3 -0
- package/dist/types/src/shared/types.d.ts +6 -0
- package/dist/{src → types/src}/shared/utils.d.ts +6 -0
- package/dist/types/test/middleware/getAlternateLinksHeaderValue.test.d.ts +1 -0
- package/dist/types/test/middleware/middleware.test.d.ts +1 -0
- package/dist/types/test/middleware/utils.test.d.ts +1 -0
- package/dist/types/test/navigation/BaseLink.test.d.ts +1 -0
- package/dist/types/test/navigation/createLocalizedPathnamesNavigation.test.d.ts +1 -0
- package/dist/types/test/navigation/createSharedPathnamesNavigation.test.d.ts +1 -0
- package/dist/types/test/navigation/useBasePathname.test.d.ts +1 -0
- package/dist/types/test/navigation/useBaseRouter.test.d.ts +1 -0
- package/dist/types/test/navigation/utils.test.d.ts +1 -0
- package/dist/types/test/react-client/useFormatter.test.d.ts +1 -0
- package/dist/types/test/react-client/useLocale.test.d.ts +1 -0
- package/dist/types/test/react-client/useNow.test.d.ts +1 -0
- package/dist/types/test/react-client/useTimeZone.test.d.ts +1 -0
- package/dist/types/test/react-client/useTranslations.test.d.ts +1 -0
- package/dist/types/test/server/index.test.d.ts +1 -0
- package/dist/types/test/setup.d.ts +1 -0
- package/dist/types/test/shared/NextIntlClientProvider.test.d.ts +1 -0
- package/dist/types/test/shared/utils.test.d.ts +1 -0
- package/middleware.d.ts +1 -1
- package/navigation.d.ts +1 -0
- package/package.json +45 -34
- package/plugin.d.ts +6 -0
- package/server.d.ts +1 -1
- package/client.d.ts +0 -1
- package/dist/_virtual/next-intl.esm.js +0 -29
- package/dist/_virtual/next-intl.esm.js.map +0 -1
- package/dist/client/NextIntlClientProvider.d.ts +0 -4
- package/dist/client/index.d.ts +0 -6
- package/dist/client/useClientLocale.d.ts +0 -1
- package/dist/client/usePathname.d.ts +0 -14
- package/dist/index.d.ts +0 -8
- package/dist/link/Link.d.ts +0 -27
- package/dist/link/index.d.ts +0 -1
- package/dist/link/react-server/Link.d.ts +0 -1
- package/dist/link/react-server/index.d.ts +0 -1
- package/dist/middleware/NextIntlMiddlewareConfig.d.ts +0 -28
- package/dist/middleware/getAlternateLinksHeaderValue.d.ts +0 -6
- package/dist/middleware/index.d.ts +0 -4
- package/dist/middleware/middleware.d.ts +0 -3
- package/dist/middleware/resolveLocale.d.ts +0 -6
- package/dist/middleware/utils.d.ts +0 -5
- package/dist/next-intl.cjs.development.js +0 -82
- package/dist/next-intl.cjs.development.js.map +0 -1
- package/dist/next-intl.cjs.production.min.js +0 -2
- package/dist/next-intl.cjs.production.min.js.map +0 -1
- package/dist/next-intl.esm.js +0 -3
- package/dist/next-intl.esm.js.map +0 -1
- package/dist/react-server/index.d.ts +0 -17
- package/dist/server/index.d.ts +0 -6
- package/dist/shared/BaseLink.d.ts +0 -7
- package/dist/shared/NextIntlClientProvider.d.ts +0 -9
- package/dist/shared/next-intl.esm.js +0 -41
- package/dist/shared/next-intl.esm.js.map +0 -1
- package/dist/shared/utils.d.ts +0 -15
- package/dist/src/client/NextIntlClientProvider.d.ts +0 -4
- package/dist/src/client/NextIntlClientProvider.js +0 -16
- package/dist/src/client/NextIntlClientProvider.js.map +0 -1
- package/dist/src/client/index.d.ts +0 -6
- package/dist/src/client/index.js +0 -8
- package/dist/src/client/index.js.map +0 -1
- package/dist/src/client/useClientLocale.d.ts +0 -1
- package/dist/src/client/useClientLocale.js +0 -18
- package/dist/src/client/useClientLocale.js.map +0 -1
- package/dist/src/client/usePathname.js +0 -34
- package/dist/src/client/usePathname.js.map +0 -1
- package/dist/src/client/useRouter.d.ts +0 -31
- package/dist/src/client/useRouter.js +0 -61
- package/dist/src/client/useRouter.js.map +0 -1
- package/dist/src/index.js +0 -9
- package/dist/src/index.js.map +0 -1
- package/dist/src/link/Link.d.ts +0 -27
- package/dist/src/link/Link.js +0 -29
- package/dist/src/link/Link.js.map +0 -1
- package/dist/src/link/index.d.ts +0 -1
- package/dist/src/link/index.js +0 -2
- package/dist/src/link/index.js.map +0 -1
- package/dist/src/link/react-server/Link.d.ts +0 -1
- package/dist/src/link/react-server/Link.js +0 -6
- package/dist/src/link/react-server/Link.js.map +0 -1
- package/dist/src/link/react-server/index.d.ts +0 -1
- package/dist/src/link/react-server/index.js +0 -2
- package/dist/src/link/react-server/index.js.map +0 -1
- package/dist/src/middleware/NextIntlMiddlewareConfig.js +0 -2
- package/dist/src/middleware/NextIntlMiddlewareConfig.js.map +0 -1
- package/dist/src/middleware/getAlternateLinksHeaderValue.d.ts +0 -6
- package/dist/src/middleware/getAlternateLinksHeaderValue.js +0 -71
- package/dist/src/middleware/getAlternateLinksHeaderValue.js.map +0 -1
- package/dist/src/middleware/index.js +0 -5
- package/dist/src/middleware/index.js.map +0 -1
- package/dist/src/middleware/middleware.d.ts +0 -3
- package/dist/src/middleware/middleware.js +0 -149
- package/dist/src/middleware/middleware.js.map +0 -1
- package/dist/src/middleware/resolveLocale.d.ts +0 -6
- package/dist/src/middleware/resolveLocale.js +0 -88
- package/dist/src/middleware/resolveLocale.js.map +0 -1
- package/dist/src/middleware/utils.d.ts +0 -5
- package/dist/src/middleware/utils.js +0 -37
- package/dist/src/middleware/utils.js.map +0 -1
- package/dist/src/react-client/index.d.ts +0 -12
- package/dist/src/react-client/index.js +0 -14
- package/dist/src/react-client/index.js.map +0 -1
- package/dist/src/react-server/index.d.ts +0 -17
- package/dist/src/react-server/index.js +0 -25
- package/dist/src/react-server/index.js.map +0 -1
- package/dist/src/server/index.d.ts +0 -6
- package/dist/src/server/index.js +0 -30
- package/dist/src/server/index.js.map +0 -1
- package/dist/src/shared/BaseLink.js +0 -38
- package/dist/src/shared/BaseLink.js.map +0 -1
- package/dist/src/shared/NextIntlClientProvider.d.ts +0 -9
- package/dist/src/shared/NextIntlClientProvider.js +0 -33
- package/dist/src/shared/NextIntlClientProvider.js.map +0 -1
- package/dist/src/shared/constants.d.ts +0 -2
- package/dist/src/shared/constants.js +0 -6
- package/dist/src/shared/constants.js.map +0 -1
- package/dist/src/shared/utils.js +0 -53
- package/dist/src/shared/utils.js.map +0 -1
- package/link.d.ts +0 -3
- package/src/client/NextIntlClientProvider.tsx +0 -18
- package/src/client/index.tsx +0 -9
- package/src/client/useClientLocale.tsx +0 -20
- package/src/client/usePathname.tsx +0 -40
- package/src/client/useRouter.tsx +0 -92
- package/src/index.tsx +0 -9
- package/src/link/Link.tsx +0 -34
- package/src/link/index.tsx +0 -1
- package/src/link/react-server/Link.tsx +0 -6
- package/src/link/react-server/index.tsx +0 -1
- package/src/middleware/NextIntlMiddlewareConfig.tsx +0 -42
- package/src/middleware/getAlternateLinksHeaderValue.tsx +0 -97
- package/src/middleware/index.tsx +0 -5
- package/src/middleware/middleware.tsx +0 -206
- package/src/middleware/resolveLocale.tsx +0 -151
- package/src/middleware/utils.tsx +0 -61
- package/src/react-client/index.tsx +0 -15
- package/src/react-server/index.tsx +0 -29
- package/src/server/index.tsx +0 -34
- package/src/shared/BaseLink.tsx +0 -57
- package/src/shared/NextIntlClientProvider.tsx +0 -54
- package/src/shared/constants.tsx +0 -6
- package/src/shared/utils.tsx +0 -91
- /package/dist/{src → types/src}/index.d.ts +0 -0
- /package/dist/{src → types/src}/middleware/index.d.ts +0 -0
- /package/dist/{src/shared/BaseLink.d.ts → types/src/shared/BaseLinkWithLocale.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("./getConfig.js"),r=require("./resolveLocaleArg.js");const a=e.cache((async e=>(await t.default(e)).timeZone));exports.default=async function(e){const t=await r.default(e);return a(t)};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),a=require("use-intl/core"),r=require("./getConfig.js"),t=require("./getLocale.js");var s=e.cache((async function(e){let s,c;"string"==typeof e?s=e:e&&(c=e.locale,s=e.namespace);const u=await r.default(c||await t.default());return a.createTranslator({...u,namespace:s,messages:u.messages})}));exports.default=s;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./getLocale.js");exports.default=function(l){return null!=l&&l.locale?Promise.resolve(l.locale):e.default()};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./server/getRequestConfig.js"),r=require("./server/getFormatter.js"),t=require("./server/getNow.js"),s=require("./server/getTimeZone.js"),o=require("./server/getTranslations.js"),u=require("./server/getMessages.js"),a=require("./server/getLocale.js"),g=require("./server/RequestLocale.js");exports.getRequestConfig=e.default,exports.getFormatter=r.default,exports.getNow=t.default,exports.getTimeZone=s.default,exports.getTranslations=o.default,exports.getMessages=u.default,exports.getLocale=a.default,exports.unstable_setRequestLocale=g.setRequestLocale;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_virtual/_rollupPluginBabelHelpers.js"),r=require("next/link"),t=require("next/navigation"),u=require("react"),l=require("../react-client/useLocale.js"),a=require("./utils.js");function f(e){return e&&e.__esModule?e:{default:e}}var i=f(r),n=f(u);function s(r,f){let{href:s,locale:c,prefetch:o,...d}=r;const p=t.usePathname(),v=l.default(),q=c!==v,[x,_]=u.useState((()=>a.isLocalHref(s)&&c?a.prefixHref(s,c):s));return u.useEffect((()=>{p&&_(a.localizeHref(s,c,v,null!=p?p:void 0))}),[v,s,c,p]),q&&(o=!1),n.default.createElement(i.default,e.extends({ref:f,href:x,prefetch:o},d))}var c=u.forwardRef(s);exports.default=c;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../_virtual/_rollupPluginBabelHelpers.js"),r=require("react"),t=require("use-intl/_IntlProvider");function l(e){return e&&e.__esModule?e:{default:e}}var u=l(r);exports.default=function(r){let{locale:l,...o}=r;if(!l)throw new Error(void 0);return u.default.createElement(t.IntlProvider,e.extends({locale:l},o))};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.COOKIE_LOCALE_NAME="NEXT_LOCALE",exports.HEADER_LOCALE_NAME="X-NEXT-INTL-LOCALE",exports.LOCALE_SEGMENT_NAME="locale";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("next/navigation"),r=require("./utils.js");exports.default=function(t,n){const a=r.localizePathname(n,t);for(var i=arguments.length,o=new Array(i>2?i-2:0),u=2;u<i;u++)o[u-2]=arguments[u];return e.redirect(a,...o)};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function t(t){const e="object"==typeof t?t.pathname:t;return null!=e&&!e.startsWith("/")}function e(t){if("object"==typeof t)return null==t.host&&null==t.hostname;return!/^[a-z]+:/i.test(t)}function n(t,e){let n;return"string"==typeof t?n=r(e,t):(n={...t},t.pathname&&(n.pathname=r(e,t.pathname))),n}function r(t,e){let n="/"+t;return/^\/(\?.*)?$/.test(e)&&(e=e.slice(1)),n+=e,n}function o(t,e){const n="/".concat(t);return e===n||e.startsWith("".concat(n,"/"))}function a(t){const e=t.replace(/\[([^\]]+)\]/g,(t=>t.startsWith("[...")||t.startsWith("[[...")?"(.*)":"([^/]+)")).replaceAll("(.*)]","(.*)");return new RegExp("^".concat(e,"$"))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.hasPathnamePrefixed=o,exports.isLocalHref=e,exports.isRelativeHref=t,exports.localizeHref=function(r,a){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a,c=arguments.length>3?arguments[3]:void 0;if(!e(r)||t(r))return r;const l=a!==s;return(null==a||o(a,c)||l)&&null!=a?n(r,a):r},exports.localizePathname=r,exports.matchesPathname=function(t,e){return a(t).test(e)},exports.prefixHref=n,exports.templateToRegex=a,exports.unlocalizePathname=function(t,e){return t.replace(new RegExp("^/".concat(e)),"")||"/"};
|
package/dist/server.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function getConfig(): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './react-server';
|
|
@@ -1,26 +1,30 @@
|
|
|
1
|
+
import { AllLocales, Pathnames } from '../shared/types';
|
|
1
2
|
type LocalePrefix = 'as-needed' | 'always' | 'never';
|
|
2
|
-
type RoutingBaseConfig = {
|
|
3
|
+
type RoutingBaseConfig<Locales extends AllLocales> = {
|
|
3
4
|
/** A list of all locales that are supported. */
|
|
4
|
-
locales:
|
|
5
|
-
defaultLocale:
|
|
5
|
+
locales: Locales;
|
|
6
|
+
defaultLocale: Locales[number];
|
|
6
7
|
/** The default locale can be used without a prefix (e.g. `/about`). If you prefer to have a prefix for the default locale as well (e.g. `/en/about`), you can switch this option to `always`.
|
|
7
8
|
*/
|
|
8
9
|
localePrefix?: LocalePrefix;
|
|
9
10
|
};
|
|
10
|
-
export type DomainConfig = Omit<RoutingBaseConfig
|
|
11
|
+
export type DomainConfig<Locales extends AllLocales> = Omit<RoutingBaseConfig<Locales>, 'locales' | 'localePrefix'> & {
|
|
11
12
|
/** The domain name (e.g. "example.com", "www.example.com" or "fr.example.com"). Note that the `x-forwarded-host` or alternatively the `host` header will be used to determine the requested domain. */
|
|
12
13
|
domain: string;
|
|
13
|
-
locales
|
|
14
|
+
/** The locales availabe on this particular domain. */
|
|
15
|
+
locales?: RoutingBaseConfig<Array<Locales[number]>>['locales'];
|
|
14
16
|
};
|
|
15
|
-
type MiddlewareConfig = RoutingBaseConfig & {
|
|
17
|
+
type MiddlewareConfig<Locales extends AllLocales> = RoutingBaseConfig<Locales> & {
|
|
16
18
|
/** Can be used to change the locale handling per domain. */
|
|
17
|
-
domains?: Array<DomainConfig
|
|
18
|
-
/** By setting this to `false`, the `accept-language` header will no longer be used for locale detection. */
|
|
19
|
-
localeDetection?: boolean;
|
|
19
|
+
domains?: Array<DomainConfig<Locales>>;
|
|
20
20
|
/** Sets the `Link` response header to notify search engines about content in other languages (defaults to `true`). See https://developers.google.com/search/docs/specialty/international/localized-versions#http */
|
|
21
21
|
alternateLinks?: boolean;
|
|
22
|
+
/** By setting this to `false`, the `accept-language` header will no longer be used for locale detection. */
|
|
23
|
+
localeDetection?: boolean;
|
|
24
|
+
/** Maps internal pathnames to external ones which can be localized per locale. */
|
|
25
|
+
pathnames?: Pathnames<Locales>;
|
|
22
26
|
};
|
|
23
|
-
export type MiddlewareConfigWithDefaults = MiddlewareConfig & {
|
|
27
|
+
export type MiddlewareConfigWithDefaults<Locales extends AllLocales> = MiddlewareConfig<Locales> & {
|
|
24
28
|
alternateLinks: boolean;
|
|
25
29
|
localePrefix: LocalePrefix;
|
|
26
30
|
localeDetection: boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { NextRequest } from 'next/server';
|
|
2
|
+
import { AllLocales, Pathnames } from '../shared/types';
|
|
3
|
+
import { MiddlewareConfigWithDefaults } from './NextIntlMiddlewareConfig';
|
|
4
|
+
/**
|
|
5
|
+
* See https://developers.google.com/search/docs/specialty/international/localized-versions
|
|
6
|
+
*/
|
|
7
|
+
export default function getAlternateLinksHeaderValue<Locales extends AllLocales>({ config, localizedPathnames, request, resolvedLocale }: {
|
|
8
|
+
config: MiddlewareConfigWithDefaults<Locales>;
|
|
9
|
+
request: NextRequest;
|
|
10
|
+
resolvedLocale: Locales[number];
|
|
11
|
+
localizedPathnames?: Pathnames<Locales>[string];
|
|
12
|
+
}): string;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { NextRequest, NextResponse } from 'next/server';
|
|
2
|
+
import { AllLocales } from '../shared/types';
|
|
3
|
+
import MiddlewareConfig from './NextIntlMiddlewareConfig';
|
|
4
|
+
export default function createMiddleware<Locales extends AllLocales>(config: MiddlewareConfig<Locales>): (request: NextRequest) => NextResponse<unknown>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RequestCookies } from 'next/dist/server/web/spec-extension/cookies';
|
|
2
|
+
import { AllLocales } from '../shared/types';
|
|
3
|
+
import { DomainConfig, MiddlewareConfigWithDefaults } from './NextIntlMiddlewareConfig';
|
|
4
|
+
export default function resolveLocale<Locales extends AllLocales>(config: MiddlewareConfigWithDefaults<Locales>, requestHeaders: Headers, requestCookies: RequestCookies, pathname: string): {
|
|
5
|
+
locale: Locales[number];
|
|
6
|
+
domain?: DomainConfig<Locales>;
|
|
7
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AllLocales } from '../shared/types';
|
|
2
|
+
import { DomainConfig, MiddlewareConfigWithDefaults } from './NextIntlMiddlewareConfig';
|
|
3
|
+
export declare function getLocaleFromPathname(pathname: string): string;
|
|
4
|
+
export declare function getInternalTemplate<Locales extends AllLocales, Pathnames extends NonNullable<MiddlewareConfigWithDefaults<Locales>['pathnames']>>(pathnames: Pathnames, pathname: string): [Locales[number] | undefined, keyof Pathnames | undefined];
|
|
5
|
+
export declare function formatTemplatePathname(sourcePathname: string, sourceTemplate: string, targetTemplate: string, localePrefix?: string): string;
|
|
6
|
+
/**
|
|
7
|
+
* Removes potential locales from the pathname.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getNormalizedPathname<Locales extends AllLocales>(pathname: string, locales: Locales): string;
|
|
10
|
+
export declare function getKnownLocaleFromPathname<Locales extends AllLocales>(pathname: string, locales: Locales): Locales[number] | undefined;
|
|
11
|
+
export declare function getBasePath(pathname: string, pathLocale: string): string;
|
|
12
|
+
export declare function getRouteParams(template: string, pathname: string): Record<string, string> | undefined;
|
|
13
|
+
export declare function formatPathname(template: string, params?: object): string;
|
|
14
|
+
export declare function getPathWithSearch(pathname: string, search: string | undefined): string;
|
|
15
|
+
export declare function getHost(requestHeaders: Headers): string | undefined;
|
|
16
|
+
export declare function isLocaleSupportedOnDomain<Locales extends AllLocales>(locale: string, domain: DomainConfig<Locales>): boolean;
|
|
17
|
+
export declare function getBestMatchingDomain<Locales extends AllLocales>(curHostDomain: DomainConfig<Locales> | undefined, locale: string, domainConfigs: Array<DomainConfig<Locales>>): DomainConfig<Locales> | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './middleware/index';
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import React, { ComponentProps, ReactElement } from 'react';
|
|
3
|
+
import BaseLinkWithLocale from '../shared/BaseLinkWithLocale';
|
|
4
|
+
import { AllLocales } from '../shared/types';
|
|
5
|
+
type Props<Locales extends AllLocales> = Omit<ComponentProps<typeof BaseLinkWithLocale>, 'locale'> & {
|
|
6
|
+
locale?: Locales[number];
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Wraps `next/link` and prefixes the `href` with the current locale if
|
|
10
|
+
* necessary.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* import {Link} from 'next-intl';
|
|
15
|
+
*
|
|
16
|
+
* // When the user is on `/en`, the link will point to `/en/about`
|
|
17
|
+
* <Link href="/about">About</Link>
|
|
18
|
+
*
|
|
19
|
+
* // You can override the `locale` to switch to another language
|
|
20
|
+
* <Link href="/" locale="de">Switch to German</Link>
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* Note that when a `locale` prop is passed to switch the locale, the `prefetch`
|
|
24
|
+
* prop is not supported. This is because Next.js would prefetch the page and
|
|
25
|
+
* the `set-cookie` response header would cause the locale cookie on the current
|
|
26
|
+
* page to be overwritten before the user even decides to change the locale.
|
|
27
|
+
*/
|
|
28
|
+
declare const BaseLinkWithRef: <Locales extends AllLocales>(props: Omit<Omit<Omit<Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof {
|
|
29
|
+
href: string | import("url").UrlObject;
|
|
30
|
+
as?: (string | import("url").UrlObject) | undefined;
|
|
31
|
+
replace?: boolean | undefined;
|
|
32
|
+
scroll?: boolean | undefined;
|
|
33
|
+
shallow?: boolean | undefined;
|
|
34
|
+
passHref?: boolean | undefined;
|
|
35
|
+
prefetch?: boolean | undefined;
|
|
36
|
+
locale?: string | false | undefined;
|
|
37
|
+
legacyBehavior?: boolean | undefined;
|
|
38
|
+
onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
39
|
+
onTouchStart?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
|
|
40
|
+
onClick?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
41
|
+
}> & {
|
|
42
|
+
href: string | import("url").UrlObject;
|
|
43
|
+
as?: (string | import("url").UrlObject) | undefined;
|
|
44
|
+
replace?: boolean | undefined;
|
|
45
|
+
scroll?: boolean | undefined;
|
|
46
|
+
shallow?: boolean | undefined;
|
|
47
|
+
passHref?: boolean | undefined;
|
|
48
|
+
prefetch?: boolean | undefined;
|
|
49
|
+
locale?: string | false | undefined;
|
|
50
|
+
legacyBehavior?: boolean | undefined;
|
|
51
|
+
onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
52
|
+
onTouchStart?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
|
|
53
|
+
onClick?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
54
|
+
} & {
|
|
55
|
+
children?: React.ReactNode;
|
|
56
|
+
} & React.RefAttributes<HTMLAnchorElement>, "locale"> & {
|
|
57
|
+
locale: string;
|
|
58
|
+
}, "ref"> & React.RefAttributes<HTMLAnchorElement>, "locale"> & {
|
|
59
|
+
locale?: Locales[number] | undefined;
|
|
60
|
+
} & {
|
|
61
|
+
ref?: React.Ref<HTMLAnchorElement> | undefined;
|
|
62
|
+
}) => ReactElement;
|
|
63
|
+
export default BaseLinkWithRef;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type ParamValue = string | number | boolean;
|
|
2
|
+
type ReadFrom<Path> = Path extends `${string}[${infer Rest}` ? ReadUntil<Rest> : [];
|
|
3
|
+
type ReadUntil<Path> = Path extends `${infer Match}]${infer Rest}` ? [Match, ...ReadFrom<Rest>] : [];
|
|
4
|
+
type RemovePrefixes<Key> = Key extends `[...${infer Name}` ? Name : Key extends `...${infer Name}` ? Name : Key;
|
|
5
|
+
type StrictParams<Pathname> = Pathname extends `${string}[${string}` ? {
|
|
6
|
+
[Key in ReadFrom<Pathname>[number] as RemovePrefixes<Key>]: Key extends `[...${string}` ? Array<ParamValue> | undefined : Key extends `...${string}` ? Array<ParamValue> : ParamValue;
|
|
7
|
+
} : never;
|
|
8
|
+
export default StrictParams;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import React, { ComponentProps, ReactElement } from 'react';
|
|
3
|
+
import { AllLocales, Pathnames } from '../shared/types';
|
|
4
|
+
import BaseLink from './BaseLink';
|
|
5
|
+
import { HrefOrHrefWithParams } from './utils';
|
|
6
|
+
export default function createLocalizedPathnamesNavigation<Locales extends AllLocales, PathnamesConfig extends Pathnames<Locales>>({ locales, pathnames }: {
|
|
7
|
+
locales: Locales;
|
|
8
|
+
pathnames: PathnamesConfig;
|
|
9
|
+
}): {
|
|
10
|
+
Link: <Pathname extends keyof PathnamesConfig>(props: Omit<Omit<Omit<Omit<Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof {
|
|
11
|
+
href: string | import("url").UrlObject;
|
|
12
|
+
as?: (string | import("url").UrlObject) | undefined;
|
|
13
|
+
replace?: boolean | undefined;
|
|
14
|
+
scroll?: boolean | undefined;
|
|
15
|
+
shallow?: boolean | undefined;
|
|
16
|
+
passHref?: boolean | undefined;
|
|
17
|
+
prefetch?: boolean | undefined;
|
|
18
|
+
locale?: string | false | undefined;
|
|
19
|
+
legacyBehavior?: boolean | undefined;
|
|
20
|
+
onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
21
|
+
onTouchStart?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
|
|
22
|
+
onClick?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
23
|
+
}> & {
|
|
24
|
+
href: string | import("url").UrlObject;
|
|
25
|
+
as?: (string | import("url").UrlObject) | undefined;
|
|
26
|
+
replace?: boolean | undefined;
|
|
27
|
+
scroll?: boolean | undefined;
|
|
28
|
+
shallow?: boolean | undefined;
|
|
29
|
+
passHref?: boolean | undefined;
|
|
30
|
+
prefetch?: boolean | undefined;
|
|
31
|
+
locale?: string | false | undefined;
|
|
32
|
+
legacyBehavior?: boolean | undefined;
|
|
33
|
+
onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
34
|
+
onTouchStart?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
|
|
35
|
+
onClick?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
36
|
+
} & {
|
|
37
|
+
children?: React.ReactNode;
|
|
38
|
+
} & React.RefAttributes<HTMLAnchorElement>, "locale"> & {
|
|
39
|
+
locale: string;
|
|
40
|
+
}, "ref"> & React.RefAttributes<HTMLAnchorElement>, "locale"> & {
|
|
41
|
+
locale?: string | undefined;
|
|
42
|
+
} & {
|
|
43
|
+
ref?: React.Ref<HTMLAnchorElement> | undefined;
|
|
44
|
+
}, "href" | "name"> & {
|
|
45
|
+
href: Pathname extends `${string}[[...${string}` ? Pathname | ({
|
|
46
|
+
pathname: Pathname;
|
|
47
|
+
params?: import("./StrictParams").default<Pathname> | undefined;
|
|
48
|
+
} & Omit<import("url").UrlObject, "pathname">) : Pathname extends `${string}[${string}` ? {
|
|
49
|
+
pathname: Pathname;
|
|
50
|
+
params: import("./StrictParams").default<Pathname>;
|
|
51
|
+
} & Omit<import("url").UrlObject, "pathname"> : Pathname | ({
|
|
52
|
+
pathname: Pathname;
|
|
53
|
+
} & Omit<import("url").UrlObject, "pathname">);
|
|
54
|
+
locale?: Locales[number] | undefined;
|
|
55
|
+
} & {
|
|
56
|
+
ref?: ComponentProps<typeof BaseLink>['ref'];
|
|
57
|
+
}) => ReactElement;
|
|
58
|
+
redirect: <Pathname_1 extends keyof PathnamesConfig>(href: HrefOrHrefWithParams<Pathname_1>, type?: import("next/navigation").RedirectType | undefined) => never;
|
|
59
|
+
usePathname: () => keyof PathnamesConfig;
|
|
60
|
+
useRouter: () => {
|
|
61
|
+
push<Pathname_2 extends keyof PathnamesConfig>(href: HrefOrHrefWithParams<Pathname_2>, options?: (import("next/dist/shared/lib/app-router-context.shared-runtime").NavigateOptions & {
|
|
62
|
+
locale?: string | undefined;
|
|
63
|
+
}) | undefined): void;
|
|
64
|
+
replace<Pathname_3 extends keyof PathnamesConfig>(href: HrefOrHrefWithParams<Pathname_3>, options?: (import("next/dist/shared/lib/app-router-context.shared-runtime").NavigateOptions & {
|
|
65
|
+
locale?: string | undefined;
|
|
66
|
+
}) | undefined): void;
|
|
67
|
+
prefetch<Pathname_4 extends keyof PathnamesConfig>(href: HrefOrHrefWithParams<Pathname_4>, options?: (import("next/dist/shared/lib/app-router-context.shared-runtime").PrefetchOptions & {
|
|
68
|
+
locale?: string | undefined;
|
|
69
|
+
}) | undefined): void;
|
|
70
|
+
back(): void;
|
|
71
|
+
forward(): void;
|
|
72
|
+
refresh(): void;
|
|
73
|
+
};
|
|
74
|
+
getPathname: ({ href, locale }: {
|
|
75
|
+
locale: Locales[number];
|
|
76
|
+
href: HrefOrHrefWithParams<keyof PathnamesConfig>;
|
|
77
|
+
}) => string;
|
|
78
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AllLocales } from '../shared/types';
|
|
2
|
+
import BaseLink from './BaseLink';
|
|
3
|
+
import baseRedirect from './baseRedirect';
|
|
4
|
+
import useBasePathname from './useBasePathname';
|
|
5
|
+
import useBaseRouter from './useBaseRouter';
|
|
6
|
+
export default function createSharedPathnamesNavigation<Locales extends AllLocales>(opts: {
|
|
7
|
+
locales: Locales;
|
|
8
|
+
}): {
|
|
9
|
+
Link: typeof BaseLink<Locales>;
|
|
10
|
+
redirect: typeof baseRedirect;
|
|
11
|
+
usePathname: typeof useBasePathname;
|
|
12
|
+
useRouter: typeof useBaseRouter;
|
|
13
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React, { ComponentProps } from 'react';
|
|
2
|
+
import BaseLinkWithLocale from '../../shared/BaseLinkWithLocale';
|
|
3
|
+
import { AllLocales } from '../../shared/types';
|
|
4
|
+
type Props<Locales extends AllLocales> = Omit<ComponentProps<typeof BaseLinkWithLocale>, 'locale'> & {
|
|
5
|
+
locale?: Locales[number];
|
|
6
|
+
};
|
|
7
|
+
export default function BaseLink<Locales extends AllLocales>({ locale, ...rest }: Props<Locales>): React.JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { AllLocales, Pathnames } from '../../shared/types';
|
|
4
|
+
import { HrefOrHrefWithParams } from '../utils';
|
|
5
|
+
export default function createLocalizedPathnamesNavigation<Locales extends AllLocales, PathnamesConfig extends Pathnames<Locales>>({ locales, pathnames }: {
|
|
6
|
+
locales: Locales;
|
|
7
|
+
pathnames: Pathnames<Locales>;
|
|
8
|
+
}): {
|
|
9
|
+
Link: <Pathname extends keyof PathnamesConfig>({ href, locale, ...rest }: Omit<Omit<Omit<Omit<Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof {
|
|
10
|
+
href: string | import("url").UrlObject;
|
|
11
|
+
as?: (string | import("url").UrlObject) | undefined;
|
|
12
|
+
replace?: boolean | undefined;
|
|
13
|
+
scroll?: boolean | undefined;
|
|
14
|
+
shallow?: boolean | undefined;
|
|
15
|
+
passHref?: boolean | undefined;
|
|
16
|
+
prefetch?: boolean | undefined;
|
|
17
|
+
locale?: string | false | undefined;
|
|
18
|
+
legacyBehavior?: boolean | undefined;
|
|
19
|
+
onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
20
|
+
onTouchStart?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
|
|
21
|
+
onClick?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
22
|
+
}> & {
|
|
23
|
+
href: string | import("url").UrlObject;
|
|
24
|
+
as?: (string | import("url").UrlObject) | undefined;
|
|
25
|
+
replace?: boolean | undefined;
|
|
26
|
+
scroll?: boolean | undefined;
|
|
27
|
+
shallow?: boolean | undefined;
|
|
28
|
+
passHref?: boolean | undefined;
|
|
29
|
+
prefetch?: boolean | undefined;
|
|
30
|
+
locale?: string | false | undefined;
|
|
31
|
+
legacyBehavior?: boolean | undefined;
|
|
32
|
+
onMouseEnter?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
33
|
+
onTouchStart?: React.TouchEventHandler<HTMLAnchorElement> | undefined;
|
|
34
|
+
onClick?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
35
|
+
} & {
|
|
36
|
+
children?: React.ReactNode;
|
|
37
|
+
} & React.RefAttributes<HTMLAnchorElement>, "locale"> & {
|
|
38
|
+
locale: string;
|
|
39
|
+
}, "ref"> & React.RefAttributes<HTMLAnchorElement>, "locale"> & {
|
|
40
|
+
locale?: string | undefined;
|
|
41
|
+
}, "href" | "name"> & {
|
|
42
|
+
href: Pathname extends `${string}[[...${string}` ? Pathname | ({
|
|
43
|
+
pathname: Pathname;
|
|
44
|
+
params?: import("../StrictParams").default<Pathname> | undefined;
|
|
45
|
+
} & Omit<import("url").UrlObject, "pathname">) : Pathname extends `${string}[${string}` ? {
|
|
46
|
+
pathname: Pathname;
|
|
47
|
+
params: import("../StrictParams").default<Pathname>;
|
|
48
|
+
} & Omit<import("url").UrlObject, "pathname"> : Pathname | ({
|
|
49
|
+
pathname: Pathname;
|
|
50
|
+
} & Omit<import("url").UrlObject, "pathname">);
|
|
51
|
+
locale?: Locales[number] | undefined;
|
|
52
|
+
}) => React.JSX.Element;
|
|
53
|
+
redirect: <Pathname_1 extends keyof PathnamesConfig>(href: HrefOrHrefWithParams<Pathname_1>, type?: import("next/navigation").RedirectType | undefined) => never;
|
|
54
|
+
getPathname: ({ href, locale }: {
|
|
55
|
+
locale: Locales[number];
|
|
56
|
+
href: HrefOrHrefWithParams<keyof PathnamesConfig>;
|
|
57
|
+
}) => string;
|
|
58
|
+
usePathname: () => never;
|
|
59
|
+
useRouter: () => never;
|
|
60
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import { AllLocales } from '../../shared/types';
|
|
4
|
+
import baseRedirect from './baseRedirect';
|
|
5
|
+
export default function createSharedPathnamesNavigation<Locales extends AllLocales>(opts: {
|
|
6
|
+
locales: Locales;
|
|
7
|
+
}): {
|
|
8
|
+
Link: ({ locale, ...rest }: Omit<Omit<Omit<Omit<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, keyof {
|
|
9
|
+
href: string | import("url").UrlObject;
|
|
10
|
+
as?: (string | import("url").UrlObject) | undefined;
|
|
11
|
+
replace?: boolean | undefined;
|
|
12
|
+
scroll?: boolean | undefined;
|
|
13
|
+
shallow?: boolean | undefined;
|
|
14
|
+
passHref?: boolean | undefined;
|
|
15
|
+
prefetch?: boolean | undefined;
|
|
16
|
+
locale?: string | false | undefined;
|
|
17
|
+
legacyBehavior?: boolean | undefined;
|
|
18
|
+
onMouseEnter?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
19
|
+
onTouchStart?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
|
|
20
|
+
onClick?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
21
|
+
}> & {
|
|
22
|
+
href: string | import("url").UrlObject;
|
|
23
|
+
as?: (string | import("url").UrlObject) | undefined;
|
|
24
|
+
replace?: boolean | undefined;
|
|
25
|
+
scroll?: boolean | undefined;
|
|
26
|
+
shallow?: boolean | undefined;
|
|
27
|
+
passHref?: boolean | undefined;
|
|
28
|
+
prefetch?: boolean | undefined;
|
|
29
|
+
locale?: string | false | undefined;
|
|
30
|
+
legacyBehavior?: boolean | undefined;
|
|
31
|
+
onMouseEnter?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
32
|
+
onTouchStart?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
|
|
33
|
+
onClick?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
34
|
+
} & {
|
|
35
|
+
children?: import("react").ReactNode;
|
|
36
|
+
} & import("react").RefAttributes<HTMLAnchorElement>, "locale"> & {
|
|
37
|
+
locale: string;
|
|
38
|
+
}, "ref"> & import("react").RefAttributes<HTMLAnchorElement>, "locale"> & {
|
|
39
|
+
locale?: Locales[number] | undefined;
|
|
40
|
+
}) => import("react").JSX.Element;
|
|
41
|
+
redirect: typeof baseRedirect;
|
|
42
|
+
usePathname: () => never;
|
|
43
|
+
useRouter: () => never;
|
|
44
|
+
};
|
|
@@ -1,31 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* router
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
import { AllLocales } from '../shared/types';
|
|
2
|
+
type IntlNavigateOptions<Locales extends AllLocales> = {
|
|
3
|
+
locale?: Locales[number];
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Returns a wrapped instance of `useRouter` from `next/navigation` that
|
|
7
|
+
* will automatically localize the `href` parameters it receives.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* 'use client';
|
|
12
|
+
*
|
|
13
|
+
* import {useRouter} from 'next-intl/client';
|
|
14
|
+
*
|
|
15
|
+
* const router = useRouter();
|
|
16
|
+
*
|
|
17
|
+
* // When the user is on `/en`, the router will navigate to `/en/about`
|
|
18
|
+
* router.push('/about');
|
|
19
|
+
*
|
|
20
|
+
* // Optionally, you can switch the locale by passing the second argument
|
|
21
|
+
* router.push('/about', {locale: 'de'});
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export default function useBaseRouter<Locales extends AllLocales>(): {
|
|
25
|
+
push(href: string, options?: (import("next/dist/shared/lib/app-router-context.shared-runtime").NavigateOptions & IntlNavigateOptions<Locales>) | undefined): void;
|
|
26
|
+
replace(href: string, options?: (import("next/dist/shared/lib/app-router-context.shared-runtime").NavigateOptions & IntlNavigateOptions<Locales>) | undefined): void;
|
|
27
|
+
prefetch(href: string, options?: (import("next/dist/shared/lib/app-router-context.shared-runtime").PrefetchOptions & IntlNavigateOptions<Locales>) | undefined): void;
|
|
28
|
+
back(): void;
|
|
29
|
+
forward(): void;
|
|
30
|
+
refresh(): void;
|
|
31
|
+
};
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
import type { ParsedUrlQueryInput } from 'node:querystring';
|
|
4
|
+
import type { UrlObject } from 'url';
|
|
5
|
+
import { AllLocales, Pathnames } from '../shared/types';
|
|
6
|
+
import StrictParams from './StrictParams';
|
|
7
|
+
type SearchParamValue = ParsedUrlQueryInput[keyof ParsedUrlQueryInput];
|
|
8
|
+
type HrefOrHrefWithParamsImpl<Pathname, Other> = Pathname extends `${string}[[...${string}` ? // Optional catch-all
|
|
9
|
+
Pathname | ({
|
|
10
|
+
pathname: Pathname;
|
|
11
|
+
params?: StrictParams<Pathname>;
|
|
12
|
+
} & Other) : Pathname extends `${string}[${string}` ? // Required catch-all & regular params
|
|
13
|
+
{
|
|
14
|
+
pathname: Pathname;
|
|
15
|
+
params: StrictParams<Pathname>;
|
|
16
|
+
} & Other : // No params
|
|
17
|
+
Pathname | ({
|
|
18
|
+
pathname: Pathname;
|
|
19
|
+
} & Other);
|
|
20
|
+
export type HrefOrUrlObjectWithParams<Pathname> = HrefOrHrefWithParamsImpl<Pathname, Omit<UrlObject, 'pathname'>>;
|
|
21
|
+
export type HrefOrHrefWithParams<Pathname> = HrefOrHrefWithParamsImpl<Pathname, {
|
|
22
|
+
query?: Record<string, SearchParamValue>;
|
|
23
|
+
}>;
|
|
24
|
+
export declare function normalizeNameOrNameWithParams<Pathname>(href: HrefOrHrefWithParams<Pathname>): {
|
|
25
|
+
pathname: Pathname;
|
|
26
|
+
params?: StrictParams<Pathname>;
|
|
27
|
+
};
|
|
28
|
+
export declare function serializeSearchParams(searchParams: Record<string, SearchParamValue>): string;
|
|
29
|
+
type StrictUrlObject<Pathname> = Omit<UrlObject, 'pathname'> & {
|
|
30
|
+
pathname: Pathname;
|
|
31
|
+
};
|
|
32
|
+
export declare function compileLocalizedPathname<Locales extends AllLocales, Pathname>(opts: {
|
|
33
|
+
locale: Locales[number];
|
|
34
|
+
pathname: Pathname;
|
|
35
|
+
params?: StrictParams<Pathname>;
|
|
36
|
+
pathnames: Pathnames<Locales>;
|
|
37
|
+
query?: Record<string, SearchParamValue>;
|
|
38
|
+
}): string;
|
|
39
|
+
export declare function compileLocalizedPathname<Locales extends AllLocales, Pathname>(opts: {
|
|
40
|
+
locale: Locales[number];
|
|
41
|
+
pathname: StrictUrlObject<Pathname>;
|
|
42
|
+
params?: StrictParams<Pathname>;
|
|
43
|
+
pathnames: Pathnames<Locales>;
|
|
44
|
+
query?: Record<string, SearchParamValue>;
|
|
45
|
+
}): UrlObject;
|
|
46
|
+
export declare function getRoute<Locales extends AllLocales>({ locale, pathname, pathnames }: {
|
|
47
|
+
locale: Locales[number];
|
|
48
|
+
pathname: string;
|
|
49
|
+
pathnames: Pathnames<Locales>;
|
|
50
|
+
}): string;
|
|
51
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './navigation/index';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './navigation/react-server';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This is the main entry file when non-'react-server'
|
|
3
|
-
* environments import from 'next-intl'.
|
|
4
|
-
*
|
|
5
|
-
* Maintainer notes:
|
|
6
|
-
* - Make sure this mirrors the API from 'react-server'.
|
|
7
|
-
* - Make sure everything exported from this module is
|
|
8
|
-
* supported in all Next.js versions that are supported.
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
export
|
|
12
|
-
export
|
|
1
|
+
/**
|
|
2
|
+
* This is the main entry file when non-'react-server'
|
|
3
|
+
* environments import from 'next-intl'.
|
|
4
|
+
*
|
|
5
|
+
* Maintainer notes:
|
|
6
|
+
* - Make sure this mirrors the API from 'react-server'.
|
|
7
|
+
* - Make sure everything exported from this module is
|
|
8
|
+
* supported in all Next.js versions that are supported.
|
|
9
|
+
*/
|
|
10
|
+
import { useTranslations as base_useTranslations, useFormatter as base_useFormatter } from 'use-intl';
|
|
11
|
+
export * from 'use-intl';
|
|
12
|
+
export declare const useTranslations: typeof base_useTranslations;
|
|
13
|
+
export declare const useFormatter: typeof base_useFormatter;
|
|
14
|
+
export { default as useLocale } from './useLocale';
|
|
15
|
+
export { default as NextIntlClientProvider } from '../shared/NextIntlClientProvider';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function useLocale(): string;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import React, { ComponentProps } from 'react';
|
|
2
|
+
import BaseNextIntlClientProvider from '../shared/NextIntlClientProvider';
|
|
3
|
+
type Props = ComponentProps<typeof BaseNextIntlClientProvider>;
|
|
4
|
+
export default function NextIntlClientProvider({ locale, now, timeZone, ...rest }: Props): React.JSX.Element;
|
|
5
|
+
export {};
|