@pithyjs/router 0.1.0-beta.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 (163) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +621 -0
  3. package/dist/index.d.ts +29 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +49 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/router/core/config.d.ts +22 -0
  8. package/dist/router/core/config.d.ts.map +1 -0
  9. package/dist/router/core/config.js +54 -0
  10. package/dist/router/core/config.js.map +1 -0
  11. package/dist/router/core/constants.d.ts +89 -0
  12. package/dist/router/core/constants.d.ts.map +1 -0
  13. package/dist/router/core/constants.js +95 -0
  14. package/dist/router/core/constants.js.map +1 -0
  15. package/dist/router/core/history.d.ts +54 -0
  16. package/dist/router/core/history.d.ts.map +1 -0
  17. package/dist/router/core/history.js +89 -0
  18. package/dist/router/core/history.js.map +1 -0
  19. package/dist/router/core/matcher.d.ts +43 -0
  20. package/dist/router/core/matcher.d.ts.map +1 -0
  21. package/dist/router/core/matcher.js +242 -0
  22. package/dist/router/core/matcher.js.map +1 -0
  23. package/dist/router/core/params.d.ts +88 -0
  24. package/dist/router/core/params.d.ts.map +1 -0
  25. package/dist/router/core/params.js +150 -0
  26. package/dist/router/core/params.js.map +1 -0
  27. package/dist/router/core/pipeline.d.ts +90 -0
  28. package/dist/router/core/pipeline.d.ts.map +1 -0
  29. package/dist/router/core/pipeline.js +323 -0
  30. package/dist/router/core/pipeline.js.map +1 -0
  31. package/dist/router/core/route-tree.d.ts +76 -0
  32. package/dist/router/core/route-tree.d.ts.map +1 -0
  33. package/dist/router/core/route-tree.js +143 -0
  34. package/dist/router/core/route-tree.js.map +1 -0
  35. package/dist/router/core/router.d.ts +229 -0
  36. package/dist/router/core/router.d.ts.map +1 -0
  37. package/dist/router/core/router.js +762 -0
  38. package/dist/router/core/router.js.map +1 -0
  39. package/dist/router/core/types.d.ts +387 -0
  40. package/dist/router/core/types.d.ts.map +1 -0
  41. package/dist/router/core/types.js +22 -0
  42. package/dist/router/core/types.js.map +1 -0
  43. package/dist/router/core/utils.d.ts +66 -0
  44. package/dist/router/core/utils.d.ts.map +1 -0
  45. package/dist/router/core/utils.js +152 -0
  46. package/dist/router/core/utils.js.map +1 -0
  47. package/dist/router/features/coordinator.d.ts +75 -0
  48. package/dist/router/features/coordinator.d.ts.map +1 -0
  49. package/dist/router/features/coordinator.js +203 -0
  50. package/dist/router/features/coordinator.js.map +1 -0
  51. package/dist/router/features/errors/error-codes.d.ts +107 -0
  52. package/dist/router/features/errors/error-codes.d.ts.map +1 -0
  53. package/dist/router/features/errors/error-codes.js +247 -0
  54. package/dist/router/features/errors/error-codes.js.map +1 -0
  55. package/dist/router/features/errors/error-resolution.d.ts +31 -0
  56. package/dist/router/features/errors/error-resolution.d.ts.map +1 -0
  57. package/dist/router/features/errors/error-resolution.js +47 -0
  58. package/dist/router/features/errors/error-resolution.js.map +1 -0
  59. package/dist/router/features/errors/error-types.d.ts +60 -0
  60. package/dist/router/features/errors/error-types.d.ts.map +1 -0
  61. package/dist/router/features/errors/error-types.js +57 -0
  62. package/dist/router/features/errors/error-types.js.map +1 -0
  63. package/dist/router/features/errors/global-error-fallback.d.ts +33 -0
  64. package/dist/router/features/errors/global-error-fallback.d.ts.map +1 -0
  65. package/dist/router/features/errors/global-error-fallback.js +182 -0
  66. package/dist/router/features/errors/global-error-fallback.js.map +1 -0
  67. package/dist/router/features/errors/index.d.ts +15 -0
  68. package/dist/router/features/errors/index.d.ts.map +1 -0
  69. package/dist/router/features/errors/index.js +18 -0
  70. package/dist/router/features/errors/index.js.map +1 -0
  71. package/dist/router/features/errors/router-errors.d.ts +44 -0
  72. package/dist/router/features/errors/router-errors.d.ts.map +1 -0
  73. package/dist/router/features/errors/router-errors.js +53 -0
  74. package/dist/router/features/errors/router-errors.js.map +1 -0
  75. package/dist/router/features/guards/engine.d.ts +40 -0
  76. package/dist/router/features/guards/engine.d.ts.map +1 -0
  77. package/dist/router/features/guards/engine.js +67 -0
  78. package/dist/router/features/guards/engine.js.map +1 -0
  79. package/dist/router/features/guards/index.d.ts +52 -0
  80. package/dist/router/features/guards/index.d.ts.map +1 -0
  81. package/dist/router/features/guards/index.js +95 -0
  82. package/dist/router/features/guards/index.js.map +1 -0
  83. package/dist/router/features/loaders/cache.d.ts +60 -0
  84. package/dist/router/features/loaders/cache.d.ts.map +1 -0
  85. package/dist/router/features/loaders/cache.js +80 -0
  86. package/dist/router/features/loaders/cache.js.map +1 -0
  87. package/dist/router/features/loaders/engine.d.ts +17 -0
  88. package/dist/router/features/loaders/engine.d.ts.map +1 -0
  89. package/dist/router/features/loaders/engine.js +27 -0
  90. package/dist/router/features/loaders/engine.js.map +1 -0
  91. package/dist/router/features/loaders/index.d.ts +49 -0
  92. package/dist/router/features/loaders/index.d.ts.map +1 -0
  93. package/dist/router/features/loaders/index.js +112 -0
  94. package/dist/router/features/loaders/index.js.map +1 -0
  95. package/dist/router/features/loading-ui-manager.d.ts +69 -0
  96. package/dist/router/features/loading-ui-manager.d.ts.map +1 -0
  97. package/dist/router/features/loading-ui-manager.js +209 -0
  98. package/dist/router/features/loading-ui-manager.js.map +1 -0
  99. package/dist/router/features/module-loader.d.ts +50 -0
  100. package/dist/router/features/module-loader.d.ts.map +1 -0
  101. package/dist/router/features/module-loader.js +121 -0
  102. package/dist/router/features/module-loader.js.map +1 -0
  103. package/dist/router/features/outlet/errors.d.ts +24 -0
  104. package/dist/router/features/outlet/errors.d.ts.map +1 -0
  105. package/dist/router/features/outlet/errors.js +96 -0
  106. package/dist/router/features/outlet/errors.js.map +1 -0
  107. package/dist/router/features/outlet/index.d.ts +45 -0
  108. package/dist/router/features/outlet/index.d.ts.map +1 -0
  109. package/dist/router/features/outlet/index.js +95 -0
  110. package/dist/router/features/outlet/index.js.map +1 -0
  111. package/dist/router/features/outlet/mount.d.ts +38 -0
  112. package/dist/router/features/outlet/mount.d.ts.map +1 -0
  113. package/dist/router/features/outlet/mount.js +301 -0
  114. package/dist/router/features/outlet/mount.js.map +1 -0
  115. package/dist/router/features/outlet/segment-chain.d.ts +16 -0
  116. package/dist/router/features/outlet/segment-chain.d.ts.map +1 -0
  117. package/dist/router/features/outlet/segment-chain.js +62 -0
  118. package/dist/router/features/outlet/segment-chain.js.map +1 -0
  119. package/dist/router/features/prefetch/index.d.ts +97 -0
  120. package/dist/router/features/prefetch/index.d.ts.map +1 -0
  121. package/dist/router/features/prefetch/index.js +345 -0
  122. package/dist/router/features/prefetch/index.js.map +1 -0
  123. package/dist/router/features/ux/focus.d.ts +62 -0
  124. package/dist/router/features/ux/focus.d.ts.map +1 -0
  125. package/dist/router/features/ux/focus.js +136 -0
  126. package/dist/router/features/ux/focus.js.map +1 -0
  127. package/dist/router/features/ux/live-region.d.ts +81 -0
  128. package/dist/router/features/ux/live-region.d.ts.map +1 -0
  129. package/dist/router/features/ux/live-region.js +166 -0
  130. package/dist/router/features/ux/live-region.js.map +1 -0
  131. package/dist/router/features/ux/scroll-focus.d.ts +105 -0
  132. package/dist/router/features/ux/scroll-focus.d.ts.map +1 -0
  133. package/dist/router/features/ux/scroll-focus.js +111 -0
  134. package/dist/router/features/ux/scroll-focus.js.map +1 -0
  135. package/dist/router/features/ux/scroll.d.ts +71 -0
  136. package/dist/router/features/ux/scroll.d.ts.map +1 -0
  137. package/dist/router/features/ux/scroll.js +137 -0
  138. package/dist/router/features/ux/scroll.js.map +1 -0
  139. package/dist/router/features/ux/transitions.d.ts +120 -0
  140. package/dist/router/features/ux/transitions.d.ts.map +1 -0
  141. package/dist/router/features/ux/transitions.js +235 -0
  142. package/dist/router/features/ux/transitions.js.map +1 -0
  143. package/dist/router/integration/directive-binder.d.ts +20 -0
  144. package/dist/router/integration/directive-binder.d.ts.map +1 -0
  145. package/dist/router/integration/directive-binder.js +139 -0
  146. package/dist/router/integration/directive-binder.js.map +1 -0
  147. package/dist/router/integration/directives.d.ts +42 -0
  148. package/dist/router/integration/directives.d.ts.map +1 -0
  149. package/dist/router/integration/directives.js +109 -0
  150. package/dist/router/integration/directives.js.map +1 -0
  151. package/dist/router/integration/history-adapter.d.ts +76 -0
  152. package/dist/router/integration/history-adapter.d.ts.map +1 -0
  153. package/dist/router/integration/history-adapter.js +157 -0
  154. package/dist/router/integration/history-adapter.js.map +1 -0
  155. package/dist/router/integration/hmr.d.ts +83 -0
  156. package/dist/router/integration/hmr.d.ts.map +1 -0
  157. package/dist/router/integration/hmr.js +160 -0
  158. package/dist/router/integration/hmr.js.map +1 -0
  159. package/dist/router/integration/link-interceptor.d.ts +49 -0
  160. package/dist/router/integration/link-interceptor.d.ts.map +1 -0
  161. package/dist/router/integration/link-interceptor.js +94 -0
  162. package/dist/router/integration/link-interceptor.js.map +1 -0
  163. package/package.json +47 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/router/core/router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,387 @@
