next-intl 3.1.4 → 3.2.1
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/development/middleware/middleware.js +6 -6
- package/dist/development/navigation/react-client/{BaseLink.js → ClientLink.js} +7 -7
- package/dist/development/navigation/react-client/{baseRedirect.js → clientRedirect.js} +7 -4
- package/dist/development/navigation/react-client/createLocalizedPathnamesNavigation.js +21 -20
- package/dist/development/navigation/react-client/createSharedPathnamesNavigation.js +32 -5
- package/dist/development/navigation/react-server/{BaseLink.js → ServerLink.js} +5 -5
- package/dist/development/navigation/react-server/createLocalizedPathnamesNavigation.js +14 -9
- package/dist/development/navigation/react-server/createSharedPathnamesNavigation.js +26 -6
- package/dist/development/navigation/react-server/{baseRedirect.js → serverRedirect.js} +8 -5
- package/dist/development/{shared/BaseLinkWithLocale.js → navigation/shared/BaseLink.js} +21 -16
- package/dist/development/navigation/shared/baseRedirect.js +16 -0
- package/dist/development/react-server/NextIntlClientProvider.js +3 -3
- package/dist/development/react-server/getBaseTranslator.js +1 -1
- package/dist/development/react-server/useFormatter.js +1 -1
- package/dist/development/react-server/useLocale.js +1 -1
- package/dist/development/react-server/useMessages.js +1 -1
- package/dist/development/react-server/useNow.js +1 -1
- package/dist/development/react-server/useTimeZone.js +1 -1
- package/dist/development/server/react-client/index.js +34 -0
- package/dist/development/server/{RequestLocale.js → react-server/RequestLocale.js} +1 -1
- package/dist/development/server.react-client.js +16 -0
- package/dist/development/server.react-server.js +23 -0
- package/dist/development/shared/utils.js +7 -7
- package/dist/esm/middleware/middleware.js +1 -1
- package/dist/esm/navigation/react-client/ClientLink.js +1 -0
- package/dist/esm/navigation/react-client/clientRedirect.js +1 -0
- package/dist/esm/navigation/react-client/createLocalizedPathnamesNavigation.js +1 -1
- package/dist/esm/navigation/react-client/createSharedPathnamesNavigation.js +1 -1
- package/dist/esm/navigation/react-server/{BaseLink.js → ServerLink.js} +1 -1
- package/dist/esm/navigation/react-server/createLocalizedPathnamesNavigation.js +1 -1
- package/dist/esm/navigation/react-server/createSharedPathnamesNavigation.js +1 -1
- package/dist/esm/navigation/react-server/serverRedirect.js +1 -0
- package/dist/esm/navigation/shared/BaseLink.js +2 -0
- package/dist/esm/navigation/shared/baseRedirect.js +1 -0
- package/dist/esm/react-server/NextIntlClientProvider.js +1 -1
- package/dist/esm/react-server/getBaseTranslator.js +1 -1
- package/dist/esm/react-server/useFormatter.js +1 -1
- package/dist/esm/react-server/useLocale.js +1 -1
- package/dist/esm/react-server/useMessages.js +1 -1
- package/dist/esm/react-server/useNow.js +1 -1
- package/dist/esm/react-server/useTimeZone.js +1 -1
- package/dist/esm/server/react-client/index.js +1 -0
- package/dist/esm/server/react-server/RequestLocale.js +1 -0
- package/dist/esm/server.react-client.js +1 -0
- package/dist/esm/server.react-server.js +1 -0
- package/dist/esm/shared/utils.js +1 -1
- package/dist/production/middleware/middleware.js +1 -1
- package/dist/production/navigation/react-client/ClientLink.js +1 -0
- package/dist/production/navigation/react-client/clientRedirect.js +1 -0
- package/dist/production/navigation/react-client/createLocalizedPathnamesNavigation.js +1 -1
- package/dist/production/navigation/react-client/createSharedPathnamesNavigation.js +1 -1
- package/dist/production/navigation/react-server/ServerLink.js +1 -0
- package/dist/production/navigation/react-server/createLocalizedPathnamesNavigation.js +1 -1
- package/dist/production/navigation/react-server/createSharedPathnamesNavigation.js +1 -1
- package/dist/production/navigation/react-server/serverRedirect.js +1 -0
- package/dist/production/navigation/shared/BaseLink.js +2 -0
- package/dist/production/navigation/shared/baseRedirect.js +1 -0
- package/dist/production/react-server/NextIntlClientProvider.js +1 -1
- package/dist/production/react-server/getBaseTranslator.js +1 -1
- package/dist/production/react-server/useFormatter.js +1 -1
- package/dist/production/react-server/useLocale.js +1 -1
- package/dist/production/react-server/useMessages.js +1 -1
- package/dist/production/react-server/useNow.js +1 -1
- package/dist/production/react-server/useTimeZone.js +1 -1
- package/dist/production/server/react-client/index.js +1 -0
- package/dist/production/server/react-server/RequestLocale.js +1 -0
- package/dist/production/server.react-client.js +1 -0
- package/dist/production/server.react-server.js +1 -0
- package/dist/production/shared/utils.js +1 -1
- package/dist/server.react-client.js +7 -0
- package/dist/server.react-server.js +7 -0
- package/dist/types/src/middleware/NextIntlMiddlewareConfig.d.ts +1 -2
- package/dist/types/src/navigation/react-client/{BaseLink.d.ts → ClientLink.d.ts} +5 -4
- package/dist/types/src/navigation/react-client/clientRedirect.d.ts +6 -0
- package/dist/types/src/navigation/react-client/createLocalizedPathnamesNavigation.d.ts +7 -5
- package/dist/types/src/navigation/react-client/createSharedPathnamesNavigation.d.ts +44 -7
- package/dist/types/src/navigation/react-client/useBasePathname.d.ts +1 -1
- package/dist/types/src/navigation/react-server/ServerLink.d.ts +8 -0
- package/dist/types/src/navigation/react-server/createLocalizedPathnamesNavigation.d.ts +5 -3
- package/dist/types/src/navigation/react-server/createSharedPathnamesNavigation.d.ts +6 -38
- package/dist/types/src/navigation/react-server/serverRedirect.d.ts +6 -0
- package/dist/types/src/navigation/shared/BaseLink.d.ts +9 -0
- package/dist/types/src/navigation/shared/baseRedirect.d.ts +7 -0
- package/dist/types/src/server/react-client/index.d.ts +15 -0
- package/dist/types/src/server.react-client.d.ts +1 -0
- package/dist/types/src/server.react-server.d.ts +1 -0
- package/dist/types/src/shared/types.d.ts +1 -0
- package/dist/types/src/shared/utils.d.ts +3 -3
- package/dist/types/test/navigation/react-client/ClientLink.test.d.ts +1 -0
- package/dist/types/test/server/react-server/index.test.d.ts +1 -0
- package/package.json +17 -11
- package/server.d.ts +1 -1
- package/dist/development/server.js +0 -23
- package/dist/development/shared/redirectWithLocale.js +0 -16
- package/dist/esm/navigation/react-client/BaseLink.js +0 -1
- package/dist/esm/navigation/react-client/baseRedirect.js +0 -1
- package/dist/esm/navigation/react-server/baseRedirect.js +0 -1
- package/dist/esm/server/RequestLocale.js +0 -1
- package/dist/esm/server.js +0 -1
- package/dist/esm/shared/BaseLinkWithLocale.js +0 -2
- package/dist/esm/shared/redirectWithLocale.js +0 -1
- package/dist/production/navigation/react-client/BaseLink.js +0 -1
- package/dist/production/navigation/react-client/baseRedirect.js +0 -1
- package/dist/production/navigation/react-server/BaseLink.js +0 -1
- package/dist/production/navigation/react-server/baseRedirect.js +0 -1
- package/dist/production/server/RequestLocale.js +0 -1
- package/dist/production/server.js +0 -1
- package/dist/production/shared/BaseLinkWithLocale.js +0 -2
- package/dist/production/shared/redirectWithLocale.js +0 -1
- package/dist/server.js +0 -7
- package/dist/types/src/navigation/react-client/baseRedirect.d.ts +0 -3
- package/dist/types/src/navigation/react-server/BaseLink.d.ts +0 -8
- package/dist/types/src/navigation/react-server/baseRedirect.d.ts +0 -3
- package/dist/types/src/server.d.ts +0 -1
- package/dist/types/src/shared/BaseLinkWithLocale.d.ts +0 -7
- package/dist/types/src/shared/redirectWithLocale.d.ts +0 -3
- /package/dist/development/server/{createRequestConfig.js → react-server/createRequestConfig.js} +0 -0
- /package/dist/development/server/{getConfig.js → react-server/getConfig.js} +0 -0
- /package/dist/development/server/{getFormatter.js → react-server/getFormatter.js} +0 -0
- /package/dist/development/server/{getLocale.js → react-server/getLocale.js} +0 -0
- /package/dist/development/server/{getMessages.js → react-server/getMessages.js} +0 -0
- /package/dist/development/server/{getNow.js → react-server/getNow.js} +0 -0
- /package/dist/development/server/{getRequestConfig.js → react-server/getRequestConfig.js} +0 -0
- /package/dist/development/server/{getTimeZone.js → react-server/getTimeZone.js} +0 -0
- /package/dist/development/server/{getTranslations.js → react-server/getTranslations.js} +0 -0
- /package/dist/development/server/{resolveLocaleArg.js → react-server/resolveLocaleArg.js} +0 -0
- /package/dist/esm/server/{createRequestConfig.js → react-server/createRequestConfig.js} +0 -0
- /package/dist/esm/server/{getConfig.js → react-server/getConfig.js} +0 -0
- /package/dist/esm/server/{getFormatter.js → react-server/getFormatter.js} +0 -0
- /package/dist/esm/server/{getLocale.js → react-server/getLocale.js} +0 -0
- /package/dist/esm/server/{getMessages.js → react-server/getMessages.js} +0 -0
- /package/dist/esm/server/{getNow.js → react-server/getNow.js} +0 -0
- /package/dist/esm/server/{getRequestConfig.js → react-server/getRequestConfig.js} +0 -0
- /package/dist/esm/server/{getTimeZone.js → react-server/getTimeZone.js} +0 -0
- /package/dist/esm/server/{getTranslations.js → react-server/getTranslations.js} +0 -0
- /package/dist/esm/server/{resolveLocaleArg.js → react-server/resolveLocaleArg.js} +0 -0
- /package/dist/production/server/{createRequestConfig.js → react-server/createRequestConfig.js} +0 -0
- /package/dist/production/server/{getConfig.js → react-server/getConfig.js} +0 -0
- /package/dist/production/server/{getFormatter.js → react-server/getFormatter.js} +0 -0
- /package/dist/production/server/{getLocale.js → react-server/getLocale.js} +0 -0
- /package/dist/production/server/{getMessages.js → react-server/getMessages.js} +0 -0
- /package/dist/production/server/{getNow.js → react-server/getNow.js} +0 -0
- /package/dist/production/server/{getRequestConfig.js → react-server/getRequestConfig.js} +0 -0
- /package/dist/production/server/{getTimeZone.js → react-server/getTimeZone.js} +0 -0
- /package/dist/production/server/{getTranslations.js → react-server/getTranslations.js} +0 -0
- /package/dist/production/server/{resolveLocaleArg.js → react-server/resolveLocaleArg.js} +0 -0
- /package/dist/types/src/server/{RequestLocale.d.ts → react-server/RequestLocale.d.ts} +0 -0
- /package/dist/types/src/server/{createRequestConfig.d.ts → react-server/createRequestConfig.d.ts} +0 -0
- /package/dist/types/src/server/{getConfig.d.ts → react-server/getConfig.d.ts} +0 -0
- /package/dist/types/src/server/{getFormatter.d.ts → react-server/getFormatter.d.ts} +0 -0
- /package/dist/types/src/server/{getLocale.d.ts → react-server/getLocale.d.ts} +0 -0
- /package/dist/types/src/server/{getMessages.d.ts → react-server/getMessages.d.ts} +0 -0
- /package/dist/types/src/server/{getNow.d.ts → react-server/getNow.d.ts} +0 -0
- /package/dist/types/src/server/{getRequestConfig.d.ts → react-server/getRequestConfig.d.ts} +0 -0
- /package/dist/types/src/server/{getTimeZone.d.ts → react-server/getTimeZone.d.ts} +0 -0
- /package/dist/types/src/server/{getTranslations.d.ts → react-server/getTranslations.d.ts} +0 -0
- /package/dist/types/src/server/{index.d.ts → react-server/index.d.ts} +0 -0
- /package/dist/types/src/server/{resolveLocaleArg.d.ts → react-server/resolveLocaleArg.d.ts} +0 -0
- /package/dist/types/test/navigation/{react-client/BaseLink.test.d.ts → createLocalizedPathnamesNavigation.test.d.ts} +0 -0
- /package/dist/types/test/{server/index.test.d.ts → navigation/createSharedPathnamesNavigation.test.d.ts} +0 -0
|
@@ -94,9 +94,9 @@ function createMiddleware(config) {
|
|
|
94
94
|
response = redirect(pathWithSearch);
|
|
95
95
|
}
|
|
96
96
|
} else {
|
|
97
|
-
const
|
|
97
|
+
const internalPathWithSearch = utils.getPathWithSearch(pathname, request.nextUrl.search);
|
|
98
98
|
if (hasLocalePrefix) {
|
|
99
|
-
const basePath = utils.getBasePath(
|
|
99
|
+
const basePath = utils.getBasePath(utils.getPathWithSearch(normalizedPathname, request.nextUrl.search), pathLocale);
|
|
100
100
|
if (configWithDefaults.localePrefix === 'never') {
|
|
101
101
|
response = redirect(basePath);
|
|
102
102
|
} else if (pathLocale === locale) {
|
|
@@ -108,10 +108,10 @@ function createMiddleware(config) {
|
|
|
108
108
|
if ((domain === null || domain === void 0 ? void 0 : domain.domain) !== (pathDomain === null || pathDomain === void 0 ? void 0 : pathDomain.domain) && !hasUnknownHost) {
|
|
109
109
|
response = redirect(basePath, pathDomain === null || pathDomain === void 0 ? void 0 : pathDomain.domain);
|
|
110
110
|
} else {
|
|
111
|
-
response = rewrite(
|
|
111
|
+
response = rewrite(internalPathWithSearch);
|
|
112
112
|
}
|
|
113
113
|
} else {
|
|
114
|
-
response = rewrite(
|
|
114
|
+
response = rewrite(internalPathWithSearch);
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
} else {
|
|
@@ -119,9 +119,9 @@ function createMiddleware(config) {
|
|
|
119
119
|
}
|
|
120
120
|
} else {
|
|
121
121
|
if (configWithDefaults.localePrefix === 'never' || hasMatchedDefaultLocale && (configWithDefaults.localePrefix === 'as-needed' || configWithDefaults.domains)) {
|
|
122
|
-
response = rewrite("/".concat(locale).concat(
|
|
122
|
+
response = rewrite("/".concat(locale).concat(internalPathWithSearch));
|
|
123
123
|
} else {
|
|
124
|
-
response = redirect("/".concat(locale).concat(
|
|
124
|
+
response = redirect("/".concat(locale).concat(internalPathWithSearch));
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
}
|
|
@@ -5,20 +5,20 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var useLocale = require('../../react-client/useLocale.js');
|
|
8
|
-
var
|
|
8
|
+
var BaseLink = require('../shared/BaseLink.js');
|
|
9
9
|
|
|
10
10
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
|
|
12
12
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
13
13
|
|
|
14
|
-
function
|
|
14
|
+
function ClientLink(_ref, ref) {
|
|
15
15
|
let {
|
|
16
16
|
locale,
|
|
17
17
|
...rest
|
|
18
18
|
} = _ref;
|
|
19
19
|
const defaultLocale = useLocale.default();
|
|
20
20
|
const linkLocale = locale || defaultLocale;
|
|
21
|
-
return /*#__PURE__*/React__default.default.createElement(
|
|
21
|
+
return /*#__PURE__*/React__default.default.createElement(BaseLink.default, _rollupPluginBabelHelpers.extends({
|
|
22
22
|
ref: ref,
|
|
23
23
|
hrefLang: linkLocale,
|
|
24
24
|
locale: linkLocale
|
|
@@ -45,8 +45,8 @@ function BaseLink(_ref, ref) {
|
|
|
45
45
|
* the `set-cookie` response header would cause the locale cookie on the current
|
|
46
46
|
* page to be overwritten before the user even decides to change the locale.
|
|
47
47
|
*/
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
var
|
|
48
|
+
const ClientLinkWithRef = /*#__PURE__*/React.forwardRef(ClientLink);
|
|
49
|
+
ClientLinkWithRef.displayName = 'ClientLink';
|
|
50
|
+
var ClientLink$1 = ClientLinkWithRef;
|
|
51
51
|
|
|
52
|
-
exports.default =
|
|
52
|
+
exports.default = ClientLink$1;
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var useLocale = require('../../react-client/useLocale.js');
|
|
6
|
-
var
|
|
6
|
+
var baseRedirect = require('../shared/baseRedirect.js');
|
|
7
7
|
|
|
8
|
-
function
|
|
8
|
+
function clientRedirect(params) {
|
|
9
9
|
let locale;
|
|
10
10
|
try {
|
|
11
11
|
// eslint-disable-next-line react-hooks/rules-of-hooks -- Reading from context here is fine, since `redirect` should be called during render
|
|
@@ -16,7 +16,10 @@ function baseRedirect(pathname) {
|
|
|
16
16
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
17
17
|
args[_key - 1] = arguments[_key];
|
|
18
18
|
}
|
|
19
|
-
return
|
|
19
|
+
return baseRedirect.default({
|
|
20
|
+
...params,
|
|
21
|
+
locale
|
|
22
|
+
}, ...args);
|
|
20
23
|
}
|
|
21
24
|
|
|
22
|
-
exports.default =
|
|
25
|
+
exports.default = clientRedirect;
|
|
@@ -6,8 +6,8 @@ var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelper
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var useLocale = require('../../react-client/useLocale.js');
|
|
8
8
|
var utils = require('../shared/utils.js');
|
|
9
|
-
var
|
|
10
|
-
var
|
|
9
|
+
var ClientLink = require('./ClientLink.js');
|
|
10
|
+
var clientRedirect = require('./clientRedirect.js');
|
|
11
11
|
var useBasePathname = require('./useBasePathname.js');
|
|
12
12
|
var useBaseRouter = require('./useBaseRouter.js');
|
|
13
13
|
|
|
@@ -15,28 +15,24 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
15
15
|
|
|
16
16
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
17
17
|
|
|
18
|
-
function createLocalizedPathnamesNavigation(
|
|
19
|
-
let {
|
|
20
|
-
locales,
|
|
21
|
-
pathnames
|
|
22
|
-
} = _ref;
|
|
18
|
+
function createLocalizedPathnamesNavigation(opts) {
|
|
23
19
|
function useTypedLocale() {
|
|
24
20
|
const locale = useLocale.default();
|
|
25
|
-
const isValid = locales.includes(locale);
|
|
21
|
+
const isValid = opts.locales.includes(locale);
|
|
26
22
|
if (!isValid) {
|
|
27
23
|
throw new Error("Unknown locale encountered: \"".concat(locale, "\". Make sure to validate the locale in `app/[locale]/layout.tsx`.") );
|
|
28
24
|
}
|
|
29
25
|
return locale;
|
|
30
26
|
}
|
|
31
|
-
function Link(
|
|
27
|
+
function Link(_ref, ref) {
|
|
32
28
|
let {
|
|
33
29
|
href,
|
|
34
30
|
locale,
|
|
35
31
|
...rest
|
|
36
|
-
} =
|
|
32
|
+
} = _ref;
|
|
37
33
|
const defaultLocale = useTypedLocale();
|
|
38
34
|
const finalLocale = locale || defaultLocale;
|
|
39
|
-
return /*#__PURE__*/React__default.default.createElement(
|
|
35
|
+
return /*#__PURE__*/React__default.default.createElement(ClientLink.default, _rollupPluginBabelHelpers.extends({
|
|
40
36
|
ref: ref,
|
|
41
37
|
href: utils.compileLocalizedPathname({
|
|
42
38
|
locale: finalLocale,
|
|
@@ -44,9 +40,10 @@ function createLocalizedPathnamesNavigation(_ref) {
|
|
|
44
40
|
pathname: href,
|
|
45
41
|
// @ts-expect-error -- This is ok
|
|
46
42
|
params: typeof href === 'object' ? href.params : undefined,
|
|
47
|
-
pathnames
|
|
43
|
+
pathnames: opts.pathnames
|
|
48
44
|
}),
|
|
49
|
-
locale: locale
|
|
45
|
+
locale: locale,
|
|
46
|
+
localePrefix: opts.localePrefix
|
|
50
47
|
}, rest));
|
|
51
48
|
}
|
|
52
49
|
const LinkWithRef = /*#__PURE__*/React.forwardRef(Link);
|
|
@@ -61,7 +58,10 @@ function createLocalizedPathnamesNavigation(_ref) {
|
|
|
61
58
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
62
59
|
args[_key - 1] = arguments[_key];
|
|
63
60
|
}
|
|
64
|
-
return
|
|
61
|
+
return clientRedirect.default({
|
|
62
|
+
...opts,
|
|
63
|
+
pathname: resolvedHref
|
|
64
|
+
}, ...args);
|
|
65
65
|
}
|
|
66
66
|
function useRouter() {
|
|
67
67
|
const baseRouter = useBaseRouter.default();
|
|
@@ -106,21 +106,22 @@ function createLocalizedPathnamesNavigation(_ref) {
|
|
|
106
106
|
function usePathname() {
|
|
107
107
|
const pathname = useBasePathname.default();
|
|
108
108
|
const locale = useTypedLocale();
|
|
109
|
-
|
|
109
|
+
// @ts-expect-error -- Mirror the behavior from Next.js, where `null` is returned when `usePathname` is used outside of Next, but the types indicate that a string is always returned.
|
|
110
|
+
return pathname ? utils.getRoute({
|
|
110
111
|
pathname,
|
|
111
112
|
locale,
|
|
112
|
-
pathnames
|
|
113
|
-
});
|
|
113
|
+
pathnames: opts.pathnames
|
|
114
|
+
}) : pathname;
|
|
114
115
|
}
|
|
115
|
-
function getPathname(
|
|
116
|
+
function getPathname(_ref2) {
|
|
116
117
|
let {
|
|
117
118
|
href,
|
|
118
119
|
locale
|
|
119
|
-
} =
|
|
120
|
+
} = _ref2;
|
|
120
121
|
return utils.compileLocalizedPathname({
|
|
121
122
|
...utils.normalizeNameOrNameWithParams(href),
|
|
122
123
|
locale,
|
|
123
|
-
pathnames
|
|
124
|
+
pathnames: opts.pathnames
|
|
124
125
|
});
|
|
125
126
|
}
|
|
126
127
|
return {
|
|
@@ -2,16 +2,43 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
var
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var ClientLink = require('./ClientLink.js');
|
|
8
|
+
var clientRedirect = require('./clientRedirect.js');
|
|
7
9
|
var useBasePathname = require('./useBasePathname.js');
|
|
8
10
|
var useBaseRouter = require('./useBaseRouter.js');
|
|
9
11
|
|
|
12
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
|
|
14
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
15
|
+
|
|
10
16
|
function createSharedPathnamesNavigation(opts) {
|
|
17
|
+
function Link(props, ref) {
|
|
18
|
+
return /*#__PURE__*/React__default.default.createElement(ClientLink.default, _rollupPluginBabelHelpers.extends({
|
|
19
|
+
ref: ref,
|
|
20
|
+
localePrefix: opts.localePrefix
|
|
21
|
+
}, props));
|
|
22
|
+
}
|
|
23
|
+
const LinkWithRef = /*#__PURE__*/React.forwardRef(Link);
|
|
24
|
+
LinkWithRef.displayName = 'Link';
|
|
25
|
+
function redirect(pathname) {
|
|
26
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
27
|
+
args[_key - 1] = arguments[_key];
|
|
28
|
+
}
|
|
29
|
+
return clientRedirect.default({
|
|
30
|
+
...opts,
|
|
31
|
+
pathname
|
|
32
|
+
}, ...args);
|
|
33
|
+
}
|
|
34
|
+
function usePathname() {
|
|
35
|
+
// @ts-expect-error -- Mirror the behavior from Next.js, where `null` is returned when `usePathname` is used outside of Next, but the types indicate that a string is always returned.
|
|
36
|
+
return useBasePathname.default();
|
|
37
|
+
}
|
|
11
38
|
return {
|
|
12
|
-
Link:
|
|
13
|
-
redirect
|
|
14
|
-
usePathname
|
|
39
|
+
Link: LinkWithRef,
|
|
40
|
+
redirect,
|
|
41
|
+
usePathname,
|
|
15
42
|
useRouter: useBaseRouter.default
|
|
16
43
|
};
|
|
17
44
|
}
|
|
@@ -4,21 +4,21 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
6
6
|
var React = require('react');
|
|
7
|
-
var
|
|
8
|
-
var getLocale = require('../../server/getLocale.js');
|
|
7
|
+
var BaseLink = require('../shared/BaseLink.js');
|
|
8
|
+
var getLocale = require('../../server/react-server/getLocale.js');
|
|
9
9
|
|
|
10
10
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
|
|
12
12
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
13
13
|
|
|
14
|
-
async function
|
|
14
|
+
async function ServerLink(_ref) {
|
|
15
15
|
let {
|
|
16
16
|
locale,
|
|
17
17
|
...rest
|
|
18
18
|
} = _ref;
|
|
19
|
-
return /*#__PURE__*/React__default.default.createElement(
|
|
19
|
+
return /*#__PURE__*/React__default.default.createElement(BaseLink.default, _rollupPluginBabelHelpers.extends({
|
|
20
20
|
locale: locale || (await getLocale.default())
|
|
21
21
|
}, rest));
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
exports.default =
|
|
24
|
+
exports.default = ServerLink;
|
|
@@ -4,10 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
6
6
|
var React = require('react');
|
|
7
|
-
var RequestLocale = require('../../server/RequestLocale.js');
|
|
7
|
+
var RequestLocale = require('../../server/react-server/RequestLocale.js');
|
|
8
8
|
var utils = require('../shared/utils.js');
|
|
9
|
-
var
|
|
10
|
-
var
|
|
9
|
+
var ServerLink = require('./ServerLink.js');
|
|
10
|
+
var serverRedirect = require('./serverRedirect.js');
|
|
11
11
|
|
|
12
12
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
|
|
@@ -15,6 +15,7 @@ var React__default = /*#__PURE__*/_interopDefault(React);
|
|
|
15
15
|
|
|
16
16
|
function createLocalizedPathnamesNavigation(_ref) {
|
|
17
17
|
let {
|
|
18
|
+
localePrefix,
|
|
18
19
|
locales,
|
|
19
20
|
pathnames
|
|
20
21
|
} = _ref;
|
|
@@ -26,7 +27,7 @@ function createLocalizedPathnamesNavigation(_ref) {
|
|
|
26
27
|
} = _ref2;
|
|
27
28
|
const defaultLocale = RequestLocale.getRequestLocale();
|
|
28
29
|
const finalLocale = locale || defaultLocale;
|
|
29
|
-
return /*#__PURE__*/React__default.default.createElement(
|
|
30
|
+
return /*#__PURE__*/React__default.default.createElement(ServerLink.default, _rollupPluginBabelHelpers.extends({
|
|
30
31
|
href: utils.compileLocalizedPathname({
|
|
31
32
|
locale: finalLocale,
|
|
32
33
|
// @ts-expect-error -- This is ok
|
|
@@ -35,19 +36,23 @@ function createLocalizedPathnamesNavigation(_ref) {
|
|
|
35
36
|
params: typeof href === 'object' ? href.params : undefined,
|
|
36
37
|
pathnames
|
|
37
38
|
}),
|
|
38
|
-
locale: locale
|
|
39
|
+
locale: locale,
|
|
40
|
+
localePrefix: localePrefix
|
|
39
41
|
}, rest));
|
|
40
42
|
}
|
|
41
43
|
function redirect(href) {
|
|
42
44
|
const locale = RequestLocale.getRequestLocale();
|
|
43
|
-
const
|
|
45
|
+
const pathname = getPathname({
|
|
44
46
|
href,
|
|
45
47
|
locale
|
|
46
48
|
});
|
|
47
49
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
48
50
|
args[_key - 1] = arguments[_key];
|
|
49
51
|
}
|
|
50
|
-
return
|
|
52
|
+
return serverRedirect.default({
|
|
53
|
+
localePrefix,
|
|
54
|
+
pathname
|
|
55
|
+
}, ...args);
|
|
51
56
|
}
|
|
52
57
|
function getPathname(_ref3) {
|
|
53
58
|
let {
|
|
@@ -60,9 +65,9 @@ function createLocalizedPathnamesNavigation(_ref) {
|
|
|
60
65
|
pathnames
|
|
61
66
|
});
|
|
62
67
|
}
|
|
63
|
-
function notSupported(
|
|
68
|
+
function notSupported(hookName) {
|
|
64
69
|
return () => {
|
|
65
|
-
throw new Error("`".concat(
|
|
70
|
+
throw new Error("`".concat(hookName, "` is not supported in Server Components. You can use this hook if you convert the component to a Client Component."));
|
|
66
71
|
};
|
|
67
72
|
}
|
|
68
73
|
return {
|
|
@@ -2,18 +2,38 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
6
|
-
var
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
6
|
+
var React = require('react');
|
|
7
|
+
var ServerLink = require('./ServerLink.js');
|
|
8
|
+
var serverRedirect = require('./serverRedirect.js');
|
|
9
|
+
|
|
10
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
|
|
12
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
7
13
|
|
|
8
14
|
function createSharedPathnamesNavigation(opts) {
|
|
9
|
-
function notSupported(
|
|
15
|
+
function notSupported(hookName) {
|
|
10
16
|
return () => {
|
|
11
|
-
throw new Error("`".concat(
|
|
17
|
+
throw new Error("`".concat(hookName, "` is not supported in Server Components. You can use this hook if you convert the component to a Client Component."));
|
|
12
18
|
};
|
|
13
19
|
}
|
|
20
|
+
function Link(props) {
|
|
21
|
+
return /*#__PURE__*/React__default.default.createElement(ServerLink.default, _rollupPluginBabelHelpers.extends({
|
|
22
|
+
localePrefix: opts.localePrefix
|
|
23
|
+
}, props));
|
|
24
|
+
}
|
|
25
|
+
function redirect(pathname) {
|
|
26
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
27
|
+
args[_key - 1] = arguments[_key];
|
|
28
|
+
}
|
|
29
|
+
return serverRedirect.default({
|
|
30
|
+
...opts,
|
|
31
|
+
pathname
|
|
32
|
+
}, ...args);
|
|
33
|
+
}
|
|
14
34
|
return {
|
|
15
|
-
Link
|
|
16
|
-
redirect
|
|
35
|
+
Link,
|
|
36
|
+
redirect,
|
|
17
37
|
usePathname: notSupported('usePathname'),
|
|
18
38
|
useRouter: notSupported('useRouter')
|
|
19
39
|
};
|
|
@@ -2,15 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var RequestLocale = require('../../server/RequestLocale.js');
|
|
6
|
-
var
|
|
5
|
+
var RequestLocale = require('../../server/react-server/RequestLocale.js');
|
|
6
|
+
var baseRedirect = require('../shared/baseRedirect.js');
|
|
7
7
|
|
|
8
|
-
function
|
|
8
|
+
function serverRedirect(params) {
|
|
9
9
|
const locale = RequestLocale.getRequestLocale();
|
|
10
10
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
11
11
|
args[_key - 1] = arguments[_key];
|
|
12
12
|
}
|
|
13
|
-
return
|
|
13
|
+
return baseRedirect.default({
|
|
14
|
+
...params,
|
|
15
|
+
locale
|
|
16
|
+
}, ...args);
|
|
14
17
|
}
|
|
15
18
|
|
|
16
|
-
exports.default =
|
|
19
|
+
exports.default = serverRedirect;
|
|
@@ -3,22 +3,23 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
-
var _rollupPluginBabelHelpers = require('
|
|
6
|
+
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
|
|
7
7
|
var NextLink = require('next/link');
|
|
8
8
|
var navigation = require('next/navigation');
|
|
9
9
|
var React = require('react');
|
|
10
|
-
var useLocale = require('
|
|
11
|
-
var utils = require('
|
|
10
|
+
var useLocale = require('../../react-client/useLocale.js');
|
|
11
|
+
var utils = require('../../shared/utils.js');
|
|
12
12
|
|
|
13
13
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
|
|
15
15
|
var NextLink__default = /*#__PURE__*/_interopDefault(NextLink);
|
|
16
16
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
17
17
|
|
|
18
|
-
function
|
|
18
|
+
function BaseLink(_ref, ref) {
|
|
19
19
|
let {
|
|
20
20
|
href,
|
|
21
21
|
locale,
|
|
22
|
+
localePrefix,
|
|
22
23
|
prefetch,
|
|
23
24
|
...rest
|
|
24
25
|
} = _ref;
|
|
@@ -27,20 +28,22 @@ function BaseLinkWithLocale(_ref, ref) {
|
|
|
27
28
|
const pathname = navigation.usePathname();
|
|
28
29
|
const defaultLocale = useLocale.default();
|
|
29
30
|
const isChangingLocale = locale !== defaultLocale;
|
|
30
|
-
const [localizedHref, setLocalizedHref] = React.useState(() => utils.isLocalHref(href) &&
|
|
31
|
-
//
|
|
31
|
+
const [localizedHref, setLocalizedHref] = React.useState(() => utils.isLocalHref(href) && (localePrefix !== 'never' || isChangingLocale) ?
|
|
32
|
+
// For the `localePrefix: 'as-needed' strategy, the href shouldn't
|
|
33
|
+
// be prefixed if the locale is the default locale. To determine this, we
|
|
32
34
|
// need a) the default locale and b) the information if we use prefixed
|
|
33
|
-
// routing.
|
|
34
|
-
//
|
|
35
|
-
//
|
|
36
|
-
// a
|
|
37
|
-
//
|
|
38
|
-
//
|
|
35
|
+
// routing. The default locale can vary by domain, therefore during the
|
|
36
|
+
// RSC as well as the SSR render, we can't determine the default locale
|
|
37
|
+
// statically. Therefore we always prefix the href since this will
|
|
38
|
+
// always result in a valid URL, even if it might cause a redirect. This
|
|
39
|
+
// is better than pointing to a non-localized href during the server
|
|
40
|
+
// render, which would potentially be wrong. The final href is
|
|
41
|
+
// determined in the effect below.
|
|
39
42
|
utils.prefixHref(href, locale) : href);
|
|
40
43
|
React.useEffect(() => {
|
|
41
|
-
if (!pathname) return;
|
|
44
|
+
if (!pathname || localePrefix === 'never') return;
|
|
42
45
|
setLocalizedHref(utils.localizeHref(href, locale, defaultLocale, pathname !== null && pathname !== void 0 ? pathname : undefined));
|
|
43
|
-
}, [defaultLocale, href, locale, pathname]);
|
|
46
|
+
}, [defaultLocale, href, locale, localePrefix, pathname]);
|
|
44
47
|
if (isChangingLocale) {
|
|
45
48
|
if (prefetch && "development" !== 'production') {
|
|
46
49
|
console.error('The `prefetch` prop is currently not supported when using the `locale` prop on `Link` to switch the locale.`');
|
|
@@ -53,6 +56,8 @@ function BaseLinkWithLocale(_ref, ref) {
|
|
|
53
56
|
prefetch: prefetch
|
|
54
57
|
}, rest));
|
|
55
58
|
}
|
|
56
|
-
|
|
59
|
+
const BaseLinkWithRef = /*#__PURE__*/React.forwardRef(BaseLink);
|
|
60
|
+
BaseLinkWithRef.displayName = 'ClientLink';
|
|
61
|
+
var BaseLink$1 = BaseLinkWithRef;
|
|
57
62
|
|
|
58
|
-
exports.default =
|
|
63
|
+
exports.default = BaseLink$1;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var navigation = require('next/navigation');
|
|
6
|
+
var utils = require('../../shared/utils.js');
|
|
7
|
+
|
|
8
|
+
function baseRedirect(params) {
|
|
9
|
+
const localizedPathname = params.localePrefix === 'never' ? params.pathname : utils.prefixPathname(params.locale, params.pathname);
|
|
10
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
11
|
+
args[_key - 1] = arguments[_key];
|
|
12
|
+
}
|
|
13
|
+
return navigation.redirect(localizedPathname, ...args);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
exports.default = baseRedirect;
|
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var NextIntlClientProvider$1 = require('../shared/NextIntlClientProvider.js');
|
|
8
|
-
var getLocale = require('../server/getLocale.js');
|
|
9
|
-
var getNow = require('../server/getNow.js');
|
|
10
|
-
var getTimeZone = require('../server/getTimeZone.js');
|
|
8
|
+
var getLocale = require('../server/react-server/getLocale.js');
|
|
9
|
+
var getNow = require('../server/react-server/getNow.js');
|
|
10
|
+
var getTimeZone = require('../server/react-server/getTimeZone.js');
|
|
11
11
|
|
|
12
12
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var core = require('use-intl/core');
|
|
7
|
-
var getConfig = require('../server/getConfig.js');
|
|
7
|
+
var getConfig = require('../server/react-server/getConfig.js');
|
|
8
8
|
|
|
9
9
|
const getMessageFormatCache = React.cache(() => new Map());
|
|
10
10
|
async function getTranslatorImpl(locale, namespace) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var getFormatter = require('../server/getFormatter.js');
|
|
5
|
+
var getFormatter = require('../server/react-server/getFormatter.js');
|
|
6
6
|
var useHook = require('./useHook.js');
|
|
7
7
|
var useLocale = require('./useLocale.js');
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var RequestLocale = require('../server/RequestLocale.js');
|
|
5
|
+
var RequestLocale = require('../server/react-server/RequestLocale.js');
|
|
6
6
|
|
|
7
7
|
function useLocale() {
|
|
8
8
|
for (var _len = arguments.length, _ref = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var getMessages = require('../server/getMessages.js');
|
|
5
|
+
var getMessages = require('../server/react-server/getMessages.js');
|
|
6
6
|
var useHook = require('./useHook.js');
|
|
7
7
|
var useLocale = require('./useLocale.js');
|
|
8
8
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var getTimeZone = require('../server/getTimeZone.js');
|
|
5
|
+
var getTimeZone = require('../server/react-server/getTimeZone.js');
|
|
6
6
|
var useHook = require('./useHook.js');
|
|
7
7
|
var useLocale = require('./useLocale.js');
|
|
8
8
|
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Allows to import `next-intl/server` in non-RSC environments.
|
|
7
|
+
*
|
|
8
|
+
* This is mostly relevant for testing, since e.g. a `generateMetadata`
|
|
9
|
+
* export from a page might use `next-intl/server`, but the test
|
|
10
|
+
* only uses the default export for a page.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
function notSupported(message) {
|
|
14
|
+
return () => {
|
|
15
|
+
throw new Error("`".concat(message, "` is not supported in Client Components."));
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
const getRequestConfig = notSupported('getRequestConfig');
|
|
19
|
+
const getFormatter = notSupported('getFormatter');
|
|
20
|
+
const getNow = notSupported('getNow');
|
|
21
|
+
const getTimeZone = notSupported('getTimeZone');
|
|
22
|
+
const getTranslations = notSupported('getTranslations');
|
|
23
|
+
const getMessages = notSupported('getMessages');
|
|
24
|
+
const getLocale = notSupported('getLocale');
|
|
25
|
+
const unstable_setRequestLocale = notSupported('unstable_setRequestLocale');
|
|
26
|
+
|
|
27
|
+
exports.getFormatter = getFormatter;
|
|
28
|
+
exports.getLocale = getLocale;
|
|
29
|
+
exports.getMessages = getMessages;
|
|
30
|
+
exports.getNow = getNow;
|
|
31
|
+
exports.getRequestConfig = getRequestConfig;
|
|
32
|
+
exports.getTimeZone = getTimeZone;
|
|
33
|
+
exports.getTranslations = getTranslations;
|
|
34
|
+
exports.unstable_setRequestLocale = unstable_setRequestLocale;
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var headers = require('next/headers');
|
|
6
6
|
var React = require('react');
|
|
7
|
-
var constants = require('
|
|
7
|
+
var constants = require('../../shared/constants.js');
|
|
8
8
|
|
|
9
9
|
const getLocaleFromHeader = React.cache(() => {
|
|
10
10
|
let locale;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var index = require('./server/react-client/index.js');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
exports.getFormatter = index.getFormatter;
|
|
10
|
+
exports.getLocale = index.getLocale;
|
|
11
|
+
exports.getMessages = index.getMessages;
|
|
12
|
+
exports.getNow = index.getNow;
|
|
13
|
+
exports.getRequestConfig = index.getRequestConfig;
|
|
14
|
+
exports.getTimeZone = index.getTimeZone;
|
|
15
|
+
exports.getTranslations = index.getTranslations;
|
|
16
|
+
exports.unstable_setRequestLocale = index.unstable_setRequestLocale;
|