@xmachines/docs 1.0.0-beta.10

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 (197) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -0
  3. package/api/@xmachines/play/README.md +130 -0
  4. package/api/@xmachines/play/type-aliases/PlayEvent.md +81 -0
  5. package/api/@xmachines/play-actor/README.md +247 -0
  6. package/api/@xmachines/play-actor/classes/AbstractActor.md +520 -0
  7. package/api/@xmachines/play-actor/interfaces/Routable.md +29 -0
  8. package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +17 -0
  9. package/api/@xmachines/play-actor/interfaces/Viewable.md +12 -0
  10. package/api/@xmachines/play-catalog/README.md +331 -0
  11. package/api/@xmachines/play-catalog/functions/defineCatalog.md +98 -0
  12. package/api/@xmachines/play-catalog/functions/defineComponents.md +134 -0
  13. package/api/@xmachines/play-catalog/type-aliases/Catalog.md +48 -0
  14. package/api/@xmachines/play-catalog/type-aliases/ComponentsFor.md +20 -0
  15. package/api/@xmachines/play-catalog/type-aliases/InferComponentProps.md +65 -0
  16. package/api/@xmachines/play-catalog/type-aliases/NoExtraKeys.md +17 -0
  17. package/api/@xmachines/play-react/README.md +423 -0
  18. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +613 -0
  19. package/api/@xmachines/play-react/functions/useSignalEffect.md +68 -0
  20. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +15 -0
  21. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +14 -0
  22. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +15 -0
  23. package/api/@xmachines/play-react/variables/PlayRenderer.md +64 -0
  24. package/api/@xmachines/play-react-router/README.md +198 -0
  25. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +321 -0
  26. package/api/@xmachines/play-react-router/classes/RouteMap.md +137 -0
  27. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +19 -0
  28. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +35 -0
  29. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +119 -0
  30. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +14 -0
  31. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +17 -0
  32. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +104 -0
  33. package/api/@xmachines/play-react-router-demo/README.md +137 -0
  34. package/api/@xmachines/play-router/README.md +502 -0
  35. package/api/@xmachines/play-router/classes/BaseRouteMap.md +142 -0
  36. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +300 -0
  37. package/api/@xmachines/play-router/functions/buildRouteTree.md +27 -0
  38. package/api/@xmachines/play-router/functions/connectRouter.md +67 -0
  39. package/api/@xmachines/play-router/functions/crawlMachine.md +92 -0
  40. package/api/@xmachines/play-router/functions/createBrowserHistory.md +47 -0
  41. package/api/@xmachines/play-router/functions/createRouteMap.md +53 -0
  42. package/api/@xmachines/play-router/functions/createRouter.md +76 -0
  43. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +32 -0
  44. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +64 -0
  45. package/api/@xmachines/play-router/functions/extractRoute.md +45 -0
  46. package/api/@xmachines/play-router/functions/findRouteById.md +37 -0
  47. package/api/@xmachines/play-router/functions/findRouteByPath.md +39 -0
  48. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +35 -0
  49. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +39 -0
  50. package/api/@xmachines/play-router/functions/routeExists.md +26 -0
  51. package/api/@xmachines/play-router/functions/validateRouteFormat.md +29 -0
  52. package/api/@xmachines/play-router/functions/validateStateExists.md +29 -0
  53. package/api/@xmachines/play-router/interfaces/BaseRouteMapping.md +27 -0
  54. package/api/@xmachines/play-router/interfaces/BrowserHistory.md +172 -0
  55. package/api/@xmachines/play-router/interfaces/BrowserWindow.md +69 -0
  56. package/api/@xmachines/play-router/interfaces/ConnectRouterOptions.md +13 -0
  57. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +119 -0
  58. package/api/@xmachines/play-router/interfaces/RouteInfo.md +19 -0
  59. package/api/@xmachines/play-router/interfaces/RouteMap.md +56 -0
  60. package/api/@xmachines/play-router/interfaces/RouteNode.md +21 -0
  61. package/api/@xmachines/play-router/interfaces/RouteObject.md +21 -0
  62. package/api/@xmachines/play-router/interfaces/RouteTree.md +20 -0
  63. package/api/@xmachines/play-router/interfaces/RouterBridge.md +104 -0
  64. package/api/@xmachines/play-router/interfaces/StateVisit.md +15 -0
  65. package/api/@xmachines/play-router/interfaces/VanillaRouter.md +28 -0
  66. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +11 -0
  67. package/api/@xmachines/play-router-demo/README.md +137 -0
  68. package/api/@xmachines/play-signals/README.md +176 -0
  69. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +34 -0
  70. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +49 -0
  71. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +35 -0
  72. package/api/@xmachines/play-signals/interfaces/SignalState.md +68 -0
  73. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +97 -0
  74. package/api/@xmachines/play-signals/namespaces/Signal/README.md +22 -0
  75. package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +52 -0
  76. package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +72 -0
  77. package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +19 -0
  78. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/README.md +21 -0
  79. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +85 -0
  80. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +13 -0
  81. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +19 -0
  82. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +19 -0
  83. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +19 -0
  84. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +19 -0
  85. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +25 -0
  86. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +9 -0
  87. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +9 -0
  88. package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +19 -0
  89. package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +19 -0
  90. package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +19 -0
  91. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +32 -0
  92. package/api/@xmachines/play-solid/README.md +311 -0
  93. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +15 -0
  94. package/api/@xmachines/play-solid/variables/PlayRenderer.md +70 -0
  95. package/api/@xmachines/play-solid-router/README.md +666 -0
  96. package/api/@xmachines/play-solid-router/classes/RouteMap.md +150 -0
  97. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +347 -0
  98. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +19 -0
  99. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +32 -0
  100. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +486 -0
  101. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +119 -0
  102. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +14 -0
  103. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +14 -0
  104. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +104 -0
  105. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +9 -0
  106. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +51 -0
  107. package/api/@xmachines/play-solid-router-demo/README.md +127 -0
  108. package/api/@xmachines/play-tanstack-react-router/README.md +226 -0
  109. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +137 -0
  110. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +348 -0
  111. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +19 -0
  112. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +53 -0
  113. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +35 -0
  114. package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +38 -0
  115. package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +33 -0
  116. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +119 -0
  117. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +14 -0
  118. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +17 -0
  119. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +26 -0
  120. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +104 -0
  121. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +9 -0
  122. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +78 -0
  123. package/api/@xmachines/play-tanstack-react-router/variables/extractMachineRoutes.md +64 -0
  124. package/api/@xmachines/play-tanstack-react-router-demo/README.md +126 -0
  125. package/api/@xmachines/play-tanstack-solid-router/README.md +285 -0
  126. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +150 -0
  127. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +343 -0
  128. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +19 -0
  129. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +32 -0
  130. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +119 -0
  131. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +14 -0
  132. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +23 -0
  133. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +104 -0
  134. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +9 -0
  135. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +9 -0
  136. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +78 -0
  137. package/api/@xmachines/play-tanstack-solid-router-demo/README.md +126 -0
  138. package/api/@xmachines/play-vue/README.md +292 -0
  139. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +14 -0
  140. package/api/@xmachines/play-vue/variables/PlayRenderer.md +9 -0
  141. package/api/@xmachines/play-vue-router/README.md +604 -0
  142. package/api/@xmachines/play-vue-router/classes/RouteMap.md +209 -0
  143. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +201 -0
  144. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +360 -0
  145. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +19 -0
  146. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +119 -0
  147. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +15 -0
  148. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +104 -0
  149. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +9 -0
  150. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +67 -0
  151. package/api/@xmachines/play-vue-router-demo/README.md +133 -0
  152. package/api/@xmachines/play-xstate/README.md +512 -0
  153. package/api/@xmachines/play-xstate/classes/PlayerActor.md +527 -0
  154. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +43 -0
  155. package/api/@xmachines/play-xstate/functions/composeGuards.md +79 -0
  156. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +67 -0
  157. package/api/@xmachines/play-xstate/functions/definePlayer.md +127 -0
  158. package/api/@xmachines/play-xstate/functions/deriveRoute.md +109 -0
  159. package/api/@xmachines/play-xstate/functions/eventMatches.md +40 -0
  160. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +54 -0
  161. package/api/@xmachines/play-xstate/functions/hasContext.md +42 -0
  162. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +41 -0
  163. package/api/@xmachines/play-xstate/functions/mergeViewProps.md +26 -0
  164. package/api/@xmachines/play-xstate/functions/negateGuard.md +61 -0
  165. package/api/@xmachines/play-xstate/functions/stateMatches.md +25 -0
  166. package/api/@xmachines/play-xstate/functions/validateComponentBinding.md +39 -0
  167. package/api/@xmachines/play-xstate/functions/validateViewProps.md +80 -0
  168. package/api/@xmachines/play-xstate/interfaces/CatalogEntry.md +16 -0
  169. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +24 -0
  170. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +26 -0
  171. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +22 -0
  172. package/api/@xmachines/play-xstate/type-aliases/Catalog.md +21 -0
  173. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +14 -0
  174. package/api/@xmachines/play-xstate/type-aliases/Guard.md +34 -0
  175. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +20 -0
  176. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +29 -0
  177. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +45 -0
  178. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +51 -0
  179. package/api/@xmachines/play-xstate/type-aliases/ValidationResult.md +17 -0
  180. package/api/@xmachines/play-xstate/type-aliases/ViewMergeContext.md +35 -0
  181. package/api/@xmachines/shared/README.md +379 -0
  182. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +29 -0
  183. package/api/@xmachines/shared/functions/xmAliases.md +24 -0
  184. package/api/README.md +25 -0
  185. package/api/llms.txt +26 -0
  186. package/examples/README.md +63 -0
  187. package/examples/basic-state-machine.md +70 -0
  188. package/examples/form-validation.md +167 -0
  189. package/examples/multi-router-integration.md +277 -0
  190. package/examples/routing-patterns.md +260 -0
  191. package/examples/traffic-light.md +99 -0
  192. package/guides/README.md +29 -0
  193. package/guides/getting-started.md +223 -0
  194. package/guides/installation.md +323 -0
  195. package/index.d.ts +3 -0
  196. package/index.js +4 -0
  197. package/package.json +54 -0
