next-intl 3.20.0 → 3.20.1-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/development/middleware/middleware.js +6 -6
  2. package/dist/development/middleware/resolveLocale.js +2 -7
  3. package/dist/development/navigation/react-client/ClientLink.js +2 -2
  4. package/dist/development/navigation/react-client/createNavigation.js +83 -0
  5. package/dist/development/navigation/react-client/useBasePathname.js +0 -14
  6. package/dist/development/navigation/react-server/ServerLink.js +4 -2
  7. package/dist/development/navigation/react-server/createNavigation.js +30 -0
  8. package/dist/development/navigation/shared/BaseLink.js +28 -25
  9. package/dist/development/navigation/shared/LegacyBaseLink.js +55 -0
  10. package/dist/development/navigation/shared/createSharedNavigationFns.js +147 -0
  11. package/dist/development/navigation/shared/redirects.js +3 -0
  12. package/dist/development/navigation/shared/utils.js +40 -1
  13. package/dist/development/navigation.react-client.js +2 -0
  14. package/dist/development/navigation.react-server.js +2 -0
  15. package/dist/development/react-client/index.js +0 -2
  16. package/dist/development/routing/config.js +1 -1
  17. package/dist/esm/middleware/middleware.js +1 -1
  18. package/dist/esm/middleware/resolveLocale.js +1 -1
  19. package/dist/esm/navigation/react-client/ClientLink.js +1 -1
  20. package/dist/esm/navigation/react-client/createNavigation.js +1 -0
  21. package/dist/esm/navigation/react-client/useBasePathname.js +0 -1
  22. package/dist/esm/navigation/react-server/ServerLink.js +1 -1
  23. package/dist/esm/navigation/react-server/createNavigation.js +1 -0
  24. package/dist/esm/navigation/shared/BaseLink.js +1 -1
  25. package/dist/esm/navigation/shared/LegacyBaseLink.js +2 -0
  26. package/dist/esm/navigation/shared/createSharedNavigationFns.js +1 -0
  27. package/dist/esm/navigation/shared/utils.js +1 -1
  28. package/dist/esm/navigation.react-client.js +1 -1
  29. package/dist/esm/navigation.react-server.js +1 -1
  30. package/dist/esm/routing/config.js +1 -1
  31. package/dist/production/middleware/middleware.js +1 -1
  32. package/dist/production/middleware/resolveLocale.js +1 -1
  33. package/dist/production/navigation/react-client/ClientLink.js +1 -1
  34. package/dist/production/navigation/react-client/createNavigation.js +1 -0
  35. package/dist/production/navigation/react-client/useBasePathname.js +0 -1
  36. package/dist/production/navigation/react-server/ServerLink.js +1 -1
  37. package/dist/production/navigation/react-server/createNavigation.js +1 -0
  38. package/dist/production/navigation/shared/BaseLink.js +1 -1
  39. package/dist/production/navigation/shared/LegacyBaseLink.js +2 -0
  40. package/dist/production/navigation/shared/createSharedNavigationFns.js +1 -0
  41. package/dist/production/navigation/shared/utils.js +1 -1
  42. package/dist/production/navigation.react-client.js +1 -1
  43. package/dist/production/navigation.react-server.js +1 -1
  44. package/dist/production/routing/config.js +1 -1
  45. package/dist/types/src/middleware/getAlternateLinksHeaderValue.d.ts +3 -3
  46. package/dist/types/src/middleware/middleware.d.ts +2 -2
  47. package/dist/types/src/middleware/resolveLocale.d.ts +2 -2
  48. package/dist/types/src/middleware/utils.d.ts +4 -4
  49. package/dist/types/src/navigation/createNavigation.test.d.ts +1 -0
  50. package/dist/types/src/navigation/react-client/ClientLink.d.ts +6 -6
  51. package/dist/types/src/navigation/react-client/createLocalizedPathnamesNavigation.d.ts +12 -4
  52. package/dist/types/src/navigation/react-client/createNavigation.d.ts +467 -0
  53. package/dist/types/src/navigation/react-client/createNavigation.test.d.ts +1 -0
  54. package/dist/types/src/navigation/react-client/createSharedPathnamesNavigation.d.ts +4 -4
  55. package/dist/types/src/navigation/react-client/index.d.ts +1 -0
  56. package/dist/types/src/navigation/react-client/redirects.d.ts +4 -4
  57. package/dist/types/src/navigation/react-client/useBasePathname.d.ts +2 -15
  58. package/dist/types/src/navigation/react-client/useBaseRouter.d.ts +2 -2
  59. package/dist/types/src/navigation/react-server/ServerLink.d.ts +5 -5
  60. package/dist/types/src/navigation/react-server/createLocalizedPathnamesNavigation.d.ts +12 -4
  61. package/dist/types/src/navigation/react-server/createNavigation.d.ts +385 -0
  62. package/dist/types/src/navigation/react-server/createNavigation.test.d.ts +1 -0
  63. package/dist/types/src/navigation/react-server/createSharedPathnamesNavigation.d.ts +3 -3
  64. package/dist/types/src/navigation/react-server/index.d.ts +1 -0
  65. package/dist/types/src/navigation/react-server/redirects.d.ts +4 -4
  66. package/dist/types/src/navigation/shared/BaseLink.d.ts +11 -6
  67. package/dist/types/src/navigation/shared/LegacyBaseLink.d.ts +10 -0
  68. package/dist/types/src/navigation/shared/createSharedNavigationFns.d.ts +382 -0
  69. package/dist/types/src/navigation/shared/redirects.d.ts +5 -5
  70. package/dist/types/src/navigation/shared/utils.d.ts +10 -3
  71. package/dist/types/src/routing/config.d.ts +19 -11
  72. package/dist/types/src/routing/defineRouting.d.ts +2 -2
  73. package/dist/types/src/routing/types.d.ts +4 -4
  74. package/dist/types/src/shared/types.d.ts +3 -0
  75. package/dist/types/src/shared/utils.d.ts +2 -2
  76. package/package.json +3 -3
