@equinor/fusion-framework-module-navigation 7.0.0-next.1 → 7.0.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 (66) hide show
  1. package/CHANGELOG.md +35 -8
  2. package/README.md +97 -614
  3. package/dist/esm/NavigationProvider.js +57 -23
  4. package/dist/esm/NavigationProvider.js.map +1 -1
  5. package/dist/esm/events.js +20 -3
  6. package/dist/esm/events.js.map +1 -1
  7. package/dist/esm/index.js +23 -0
  8. package/dist/esm/index.js.map +1 -1
  9. package/dist/esm/lib/BaseHistory.js +23 -6
  10. package/dist/esm/lib/BaseHistory.js.map +1 -1
  11. package/dist/esm/lib/BrowserHistoryStack.js +5 -6
  12. package/dist/esm/lib/BrowserHistoryStack.js.map +1 -1
  13. package/dist/esm/lib/MemoryHistory.js +13 -6
  14. package/dist/esm/lib/MemoryHistory.js.map +1 -1
  15. package/dist/esm/lib/MemoryStack.js +1 -0
  16. package/dist/esm/lib/MemoryStack.js.map +1 -1
  17. package/dist/esm/lib/create-history.js +7 -13
  18. package/dist/esm/lib/create-history.js.map +1 -1
  19. package/dist/esm/lib/index.js +9 -0
  20. package/dist/esm/lib/index.js.map +1 -1
  21. package/dist/esm/lib/state/history.flows.js +7 -12
  22. package/dist/esm/lib/state/history.flows.js.map +1 -1
  23. package/dist/esm/lib/state/history.reducer.js +8 -4
  24. package/dist/esm/lib/state/history.reducer.js.map +1 -1
  25. package/dist/esm/lib/state/history.state.js +9 -3
  26. package/dist/esm/lib/state/history.state.js.map +1 -1
  27. package/dist/esm/lib/utils/resolve-browser-location.js +2 -2
  28. package/dist/esm/lib/utils/resolve-browser-location.js.map +1 -1
  29. package/dist/esm/module.js +4 -4
  30. package/dist/esm/version.js +1 -1
  31. package/dist/esm/version.js.map +1 -1
  32. package/dist/tsconfig.tsbuildinfo +1 -1
  33. package/dist/types/NavigationConfigurator.interface.d.ts +25 -5
  34. package/dist/types/NavigationProvider.d.ts +57 -23
  35. package/dist/types/NavigationProvider.interface.d.ts +20 -7
  36. package/dist/types/events.d.ts +20 -3
  37. package/dist/types/index.d.ts +24 -1
  38. package/dist/types/lib/BaseHistory.d.ts +23 -6
  39. package/dist/types/lib/BrowserHistoryStack.d.ts +5 -6
  40. package/dist/types/lib/MemoryHistory.d.ts +5 -5
  41. package/dist/types/lib/create-history.d.ts +7 -13
  42. package/dist/types/lib/index.d.ts +9 -0
  43. package/dist/types/lib/state/history.flows.d.ts +6 -11
  44. package/dist/types/lib/state/history.reducer.d.ts +8 -4
  45. package/dist/types/lib/state/history.state.d.ts +9 -3
  46. package/dist/types/lib/types.d.ts +39 -8
  47. package/dist/types/version.d.ts +1 -1
  48. package/package.json +11 -12
  49. package/src/NavigationConfigurator.interface.ts +28 -5
  50. package/src/NavigationProvider.interface.ts +20 -7
  51. package/src/NavigationProvider.ts +57 -23
  52. package/src/events.ts +20 -3
  53. package/src/index.ts +25 -1
  54. package/src/lib/BaseHistory.ts +23 -6
  55. package/src/lib/BrowserHistoryStack.ts +5 -6
  56. package/src/lib/MemoryHistory.ts +13 -6
  57. package/src/lib/MemoryStack.ts +1 -0
  58. package/src/lib/create-history.ts +7 -13
  59. package/src/lib/index.ts +10 -0
  60. package/src/lib/state/history.flows.ts +7 -12
  61. package/src/lib/state/history.reducer.ts +8 -4
  62. package/src/lib/state/history.state.ts +9 -3
  63. package/src/lib/types.ts +39 -8
  64. package/src/lib/utils/resolve-browser-location.ts +2 -2
  65. package/src/module.ts +4 -4
  66. package/src/version.ts +1 -1
@@ -20,17 +20,23 @@ import { pathToString } from './lib/utils';
20
20
  const normalizePathname = (path) => path.replace(/\/+/g, '/').replace(/\/$/, '');