1
+ /** @codex
2
+ {
3
+ "id": "pithy.router.types",
4
+ "title": "Router Type Definitions",
5
+ "category": "types"
6
+ }
7
+ */
8
+ import type { ViewTransitionConfig } from '../features/ux/transitions';
9
+ import type { RouteNode } from '@pithyjs/shared';
10
+ export type { RouteNode } from '@pithyjs/shared';
11
+ /**
12
+ * Symbol to mark loader failure in navigation system
13
+ * Used to distinguish failed loaders from successful undefined returns
14
+ */
15
+ export declare const LOADER_FAILED: unique symbol;
16
+ /**
17
+ * Navigation transaction ID for tracking async operations
18
+ * Monotonically increasing to prevent race conditions
19
+ */
20
+ export type NavigationId = number;
21
+ /**
22
+ * Trailing slash handling policy
23
+ * - "never": Remove trailing slashes
24
+ * - "always": Ensure trailing slashes
25
+ * - "preserve": Keep as-is
26
+ */
27
+ export type TrailingSlashPolicy = 'never' | 'always' | 'preserve';
28
+ /**
29
+ * Route parameter extracted from dynamic segments
30
+ */
31
+ export interface RouteParams {
32
+ [key: string]: string | string[];
33
+ }
34
+ /**
35
+ * Query parameters from URL search string
36
+ */
37
+ export interface QueryParams {
38
+ [key: string]: string | string[];
39
+ }
40
+ /**
41
+ * Route matching result with extracted parameters
42
+ */
43
+ export interface RouteMatch {
44
+ /** Matched route pattern */
45
+ pattern: string;
46
+ /** Full matched path */
47
+ path: string;
48
+ /** Extracted route parameters */
49
+ params: RouteParams;
50
+ /** Route segments for nested matching */
51
+ segments: string[];
52
+ /** Route precedence score (higher = more specific) */
53
+ score: number;
54
+ }
55
+ /**
56
+ * Route segment types for precedence calculation
57
+ */
58
+ export declare enum SegmentType {
59
+ Static = 3,// /about
60
+ Dynamic = 2,// /[id]
61
+ CatchAll = 1
62
+ }
63
+ /**
64
+ * Parsed route segment information
65
+ */
66
+ export interface RouteSegment {
67
+ /** Original segment string */
68
+ raw: string;
69
+ /** Segment type for precedence */
70
+ type: SegmentType;
71
+ /** Parameter name for dynamic segments */
72
+ paramName?: string;
73
+ /** Whether this is a catch-all segment */
74
+ isCatchAll?: boolean;
75
+ /** Whether this segment is from a route group (excluded from URL) */
76
+ isGroup?: boolean;
77
+ }
78
+ /**
79
+ * Navigation transaction state for preventing race conditions
80
+ */
81
+ export interface NavigationTransaction {
82
+ /** Unique navigation ID */
83
+ id: NavigationId;
84
+ /** Target path being navigated to */
85
+ path: string;
86
+ /** Abort controller for canceling async operations */
87
+ abortController: AbortController;
88
+ /** Whether this navigation is still active */
89
+ isActive: boolean;
90
+ /** Timestamp when navigation started */
91
+ startTime: number;
92
+ }
93
+ /**
94
+ * Loading policy for forward navigations
95
+ */
96
+ export type LoadingPolicy = 'replace' | 'overlay' | 'progress-only';
97
+ /**
98
+ * Loading policy for popstate navigations
99
+ */
100
+ export type PopstateLoadingPolicy = 'none' | 'overlay' | 'replace';
101
+ /**
102
+ * Navigation source discriminator
103
+ */
104
+ export type NavigationSource = 'programmatic' | 'intercept' | 'pop';
105
+ /**
106
+ * Router configuration options
107
+ */
108
+ export interface RouterConfig {
109
+ /** Base path for the application */
110
+ basePath?: string;
111
+ /** Trailing slash handling */
112
+ trailingSlash?: TrailingSlashPolicy;
113
+ /** Whether to decode route parameters */
114
+ decodeParams?: boolean;
115
+ /** Enable view transitions - boolean for simple enable/disable, or config object for advanced options */
116
+ viewTransitions?: boolean | ViewTransitionConfig;
117
+ /** A11y configuration */
118
+ a11y?: boolean;
119
+ /** Intercept in-app anchor clicks and route via guards (default: true) */
120
+ interceptLinks?: boolean;
121
+ /** Attribute to opt-out a link from interception (default: data-router-ignore) */
122
+ linkIgnoreAttr?: string;
123
+ /** Loading policy for forward navigations (default: "replace") */
124
+ loadingPolicy?: LoadingPolicy;
125
+ /** Loading policy for popstate navigations (default: "none") */
126
+ popstateLoading?: PopstateLoadingPolicy;
127
+ /** Prefetch configuration */
128
+ prefetch?: {
129
+ hoverDelay?: number;
130
+ visibleMargin?: string;
131
+ cacheTTL?: number;
132
+ };
133
+ /** Custom history adapter (default: BrowserHistoryAdapter) - enables SSR and testing */
134
+ historyAdapter?: HistoryAdapter;
135
+ /** Set router as global instance for directive binding (default: true) */
136
+ setAsGlobal?: boolean;
137
+ /** Expose router to window for debugging (default: true in dev, false in prod) */
138
+ exposeToWindow?: boolean;
139
+ /** Window key for exposed router (default: "router") */
140
+ windowKey?: string;
141
+ /** CSS selector for outlet element (default: "[data-router-outlet]") */
142
+ outletSelector?: string;
143
+ }
144
+ /**
145
+ * Route segment chain for nested rendering
146
+ */
147
+ export interface RouteSegmentChain {
148
+ /** Route node for this segment */
149
+ node: RouteNode;
150
+ /** Matched parameters for this segment */
151
+ params: RouteParams;
152
+ /** Whether this segment has changed from previous navigation */
153
+ hasChanged: boolean;
154
+ /** Parent segment in the chain */
155
+ parent?: RouteSegmentChain | undefined;
156
+ /** Child segments */
157
+ children: RouteSegmentChain[];
158
+ }
159
+ /**
160
+ * Outlet mount result from appendNodeSet
161
+ */
162
+ export interface OutletMountResult {
163
+ /** Successfully inserted nodes */
164
+ inserted: Node[];
165
+ /** Found outlet element (or null if layout-as-outlet) */
166
+ outlet: HTMLElement | null;
167
+ /** Root nodes of the mounted component */
168
+ roots: Node[];
169
+ }
170
+ /**
171
+ * Route component instance for lifecycle management
172
+ */
173
+ export interface RouteComponentInstance {
174
+ /** Component root element */
175
+ element: HTMLElement;
176
+ /** Component cleanup function */
177
+ cleanup?: (() => void) | undefined;
178
+ /** Navigation ID this component was mounted for */
179
+ navId: NavigationId;
180
+ /** Route node this component represents */
181
+ route: RouteNode;
182
+ }
183
+ /**
184
+ * Loading state for route segments
185
+ */
186
+ export interface RouteLoadingState {
187
+ /** Whether component is loading */
188
+ isLoading: boolean;
189
+ /** Whether loader is running */
190
+ isLoaderRunning: boolean;
191
+ /** Loading error if any */
192
+ error?: Error;
193
+ /** Navigation ID for this loading state */
194
+ navId: NavigationId;
195
+ }
196
+ /**
197
+ * History adapter interface - pure abstraction over browser history API
198
+ * Enables testing and alternative implementations (e.g., memory history, SSR)
199
+ */
200
+ export interface HistoryAdapter {
201
+ /** Push a new URL to history */
202
+ push(url: string, state?: unknown): void;
203
+ /** Replace current history entry */
204
+ replace(url: string, state?: unknown): void;
205
+ /** Subscribe to popstate events, returns unsubscribe function */
206
+ onPop(callback: (url: string, state?: unknown) => void): () => void;
207
+ /** Get current location */
208
+ getLocation(): {
209
+ path: string;
210
+ hash: string;
211
+ search: string;
212
+ };
213
+ /** Save scroll position to current history state */
214
+ saveScrollPosition(data: ScrollPositionData): void;
215
+ /** Go back in history (triggers popstate) */
216
+ back(): void;
217
+ /** Go forward in history (triggers popstate) */
218
+ forward(): void;
219
+ }
220
+ /**
221
+ * Scroll position data stored in history state
222
+ */
223
+ export interface ScrollPositionData {
224
+ /** Window scroll position */
225
+ window: {
226
+ x: number;
227
+ y: number;
228
+ };
229
+ /** Scroll positions for scrollable containers */
230
+ containers: Array<{
231
+ sel: string;
232
+ x: number;
233
+ y: number;
234
+ }>;
235
+ /** Timestamp when scroll was saved */
236
+ ts: number;
237
+ }
238
+ /**
239
+ * Navigation transaction context passed to guards, loaders, and hooks
240
+ * Provides all information needed for async operations during navigation
241
+ */
242
+ export interface TxContext {
243
+ /** Unique navigation ID */
244
+ id: NavigationId;
245
+ /** Source route match (null on initial navigation) */
246
+ from: RouteMatch | null;
247
+ /** Target route match */
248
+ to: RouteMatch;
249
+ /** Route parameters for target route */
250
+ params: RouteParams;
251
+ /** Query parameters from URL */
252
+ query: QueryParams;
253
+ /** Abort signal for canceling async operations */
254
+ signal: AbortSignal;
255
+ /** Navigation source discriminator */
256
+ source: NavigationSource;
257
+ }
258
+ /**
259
+ * Guard context passed to individual guard functions
260
+ */
261
+ export interface GuardContext {
262
+ /** Target path */
263
+ path: string;
264
+ /** Route parameters */
265
+ params: RouteParams;
266
+ /** Query parameters */
267
+ query: QueryParams;
268
+ /** Abort signal */
269
+ signal: AbortSignal;
270
+ /** Navigation ID */
271
+ navId: NavigationId;
272
+ /** Source path (optional) */
273
+ from?: string;
274
+ }
275
+ /**
276
+ * Synchronous guard result types (user-facing API)
277
+ */
278
+ export type SyncGuardResult = boolean | string | {
279
+ redirect: string;
280
+ replace?: boolean;
281
+ };
282
+ /**
283
+ * Guard result types (sync or async, user-facing API)
284
+ */
285
+ export type GuardResult = SyncGuardResult | Promise<SyncGuardResult>;
286
+ /**
287
+ * Guard function signature (user-facing API)
288
+ */
289
+ export type GuardFunction = (ctx: GuardContext) => GuardResult;
290
+ /**
291
+ * Guard execution result (internal router API)
292
+ */
293
+ export interface GuardExecutionResult {
294
+ /** Whether navigation is allowed */
295
+ allowed: boolean;
296
+ /** Redirect configuration if guard returned redirect */
297
+ redirect?: {
298
+ redirect: string;
299
+ replace?: boolean;
300
+ };
301
+ /** Error if guard execution failed */
302
+ error?: Error;
303
+ }
304
+ /**
305
+ * Loader function signature
306
+ */
307
+ export type LoaderFunction<T = unknown> = (ctx: LoaderContext) => Promise<T> | T;
308
+ /**
309
+ * Loader context passed to loader functions
310
+ */
311
+ export interface LoaderContext {
312
+ /** Route parameters */
313
+ params: RouteParams;
314
+ /** Query parameters */
315
+ query: QueryParams;
316
+ /** Abort signal */
317
+ signal: AbortSignal;
318
+ /** Navigation ID */
319
+ navId: NavigationId;
320
+ }
321
+ /**
322
+ * Cache strategy options for route loaders
323
+ */
324
+ export interface RouteCacheOptions {
325
+ /** Cache strategy */
326
+ strategy: CacheStrategy;
327
+ /** Time-to-live in milliseconds */
328
+ ttl: number;
329
+ }
330
+ /**
331
+ * Cache strategy types for loader caching behavior
332
+ */
333
+ export type CacheStrategy = 'no-store' | 'swr' | 'cache-first';
334
+ /**
335
+ * Resource state for loader data
336
+ */
337
+ export interface ResourceState {
338
+ /** Loading status */
339
+ status: 'idle' | 'loading' | 'ready' | 'error';
340
+ /** Loaded data */
341
+ data?: unknown;
342
+ /** Error if loading failed */
343
+ error?: Error;
344
+ /** Navigation ID that loaded this data */
345
+ navId: NavigationId;
346
+ /** Timestamp when data was loaded */
347
+ loadedAt: number;
348
+ }
349
+ /**
350
+ * Router state interface
351
+ * Represents the current state of the router including path, params, query, and loading status.
352
+ * Exposed as a reactive signal via router.state()
353
+ */
354
+ export interface RouterState {
355
+ /** Current route path */
356
+ path: string;
357
+ /** Current route parameters */
358
+ params: RouteParams;
359
+ /** Current query parameters */
360
+ query: QueryParams;
361
+ /** Current route match */
362
+ match: RouteMatch | null;
363
+ /** Current loader data */
364
+ loaderData: ResourceState | null;
365
+ /** Navigation loading state */
366
+ isNavigating: boolean;
367
+ /** Active navigation transaction */
368
+ activeNavigation: NavigationTransaction | null;
369
+ }
370
+ /**
371
+ * Navigation options for router.navigate()
372
+ * Controls navigation behavior such as history replacement and state preservation.
373
+ */
374
+ export interface NavigationOptions {
375
+ /** Replace current history entry instead of pushing new one */
376
+ replace?: boolean | undefined;
377
+ /** State object to associate with history entry */
378
+ state?: unknown;
379
+ /** Navigation source (programmatic, intercept, pop, hmr) */
380
+ source?: 'programmatic' | 'intercept' | 'pop' | 'hmr' | undefined;
381
+ }
382
+ /**
383
+ * DOM snapshot for outlet safety belt
384
+ * Used by Router and LoadingUIManager to preserve outlet state
385
+ */
386
+ export type Snapshot = DocumentFragment | null;
387
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/router/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /** @codex
2
+ {
3
+ "id": "pithy.router.types",
4
+ "title": "Router Type Definitions",
5
+ "category": "types"
6
+ }
7
+ */
8
+ /**
9
+ * Symbol to mark loader failure in navigation system
10
+ * Used to distinguish failed loaders from successful undefined returns
11
+ */
12
+ export const LOADER_FAILED = Symbol('pithy.loader.failed');
13
+ /**
14
+ * Route segment types for precedence calculation
15
+ */
16
+ export var SegmentType;
17
+ (function (SegmentType) {
18
+ SegmentType[SegmentType["Static"] = 3] = "Static";
19
+ SegmentType[SegmentType["Dynamic"] = 2] = "Dynamic";
20
+ SegmentType[SegmentType["CatchAll"] = 1] = "CatchAll";
21
+ })(SegmentType || (SegmentType = {}));
22
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/router/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;EAME;AAMF;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AA8C3D;;GAEG;AACH,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,iDAAU,CAAA;IACV,mDAAW,CAAA;IACX,qDAAY,CAAA;AACd,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB"}
@@ -0,0 +1,66 @@
1
+ /** @codex
2
+ {
3
+ "id": "pithy.router.core.utils",
4
+ "title": "Router Utility Functions",
5
+ "category": "runtime"
6
+ }
7
+ */
8
+ /**
9
+ * Extract HTMLElement from various value types
10
+ * Supports: HTMLElement, DocumentFragment, { el: ... }, HTML string
11
+ *
12
+ * @param value - Value that may contain an element
13
+ * @returns HTMLElement or null if extraction failed
14
+ *
15
+ * @codexApi {"parent":"pithy.router.core.utils","name":"extractElement","stability":"stable","signature":"function extractElement(value: any): HTMLElement | null"}
16
+ */
17
+ export declare function extractElement(value: unknown): HTMLElement | null;
18
+ /**
19
+ * Generate a CSS selector for an element
20
+ * Used for scroll position restoration
21
+ *
22
+ * Priority:
23
+ * 1. data-remember-scroll-id attribute
24
+ * 2. element ID (#id)
25
+ * 3. data-remember-scroll attribute value
26
+ * 4. fallback to [data-remember-scroll]
27
+ *
28
+ * @param el - The element to generate a selector for
29
+ * @returns CSS selector string
30
+ *
31
+ * @codexApi {"parent":"pithy.router.core.utils","name":"selectorFor","stability":"stable","signature":"function selectorFor(el: HTMLElement): string"}
32
+ */
33
+ export declare function selectorFor(el: HTMLElement): string;
34
+ /**
35
+ * Combine multiple abort signals into one
36
+ * Returns a signal that aborts when any of the input signals abort
37
+ *
38
+ * @param signals - Array of AbortSignals to combine
39
+ * @returns Combined AbortSignal
40
+ *
41
+ * @codexApi {"parent":"pithy.router.core.utils","name":"combineAbortSignals","stability":"stable","signature":"function combineAbortSignals(signals: AbortSignal[]): AbortSignal"}
42
+ */
43
+ export declare function combineAbortSignals(signals: AbortSignal[]): AbortSignal;
44
+ /**
45
+ * Check if a mouse event should be handled for navigation
46
+ * Filters out modified clicks (ctrl, meta, shift, alt) and non-left clicks
47
+ *
48
+ * @param event - MouseEvent to check
49
+ * @returns true if the event should trigger navigation
50
+ *
51
+ * @codexApi {"parent":"pithy.router.core.utils","name":"isNavigationClick","stability":"stable","signature":"function isNavigationClick(event: MouseEvent): boolean"}
52
+ */
53
+ export declare function isNavigationClick(event: MouseEvent): boolean;
54
+ /**
55
+ * Check if an anchor element should be intercepted for client-side navigation
56
+ * Returns null if the link should not be intercepted (let browser handle)
57
+ * Returns the normalized href if it should be intercepted
58
+ *
59
+ * @param anchor - Anchor element to check
60
+ * @param basePath - Optional base path to strip from URLs
61
+ * @returns Normalized href string or null
62
+ *
63
+ * @codexApi {"parent":"pithy.router.core.utils","name":"shouldInterceptLink","stability":"stable","signature":"function shouldInterceptLink(anchor: HTMLAnchorElement, basePath?: string): string | null"}
64
+ */
65
+ export declare function shouldInterceptLink(anchor: HTMLAnchorElement, basePath?: string): string | null;
66
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/router/core/utils.ts"],"names":[],"mappings":"AAAA;;;;;;EAME;AAEF;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAmCjE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM,CAQnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,WAAW,CAmBvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAS5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,iBAAiB,EACzB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,IAAI,CA8Bf"}