@@ -0,0 +1,467 @@
1
+ import { RoutingConfigLocalizedNavigation, RoutingConfigSharedNavigation } from '../../routing/config';
2
+ import { DomainsConfig, LocalePrefixMode, Locales, Pathnames } from '../../routing/types';
3
+ export default function createNavigation<const AppLocales extends Locales, const AppLocalePrefixMode extends LocalePrefixMode = 'always', const AppPathnames extends Pathnames<AppLocales> = never, const AppDomains extends DomainsConfig<AppLocales> = never>(routing?: [AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>): {
4
+ Link: import("react").ForwardRefExoticComponent<Omit<{
5
+ locale?: string;
6
+ slot?: string | undefined;
7
+ style?: import("react").CSSProperties | undefined;
8
+ title?: string | undefined;
9
+ onError?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
10
+ children?: import("react").ReactNode | undefined;
11
+ ref?: import("react").LegacyRef<HTMLAnchorElement> | undefined;
12
+ replace?: boolean;
13
+ as?: string | import("url").UrlObject;
14
+ scroll?: boolean;
15
+ shallow?: boolean;
16
+ passHref?: boolean;
17
+ prefetch?: boolean;
18
+ legacyBehavior?: boolean;
19
+ onMouseEnter?: import("react").MouseEventHandler<HTMLAnchorElement>;
20
+ onTouchStart?: import("react").TouchEventHandler<HTMLAnchorElement>;
21
+ onClick?: import("react").MouseEventHandler<HTMLAnchorElement>;
22
+ download?: any;
23
+ hrefLang?: string | undefined;
24
+ media?: string | undefined;
25
+ ping?: string | undefined;
26
+ target?: import("react").HTMLAttributeAnchorTarget | undefined;
27
+ type?: string | undefined;
28
+ referrerPolicy?: import("react").HTMLAttributeReferrerPolicy | undefined;
29
+ defaultChecked?: boolean | undefined;
30
+ defaultValue?: string | number | readonly string[] | undefined;
31
+ suppressContentEditableWarning?: boolean | undefined;
32
+ suppressHydrationWarning?: boolean | undefined;
33
+ accessKey?: string | undefined;
34
+ autoFocus?: boolean | undefined;
35
+ className?: string | undefined;
36
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
37
+ contextMenu?: string | undefined;
38
+ dir?: string | undefined;
39
+ draggable?: (boolean | "true" | "false") | undefined;
40
+ hidden?: boolean | undefined;
41
+ id?: string | undefined;
42
+ lang?: string | undefined;
43
+ nonce?: string | undefined;
44
+ spellCheck?: (boolean | "true" | "false") | undefined;
45
+ tabIndex?: number | undefined;
46
+ translate?: "yes" | "no" | undefined;
47
+ radioGroup?: string | undefined;
48
+ role?: import("react").AriaRole | undefined;
49
+ about?: string | undefined;
50
+ content?: string | undefined;
51
+ datatype?: string | undefined;
52
+ inlist?: any;
53
+ prefix?: string | undefined;
54
+ property?: string | undefined;
55
+ rel?: string | undefined;
56
+ resource?: string | undefined;
57
+ rev?: string | undefined;
58
+ typeof?: string | undefined;
59
+ vocab?: string | undefined;
60
+ autoCapitalize?: string | undefined;
61
+ autoCorrect?: string | undefined;
62
+ autoSave?: string | undefined;
63
+ color?: string | undefined;
64
+ itemProp?: string | undefined;
65
+ itemScope?: boolean | undefined;
66
+ itemType?: string | undefined;
67
+ itemID?: string | undefined;
68
+ itemRef?: string | undefined;
69
+ results?: number | undefined;
70
+ security?: string | undefined;
71
+ unselectable?: "on" | "off" | undefined;
72
+ inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
73
+ is?: string | undefined;
74
+ popover?: "" | "auto" | "manual" | undefined;
75
+ popoverTargetAction?: "toggle" | "show" | "hide" | undefined;
76
+ popoverTarget?: string | undefined;
77
+ onToggle?: import("react").ToggleEventHandler<HTMLAnchorElement> | undefined;
78
+ onBeforeToggle?: import("react").ToggleEventHandler<HTMLAnchorElement> | undefined;
79
+ inert?: boolean | undefined;
80
+ tw?: string;
81
+ "aria-activedescendant"?: string | undefined;
82
+ "aria-atomic"?: (boolean | "true" | "false") | undefined;
83
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
84
+ "aria-braillelabel"?: string | undefined;
85
+ "aria-brailleroledescription"?: string | undefined;
86
+ "aria-busy"?: (boolean | "true" | "false") | undefined;
87
+ "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
88
+ "aria-colcount"?: number | undefined;
89
+ "aria-colindex"?: number | undefined;
90
+ "aria-colindextext"?: string | undefined;
91
+ "aria-colspan"?: number | undefined;
92
+ "aria-controls"?: string | undefined;
93
+ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined;
94
+ "aria-describedby"?: string | undefined;
95
+ "aria-description"?: string | undefined;
96
+ "aria-details"?: string | undefined;
97
+ "aria-disabled"?: (boolean | "true" | "false") | undefined;
98
+ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
99
+ "aria-errormessage"?: string | undefined;
100
+ "aria-expanded"?: (boolean | "true" | "false") | undefined;
101
+ "aria-flowto"?: string | undefined;
102
+ "aria-grabbed"?: (boolean | "true" | "false") | undefined;
103
+ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined;
104
+ "aria-hidden"?: (boolean | "true" | "false") | undefined;
105
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
106
+ "aria-keyshortcuts"?: string | undefined;
107
+ "aria-label"?: string | undefined;
108
+ "aria-labelledby"?: string | undefined;
109
+ "aria-level"?: number | undefined;
110
+ "aria-live"?: "off" | "assertive" | "polite" | undefined;
111
+ "aria-modal"?: (boolean | "true" | "false") | undefined;
112
+ "aria-multiline"?: (boolean | "true" | "false") | undefined;
113
+ "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
114
+ "aria-orientation"?: "horizontal" | "vertical" | undefined;
115
+ "aria-owns"?: string | undefined;
116
+ "aria-placeholder"?: string | undefined;
117
+ "aria-posinset"?: number | undefined;
118
+ "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined;
119
+ "aria-readonly"?: (boolean | "true" | "false") | undefined;
120
+ "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined;
121
+ "aria-required"?: (boolean | "true" | "false") | undefined;
122
+ "aria-roledescription"?: string | undefined;
123
+ "aria-rowcount"?: number | undefined;
124
+ "aria-rowindex"?: number | undefined;
125
+ "aria-rowindextext"?: string | undefined;
126
+ "aria-rowspan"?: number | undefined;
127
+ "aria-selected"?: (boolean | "true" | "false") | undefined;
128
+ "aria-setsize"?: number | undefined;
129
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
130
+ "aria-valuemax"?: number | undefined;
131
+ "aria-valuemin"?: number | undefined;
132
+ "aria-valuenow"?: number | undefined;
133
+ "aria-valuetext"?: string | undefined;
134
+ dangerouslySetInnerHTML?: {
135
+ __html: string | TrustedHTML;
136
+ } | undefined;
137
+ onCopy?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
138
+ onCopyCapture?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
139
+ onCut?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
140
+ onCutCapture?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
141
+ onPaste?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
142
+ onPasteCapture?: import("react").ClipboardEventHandler<HTMLAnchorElement> | undefined;
143
+ onCompositionEnd?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
144
+ onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
145
+ onCompositionStart?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
146
+ onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
147
+ onCompositionUpdate?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
148
+ onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLAnchorElement> | undefined;
149
+ onFocus?: import("react").FocusEventHandler<HTMLAnchorElement> | undefined;
150
+ onFocusCapture?: import("react").FocusEventHandler<HTMLAnchorElement> | undefined;
151
+ onBlur?: import("react").FocusEventHandler<HTMLAnchorElement> | undefined;
152
+ onBlurCapture?: import("react").FocusEventHandler<HTMLAnchorElement> | undefined;
153
+ onChange?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
154
+ onChangeCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
155
+ onBeforeInput?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
156
+ onBeforeInputCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
157
+ onInput?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
158
+ onInputCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
159
+ onReset?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
160
+ onResetCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
161
+ onSubmit?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
162
+ onSubmitCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
163
+ onInvalid?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
164
+ onInvalidCapture?: import("react").FormEventHandler<HTMLAnchorElement> | undefined;
165
+ onLoad?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
166
+ onLoadCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
167
+ onErrorCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
168
+ onKeyDown?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
169
+ onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
170
+ onKeyPress?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
171
+ onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
172
+ onKeyUp?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
173
+ onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLAnchorElement> | undefined;
174
+ onAbort?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
175
+ onAbortCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
176
+ onCanPlay?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
177
+ onCanPlayCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
178
+ onCanPlayThrough?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
179
+ onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
180
+ onDurationChange?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
181
+ onDurationChangeCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
182
+ onEmptied?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
183
+ onEmptiedCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
184
+ onEncrypted?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
185
+ onEncryptedCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
186
+ onEnded?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
187
+ onEndedCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
188
+ onLoadedData?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
189
+ onLoadedDataCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
190
+ onLoadedMetadata?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
191
+ onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
192
+ onLoadStart?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
193
+ onLoadStartCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
194
+ onPause?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
195
+ onPauseCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
196
+ onPlay?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
197
+ onPlayCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
198
+ onPlaying?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
199
+ onPlayingCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
200
+ onProgress?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
201
+ onProgressCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
202
+ onRateChange?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
203
+ onRateChangeCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
204
+ onResize?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
205
+ onResizeCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
206
+ onSeeked?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
207
+ onSeekedCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
208
+ onSeeking?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
209
+ onSeekingCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
210
+ onStalled?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
211
+ onStalledCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
212
+ onSuspend?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
213
+ onSuspendCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
214
+ onTimeUpdate?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
215
+ onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
216
+ onVolumeChange?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
217
+ onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
218
+ onWaiting?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
219
+ onWaitingCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
220
+ onAuxClick?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
221
+ onAuxClickCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
222
+ onClickCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
223
+ onContextMenu?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
224
+ onContextMenuCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
225
+ onDoubleClick?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
226
+ onDoubleClickCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
227
+ onDrag?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
228
+ onDragCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
229
+ onDragEnd?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
230
+ onDragEndCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
231
+ onDragEnter?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
232
+ onDragEnterCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
233
+ onDragExit?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
234
+ onDragExitCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
235
+ onDragLeave?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
236
+ onDragLeaveCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
237
+ onDragOver?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
238
+ onDragOverCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
239
+ onDragStart?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
240
+ onDragStartCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
241
+ onDrop?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
242
+ onDropCapture?: import("react").DragEventHandler<HTMLAnchorElement> | undefined;
243
+ onMouseDown?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
244
+ onMouseDownCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
245
+ onMouseLeave?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
246
+ onMouseMove?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
247
+ onMouseMoveCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
248
+ onMouseOut?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
249
+ onMouseOutCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
250
+ onMouseOver?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
251
+ onMouseOverCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
252
+ onMouseUp?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
253
+ onMouseUpCapture?: import("react").MouseEventHandler<HTMLAnchorElement> | undefined;
254
+ onSelect?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
255
+ onSelectCapture?: import("react").ReactEventHandler<HTMLAnchorElement> | undefined;
256
+ onTouchCancel?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
257
+ onTouchCancelCapture?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
258
+ onTouchEnd?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
259
+ onTouchEndCapture?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
260
+ onTouchMove?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
261
+ onTouchMoveCapture?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
262
+ onTouchStartCapture?: import("react").TouchEventHandler<HTMLAnchorElement> | undefined;
263
+ onPointerDown?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
264
+ onPointerDownCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
265
+ onPointerMove?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
266
+ onPointerMoveCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
267
+ onPointerUp?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
268
+ onPointerUpCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
269
+ onPointerCancel?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
270
+ onPointerCancelCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
271
+ onPointerEnter?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
272
+ onPointerLeave?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
273
+ onPointerOver?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
274
+ onPointerOverCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
275
+ onPointerOut?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
276
+ onPointerOutCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
277
+ onGotPointerCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
278
+ onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
279
+ onLostPointerCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
280
+ onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLAnchorElement> | undefined;
281
+ onScroll?: import("react").UIEventHandler<HTMLAnchorElement> | undefined;
282
+ onScrollCapture?: import("react").UIEventHandler<HTMLAnchorElement> | undefined;
283
+ onWheel?: import("react").WheelEventHandler<HTMLAnchorElement> | undefined;
284
+ onWheelCapture?: import("react").WheelEventHandler<HTMLAnchorElement> | undefined;
285
+ onAnimationStart?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
286
+ onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
287
+ onAnimationEnd?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
288
+ onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
289
+ onAnimationIteration?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
290
+ onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLAnchorElement> | undefined;
291
+ onTransitionEnd?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
292
+ onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
293
+ onTransitionCancel?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
294
+ onTransitionCancelCapture?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
295
+ onTransitionRun?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
296
+ onTransitionRunCapture?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
297
+ onTransitionStart?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
298
+ onTransitionStartCapture?: import("react").TransitionEventHandler<HTMLAnchorElement> | undefined;
299
+ key?: import("react").Key | null | undefined;
300
+ href: [AppPathnames] extends [never] ? string | import("url").UrlObject : keyof AppPathnames extends infer T ? T extends keyof AppPathnames ? T extends `${string}[[...${string}` ? T | ({
301
+ pathname: T;
302
+ params?: import("../shared/StrictParams").default<T> | undefined;
303
+ } & Omit<import("url").UrlObject, "pathname">) : T extends `${string}[${string}` ? {
304
+ pathname: T;
305
+ params: import("../shared/StrictParams").default<T>;
306
+ } & Omit<import("url").UrlObject, "pathname"> : T | ({
307
+ pathname: T;
308
+ } & Omit<import("url").UrlObject, "pathname">) : never : never;
309
+ }, "ref"> & import("react").RefAttributes<HTMLAnchorElement>>;
310
+ usePathname: () => [AppPathnames] extends [never] ? string : keyof AppPathnames;
311
+ useRouter: () => {
312
+ /** @see https://next-intl-docs.vercel.app/docs/routing/navigation#userouter */
313
+ push: (href: Parameters<(args: {
314
+ href: [AppPathnames] extends [never] ? string | {
315
+ pathname: string;
316
+ query?: import("../shared/utils").QueryParams;
317
+ } : keyof AppPathnames extends infer T_1 ? T_1 extends keyof AppPathnames ? T_1 extends `${string}[[...${string}` ? T_1 | ({
318
+ pathname: T_1;
319
+ params?: import("../shared/StrictParams").default<T_1> | undefined;
320
+ } & {
321
+ query?: import("../shared/utils").QueryParams;
322
+ }) : T_1 extends `${string}[${string}` ? {
323
+ pathname: T_1;
324
+ params: import("../shared/StrictParams").default<T_1>;
325
+ } & {
326
+ query?: import("../shared/utils").QueryParams;
327
+ } : T_1 | ({
328
+ pathname: T_1;
329
+ } & {
330
+ query?: import("../shared/utils").QueryParams;
331
+ }) : never : never;
332
+ locale: string;
333
+ } & (([AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>) | undefined extends undefined ? {} : AppLocalePrefixMode extends "as-needed" ? [AppDomains] extends [never] ? {} : {
334
+ domain: AppDomains[number]["domain"];
335
+ } : {})) => string>[0]["href"], options?: (Partial<import("next/dist/shared/lib/app-router-context.shared-runtime").NavigateOptions> & {
336
+ locale?: string;
337
+ }) | undefined) => void;
338
+ /** @see https://next-intl-docs.vercel.app/docs/routing/navigation#userouter */
339
+ replace: (href: Parameters<(args: {
340
+ href: [AppPathnames] extends [never] ? string | {
341
+ pathname: string;
342
+ query?: import("../shared/utils").QueryParams;
343
+ } : keyof AppPathnames extends infer T_1 ? T_1 extends keyof AppPathnames ? T_1 extends `${string}[[...${string}` ? T_1 | ({
344
+ pathname: T_1;
345
+ params?: import("../shared/StrictParams").default<T_1> | undefined;
346
+ } & {
347
+ query?: import("../shared/utils").QueryParams;
348
+ }) : T_1 extends `${string}[${string}` ? {
349
+ pathname: T_1;
350
+ params: import("../shared/StrictParams").default<T_1>;
351
+ } & {
352
+ query?: import("../shared/utils").QueryParams;
353
+ } : T_1 | ({
354
+ pathname: T_1;
355
+ } & {
356
+ query?: import("../shared/utils").QueryParams;
357
+ }) : never : never;
358
+ locale: string;
359
+ } & (([AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>) | undefined extends undefined ? {} : AppLocalePrefixMode extends "as-needed" ? [AppDomains] extends [never] ? {} : {
360
+ domain: AppDomains[number]["domain"];
361
+ } : {})) => string>[0]["href"], options?: (Partial<import("next/dist/shared/lib/app-router-context.shared-runtime").NavigateOptions> & {
362
+ locale?: string;
363
+ }) | undefined) => void;
364
+ /** @see https://next-intl-docs.vercel.app/docs/routing/navigation#userouter */
365
+ prefetch: (href: Parameters<(args: {
366
+ href: [AppPathnames] extends [never] ? string | {
367
+ pathname: string;
368
+ query?: import("../shared/utils").QueryParams;
369
+ } : keyof AppPathnames extends infer T_1 ? T_1 extends keyof AppPathnames ? T_1 extends `${string}[[...${string}` ? T_1 | ({
370
+ pathname: T_1;
371
+ params?: import("../shared/StrictParams").default<T_1> | undefined;
372
+ } & {
373
+ query?: import("../shared/utils").QueryParams;
374
+ }) : T_1 extends `${string}[${string}` ? {
375
+ pathname: T_1;
376
+ params: import("../shared/StrictParams").default<T_1>;
377
+ } & {
378
+ query?: import("../shared/utils").QueryParams;
379
+ } : T_1 | ({
380
+ pathname: T_1;
381
+ } & {
382
+ query?: import("../shared/utils").QueryParams;
383
+ }) : never : never;
384
+ locale: string;
385
+ } & (([AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>) | undefined extends undefined ? {} : AppLocalePrefixMode extends "as-needed" ? [AppDomains] extends [never] ? {} : {
386
+ domain: AppDomains[number]["domain"];
387
+ } : {})) => string>[0]["href"], options?: (Partial<import("next/dist/shared/lib/app-router-context.shared-runtime").PrefetchOptions> & {
388
+ locale?: string;
389
+ }) | undefined) => void;
390
+ back(): void;
391
+ forward(): void;
392
+ refresh(): void;
393
+ };
394
+ getPathname: (args: {
395
+ href: [AppPathnames] extends [never] ? string | {
396
+ pathname: string;
397
+ query?: import("../shared/utils").QueryParams;
398
+ } : keyof AppPathnames extends infer T_1 ? T_1 extends keyof AppPathnames ? T_1 extends `${string}[[...${string}` ? T_1 | ({
399
+ pathname: T_1;
400
+ params?: import("../shared/StrictParams").default<T_1> | undefined;
401
+ } & {
402
+ query?: import("../shared/utils").QueryParams;
403
+ }) : T_1 extends `${string}[${string}` ? {
404
+ pathname: T_1;
405
+ params: import("../shared/StrictParams").default<T_1>;
406
+ } & {
407
+ query?: import("../shared/utils").QueryParams;
408
+ } : T_1 | ({
409
+ pathname: T_1;
410
+ } & {
411
+ query?: import("../shared/utils").QueryParams;
412
+ }) : never : never;
413
+ locale: string;
414
+ } & (([AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>) | undefined extends undefined ? {} : AppLocalePrefixMode extends "as-needed" ? [AppDomains] extends [never] ? {} : {
415
+ domain: AppDomains[number]["domain"];
416
+ } : {})) => string;
417
+ redirect: (args: Omit<{
418
+ href: [AppPathnames] extends [never] ? string | {
419
+ pathname: string;
420
+ query?: import("../shared/utils").QueryParams;
421
+ } : keyof AppPathnames extends infer T_1 ? T_1 extends keyof AppPathnames ? T_1 extends `${string}[[...${string}` ? T_1 | ({
422
+ pathname: T_1;
423
+ params?: import("../shared/StrictParams").default<T_1> | undefined;
424
+ } & {
425
+ query?: import("../shared/utils").QueryParams;
426
+ }) : T_1 extends `${string}[${string}` ? {
427
+ pathname: T_1;
428
+ params: import("../shared/StrictParams").default<T_1>;
429
+ } & {
430
+ query?: import("../shared/utils").QueryParams;
431
+ } : T_1 | ({
432
+ pathname: T_1;
433
+ } & {
434
+ query?: import("../shared/utils").QueryParams;
435
+ }) : never : never;
436
+ locale: string;
437
+ } & (([AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>) | undefined extends undefined ? {} : AppLocalePrefixMode extends "as-needed" ? [AppDomains] extends [never] ? {} : {
438
+ domain: AppDomains[number]["domain"];
439
+ } : {}), "domain"> & Partial<([AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>) | undefined extends undefined ? {} : AppLocalePrefixMode extends "as-needed" ? [AppDomains] extends [never] ? {} : {
440
+ domain: AppDomains[number]["domain"];
441
+ } : {}>, type?: import("next/navigation").RedirectType | undefined) => never;
442
+ permanentRedirect: (args: Omit<{
443
+ href: [AppPathnames] extends [never] ? string | {
444
+ pathname: string;
445
+ query?: import("../shared/utils").QueryParams;
446
+ } : keyof AppPathnames extends infer T_1 ? T_1 extends keyof AppPathnames ? T_1 extends `${string}[[...${string}` ? T_1 | ({
447
+ pathname: T_1;
448
+ params?: import("../shared/StrictParams").default<T_1> | undefined;
449
+ } & {
450
+ query?: import("../shared/utils").QueryParams;
451
+ }) : T_1 extends `${string}[${string}` ? {
452
+ pathname: T_1;
453
+ params: import("../shared/StrictParams").default<T_1>;
454
+ } & {
455
+ query?: import("../shared/utils").QueryParams;
456
+ } : T_1 | ({
457
+ pathname: T_1;
458
+ } & {
459
+ query?: import("../shared/utils").QueryParams;
460
+ }) : never : never;
461
+ locale: string;
462
+ } & (([AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>) | undefined extends undefined ? {} : AppLocalePrefixMode extends "as-needed" ? [AppDomains] extends [never] ? {} : {
463
+ domain: AppDomains[number]["domain"];
464
+ } : {}), "domain"> & Partial<([AppPathnames] extends [never] ? RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains> | undefined : RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>) | undefined extends undefined ? {} : AppLocalePrefixMode extends "as-needed" ? [AppDomains] extends [never] ? {} : {
465
+ domain: AppDomains[number]["domain"];
466
+ } : {}>, type?: import("next/navigation").RedirectType | undefined) => never;
467
+ };
@@ -1,7 +1,7 @@
1
1
  import React, { ReactElement } from 'react';
2
2
  import { RoutingConfigSharedNavigation } from '../../routing/config';
3
- import { Locales } from '../../routing/types';
4
- export default function createSharedPathnamesNavigation<const AppLocales extends Locales>(routing?: RoutingConfigSharedNavigation<AppLocales, never>): {
3
+ import { DomainsConfig, LocalePrefixMode, Locales } from '../../routing/types';
4
+ export default function createSharedPathnamesNavigation<AppLocales extends Locales, AppLocalePrefixMode extends LocalePrefixMode, AppDomains extends DomainsConfig<AppLocales> = never>(routing?: RoutingConfigSharedNavigation<AppLocales, AppLocalePrefixMode, AppDomains>): {
5
5
  Link: (props: Omit<Omit<Omit<Omit<Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof {
6
6
  href: string | import("url").UrlObject;
7
7
  as?: string | import("url").UrlObject;
@@ -33,10 +33,10 @@ export default function createSharedPathnamesNavigation<const AppLocales extends
33
33
  } & React.RefAttributes<HTMLAnchorElement>, "locale"> & {
34
34
  locale: string;
35
35
  prefix: string;
36
- localePrefixMode: import("../../routing/types").LocalePrefixMode;
36
+ localePrefixMode: LocalePrefixMode;
37
37
  }, "ref"> & React.RefAttributes<HTMLAnchorElement>, "locale" | "prefix" | "localePrefixMode"> & {
38
38
  locale?: AppLocales[number] | undefined;
39
- localePrefix: import("../../routing/types").LocalePrefixConfigVerbose<AppLocales>;
39
+ localePrefix: import("../../routing/types").LocalePrefixConfigVerbose<AppLocales, AppLocalePrefixMode>;
40
40
  } & {
41
41
  ref?: React.LegacyRef<HTMLAnchorElement> | undefined;
42
42
  }, "localePrefix"> & {
@@ -1,5 +1,6 @@
1
1
  export { default as createSharedPathnamesNavigation } from './createSharedPathnamesNavigation';
2
2
  export { default as createLocalizedPathnamesNavigation } from './createLocalizedPathnamesNavigation';
3
+ export { default as createNavigation } from './createNavigation';
3
4
  import type { Pathnames as PathnamesDeprecatedExport, Locales } from '../../routing/types';
4
5
  /** @deprecated Please import from `next-intl/routing` instead. */
5
6
  export type Pathnames<AppLocales extends Locales> = PathnamesDeprecatedExport<AppLocales>;
@@ -1,10 +1,10 @@
1
- export declare const clientRedirect: (params: Omit<Parameters<(<AppLocales extends import("../../routing/types").Locales>(params: {
1
+ export declare const clientRedirect: (params: Omit<Parameters<(<AppLocales extends import("../../routing/types").Locales, AppLocalePrefixMode extends import("../../routing/types").LocalePrefixMode>(params: {
2
2
  pathname: string;
3
3
  locale: import("../../routing/types").Locales[number];
4
- localePrefix: import("../../routing/types").LocalePrefixConfigVerbose<AppLocales>;
4
+ localePrefix: import("../../routing/types").LocalePrefixConfigVerbose<AppLocales, AppLocalePrefixMode>;
5
5
  }, type?: import("next/navigation").RedirectType | undefined) => never)>[0], "locale">, type?: import("next/navigation").RedirectType | undefined) => never;
6
- export declare const clientPermanentRedirect: (params: Omit<Parameters<(<AppLocales extends import("../../routing/types").Locales>(params: {
6
+ export declare const clientPermanentRedirect: (params: Omit<Parameters<(<AppLocales extends import("../../routing/types").Locales, AppLocalePrefixMode extends import("../../routing/types").LocalePrefixMode>(params: {
7
7
  pathname: string;
8
8
  locale: import("../../routing/types").Locales[number];
9
- localePrefix: import("../../routing/types").LocalePrefixConfigVerbose<AppLocales>;
9
+ localePrefix: import("../../routing/types").LocalePrefixConfigVerbose<AppLocales, AppLocalePrefixMode>;
10
10
  }, type?: import("next/navigation").RedirectType | undefined) => never)>[0], "locale">, type?: import("next/navigation").RedirectType | undefined) => never;
@@ -1,15 +1,2 @@
1
- import { Locales, LocalePrefixConfigVerbose } from '../../routing/types';
2
- /**
3
- * Returns the pathname without a potential locale prefix.
4
- *
5
- * @example
6
- * ```tsx
7
- * 'use client';
8
- *
9
- * import {usePathname} from 'next-intl/client';
10
- *
11
- * // When the user is on `/en`, this will be `/`
12
- * const pathname = usePathname();
13
- * ```
14
- */
15
- export default function useBasePathname<AppLocales extends Locales>(localePrefix: LocalePrefixConfigVerbose<AppLocales>): string | null;
1
+ import { Locales, LocalePrefixConfigVerbose, LocalePrefixMode } from '../../routing/types';
2
+ export default function useBasePathname<AppLocales extends Locales, AppLocalePrefixMode extends LocalePrefixMode>(localePrefix: LocalePrefixConfigVerbose<AppLocales, AppLocalePrefixMode>): string | null;
@@ -1,4 +1,4 @@
1
- import { Locales, LocalePrefixConfigVerbose } from '../../routing/types';
1
+ import { Locales, LocalePrefixConfigVerbose, LocalePrefixMode } from '../../routing/types';
2
2
  type IntlNavigateOptions<AppLocales extends Locales> = {
3
3
  locale?: AppLocales[number];
4
4
  };
@@ -21,7 +21,7 @@ type IntlNavigateOptions<AppLocales extends Locales> = {
21
21
  * router.push('/about', {locale: 'de'});
22
22
  * ```
23
23
  */
24
- export default function useBaseRouter<AppLocales extends Locales>(localePrefix: LocalePrefixConfigVerbose<AppLocales>): {
24
+ export default function useBaseRouter<AppLocales extends Locales, AppLocalePrefixMode extends LocalePrefixMode>(localePrefix: LocalePrefixConfigVerbose<AppLocales, AppLocalePrefixMode>): {
25
25
  push: (href: string, options?: (import("next/dist/shared/lib/app-router-context.shared-runtime").NavigateOptions & IntlNavigateOptions<AppLocales>) | undefined) => void;
26
26
  replace: (href: string, options?: (import("next/dist/shared/lib/app-router-context.shared-runtime").NavigateOptions & IntlNavigateOptions<AppLocales>) | undefined) => void;
27
27
  prefetch: (href: string, options?: (import("next/dist/shared/lib/app-router-context.shared-runtime").PrefetchOptions & IntlNavigateOptions<AppLocales>) | undefined) => void;
@@ -1,9 +1,9 @@
1
1
  import React, { ComponentProps } from 'react';
2
- import { Locales, LocalePrefixConfigVerbose } from '../../routing/types';
3
- import BaseLink from '../shared/BaseLink';
4
- type Props<AppLocales extends Locales> = Omit<ComponentProps<typeof BaseLink>, 'locale' | 'prefix' | 'localePrefixMode'> & {
2
+ import { Locales, LocalePrefixConfigVerbose, LocalePrefixMode } from '../../routing/types';
3
+ import LegacyBaseLink from '../shared/LegacyBaseLink';
4
+ type Props<AppLocales extends Locales, AppLocalePrefixMode extends LocalePrefixMode> = Omit<ComponentProps<typeof LegacyBaseLink>, 'locale' | 'prefix' | 'localePrefixMode'> & {
5
5
  locale?: AppLocales[number];
6
- localePrefix: LocalePrefixConfigVerbose<AppLocales>;
6
+ localePrefix: LocalePrefixConfigVerbose<AppLocales, AppLocalePrefixMode>;
7
7
  };
8
- export default function ServerLink<AppLocales extends Locales>({ locale, localePrefix, ...rest }: Props<AppLocales>): Promise<React.JSX.Element>;
8
+ export default function ServerLink<AppLocales extends Locales, AppLocalePrefixMode extends LocalePrefixMode>({ locale, localePrefix, ...rest }: Props<AppLocales, AppLocalePrefixMode>): Promise<React.JSX.Element>;
9
9
  export {};
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { RoutingConfigLocalizedNavigation } from '../../routing/config';
3
- import { Locales, Pathnames } from '../../routing/types';
3
+ import { DomainsConfig, LocalePrefixMode, Locales, Pathnames } from '../../routing/types';
4
4
  import { HrefOrHrefWithParams } from '../shared/utils';
5
- export default function createLocalizedPathnamesNavigation<AppLocales extends Locales, AppPathnames extends Pathnames<AppLocales>>(routing: RoutingConfigLocalizedNavigation<AppLocales, AppPathnames>): {
5
+ export default function createLocalizedPathnamesNavigation<AppLocales extends Locales, AppLocalePrefixMode extends LocalePrefixMode = 'always', AppPathnames extends Pathnames<AppLocales> = never, AppDomains extends DomainsConfig<AppLocales> = never>(routing: RoutingConfigLocalizedNavigation<AppLocales, AppLocalePrefixMode, AppPathnames, AppDomains>): {
6
6
  Link: <Pathname extends keyof AppPathnames>({ href, locale, ...rest }: Omit<Omit<Omit<Omit<Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof {
7
7
  href: string | import("url").UrlObject;
8
8
  as?: string | import("url").UrlObject;
@@ -34,10 +34,18 @@ export default function createLocalizedPathnamesNavigation<AppLocales extends Lo
34
34
  } & React.RefAttributes<HTMLAnchorElement>, "locale"> & {
35
35
  locale: string;
36
36
  prefix: string;
37
- localePrefixMode: import("../../routing/types").LocalePrefixMode;
37
+ localePrefixMode: LocalePrefixMode;
38
38
  }, "ref"> & React.RefAttributes<HTMLAnchorElement>, "locale" | "prefix" | "localePrefixMode"> & {
39
39
  locale?: string | undefined;
40
- localePrefix: import("../../routing/types").LocalePrefixConfigVerbose<Locales>;
40
+ localePrefix: {
41
+ mode: "never";
42
+ } | {
43
+ mode: "always";
44
+ prefixes?: Partial<Record<string, string>> | undefined;
45
+ } | {
46
+ mode: "as-needed";
47
+ prefixes?: Partial<Record<string, string>> | undefined;
48
+ };
41
49
  }, "localePrefix" | "href" | "name"> & {
42
50
  href: Pathname extends `${string}[[...${string}` ? Pathname | ({
43
51
  pathname: Pathname;