@equinor/fusion-framework-module-navigation 7.0.0-next.2 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/CHANGELOG.md +42 -19
  2. package/README.md +97 -614
  3. package/dist/esm/NavigationConfigurator.js +29 -6
  4. package/dist/esm/NavigationConfigurator.js.map +1 -1
  5. package/dist/esm/NavigationProvider.js +57 -23
  6. package/dist/esm/NavigationProvider.js.map +1 -1
  7. package/dist/esm/events.js +20 -3
  8. package/dist/esm/events.js.map +1 -1
  9. package/dist/esm/index.js +23 -0
  10. package/dist/esm/index.js.map +1 -1
  11. package/dist/esm/lib/BaseHistory.js +23 -6
  12. package/dist/esm/lib/BaseHistory.js.map +1 -1
  13. package/dist/esm/lib/BrowserHistoryStack.js +5 -6
  14. package/dist/esm/lib/BrowserHistoryStack.js.map +1 -1
  15. package/dist/esm/lib/MemoryHistory.js +13 -6
  16. package/dist/esm/lib/MemoryHistory.js.map +1 -1
  17. package/dist/esm/lib/MemoryStack.js +1 -0
  18. package/dist/esm/lib/MemoryStack.js.map +1 -1
  19. package/dist/esm/lib/ProxyHistory.js +114 -0
  20. package/dist/esm/lib/ProxyHistory.js.map +1 -0
  21. package/dist/esm/lib/create-history.js +7 -13
  22. package/dist/esm/lib/create-history.js.map +1 -1
  23. package/dist/esm/lib/index.js +10 -0
  24. package/dist/esm/lib/index.js.map +1 -1
  25. package/dist/esm/lib/state/history.flows.js +7 -12
  26. package/dist/esm/lib/state/history.flows.js.map +1 -1
  27. package/dist/esm/lib/state/history.reducer.js +8 -4
  28. package/dist/esm/lib/state/history.reducer.js.map +1 -1
  29. package/dist/esm/lib/state/history.state.js +9 -3
  30. package/dist/esm/lib/state/history.state.js.map +1 -1
  31. package/dist/esm/lib/utils/resolve-browser-location.js +2 -2
  32. package/dist/esm/lib/utils/resolve-browser-location.js.map +1 -1
  33. package/dist/esm/module.js +4 -4
  34. package/dist/esm/version.js +1 -1
  35. package/dist/esm/version.js.map +1 -1
  36. package/dist/tsconfig.tsbuildinfo +1 -1
  37. package/dist/types/NavigationConfigurator.d.ts +10 -1
  38. package/dist/types/NavigationConfigurator.interface.d.ts +25 -5
  39. package/dist/types/NavigationProvider.d.ts +57 -23
  40. package/dist/types/NavigationProvider.interface.d.ts +20 -7
  41. package/dist/types/events.d.ts +20 -3
  42. package/dist/types/index.d.ts +24 -1
  43. package/dist/types/lib/BaseHistory.d.ts +23 -6
  44. package/dist/types/lib/BrowserHistoryStack.d.ts +5 -6
  45. package/dist/types/lib/MemoryHistory.d.ts +5 -5
  46. package/dist/types/lib/ProxyHistory.d.ts +68 -0
  47. package/dist/types/lib/create-history.d.ts +7 -13
  48. package/dist/types/lib/index.d.ts +10 -0
  49. package/dist/types/lib/state/history.flows.d.ts +6 -11
  50. package/dist/types/lib/state/history.reducer.d.ts +8 -4
  51. package/dist/types/lib/state/history.state.d.ts +9 -3
  52. package/dist/types/lib/types.d.ts +39 -8
  53. package/dist/types/version.d.ts +1 -1
  54. package/package.json +12 -13
  55. package/src/NavigationConfigurator.interface.ts +28 -5
  56. package/src/NavigationConfigurator.ts +47 -15
  57. package/src/NavigationProvider.interface.ts +20 -7
  58. package/src/NavigationProvider.ts +57 -23
  59. package/src/__tests__/ProxyHistory.test.ts +149 -0
  60. package/src/events.ts +20 -3
  61. package/src/index.ts +25 -1
  62. package/src/lib/BaseHistory.ts +23 -6
  63. package/src/lib/BrowserHistoryStack.ts +5 -6
  64. package/src/lib/MemoryHistory.ts +13 -6
  65. package/src/lib/MemoryStack.ts +1 -0
  66. package/src/lib/ProxyHistory.ts +144 -0
  67. package/src/lib/create-history.ts +7 -13
  68. package/src/lib/index.ts +11 -0
  69. package/src/lib/state/history.flows.ts +7 -12
  70. package/src/lib/state/history.reducer.ts +8 -4
  71. package/src/lib/state/history.state.ts +9 -3
  72. package/src/lib/types.ts +39 -8
  73. package/src/lib/utils/resolve-browser-location.ts +2 -2
  74. package/src/module.ts +4 -4
  75. package/src/version.ts +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProxyHistory.js","sourceRoot":"","sources":["../../../src/lib/ProxyHistory.ts"],"names":[],"mappings":"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"}