21
21
  /**
22
22
  * Navigation provider implementation.
23
- * Manages routing and navigation state with basename localization.
23
+ *
24
+ * Manages routing and navigation state with automatic basename localization.
25
+ * Wraps a {@link History} instance to expose observable state, path localization,
26
+ * and router creation.
24
27
  *
25
28
  * @remarks
26
- * This provider:
27
- * - Wraps the Navigator to provide observable navigation state
28
- * - Localizes paths by removing basename prefix
29
- * - Creates routers compatible with industry-standard routers (Remix/React Router)
30
- * - Handles navigation actions (push, replace, createHref, etc.)
29
+ * - Emits localized paths (basename removed) to consumers via {@link NavigationProvider.state$ | state$}
30
+ * - Internally prefixes paths with the basename before forwarding to the history stack
31
+ * - Creates routers compatible with Remix / React Router via {@link NavigationProvider.createRouter | createRouter}
32
+ * - Dispatches {@link NavigatedEvent} and telemetry on navigation changes
31
33
  *
32
- * Path localization ensures that consumers receive paths relative to the basename,
33
- * while internally we work with full paths including basename.
34
+ * @example
35
+ * ```ts
36
+ * const provider = new NavigationProvider({ version, config });
37
+ * provider.push('/users');
38
+ * console.log(provider.path.pathname); // '/users'
39
+ * ```
34
40
  */