@@ -0,0 +1,150 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-solid-router](../README.md) / RouteMap
2
+
3
+ # Class: RouteMap
4
+
5
+ Defined in: [packages/play-solid-router/src/route-map.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-solid-router/src/route-map.ts#L26)
6
+
7
+ Shared bidirectional route map base class.
8
+
9
+ All framework adapter `RouteMap` classes extend this — they add no logic of their
10
+ own and inherit the full public API from here.
11
+
12
+ **Lookup strategy:**
13
+
14
+ - Static paths (no `:param`) → O(1) `Map` lookup
15
+ - Dynamic paths → O(k) bucket-indexed scan using `RegExp`, where `k` is the number
16
+ of routes sharing the same first path segment
17
+ - Results are cached after the first match
18
+
19
+ **Pattern syntax** (`:param` / `:param?`):
20
+
21
+ - `:param` — required segment, matches exactly one non-`/` segment
22
+ - `:param?` — optional segment, matches zero or one non-`/` segment
23
+
24
+ ## Example
25
+
26
+ ```typescript
27
+ import { BaseRouteMap } from "@xmachines/play-router";
28
+
29
+ const map = new BaseRouteMap([
30
+ { stateId: "home", path: "/" },
31
+ { stateId: "profile", path: "/profile/:userId" },
32
+ { stateId: "settings", path: "/settings/:section?" },
33
+ ]);
34
+
35
+ map.getStateIdByPath("/"); // "home"
36
+ map.getStateIdByPath("/profile/123"); // "profile"
37
+ map.getStateIdByPath("/settings"); // "settings"
38
+ map.getStateIdByPath("/unknown"); // null
39
+
40
+ map.getPathByStateId("profile"); // "/profile/:userId"
41
+ map.getPathByStateId("missing"); // null
42
+ ```
43
+
44
+ ## Extends
45
+
46
+ - [`BaseRouteMap`](../../play-router/classes/BaseRouteMap.md)
47
+
48
+ ## Constructors
49
+
50
+ ### Constructor
51
+
52
+ ```ts
53
+ new RouteMap(mappings): RouteMap;
54
+ ```
55
+
56
+ Defined in: packages/play-router/dist/base-route-map.d.ts:81
57
+
58
+ Build a route map from an array of state ID ↔ path mappings.
59
+
60
+ Static paths (no `:param`) are indexed in an O(1) `Map`.
61
+ Parameterized paths are compiled to `RegExp` and grouped into first-segment
62
+ buckets for efficient candidate selection.
63
+
64
+ #### Parameters
65
+
66
+ | Parameter | Type | Description |
67
+ | ---------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------- |
68
+ | `mappings` | [`BaseRouteMapping`](../../play-router/interfaces/BaseRouteMapping.md)[] | Array of `{ stateId, path }` entries. Order determines priority when multiple patterns could match the same path. |
69
+
70
+ #### Returns
71
+
72
+ `RouteMap`
73
+
74
+ #### Inherited from
75
+
76
+ [`BaseRouteMap`](../../play-router/classes/BaseRouteMap.md).[`constructor`](../../play-router/classes/BaseRouteMap.md#constructor)
77
+
78
+ ## Methods
79
+
80
+ ### getPathByStateId()
81
+
82
+ ```ts
83
+ getPathByStateId(stateId): string | null;
84
+ ```
85
+
86
+ Defined in: packages/play-router/dist/base-route-map.d.ts:111
87
+
88
+ Look up the path pattern registered for a state ID.
89
+
90
+ #### Parameters
91
+
92
+ | Parameter | Type | Description |
93
+ | --------- | -------- | --------------------------------------------------------- |
94
+ | `stateId` | `string` | State machine state ID (e.g., `"profile"`, `"#settings"`) |
95
+
96
+ #### Returns
97
+
98
+ `string` \| `null`
99
+
100
+ The registered path pattern, or `null` if the state ID is unknown
101
+
102
+ #### Example
103
+
104
+ ```typescript
105
+ map.getPathByStateId("profile"); // "/profile/:userId"
106
+ map.getPathByStateId("missing"); // null
107
+ ```
108
+
109
+ #### Inherited from
110
+
111
+ [`BaseRouteMap`](../../play-router/classes/BaseRouteMap.md).[`getPathByStateId`](../../play-router/classes/BaseRouteMap.md#getpathbystateid)
112
+
113
+ ---
114
+
115
+ ### getStateIdByPath()
116
+
117
+ ```ts
118
+ getStateIdByPath(path): string | null;
119
+ ```
120
+
121
+ Defined in: packages/play-router/dist/base-route-map.d.ts:98
122
+
123
+ Resolve a URL path to its mapped state ID.
124
+
125
+ Strips query strings and hash fragments before matching. Tries an O(1) exact
126
+ lookup first, then falls back to bucket-indexed pattern matching. Results are
127
+ cached after the first pattern match.
128
+
129
+ #### Parameters
130
+
131
+ | Parameter | Type | Description |
132
+ | --------- | -------- | ------------------------------------------------------------------------------ |
133
+ | `path` | `string` | URL pathname, optionally including query/hash (e.g., `"/profile/123?ref=nav"`) |
134
+
135
+ #### Returns
136
+
137
+ `string` \| `null`
138
+
139
+ The mapped state ID, or `null` if no route matches
140
+
141
+ #### Example
142
+
143
+ ```typescript
144
+ map.getStateIdByPath("/profile/123"); // "profile"
145
+ map.getStateIdByPath("/unknown"); // null
146
+ ```
147
+
148
+ #### Inherited from
149
+
150
+ [`BaseRouteMap`](../../play-router/classes/BaseRouteMap.md).[`getStateIdByPath`](../../play-router/classes/BaseRouteMap.md#getstateidbypath)
@@ -0,0 +1,347 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-solid-router](../README.md) / SolidRouterBridge
2
+
3
+ # Class: SolidRouterBridge
4
+
5
+ Defined in: [packages/play-solid-router/src/solid-router-bridge.ts:47](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-solid-router/src/solid-router-bridge.ts#L47)
6
+
7
+ SolidJS Router integration bridge extending RouterBridgeBase
8
+
9
+ Implements RouterBridge protocol for SolidJS Router using Solid's reactive
10
+ primitives. The actor→router direction uses TC39 Signal watcher (from base class).
11
+ The router→actor direction uses Solid's createEffect for native reactivity.
12
+
13
+ ## Extends
14
+
15
+ - [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md)
16
+
17
+ ## Constructors
18
+
19
+ ### Constructor
20
+
21
+ ```ts
22
+ new SolidRouterBridge(
23
+ solidNavigate,
24
+ location,
25
+ _params,
26
+ actor,
27
+ routeMap): SolidRouterBridge;
28
+ ```
29
+
30
+ Defined in: [packages/play-solid-router/src/solid-router-bridge.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-solid-router/src/solid-router-bridge.ts#L59)
31
+
32
+ Create a SolidJS Router bridge
33
+
34
+ **CRITICAL:** `connect()` must be called inside a Solid component where hooks are available.
35
+
36
+ #### Parameters
37
+
38
+ | Parameter | Type | Description |
39
+ | ------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------- |
40
+ | `solidNavigate` | (`path`, ...`args`) => `unknown` | Result of useNavigate() hook |
41
+ | `location` | \{ `pathname`: `string`; `search`: `string`; \} | Result of useLocation() hook |
42
+ | `location.pathname` | `string` | - |
43
+ | `location.search` | `string` | - |
44
+ | `_params` | `Record`\<`string`, `string` \| `undefined`\> | Result of useParams() hook |
45
+ | `actor` | [`AbstractActor`](../interfaces/AbstractActor.md)\<`AnyActorLogic`\> & [`Routable`](../../play-actor/interfaces/Routable.md) | XMachines actor instance |
46
+ | `routeMap` | [`RouteMap`](RouteMap.md) | Bidirectional state ID ↔ path mapping |
47
+
48
+ #### Returns
49
+
50
+ `SolidRouterBridge`
51
+
52
+ #### Overrides
53
+
54
+ [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`constructor`](../../play-router/classes/RouterBridgeBase.md#constructor)
55
+
56
+ ## Properties
57
+
58
+ | Property | Modifier | Type | Description | Inherited from | Defined in |
59
+ | --------------------------------------------------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
60
+ | <a id="property-actor"></a> `actor` | `readonly` | [`AbstractActor`](../interfaces/AbstractActor.md)\<`AnyActorLogic`\> & [`Routable`](../../play-actor/interfaces/Routable.md) | Actor with currentRoute signal and send method | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`actor`](../../play-router/classes/RouterBridgeBase.md#property-actor) | packages/play-router/dist/router-bridge-base.d.ts:55 |
61
+ | <a id="property-hasconnectedonce"></a> `hasConnectedOnce` | `protected` | `boolean` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`hasConnectedOnce`](../../play-router/classes/RouterBridgeBase.md#property-hasconnectedonce) | packages/play-router/dist/router-bridge-base.d.ts:61 |
62
+ | <a id="property-isconnected"></a> `isConnected` | `protected` | `boolean` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`isConnected`](../../play-router/classes/RouterBridgeBase.md#property-isconnected) | packages/play-router/dist/router-bridge-base.d.ts:60 |
63
+ | <a id="property-isprocessingnavigation"></a> `isProcessingNavigation` | `protected` | `boolean` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`isProcessingNavigation`](../../play-router/classes/RouterBridgeBase.md#property-isprocessingnavigation) | packages/play-router/dist/router-bridge-base.d.ts:63 |
64
+ | <a id="property-lastsyncedpath"></a> `lastSyncedPath` | `protected` | `string` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`lastSyncedPath`](../../play-router/classes/RouterBridgeBase.md#property-lastsyncedpath) | packages/play-router/dist/router-bridge-base.d.ts:62 |
65
+ | <a id="property-routemap"></a> `routeMap` | `readonly` | `object` | Bidirectional route map for stateId ↔ path resolution | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`routeMap`](../../play-router/classes/RouterBridgeBase.md#property-routemap) | packages/play-router/dist/router-bridge-base.d.ts:56 |
66
+ | `routeMap.getPathByStateId` | `public` | `string` \| `null` \| `undefined` | - | - | packages/play-router/dist/router-bridge-base.d.ts:58 |
67
+ | `routeMap.getStateIdByPath` | `public` | `string` \| `null` \| `undefined` | - | - | packages/play-router/dist/router-bridge-base.d.ts:57 |
68
+ | <a id="property-routewatcher"></a> `routeWatcher` | `protected` | \| [`Watcher`](../../play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md) \| `null` | - | [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`routeWatcher`](../../play-router/classes/RouterBridgeBase.md#property-routewatcher) | packages/play-router/dist/router-bridge-base.d.ts:64 |
69
+
70
+ ## Methods
71
+
72
+ ### connect()
73
+
74
+ ```ts
75
+ connect(): void;
76
+ ```
77
+
78
+ Defined in: packages/play-router/dist/router-bridge-base.d.ts:81
79
+
80
+ Connect the router bridge to the Actor.
81
+
82
+ Sets up the TC39 Signal watcher for actor → router direction and
83
+ starts watching router changes (framework-specific).
84
+
85
+ #### Returns
86
+
87
+ `void`
88
+
89
+ #### Inherited from
90
+
91
+ [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`connect`](../../play-router/classes/RouterBridgeBase.md#connect)
92
+
93
+ ---
94
+
95
+ ### disconnect()
96
+
97
+ ```ts
98
+ disconnect(): void;
99
+ ```
100
+
101
+ Defined in: packages/play-router/dist/router-bridge-base.d.ts:87
102
+
103
+ Disconnect the router bridge from the Actor.
104
+
105
+ Stops signal watching and unregisters framework-specific router listener.
106
+
107
+ #### Returns
108
+
109
+ `void`
110
+
111
+ #### Inherited from
112
+
113
+ [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`disconnect`](../../play-router/classes/RouterBridgeBase.md#disconnect)
114
+
115
+ ---
116
+
117
+ ### dispose()
118
+
119
+ ```ts
120
+ dispose(): void;
121
+ ```
122
+
123
+ Defined in: [packages/play-solid-router/src/solid-router-bridge.ts:123](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-solid-router/src/solid-router-bridge.ts#L123)
124
+
125
+ Dispose the bridge (alias for disconnect).
126
+
127
+ #### Returns
128
+
129
+ `void`
130
+
131
+ #### Example
132
+
133
+ ```tsx
134
+ onCleanup(() => bridge.dispose());
135
+ ```
136
+
137
+ ---
138
+
139
+ ### extractParams()
140
+
141
+ ```ts
142
+ protected extractParams(pathname, stateId): Record<string, string>;
143
+ ```
144
+
145
+ Defined in: packages/play-router/dist/router-bridge-base.d.ts:134
146
+
147
+ Extract path parameters from URL using the URLPattern API.
148
+
149
+ Accesses `globalThis.URLPattern` at runtime — no polyfill is imported by this
150
+ library. If `URLPattern` is unavailable (Node.js < 24, older browsers without a
151
+ polyfill), this method returns `{}` silently (graceful degradation — routing still
152
+ works, params will be empty).
153
+
154
+ #### Parameters
155
+
156
+ | Parameter | Type | Description |
157
+ | ---------- | -------- | ------------------------------------------------- |
158
+ | `pathname` | `string` | The actual URL path (e.g., '/profile/john') |
159
+ | `stateId` | `string` | The matched state ID for looking up route pattern |
160
+
161
+ #### Returns
162
+
163
+ `Record`\<`string`, `string`\>
164
+
165
+ Extracted path parameters, or empty object if URLPattern is unavailable or no match
166
+
167
+ #### Inherited from
168
+
169
+ [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`extractParams`](../../play-router/classes/RouterBridgeBase.md#extractparams)
170
+
171
+ ---
172
+
173
+ ### extractQuery()
174
+
175
+ ```ts
176
+ protected extractQuery(search): Record<string, string>;
177
+ ```
178
+
179
+ Defined in: packages/play-router/dist/router-bridge-base.d.ts:141
180
+
181
+ Extract query parameters from URL search string.
182
+
183
+ #### Parameters
184
+
185
+ | Parameter | Type | Description |
186
+ | --------- | -------- | ------------------------------------------------ |
187
+ | `search` | `string` | URL search string (e.g., '?tab=security&page=1') |
188
+
189
+ #### Returns
190
+
191
+ `Record`\<`string`, `string`\>
192
+
193
+ Extracted query parameters or empty object
194
+
195
+ #### Inherited from
196
+
197
+ [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`extractQuery`](../../play-router/classes/RouterBridgeBase.md#extractquery)
198
+
199
+ ---
200
+
201
+ ### getInitialRouterPath()
202
+
203
+ ```ts
204
+ protected getInitialRouterPath(): string | null;
205
+ ```
206
+
207
+ Defined in: [packages/play-solid-router/src/solid-router-bridge.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-solid-router/src/solid-router-bridge.ts#L82)
208
+
209
+ Get the current router pathname for initial URL -> actor sync on connect.
210
+
211
+ #### Returns
212
+
213
+ `string` \| `null`
214
+
215
+ #### Overrides
216
+
217
+ [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`getInitialRouterPath`](../../play-router/classes/RouterBridgeBase.md#getinitialrouterpath)
218
+
219
+ ---
220
+
221
+ ### navigateRouter()
222
+
223
+ ```ts
224
+ protected navigateRouter(path): void;
225
+ ```
226
+
227
+ Defined in: [packages/play-solid-router/src/solid-router-bridge.ts:75](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-solid-router/src/solid-router-bridge.ts#L75)
228
+
229
+ Navigate SolidJS Router to the given path.
230
+
231
+ #### Parameters
232
+
233
+ | Parameter | Type |
234
+ | --------- | -------- |
235
+ | `path` | `string` |
236
+
237
+ #### Returns
238
+
239
+ `void`
240
+
241
+ #### Overrides
242
+
243
+ [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`navigateRouter`](../../play-router/classes/RouterBridgeBase.md#navigaterouter)
244
+
245
+ ---
246
+
247
+ ### syncActorFromRouter()
248
+
249
+ ```ts
250
+ protected syncActorFromRouter(pathname, search?): void;
251
+ ```
252
+
253
+ Defined in: packages/play-router/dist/router-bridge-base.d.ts:101
254
+
255
+ Sync actor state when router location changes.
256
+
257
+ Sends play.route event to actor with resolved stateId, params, and query.
258
+ Prevents circular updates via isProcessingNavigation flag.
259
+
260
+ #### Parameters
261
+
262
+ | Parameter | Type |
263
+ | ---------- | -------- |
264
+ | `pathname` | `string` |
265
+ | `search?` | `string` |
266
+
267
+ #### Returns
268
+
269
+ `void`
270
+
271
+ #### Inherited from
272
+
273
+ [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`syncActorFromRouter`](../../play-router/classes/RouterBridgeBase.md#syncactorfromrouter)
274
+
275
+ ---
276
+
277
+ ### syncRouterFromActor()
278
+
279
+ ```ts
280
+ protected syncRouterFromActor(route): void;
281
+ ```
282
+
283
+ Defined in: packages/play-router/dist/router-bridge-base.d.ts:94
284
+
285
+ Sync router location when actor route signal changes.
286
+
287
+ Calls navigateRouter() for framework-specific navigation.
288
+ Prevents circular updates via isProcessingNavigation flag.
289
+
290
+ #### Parameters
291
+
292
+ | Parameter | Type |
293
+ | --------- | --------- |
294
+ | `route` | `unknown` |
295
+
296
+ #### Returns
297
+
298
+ `void`
299
+
300
+ #### Inherited from
301
+
302
+ [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`syncRouterFromActor`](../../play-router/classes/RouterBridgeBase.md#syncrouterfromactor)
303
+
304
+ ---
305
+
306
+ ### unwatchRouterChanges()
307
+
308
+ ```ts
309
+ protected unwatchRouterChanges(): void;
310
+ ```
311
+
312
+ Defined in: [packages/play-solid-router/src/solid-router-bridge.ts:111](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-solid-router/src/solid-router-bridge.ts#L111)
313
+
314
+ Stop watching SolidJS Router changes.
315
+
316
+ Solid auto-cleans createEffect subscriptions when component unmounts.
317
+
318
+ #### Returns
319
+
320
+ `void`
321
+
322
+ #### Overrides
323
+
324
+ [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`unwatchRouterChanges`](../../play-router/classes/RouterBridgeBase.md#unwatchrouterchanges)
325
+
326
+ ---
327
+
328
+ ### watchRouterChanges()
329
+
330
+ ```ts
331
+ protected watchRouterChanges(): void;
332
+ ```
333
+
334
+ Defined in: [packages/play-solid-router/src/solid-router-bridge.ts:92](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-solid-router/src/solid-router-bridge.ts#L92)
335
+
336
+ Subscribe to SolidJS Router location changes using createEffect.
337
+
338
+ MUST be called inside a Solid reactive owner (component/createRoot).
339
+ Solid auto-cleans createEffect subscriptions on component unmount.
340
+
341
+ #### Returns
342
+
343
+ `void`
344
+
345
+ #### Overrides
346
+
347
+ [`RouterBridgeBase`](../../play-router/classes/RouterBridgeBase.md).[`watchRouterChanges`](../../play-router/classes/RouterBridgeBase.md#watchrouterchanges)
@@ -0,0 +1,19 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-solid-router](../README.md) / PlayRouterProvider
2
+
3
+ # Function: PlayRouterProvider()
4
+
5
+ ```ts
6
+ function PlayRouterProvider(props): any;
7
+ ```
8
+
9
+ Defined in: [packages/play-solid-router/src/play-router-provider.tsx:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-solid-router/src/play-router-provider.tsx#L21)
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Type |
14
+ | --------- | --------------------------------------------------------------------- |
15
+ | `props` | [`PlayRouterProviderProps`](../interfaces/PlayRouterProviderProps.md) |
16
+
17
+ ## Returns
18
+
19
+ `any`
@@ -0,0 +1,32 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-solid-router](../README.md) / createRouteMap
2
+
3
+ # Function: createRouteMap()
4
+
5
+ ```ts
6
+ function createRouteMap(machine): RouteMap;
7
+ ```
8
+
9
+ Defined in: [packages/play-solid-router/src/create-route-map.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-solid-router/src/create-route-map.ts#L27)
10
+
11
+ Create a RouteMap from an XState machine
12
+
13
+ ## Parameters
14
+
15
+ | Parameter | Type | Description |
16
+ | --------- | ----------------- | ---------------------------------------------- |
17
+ | `machine` | `AnyStateMachine` | XState machine with route: {} config on states |
18
+
19
+ ## Returns
20
+
21
+ [`RouteMap`](../classes/RouteMap.md)
22
+
23
+ RouteMap for bidirectional state ID ↔ path resolution
24
+
25
+ ## Example
26
+
27
+ ```typescript
28
+ import { createRouteMap } from "@xmachines/play-solid-router";
29
+ import { authMachine } from "./machine.js";
30
+
31
+ const routeMap = createRouteMap(authMachine);
32
+ ```