@@ -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,7 +1,17 @@
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';
4
13
  export { MemoryHistory } from './MemoryHistory';
14
+ export { ProxyHistory } from './ProxyHistory';
5
15
  // History stacks
6
16
  export { BrowserHistoryStack } from './BrowserHistoryStack';
7
17
  export { BrowserHistoryHashStack as HashHistoryStack } from './BrowserHistoryHashStack';
@@ -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;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,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"}
@@ -8,10 +8,16 @@ export const defaultFlows = [flowCreators.navigate, flowCreators.go, flowCreator
8
8
  /**
9
9
  * Creates a history store with the specified stack and reducer.
10
10
  *
11
- * @param stack - The history stack implementation
12
- * @param reducer - The reducer for history state
11
+ * Combines the reactive state container with a {@link HistoryStack} and wires
12
+ * up navigation flows for action processing.
13
+ *
14
+ * @param stack - The history stack implementation (browser, hash, or memory)
15
+ * @param reducer - The reducer that handles state transitions
13
16
  * @param options - Optional configuration options
14
- * @returns A HistoryState instance
17
+ * @param options.flows - Custom flow creators (defaults to {@link defaultFlows})
18
+ * @param options.skipBlockCheck - Skip blocker checking in flows
19
+ * @param options.validateCurrentLocation - Add location validation flow
20
+ * @returns A fully-initialized {@link HistoryState} with flows attached
15
21
  */
16
22
  export const createStore = (stack, reducer, options) => {
17
23
  // Create base state with actions and reducer, then add stack property
@@ -1 +1 @@
1
- {"version":3,"file":"history.state.js","sourceRoot":"","sources":["../../../../src/lib/state/history.state.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,GAGZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,OAAO,EAAgB,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAA2B,MAAM,iBAAiB,CAAC;AAUpF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;AAEvF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAmB,EACnB,OAAwD,EACxD,OAIC,EACa,EAAE;IAChB,sEAAsE;IACtE,gEAAgE;IAChE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,CAAiB,CAAC;IAEtF,4DAA4D;IAC5D,sEAAsE;IACtE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAqB,OAAO,EAAE,KAAK,IAAI,YAAY,CAAC,CAAC;IAC1E,+DAA+D;IAC/D,IAAI,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACrC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;IAClD,CAAC;IAED,8CAA8C;IAC9C,4DAA4D;IAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE;QAClC,cAAc,EAAE,OAAO,EAAE,cAAc;KACxC,CAAC,CAAC;IAEH,qEAAqE;IACrE,mEAAmE;IACnE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
1
+ {"version":3,"file":"history.state.js","sourceRoot":"","sources":["../../../../src/lib/state/history.state.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,GAGZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,OAAO,EAAgB,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,UAAU,EAA2B,MAAM,iBAAiB,CAAC;AAUpF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;AAEvF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAmB,EACnB,OAAwD,EACxD,OAIC,EACa,EAAE;IAChB,sEAAsE;IACtE,gEAAgE;IAChE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,CAAiB,CAAC;IAEtF,4DAA4D;IAC5D,sEAAsE;IACtE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAqB,OAAO,EAAE,KAAK,IAAI,YAAY,CAAC,CAAC;IAC1E,+DAA+D;IAC/D,IAAI,OAAO,EAAE,uBAAuB,EAAE,CAAC;QACrC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;IAClD,CAAC;IAED,8CAA8C;IAC9C,4DAA4D;IAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE;QAClC,cAAc,EAAE,OAAO,EAAE,cAAc;KACxC,CAAC,CAAC;IAEH,qEAAqE;IACrE,mEAAmE;IACnE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
@@ -24,7 +24,7 @@ const resolveState = (target) => {
24
24
  export const resolveWindowLocation = (window, target) => {
25
25
  const { pathname, search, hash } = resolvePath(window.location);
26
26
  const { state, key } = resolveState(target);
27
- return { pathname, search, hash, state, key };
27
+ return { pathname, search, hash, state, key, unstable_mask: undefined };
28
28
  };
29
29
  /**
30
30
  * Resolves the current location from window.location.hash.
@@ -48,6 +48,6 @@ export const resolveHashLocation = (window, target) => {
48
48
  const location = resolveWindowLocation(window, target);
49
49
  const { pathname, search, hash } = resolvePath(location.hash?.replace('#', '') ?? '');
50
50
  const { state, key } = resolveState(target);
51
- return { pathname, search, hash, state, key };
51
+ return { pathname, search, hash, state, key, unstable_mask: undefined };
52
52
  };
53
53
  //# sourceMappingURL=resolve-browser-location.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-browser-location.js","sourceRoot":"","sources":["../../../../src/lib/utils/resolve-browser-location.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,YAAY,GAAG,CAAC,MAA2B,EAAmC,EAAE;IACpF,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,EAAE,GAC9B,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK;QAC/B,EAGC,CAAC;IACL,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAE,MAA2B,EAAY,EAAE;IAC7F,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAChD,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,MAA2B,EAAY,EAAE;IAC3F,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACtF,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAChD,CAAC,CAAC"}
1
+ {"version":3,"file":"resolve-browser-location.js","sourceRoot":"","sources":["../../../../src/lib/utils/resolve-browser-location.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,YAAY,GAAG,CAAC,MAA2B,EAAmC,EAAE;IACpF,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,EAAE,GAC9B,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK;QAC/B,EAGC,CAAC;IACL,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAE,MAA2B,EAAY,EAAE;IAC7F,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;AAC1E,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,MAA2B,EAAY,EAAE;IAC3F,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACtF,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;AAC1E,CAAC,CAAC"}
@@ -19,16 +19,16 @@ export const module = {
19
19
  version: new SemanticVersion(version),
20
20
  name: moduleKey,
21
21
  /**
22
- * Configures the navigation module.
22
+ * Creates a new {@link NavigationConfigurator} for the module.
23
23
  *
24
- * @returns A new NavigationConfigurator instance
24
+ * @returns A fresh {@link NavigationConfigurator} instance with default settings
25
25
  */
26
26
  configure: () => new NavigationConfigurator(),
27
27
  /**
28
28
  * Initializes the navigation module with validated configuration.
29
29
  *
30
- * @param init - Module initialization arguments
31
- * @returns A Promise that resolves to a new NavigationProvider instance
30
+ * @param init - Module initialization arguments containing config and refs
31
+ * @returns A promise that resolves to a configured {@link NavigationProvider}
32
32
  */
33
33
  initialize: async (init) => {
34
34
  const config = await init.config.createConfigAsync(init);
@@ -1,3 +1,3 @@
1
1
  // Generated by genversion.
2
- export const version = '7.0.0-next.2';
2
+ export const version = '7.0.1';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}