35
41
  export class NavigationProvider extends BaseModuleProvider {
36
42
  #history;
@@ -40,13 +46,18 @@ export class NavigationProvider extends BaseModuleProvider {
40
46
  #event;
41
47
  /**
42
48
  * Observable stream of navigation state updates.
43
- * Emits localized paths (with basename removed) for consumers.
49
+ *
50
+ * Emits localized paths (with basename removed) and filters to only
51
+ * paths within the basename scope. Late subscribers receive the last
52
+ * emitted value immediately.
44
53
  */
45
54
  get state$() {
46
55
  return this.#state$;
47
56
  }
48
57
  /**
49
- * Gets the basename.
58
+ * Gets the basename prefix configured for this provider.
59
+ *
60
+ * @returns The basename string, or an empty string if none is configured
50
61
  */
51
62
  get basename() {
52
63
  return this.#basename ?? '';
@@ -64,20 +75,26 @@ export class NavigationProvider extends BaseModuleProvider {
64
75
  return this.#history;
65
76
  }
66
77
  /**
67
- * Gets the history instance.
78
+ * Gets the underlying history instance.
79
+ *
80
+ * @returns The {@link History} instance used for navigation
68
81
  */
69
82
  get history() {
70
83
  return this.#history;
71
84
  }
72
85
  /**
73
- * Gets the current localized path (basename removed).
86
+ * Gets the current localized path with the basename prefix removed.
87
+ *
88
+ * @returns A {@link Path} object representing the current location without basename
74
89
  */
75
90
  get path() {
76
91
  return this._localizePath(this.#history.location);
77
92
  }
78
93
  /**
94
+ * Creates a new {@link NavigationProvider}.
95
+ *
79
96
  * @param args - Configuration arguments containing module config
80
- * @throws {Error} If no history is provided in the configuration
97
+ * @throws {Error} If no history instance is provided in the configuration
81
98
  */
82
99
  constructor(args) {
83
100
  super(args);
@@ -152,10 +169,10 @@ export class NavigationProvider extends BaseModuleProvider {
152
169
  /**
153
170
  * Creates a router instance from route configuration.
154
171
  *
155
- * @deprecated Use `@equinor/fusion-framework-react-router` instead
172
+ * @deprecated Use `@equinor/fusion-framework-react-router` instead.
156
173
  *
157
- * @param routes - Route configuration objects compatible with industry-standard routers (Remix/React Router)
158
- * @returns A configured and initialized router instance
174
+ * @param routes - Route configuration objects compatible with Remix/React Router
175
+ * @returns A configured and initialized {@link Router} instance with basename applied
159
176
  */
160
177
  createRouter(routes) {
161
178
  this.#telemetry?.trackEvent({
@@ -175,17 +192,25 @@ export class NavigationProvider extends BaseModuleProvider {
175
192
  return router;
176
193
  }
177
194
  /**
178
- * Creates a localized href string for navigation.
195
+ * Creates a localized href string including the basename prefix.
179
196
  *
180
- * @param to - Optional path or location (defaults to current path)
197
+ * @param to - Path or location to resolve (defaults to current path)
198
+ * @returns Fully-qualified href string with basename included
199
+ *
200
+ * @example
201
+ * ```ts
202
+ * // basename = '/apps/my-app'
203
+ * provider.createHref('/users'); // '/apps/my-app/users'
204
+ * ```
181
205
  */
182
206
  createHref(to) {
183
207
  return this.#history.createHref(this._createToPath(to ?? this.path));
184
208
  }
185
209
  /**
186
- * Creates a full URL object for navigation.
210
+ * Creates a full {@link URL} object including the basename prefix.
187
211
  *
188
- * @param to - Optional path or location (defaults to current path)
212
+ * @param to - Path or location to resolve (defaults to current path)
213
+ * @returns A {@link URL} instance representing the resolved navigation target
189
214
  */
190
215
  createURL(to) {
191
216
  return this.#history.createURL(this._createToPath(to ?? this.path));
@@ -223,13 +248,19 @@ export class NavigationProvider extends BaseModuleProvider {
223
248
  this.#history.pop();
224
249
  }
225
250
  /**
226
- * Checks if a pathname is within the basename scope.
251
+ * Checks whether a pathname falls within the configured basename scope.
252
+ *
253
+ * @param pathname - The pathname to check
254
+ * @returns `true` if the pathname starts with the basename (or no basename is set)
227
255
  */
228
256
  _isWithinBasenameScope(pathname) {
229
257
  return this.#basename ? pathname.startsWith(this.#basename) : true;
230
258
  }
231
259
  /**
232
- * Localizes a path by removing the basename prefix.
260
+ * Localizes a path by stripping the basename prefix from the pathname.
261
+ *
262
+ * @param location - The full path to localize
263
+ * @returns A new {@link Path} with the basename removed from the pathname
233
264
  */
234
265
  _localizePath(location) {
235
266
  const { pathname, search, hash } = location;
@@ -240,7 +271,10 @@ export class NavigationProvider extends BaseModuleProvider {
240
271
  };
241
272
  }
242
273
  /**
243
- * Creates a full path object from a target location, adding basename prefix.
274
+ * Creates a full path object from a target location, prepending the basename prefix.
275
+ *
276
+ * @param to - The target location (string path or partial {@link Path} object)
277
+ * @returns A partial {@link Path} with basename prepended to the pathname
244
278
  */
245
279
  _createToPath(to) {
246
280
  // Parse the 'to' parameter into path components
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationProvider.js","sourceRoot":"","sources":["../../src/NavigationProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NavigationProvider.js","sourceRoot":"","sources":["../../src/NavigationProvider.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,16 @@
1
1
  import { FrameworkEvent } from '@equinor/fusion-framework-module-event';
2
2
  /**
3
3
  * Event emitted before navigation occurs.
4
- * Can be canceled by calling `preventDefault()`.
4
+ * Can be canceled by calling `preventDefault()` to block the navigation.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * eventProvider.addEventListener('onNavigate', (event) => {
9
+ * if (hasUnsavedChanges) {
10
+ * event.preventDefault();
11
+ * }
12
+ * });
13
+ * ```
5
14
  */
6
15
  export class NavigateEvent extends FrameworkEvent {
7
16
  constructor(detail, source) {
@@ -12,8 +21,16 @@ export class NavigateEvent extends FrameworkEvent {
12
21
  }
13
22
  }
14
23
  /**
15
- * Event emitted after navigation occurs.
16
- * Contains the navigation action and location details.
24
+ * Event emitted after navigation completes.
25
+ * Contains the navigation action type and both current and previous locations.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * eventProvider.addEventListener('onNavigated', (event) => {
30
+ * const { action, current, previous } = event.detail;
31
+ * console.log(`${action}: ${previous.location.pathname} → ${current.location.pathname}`);
32
+ * });
33
+ * ```
17
34
  */
18
35
  export class NavigatedEvent extends FrameworkEvent {
19
36
  constructor(detail, source) {
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA2B,MAAM,wCAAwC,CAAC;AAejG;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,cAElC;IACC,YAAY,MAA2B,EAAE,MAA2B;QAClE,KAAK,CAAC,YAAY,EAAE;YAClB,MAAM;YACN,MAAM;SACP,CAAC,CAAC;IACL,CAAC;CACF;AAcD;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,cAEnC;IACC,YAAY,MAA4B,EAAE,MAA2B;QACnE,KAAK,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;CACF"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA2B,MAAM,wCAAwC,CAAC;AAejG;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,aAAc,SAAQ,cAElC;IACC,YAAY,MAA2B,EAAE,MAA2B;QAClE,KAAK,CAAC,YAAY,EAAE;YAClB,MAAM;YACN,MAAM;SACP,CAAC,CAAC;IACL,CAAC;CACF;AAcD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,cAAe,SAAQ,cAEnC;IACC,YAAY,MAA4B,EAAE,MAA2B;QACnE,KAAK,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;CACF"}
package/dist/esm/index.js CHANGED
@@ -1,3 +1,26 @@
1
+ /**
2
+ * @module @equinor/fusion-framework-module-navigation
3
+ *
4
+ * Navigation module for Fusion Framework providing routing and navigation capabilities.
5
+ *
6
+ * Manages observable navigation state with automatic basename localization,
7
+ * so consumers work with clean paths while the underlying history receives
8
+ * full paths including the basename prefix.
9
+ *
10
+ * @remarks
11
+ * Supports browser, hash, and memory history types. Integrates with
12
+ * `@remix-run/router` for router creation and is compatible with
13
+ * industry-standard routers (Remix / React Router).
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * import { enableNavigation, createHistory } from '@equinor/fusion-framework-module-navigation';
18
+ *
19
+ * enableNavigation(configurator, '/apps/my-app');
20
+ * ```
21
+ *
22
+ * @packageDocumentation
23
+ */
1
24
  export { NavigationConfigurator } from './NavigationConfigurator';
2
25
  export { module, moduleKey } from './module';
3
26
  export { enableNavigation } from './enable-navigation';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAoB,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EACL,aAAa,EACb,cAAc,GAGf,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAoB,MAAM,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EACL,aAAa,EACb,cAAc,GAGf,MAAM,UAAU,CAAC"}
@@ -3,8 +3,10 @@ import { filter } from 'rxjs/operators';
3
3
  import { Action } from './types';
4
4
  /**
5
5
  * Abstract base class for history implementations.
6
- * Provides common state management and navigation logic that can be shared
7
- * across different history implementations (browser, memory, etc.).
6
+ *
7
+ * Provides common state management, navigation logic, and subscription
8
+ * lifecycle that is shared across different history backends (browser,
9
+ * hash, memory).
8
10
  */
9
11
  export class BaseHistory {
10
12
  // Subscriptions for cleanup
@@ -12,13 +14,17 @@ export class BaseHistory {
12
14
  // internal state
13
15
  #state;
14
16
  /**
15
- * Gets the current location.
17
+ * Gets the current location in the history stack.
18
+ *
19
+ * @returns The current {@link Location} including pathname, search, hash, state, and key
16
20
  */
17
21
  get location() {
18
22
  return this.#state.subject.value.current.location;
19
23
  }
20
24
  /**
21
- * Gets the current action.
25
+ * Gets the current navigation action type.
26
+ *
27
+ * @returns The most recent {@link Action} (`Pop`, `Push`, or `Replace`)
22
28
  */
23
29
  get action() {
24
30
  return this.#state.subject.value.current.action;
@@ -37,7 +43,9 @@ export class BaseHistory {
37
43
  return this.#state.subject.action$;
38
44
  }
39
45
  /**
40
- * Checks if there are any active navigation blockers.
46
+ * Checks whether there are any active navigation blockers.
47
+ *
48
+ * @returns `true` if one or more blockers are registered
41
49
  */
42
50
  get hasBlockers() {
43
51
  return this.#state.subject.value.blockers.length > 0;
@@ -47,18 +55,27 @@ export class BaseHistory {
47
55
  }
48
56
  /**
49
57
  * Creates a valid href string for a given path.
58
+ *
59
+ * @param to - Target path or partial path object
60
+ * @returns Fully-qualified href string
50
61
  */
51
62
  createHref(to) {
52
63
  return this.createURL(to).href;
53
64
  }
54
65
  /**
55
- * Creates a URL object for a given path.
66
+ * Creates a {@link URL} object for a given path.
67
+ *
68
+ * @param to - Target path or partial path object
69
+ * @returns Resolved {@link URL} instance
56
70
  */
57
71
  createURL(to) {
58
72
  return this.#state.stack.createURL(to);
59
73
  }
60
74
  /**
61
75
  * Encodes a location by properly URL-encoding the pathname.
76
+ *
77
+ * @param to - Target path or partial path object
78
+ * @returns A {@link Path} with URL-encoded components
62
79
  */
63
80
  encodeLocation(to) {
64
81
  return this.#state.stack.createURL(to);
@@ -1 +1 @@
1
- {"version":3,"file":"BaseHistory.js","sourceRoot":"","sources":["../../../src/lib/BaseHistory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseHistory.js","sourceRoot":"","sources":["../../../src/lib/BaseHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAIxC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAWjC;;;;;;GAMG;AACH,MAAM,OAAgB,WAAW;IAC/B,4BAA4B;IAC5B,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;IAEhC,iBAAiB;IACjB,MAAM,CAAe;IAErB;;;;OAIG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACvD,CAAC;IAED,YAAsB,KAAmB;QACvC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAC,EAAM;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACI,SAAS,CAAC,EAAM;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,EAAM;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,EAAM,EAAE,OAAwB;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,IAAI,CAAC,EAAM,EAAE,KAAe;QACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,OAAO,CAAC,EAAM,EAAE,KAAe;QACpC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACI,EAAE,CAAC,KAAa;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;OAUG;IACI,MAAM,CAAC,QAA4B;QACxC,uEAAuE;QACvE,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;aACrC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;aAChC,IAAI,CACH,MAAM,CAAC,CAAC,MAAM,EAA0C,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,CACzF;aACA,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YACpB,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEL,+CAA+C;QAC/C,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAEhC,8BAA8B;QAC9B,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,WAAW,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAA0B;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAEM,GAAG;QACR,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACI,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACO,SAAS,CAAC,MAAe;QACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;OAUG;IACO,YAAY,CACpB,QAAqC,EACrC,OAAsC;QAEtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,EAAE,eAAe,EAAE,CAAC;gBAC7B,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvE,CAAC;YACD,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACO,eAAe,CAAC,QAAqC;QAC7D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;CACF"}
@@ -1,16 +1,15 @@
1
1
  import { pathToString, resolvePath, resolveWindowLocation } from './utils';
2
2
  /**
3
- * Browser history stack implementation using native browser APIs.
3
+ * Browser history stack implementation using the native History API.
4
4
  *
5
- * Manages navigation state using the browser's History API (pushState/replaceState).
6
- * Stores location state in history.state and uses relative paths for navigation.
7
- * This is the base implementation for regular (non-hash) routing.
5
+ * Manages navigation state via `pushState` / `replaceState` and stores
6
+ * location state in `history.state`. This is the default stack for
7
+ * pathname-based (non-hash) routing.
8
8
  *
9
9
  * @example
10
10
  * ```ts
11
11
  * const stack = new BrowserHistoryStack(window);
12
- * stack.push({ pathname: '/users', key: 'abc123', state: { userId: 1 } });
13
- * // Updates URL to /users and adds entry to history
12
+ * stack.push({ pathname: '/users', search: '', hash: '', key: 'abc', state: null });
14
13
  * ```
15
14
  */
16
15
  export class BrowserHistoryStack {
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserHistoryStack.js","sourceRoot":"","sources":["../../../src/lib/BrowserHistoryStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAG3E;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,mBAAmB;IAIQ;IAHtC;;OAEG;IACH,YAAsC,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAEzD;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,IAAI,CAAC,QAAkB;QAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,OAAO,CAAC,QAAkB;QAC/B,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,QAAkB,EAAE,MAA0B;QAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC3D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;OAEG;IACI,EAAE,CAAC,KAAa;QACrB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,EAAM;QACrB,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAES,mBAAmB,CAAC,EAAM;QAClC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF"}
1
+ {"version":3,"file":"BrowserHistoryStack.js","sourceRoot":"","sources":["../../../src/lib/BrowserHistoryStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAG3E;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,mBAAmB;IAIQ;IAHtC;;OAEG;IACH,YAAsC,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAEzD;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,IAAI,CAAC,QAAkB;QAC5B,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,OAAO,CAAC,QAAkB;QAC/B,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,QAAkB,EAAE,MAA0B;QAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC3D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;OAEG;IACI,EAAE,CAAC,KAAa;QACrB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,EAAM;QACrB,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAES,mBAAmB,CAAC,EAAM;QAClC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF"}
@@ -9,16 +9,23 @@ import { createHistoryReducer, createStore } from './state';
9
9
  const defaultInitialLocation = {
10
10
  delta: 0,
11
11
  action: Action.Pop,
12
- location: { pathname: '/', search: '', hash: '', key: 'unknown', state: null },
12
+ location: {
13
+ pathname: '/',
14
+ search: '',
15
+ hash: '',
16
+ key: 'unknown',
17
+ state: null,
18
+ unstable_mask: undefined,
19
+ },
13
20
  };
14
21
  /**
15
22
  * Memory history implementation using in-memory storage.
16
23
  *
17
- * Useful for:
18
- * - Testing: Control navigation state in tests without browser APIs
19
- * - SSR: Server-side rendering where window is not available
20
- * - Widgets: Serving applications as widgets without affecting the main browser history
21
- * - Node.js environments: Environments without browser APIs
24
+ * Does not touch browser APIs, making it suitable for:
25
+ * - **Testing** deterministic navigation state without a DOM
26
+ * - **SSR** — server-side rendering where `window` is unavailable
27
+ * - **Widgets** embedded apps that must not alter the host page URL
28
+ * - **Node.js** any environment without browser history APIs
22
29
  */
23
30
  export class MemoryHistory extends BaseHistory {
24
31
  constructor(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryHistory.js","sourceRoot":"","sources":["../../../src/lib/MemoryHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,MAAM,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE5D;;GAEG;AACH,MAAM,sBAAsB,GAAqB;IAC/C,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,MAAM,CAAC,GAAG;IAClB,QAAQ,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;CAC/E,CAAC;AAYF;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,YAAmB,OAA8B;QAC/C,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,eAAe,IAAI,sBAAsB,CAAC;QAE1D,0CAA0C;QAC1C,MAAM,YAAY,GAAkB;YAClC,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,cAAc,IAAI,CAAC,OAAO,CAAC;YACpC,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,kCAAkC;QAClC,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzF,0CAA0C;QAC1C,MAAM,KAAK,GAAG,WAAW,CACvB,KAAK,EACL,oBAAoB,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAC9D,CAAC;QAEF,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,EAAM;QACrB,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACpC,CAAC;CACF"}
1
+ {"version":3,"file":"MemoryHistory.js","sourceRoot":"","sources":["../../../src/lib/MemoryHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,MAAM,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE5D;;GAEG;AACH,MAAM,sBAAsB,GAAqB;IAC/C,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,MAAM,CAAC,GAAG;IAClB,QAAQ,EAAE;QACR,QAAQ,EAAE,GAAG;QACb,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,IAAI;QACX,aAAa,EAAE,SAAS;KACzB;CACF,CAAC;AAYF;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,YAAmB,OAA8B;QAC/C,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,eAAe,IAAI,sBAAsB,CAAC;QAE1D,0CAA0C;QAC1C,MAAM,YAAY,GAAkB;YAClC,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,cAAc,IAAI,CAAC,OAAO,CAAC;YACpC,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,kCAAkC;QAClC,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzF,0CAA0C;QAC1C,MAAM,KAAK,GAAG,WAAW,CACvB,KAAK,EACL,oBAAoB,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAC9D,CAAC;QAEF,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,EAAM;QACrB,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACpC,CAAC;CACF"}
@@ -34,6 +34,7 @@ export class MemoryHistoryStack {
34
34
  hash: '',
35
35
  state: null,
36
36
  key: '',
37
+ unstable_mask: undefined,
37
38
  };
38
39
  }
39
40
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryStack.js","sourceRoot":"","sources":["../../../src/lib/MemoryStack.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IAC7B,QAAQ,CAAW;IAEnB;;;OAGG;IACH,IAAI,MAAM;QACR,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,YAAY,OAAwC;QAClD,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,eAAe,IAAI;YAC1C,QAAQ,EAAE,GAAG;YACb,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,EAAE;SACR,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,QAAkB;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,QAAkB;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACH,EAAE,CAAC,KAAa,EAAE,KAA8B;QAC9C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QACnC,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QAC1D,0CAA0C;QAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,eAAe,CAAC,GAAG,CAAC,CAAC;QAE9F,gDAAgD;QAChD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvD,CAAC;YACD,OAAO;QACT,CAAC;QAED,kDAAkD;QAClD,MAAM,QAAQ,GAAG,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC5C,CAAC;aAAM,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,EAAM;QACd,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAC7B,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;CACF"}
1
+ {"version":3,"file":"MemoryStack.js","sourceRoot":"","sources":["../../../src/lib/MemoryStack.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IAC7B,QAAQ,CAAW;IAEnB;;;OAGG;IACH,IAAI,MAAM;QACR,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,YAAY,OAAwC;QAClD,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,eAAe,IAAI;YAC1C,QAAQ,EAAE,GAAG;YACb,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,EAAE;YACP,aAAa,EAAE,SAAS;SACzB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,QAAkB;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,QAAkB;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACH,EAAE,CAAC,KAAa,EAAE,KAA8B;QAC9C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QACnC,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QAC1D,0CAA0C;QAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,eAAe,CAAC,GAAG,CAAC,CAAC;QAE9F,gDAAgD;QAChD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvD,CAAC;YACD,OAAO;QACT,CAAC;QAED,kDAAkD;QAClD,MAAM,QAAQ,GAAG,YAAY,GAAG,KAAK,CAAC;QACtC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC5C,CAAC;aAAM,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC5C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,EAAM;QACd,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAC7B,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;CACF"}
@@ -6,25 +6,19 @@ import { BrowserHistoryHashStack } from './BrowserHistoryHashStack';
6
6
  * Creates a history instance based on the specified type.
7
7
  *
8
8
  * Factory function for creating different history implementations:
9
- * - `'browser'`: Creates a {@link BrowserHistory} instance using regular routing (pathname-based)
10
- * - `'hash'`: Creates a {@link BrowserHistory} instance using hash routing (hash-based)
11
- * - `'memory'`: Creates a {@link MemoryHistory} instance for testing or SSR (in-memory)
9
+ * - `'browser'`: Creates a {@link BrowserHistory} using pathname-based routing
10
+ * - `'hash'`: Creates a {@link BrowserHistory} using hash-based routing (`#/path`)
11
+ * - `'memory'`: Creates a {@link MemoryHistory} for testing, SSR, or widget apps
12
12
  *
13
- * All returned instances are compatible with industry-standard routers (Remix/React Router).
14
- *
15
- * @param type - The type of history to create ('browser', 'hash', or 'memory')
16
- * @param args - Optional arguments for the history type
17
- * @returns A History instance compatible with industry-standard routers (Remix/React Router)
13
+ * @param type - The type of history to create (`'browser'`, `'hash'`, or `'memory'`)
14
+ * @param args - Optional arguments forwarded to the history constructor
15
+ * @returns A {@link History} instance of the requested type
16
+ * @throws {Error} If `type` is not one of `'browser'`, `'hash'`, or `'memory'`
18
17
  *
19
18
  * @example
20
19
  * ```ts
21
- * // Regular browser routing
22
20
  * const history = createHistory('browser');
23
- *
24
- * // Hash-based routing
25
21
  * const hashHistory = createHistory('hash');
26
- *
27
- * // In-memory history for testing
28
22
  * const memoryHistory = createHistory('memory', { initialLocation: { ... } });
29
23
  * ```
30
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"create-history.js","sourceRoot":"","sources":["../../../src/lib/create-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAA8B,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAQpE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAO,EACP,GAAG,IAAmC,EACP,EAAE;IACjC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,IAAI,aAAa,CAAC,GAAI,IAA+B,CAE3D,CAAC;QACJ,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAyC,CAAC;YAChE,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAEnE,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAyC,CAAC;YAChE,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAEvE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"create-history.js","sourceRoot":"","sources":["../../../src/lib/create-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA6B,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAA8B,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAQpE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAO,EACP,GAAG,IAAmC,EACP,EAAE;IACjC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,IAAI,aAAa,CAAC,GAAI,IAA+B,CAE3D,CAAC;QACJ,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAyC,CAAC;YAChE,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAEnE,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAyC,CAAC;YAChE,OAAO,IAAI,cAAc,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAEvE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
@@ -1,3 +1,12 @@
1
+ /**
2
+ * Internal history implementations, stacks, and types.
3
+ *
4
+ * @remarks
5
+ * This sub-module is re-exported as `@equinor/fusion-framework-module-navigation/lib`
6
+ * and provides the low-level building blocks for navigation state management.
7
+ *
8
+ * @packageDocumentation
9
+ */
1
10
  // History implementations
2
11
  export { BaseHistory } from './BaseHistory';
3
12
  export { BrowserHistory } from './BrowserHistory';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,iBAAiB;AACjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,0BAA0B;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,iBAAiB;AACjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
@@ -28,7 +28,7 @@ export const navigate = (stack) => (action$) => {
28
28
  const path = resolvePath(payload.to);
29
29
  const key = meta.key;
30
30
  const { replace, state } = payload.options;
31
- const nextLocation = { ...path, key, state };
31
+ const nextLocation = { ...path, key, state, unstable_mask: undefined };
32
32
  // prevent death loop navigation
33
33
  if (compareLocation(nextLocation, stack.current)) {
34
34
  return actions.abortNavigate('Location is the same as the current location');
@@ -176,19 +176,14 @@ export const validateCurrentLocation = (stack) => (action$, state$) => {
176
176
  /**
177
177
  * Creates a combined history flow from multiple flow creators.
178
178
  *
179
- * Execution flow:
180
- * 1. Creates a preprocessing step that applies blocker checking (unless skipped)
181
- * 2. Initializes each flow creator with the stack to create individual flows
182
- * 3. Merges all flows so they process actions in parallel
183
- * 4. Returns a combined flow that:
184
- * - First applies preprocessing (blocker checking)
185
- * - Then processes actions through all merged flows
186
- * - Emits results from any flow that matches the action
179
+ * Merges all provided flows so they process actions in parallel.
180
+ * Optionally prepends a blocker-checking step that gates navigation
181
+ * actions through registered {@link NavigationBlocker | blockers}.
187
182
  *
188
183
  * @param flowCreators - Array of flow creators to combine
189
- * @param options - Optional configuration options
190
- * @param options.skipBlockCheck - If true, skip blocker checking
191
- * @returns A combined history flow creator
184
+ * @param options - Optional configuration
185
+ * @param options.skipBlockCheck - If `true`, skip blocker checking
186
+ * @returns A combined {@link HistoryFlowCreator} that merges all provided flows
192
187
  */
193
188
  export const createFlow = (flowCreators, options) => {
194
189
  return (stack) => {
@@ -1 +1 @@
1
- {"version":3,"file":"history.flows.js","sourceRoot":"","sources":["../../../../src/lib/state/history.flows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.flows.js","sourceRoot":"","sources":["../../../../src/lib/state/history.flows.ts"],"names":[],"mappings":"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"}
@@ -11,10 +11,14 @@ const findIndex = (state) => {
11
11
  /**
12
12
  * Creates a reducer for history state management.
13
13
  *
14
- * @param initial - Initial navigation update or function that returns initial state
15
- * @param options - Optional configuration options
16
- * @param options.maxHistory - Maximum number of history entries to keep (default: 100)
17
- * @returns A reducer for history state
14
+ * Handles navigate, go, and pop success actions by updating the
15
+ * history array and current location. Enforces a maximum history
16
+ * length to prevent unbounded memory growth.
17
+ *
18
+ * @param initial - Initial navigation update or factory returning initial state
19
+ * @param options - Optional configuration
20
+ * @param options.maxHistory - Maximum number of history entries to keep (default: `100`)
21
+ * @returns A reducer with initial state for use with {@link createStore}
18
22
  */
19
23
  export const createHistoryReducer = (initial, options) => {
20
24
  const maxHistory = options?.maxHistory ?? 100;
@@ -1 +1 @@
1
- {"version":3,"file":"history.reducer.js","sourceRoot":"","sources":["../../../../src/lib/state/history.reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAgB,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE;;;GAGG;AACH,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAE,EAAE;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACjG,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,OAAiD,EACjD,OAAiC,EACjC,EAAE;IACF,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,GAAG,CAAC;IAE9C,MAAM,YAAY,GAChB,OAAO,YAAY,QAAQ;QACzB,CAAC,CAAC,OAAO,EAAE;QACX,CAAC,CAAE;YACC,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,CAAC,OAAO,CAAC;YAClB,QAAQ,EAAE,EAAE;SACY,CAAC;IAEjC,OAAO,aAAa,CAAyB,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE;QACrE,0DAA0D;QAC1D,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;YAClC,gFAAgF;YAChF,sEAAsE;YACtE,sDAAsD;YACtD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;oBACxB,mDAAmD;oBACnD,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;YACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,+EAA+E;QAC/E,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACpD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;YAClC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,iDAAiD;QACjD,qFAAqF;QACrF,OAAO,CAAC,UAAU,CAChB,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;gBACtC,0DAA0D;gBAC1D,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"history.reducer.js","sourceRoot":"","sources":["../../../../src/lib/state/history.reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAgB,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE;;;GAGG;AACH,MAAM,SAAS,GAAG,CAAC,KAAoB,EAAE,EAAE;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACjG,CAAC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,OAAiD,EACjD,OAAiC,EACjC,EAAE;IACF,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,GAAG,CAAC;IAE9C,MAAM,YAAY,GAChB,OAAO,YAAY,QAAQ;QACzB,CAAC,CAAC,OAAO,EAAE;QACX,CAAC,CAAE;YACC,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,CAAC,OAAO,CAAC;YAClB,QAAQ,EAAE,EAAE;SACY,CAAC;IAEjC,OAAO,aAAa,CAAyB,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE;QACrE,0DAA0D;QAC1D,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;YAClC,gFAAgF;YAChF,sEAAsE;YACtE,sDAAsD;YACtD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;oBACxB,mDAAmD;oBACnD,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;YACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,+EAA+E;QAC/E,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACpD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;YAClC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,iDAAiD;QACjD,qFAAqF;QACrF,OAAO,CAAC,UAAU,CAChB,GAAG,EAAE,CAAC,IAAI,EACV,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;gBACtC,0DAA0D;gBAC1D,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}