@xmachines/docs 1.0.0-beta.25 → 1.0.0-beta.27

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 (268) hide show
  1. package/api/@xmachines/play/classes/PlayError.md +10 -4
  2. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  3. package/api/@xmachines/play-actor/README.md +4 -0
  4. package/api/@xmachines/play-actor/classes/AbstractActor.md +49 -92
  5. package/api/@xmachines/play-actor/functions/typedSpec.md +57 -0
  6. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +9 -18
  7. package/api/@xmachines/play-actor/interfaces/Routable.md +5 -21
  8. package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +6 -6
  9. package/api/@xmachines/play-actor/interfaces/Viewable.md +5 -6
  10. package/api/@xmachines/play-dom/README.md +24 -8
  11. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  12. package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
  13. package/api/@xmachines/play-dom/functions/defineRegistry.md +61 -0
  14. package/api/@xmachines/play-dom/functions/renderSpec.md +29 -12
  15. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +62 -0
  16. package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +9 -9
  17. package/api/@xmachines/play-dom/interfaces/DefineRegistryOptions.md +25 -0
  18. package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +18 -0
  19. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +13 -10
  20. package/api/@xmachines/play-dom/interfaces/EventHandle.md +29 -0
  21. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +5 -5
  22. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +53 -0
  23. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +21 -0
  24. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +16 -3
  25. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +5 -2
  26. package/api/@xmachines/play-dom-router/README.md +10 -0
  27. package/api/@xmachines/play-dom-router/functions/connectRouter.md +18 -46
  28. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  29. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +38 -0
  30. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  31. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +16 -16
  32. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  33. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +6 -6
  34. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +119 -0
  35. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +114 -0
  36. package/api/@xmachines/play-dom-router/interfaces/RouteMapLike.md +50 -0
  37. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +27 -0
  38. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +104 -0
  39. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
  40. package/api/@xmachines/play-dom-router/type-aliases/RoutableActor.md +9 -0
  41. package/api/@xmachines/play-dom-router-demo/README.md +46 -51
  42. package/api/@xmachines/play-react/README.md +4 -4
  43. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +31 -5
  44. package/api/@xmachines/play-react/functions/defineRegistry.md +2 -0
  45. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  46. package/api/@xmachines/play-react/functions/useBoundProp.md +2 -0
  47. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  48. package/api/@xmachines/play-react/functions/useStateBinding.md +2 -0
  49. package/api/@xmachines/play-react/interfaces/ComponentContext.md +2 -0
  50. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
  51. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
  52. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +7 -7
  53. package/api/@xmachines/play-react/type-aliases/ComponentFn.md +2 -0
  54. package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
  55. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  56. package/api/@xmachines/play-react-router/README.md +5 -1
  57. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +102 -25
  58. package/api/@xmachines/play-react-router/classes/RouteMap.md +17 -33
  59. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +8 -1
  60. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +21 -11
  61. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +8 -8
  62. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +7 -7
  63. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +18 -8
  64. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  65. package/api/@xmachines/play-router/README.md +42 -5
  66. package/api/@xmachines/play-router/classes/BaseRouteMap.md +12 -19
  67. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +100 -25
  68. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  69. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  70. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  71. package/api/@xmachines/play-router/functions/createRouteMapFromMachine.md +38 -0
  72. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +45 -0
  73. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  74. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  75. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  76. package/api/@xmachines/play-router/functions/extractRouteParams.md +46 -0
  77. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  78. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  79. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  80. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  81. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  82. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  83. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  84. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  85. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  86. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  87. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  88. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
  89. package/api/@xmachines/play-router/interfaces/LocationLike.md +27 -0
  90. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
  91. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
  92. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +8 -8
  93. package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
  94. package/api/@xmachines/play-router/interfaces/RouteMap.md +4 -4
  95. package/api/@xmachines/play-router/interfaces/{BaseRouteMapping.md → RouteMapping.md} +5 -5
  96. package/api/@xmachines/play-router/interfaces/RouteMatch.md +5 -5
  97. package/api/@xmachines/play-router/interfaces/RouteNode.md +12 -12
  98. package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
  99. package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
  100. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  101. package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
  102. package/api/@xmachines/play-router/interfaces/WindowLike.md +65 -0
  103. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  104. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  105. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  106. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  107. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  108. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  109. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  110. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  111. package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +6 -0
  112. package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +8 -0
  113. package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +2 -0
  114. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +10 -0
  115. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +2 -0
  116. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +2 -0
  117. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +2 -0
  118. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +2 -0
  119. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +2 -0
  120. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +2 -0
  121. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +2 -0
  122. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +2 -0
  123. package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +2 -0
  124. package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +2 -0
  125. package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +2 -0
  126. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  127. package/api/@xmachines/play-solid/README.md +4 -4
  128. package/api/@xmachines/play-solid/functions/defineRegistry.md +2 -0
  129. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  130. package/api/@xmachines/play-solid/functions/useStateBinding.md +2 -0
  131. package/api/@xmachines/play-solid/interfaces/ComponentContext.md +2 -0
  132. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +7 -7
  133. package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +2 -0
  134. package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
  135. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  136. package/api/@xmachines/play-solid-router/README.md +2 -2
  137. package/api/@xmachines/play-solid-router/classes/RouteMap.md +13 -26
  138. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +121 -46
  139. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
  140. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +15 -9
  141. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +47 -92
  142. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +8 -8
  143. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  144. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +19 -6
  145. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  146. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  147. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +21 -18
  148. package/api/@xmachines/play-solid-router-demo/README.md +25 -28
  149. package/api/@xmachines/play-svelte/README.md +28 -0
  150. package/api/@xmachines/play-svelte/functions/defineRegistry.md +2 -0
  151. package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +2 -0
  152. package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +2 -0
  153. package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +9 -9
  154. package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +2 -0
  155. package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +2 -0
  156. package/api/@xmachines/play-svelte/variables/PlayRenderer.md +2 -0
  157. package/api/@xmachines/play-svelte-spa-router/README.md +1 -0
  158. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +13 -26
  159. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +14 -1
  160. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +23 -4
  161. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +6 -5
  162. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +10 -10
  163. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +20 -5
  164. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  165. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +65 -0
  166. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  167. package/api/@xmachines/play-svelte-spa-router-demo/README.md +119 -12
  168. package/api/@xmachines/play-sveltekit-router/README.md +2 -1
  169. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +46 -24
  170. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +14 -1
  171. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +23 -4
  172. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +6 -5
  173. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +27 -0
  174. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +10 -10
  175. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +20 -5
  176. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  177. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  178. package/api/@xmachines/play-sveltekit-router-demo/README.md +120 -12
  179. package/api/@xmachines/play-tanstack-react-router/README.md +5 -3
  180. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +17 -33
  181. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +93 -25
  182. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
  183. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  184. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +21 -11
  185. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  186. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +8 -8
  187. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  188. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +18 -8
  189. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  190. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  191. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  192. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +13 -19
  193. package/api/@xmachines/play-tanstack-react-router-demo/README.md +23 -29
  194. package/api/@xmachines/play-tanstack-solid-router/README.md +8 -8
  195. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +13 -26
  196. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +101 -36
  197. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
  198. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +15 -9
  199. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +8 -8
  200. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  201. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +13 -9
  202. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  203. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  204. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  205. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +23 -24
  206. package/api/@xmachines/play-tanstack-solid-router-demo/README.md +25 -26
  207. package/api/@xmachines/play-vue/README.md +4 -4
  208. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  209. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  210. package/api/@xmachines/play-vue/functions/useStateBinding.md +2 -0
  211. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +2 -0
  212. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +5 -5
  213. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  214. package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +2 -0
  215. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  216. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +4 -3
  217. package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
  218. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  219. package/api/@xmachines/play-vue-router/README.md +2 -2
  220. package/api/@xmachines/play-vue-router/classes/RouteMap.md +18 -108
  221. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +44 -104
  222. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +127 -62
  223. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  224. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +8 -8
  225. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +19 -7
  226. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  227. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  228. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  229. package/api/@xmachines/play-vue-router-demo/README.md +47 -40
  230. package/api/@xmachines/play-xstate/README.md +15 -15
  231. package/api/@xmachines/play-xstate/classes/PlayerActor.md +46 -30
  232. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +20 -15
  233. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  234. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  235. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  236. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  237. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  238. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  239. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +2 -2
  240. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  241. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  242. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  243. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  244. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  245. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
  246. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +14 -12
  247. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  248. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  249. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  250. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  251. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  252. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  253. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +3 -7
  254. package/api/@xmachines/shared/functions/xmAliases.md +1 -1
  255. package/api/README.md +4 -4
  256. package/api/llms.txt +3 -3
  257. package/examples/README.md +50 -32
  258. package/examples/basic-state-machine.md +75 -31
  259. package/examples/form-validation.md +199 -127
  260. package/examples/multi-router-integration.md +312 -230
  261. package/examples/routing-patterns.md +243 -187
  262. package/examples/traffic-light.md +114 -65
  263. package/guides/README.md +29 -15
  264. package/guides/getting-started.md +224 -144
  265. package/guides/installation.md +153 -213
  266. package/package.json +2 -2
  267. package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +0 -38
  268. package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +0 -33
@@ -6,6 +6,9 @@
6
6
  type DomRegistry = Record<string, DomComponentRenderer>;
7
7
  ```
8
8
 
9
- Defined in: [types.ts:41](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom/src/types.ts#L41)
9
+ Defined in: [json-render/types.ts:263](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom/src/json-render/types.ts#L263)
10
10
 
11
- Registry of component renderers keyed by element type.
11
+ Raw registry of `DomComponentRenderer` functions keyed by element type.
12
+
13
+ Passed to `connectRenderer` or `PlayRenderer`. Build with `defineRegistry`
14
+ to get catalog-typed component functions automatically wrapped.
@@ -143,10 +143,20 @@ router.destroy();
143
143
  - [BrowserHistory](interfaces/BrowserHistory.md)
144
144
  - [BrowserWindow](interfaces/BrowserWindow.md)
145
145
  - [ConnectRouterOptions](interfaces/ConnectRouterOptions.md)
146
+ - [PlayRouteEvent](interfaces/PlayRouteEvent.md)
147
+ - [RouteMap](interfaces/RouteMap.md)
148
+ - [RouteMapLike](interfaces/RouteMapLike.md)
149
+ - [RouteMapping](interfaces/RouteMapping.md)
150
+ - [RouterBridge](interfaces/RouterBridge.md)
146
151
  - [VanillaRouter](interfaces/VanillaRouter.md)
147
152
 
153
+ ## Type Aliases
154
+
155
+ - [RoutableActor](type-aliases/RoutableActor.md)
156
+
148
157
  ## Functions
149
158
 
150
159
  - [connectRouter](functions/connectRouter.md)
151
160
  - [createBrowserHistory](functions/createBrowserHistory.md)
161
+ - [createRouteMap](functions/createRouteMap.md)
152
162
  - [createRouter](functions/createRouter.md)
@@ -6,66 +6,38 @@
6
6
  function connectRouter(options): () => void;
7
7
  ```
8
8
 
9
- Defined in: [connect-router.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/connect-router.ts#L69)
9
+ Defined in: [play-dom-router/src/connect-router.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/connect-router.ts#L48)
10
10
 
11
11
  Connect vanilla router to actor (pure browser integration).
12
12
 
13
- This is the LOW-LEVEL API for maximum control. No JSX, no rendering,
14
- just actor ↔ router synchronization.
13
+ Returns a cleanup function. Calls `bridge.disconnect()` to stop sync.
15
14
 
16
- Use this when:
17
-
18
- - You want manual control over rendering
19
- - Using non-JSX framework (jQuery, Alpine, HTMX, etc.)
20
- - Building custom integration
21
-
22
- For JSX frameworks, use framework adapters instead:
15
+ ## Parameters
23
16
 
24
- - @xmachines/play-react (React components)
25
- - @xmachines/play-vue (Vue components)
26
- - @xmachines/play-solid (Solid components)
17
+ | Parameter | Type |
18
+ | --------- | --------------------------------------------------------------- |
19
+ | `options` | [`ConnectRouterOptions`](../interfaces/ConnectRouterOptions.md) |
27
20
 
28
- Architecture:
21
+ ## Returns
29
22
 
30
- - Subscribes to history changes → sends play.route to actor
31
- - Watches actor.currentRoute signal → updates browser URL
32
- - Prevents circular updates (history change triggers actor, actor triggers history)
33
- - Returns cleanup function
23
+ () => `void`
34
24
 
35
- Usage:
25
+ ## Example
36
26
 
37
27
  ```typescript
38
- import { createBrowserHistory, createRouter, connectRouter } from "@xmachines/play-dom-router";
39
- import { extractMachineRoutes, createRouteMap } from "@xmachines/play-router";
28
+ import {
29
+ createBrowserHistory,
30
+ createRouter,
31
+ connectRouter,
32
+ createRouteMap,
33
+ } from "@xmachines/play-dom-router";
34
+ import { extractMachineRoutes } from "@xmachines/play-router";
40
35
 
41
36
  const routeTree = extractMachineRoutes(machine);
42
- const routeMap = createRouteMap(routeTree);
37
+ const routeMap = createRouteMap(machine);
43
38
  const history = createBrowserHistory({ window });
44
39
  const router = createRouter({ routeTree, history });
45
-
46
- // Connect router to actor
47
40
  const disconnect = connectRouter({ actor, router, routeMap });
48
-
49
- // User handles rendering (vanilla JS)
50
- const watcher = new Signal.subtle.Watcher(() => {
51
- queueMicrotask(() => {
52
- const view = actor.currentView.get();
53
- document.getElementById("app").innerHTML = render(view);
54
- });
55
- });
56
- watcher.watch(actor.currentView);
57
-
58
- // Later: cleanup
41
+ // Later:
59
42
  disconnect();
60
- watcher.unwatch(actor.currentView);
61
43
  ```
62
-
63
- ## Parameters
64
-
65
- | Parameter | Type |
66
- | --------- | --------------------------------------------------------------- |
67
- | `options` | [`ConnectRouterOptions`](../interfaces/ConnectRouterOptions.md) |
68
-
69
- ## Returns
70
-
71
- () => `void`
@@ -6,7 +6,7 @@
6
6
  function createBrowserHistory(options): BrowserHistory;
7
7
  ```
8
8
 
9
- Defined in: [create-browser-history.ts:120](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L120)
9
+ Defined in: [play-dom-router/src/create-browser-history.ts:120](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L120)
10
10
 
11
11
  Create browser history that wraps window.history
12
12
 
@@ -0,0 +1,38 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-dom-router](../README.md) / createRouteMap
2
+
3
+ # Function: createRouteMap()
4
+
5
+ ```ts
6
+ function createRouteMap(machine): RouteMap;
7
+ ```
8
+
9
+ Defined in: [play-router/src/create-route-map-from-machine.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/create-route-map-from-machine.ts#L26)
10
+
11
+ Create a `BaseRouteMap` from an XState state machine.
12
+
13
+ Extracts all routable states (those with `meta.route`) and builds a bidirectional
14
+ path ↔ stateId lookup structure. The returned map is used by `RouterBridgeBase`
15
+ subclasses to translate browser URL changes into `play.route` actor events and
16
+ vice-versa.
17
+
18
+ ## Parameters
19
+
20
+ | Parameter | Type | Description |
21
+ | --------- | ------------------------------------------------------------------------- | ---------------------------------------------------------------- |
22
+ | `machine` | [`AnyStateMachine`](https://www.jsdocs.io/package/xstate#AnyStateMachine) | XState v5 state machine with `meta.route` annotations on states. |
23
+
24
+ ## Returns
25
+
26
+ [`RouteMap`](../interfaces/RouteMap.md)
27
+
28
+ A `BaseRouteMap` for passing to any `RouterBridgeBase`-based adapter.
29
+
30
+ ## Example
31
+
32
+ ```typescript
33
+ import { createRouteMapFromMachine } from "@xmachines/play-router";
34
+ import { connectRouter } from "@xmachines/play-dom-router";
35
+
36
+ const routeMap = createRouteMapFromMachine(myMachine);
37
+ const disconnect = connectRouter({ actor, router, routeMap });
38
+ ```
@@ -6,7 +6,7 @@
6
6
  function createRouter(options): VanillaRouter;
7
7
  ```
8
8
 
9
- Defined in: [create-router.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-router.ts#L52)
9
+ Defined in: [play-dom-router/src/create-router.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-router.ts#L52)
10
10
 
11
11
  Create vanilla router for framework-agnostic routing.
12
12
 
@@ -2,17 +2,17 @@
2
2
 
3
3
  # Interface: BrowserHistory
4
4
 
5
- Defined in: [create-browser-history.ts:1](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L1)
5
+ Defined in: [play-dom-router/src/create-browser-history.ts:1](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L1)
6
6
 
7
7
  ## Properties
8
8
 
9
- | Property | Modifier | Type | Description | Defined in |
10
- | ----------------------------------------- | ---------- | --------- | -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
11
- | <a id="property-location"></a> `location` | `readonly` | `object` | Get current location state | [create-browser-history.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L5) |
12
- | `location.hash` | `public` | `string` | - | [create-browser-history.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L8) |
13
- | `location.pathname` | `public` | `string` | - | [create-browser-history.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L6) |
14
- | `location.search` | `public` | `string` | - | [create-browser-history.ts:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L7) |
15
- | `location.state` | `public` | `unknown` | - | [create-browser-history.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L9) |
9
+ | Property | Modifier | Type | Description | Defined in |
10
+ | ----------------------------------------- | ---------- | --------- | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
11
+ | <a id="property-location"></a> `location` | `readonly` | `object` | Get current location state | [play-dom-router/src/create-browser-history.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L5) |
12
+ | `location.hash` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L8) |
13
+ | `location.pathname` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L6) |
14
+ | `location.search` | `public` | `string` | - | [play-dom-router/src/create-browser-history.ts:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L7) |
15
+ | `location.state` | `public` | `unknown` | - | [play-dom-router/src/create-browser-history.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L9) |
16
16
 
17
17
  ## Methods
18
18
 
@@ -22,7 +22,7 @@ Defined in: [create-browser-history.ts:1](https://gitlab.com/xmachin-es/xmachine
22
22
  back(): void;
23
23
  ```
24
24
 
25
- Defined in: [create-browser-history.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L26)
25
+ Defined in: [play-dom-router/src/create-browser-history.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L26)
26
26
 
27
27
  #### Returns
28
28
 
@@ -36,7 +36,7 @@ Defined in: [create-browser-history.ts:26](https://gitlab.com/xmachin-es/xmachin
36
36
  createHref(path): string;
37
37
  ```
38
38
 
39
- Defined in: [create-browser-history.ts:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L38)
39
+ Defined in: [play-dom-router/src/create-browser-history.ts:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L38)
40
40
 
41
41
  Create href from path
42
42
 
@@ -58,7 +58,7 @@ Create href from path
58
58
  destroy(): void;
59
59
  ```
60
60
 
61
- Defined in: [create-browser-history.ts:47](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L47)
61
+ Defined in: [play-dom-router/src/create-browser-history.ts:47](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L47)
62
62
 
63
63
  Cleanup.
64
64
 
@@ -78,7 +78,7 @@ wrapper is destroyed.
78
78
  forward(): void;
79
79
  ```
80
80
 
81
- Defined in: [create-browser-history.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L27)
81
+ Defined in: [play-dom-router/src/create-browser-history.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L27)
82
82
 
83
83
  #### Returns
84
84
 
@@ -92,7 +92,7 @@ Defined in: [create-browser-history.ts:27](https://gitlab.com/xmachin-es/xmachin
92
92
  go(delta): void;
93
93
  ```
94
94
 
95
- Defined in: [create-browser-history.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L25)
95
+ Defined in: [play-dom-router/src/create-browser-history.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L25)
96
96
 
97
97
  Go back/forward
98
98
 
@@ -114,7 +114,7 @@ Go back/forward
114
114
  push(path, state?): void;
115
115
  ```
116
116
 
117
- Defined in: [create-browser-history.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L15)
117
+ Defined in: [play-dom-router/src/create-browser-history.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L15)
118
118
 
119
119
  Push new URL to history
120
120
 
@@ -137,7 +137,7 @@ Push new URL to history
137
137
  replace(path, state?): void;
138
138
  ```
139
139
 
140
- Defined in: [create-browser-history.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L20)
140
+ Defined in: [play-dom-router/src/create-browser-history.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L20)
141
141
 
142
142
  Replace current URL in history
143
143
 
@@ -160,7 +160,7 @@ Replace current URL in history
160
160
  subscribe(listener): () => void;
161
161
  ```
162
162
 
163
- Defined in: [create-browser-history.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L33)
163
+ Defined in: [play-dom-router/src/create-browser-history.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L33)
164
164
 
165
165
  Subscribe to history changes
166
166
  Returns unsubscribe function
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: BrowserWindow
4
4
 
5
- Defined in: [create-browser-history.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L59)
5
+ Defined in: [play-dom-router/src/create-browser-history.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L59)
6
6
 
7
7
  Minimal window interface for createBrowserHistory
8
8
 
@@ -12,19 +12,19 @@ Avoids coupling to `Window & typeof globalThis` which varies across environments
12
12
 
13
13
  ## Properties
14
14
 
15
- | Property | Modifier | Type | Defined in |
16
- | ----------------------------------------- | ---------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
17
- | <a id="property-history"></a> `history` | `public` | `object` | [create-browser-history.ts:60](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L60) |
18
- | `history.state` | `readonly` | `unknown` | [create-browser-history.ts:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L61) |
19
- | `history.back` | `public` | `void` | [create-browser-history.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L65) |
20
- | `history.forward` | `public` | `void` | [create-browser-history.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L66) |
21
- | `history.go` | `public` | `void` | [create-browser-history.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L64) |
22
- | `history.pushState` | `public` | `void` | [create-browser-history.ts:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L62) |
23
- | `history.replaceState` | `public` | `void` | [create-browser-history.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L63) |
24
- | <a id="property-location"></a> `location` | `public` | `object` | [create-browser-history.ts:68](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L68) |
25
- | `location.hash` | `readonly` | `string` | [create-browser-history.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L71) |
26
- | `location.pathname` | `readonly` | `string` | [create-browser-history.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L69) |
27
- | `location.search` | `readonly` | `string` | [create-browser-history.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L70) |
15
+ | Property | Modifier | Type | Defined in |
16
+ | ----------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
17
+ | <a id="property-history"></a> `history` | `public` | `object` | [play-dom-router/src/create-browser-history.ts:60](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L60) |
18
+ | `history.state` | `readonly` | `unknown` | [play-dom-router/src/create-browser-history.ts:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L61) |
19
+ | `history.back` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L65) |
20
+ | `history.forward` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L66) |
21
+ | `history.go` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L64) |
22
+ | `history.pushState` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L62) |
23
+ | `history.replaceState` | `public` | `void` | [play-dom-router/src/create-browser-history.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L63) |
24
+ | <a id="property-location"></a> `location` | `public` | `object` | [play-dom-router/src/create-browser-history.ts:68](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L68) |
25
+ | `location.hash` | `readonly` | `string` | [play-dom-router/src/create-browser-history.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L71) |
26
+ | `location.pathname` | `readonly` | `string` | [play-dom-router/src/create-browser-history.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L69) |
27
+ | `location.search` | `readonly` | `string` | [play-dom-router/src/create-browser-history.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L70) |
28
28
 
29
29
  ## Methods
30
30
 
@@ -34,7 +34,7 @@ Avoids coupling to `Window & typeof globalThis` which varies across environments
34
34
  addEventListener(type, listener): void;
35
35
  ```
36
36
 
37
- Defined in: [create-browser-history.ts:73](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L73)
37
+ Defined in: [play-dom-router/src/create-browser-history.ts:73](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L73)
38
38
 
39
39
  #### Parameters
40
40
 
@@ -55,7 +55,7 @@ Defined in: [create-browser-history.ts:73](https://gitlab.com/xmachin-es/xmachin
55
55
  removeEventListener(type, listener): void;
56
56
  ```
57
57
 
58
- Defined in: [create-browser-history.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-browser-history.ts#L74)
58
+ Defined in: [play-dom-router/src/create-browser-history.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-browser-history.ts#L74)
59
59
 
60
60
  #### Parameters
61
61
 
@@ -2,14 +2,14 @@
2
2
 
3
3
  # Interface: ConnectRouterOptions
4
4
 
5
- Defined in: [connect-router.ts:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/connect-router.ts#L11)
5
+ Defined in: [play-dom-router/src/connect-router.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/connect-router.ts#L20)
6
6
 
7
7
  Options for [connectRouter](../functions/connectRouter.md).
8
8
 
9
9
  ## Properties
10
10
 
11
- | Property | Type | Description | Defined in |
12
- | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
13
- | <a id="property-actor"></a> `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Routable`](../../play-actor/interfaces/Routable.md) | The actor to synchronize with the browser URL. Must implement `Routable`. | [connect-router.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/connect-router.ts#L13) |
14
- | <a id="property-routemap"></a> `routeMap` | [`RouteMap`](../../play-router/interfaces/RouteMap.md) | Route map used to resolve URL pathnames to machine state IDs. | [connect-router.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/connect-router.ts#L17) |
15
- | <a id="property-router"></a> `router` | [`VanillaRouter`](VanillaRouter.md) | The vanilla router created by [createRouter](../functions/createRouter.md). | [connect-router.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/connect-router.ts#L15) |
11
+ | Property | Modifier | Type | Description | Defined in |
12
+ | ----------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
13
+ | <a id="property-actor"></a> `actor` | `readonly` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Routable`](../../play-actor/interfaces/Routable.md) | The actor to synchronize with the browser URL. Must implement `Routable`. | [play-dom-router/src/connect-router.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/connect-router.ts#L22) |
14
+ | <a id="property-routemap"></a> `routeMap` | `readonly` | [`RouteMapLike`](RouteMapLike.md) | Route map used to resolve URL pathnames to machine state IDs. | [play-dom-router/src/connect-router.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/connect-router.ts#L26) |
15
+ | <a id="property-router"></a> `router` | `readonly` | [`VanillaRouter`](VanillaRouter.md) | The vanilla router created by [createRouter](../functions/createRouter.md). | [play-dom-router/src/connect-router.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/connect-router.ts#L24) |
@@ -0,0 +1,119 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-dom-router](../README.md) / PlayRouteEvent
2
+
3
+ # Interface: PlayRouteEvent
4
+
5
+ Defined in: [play-router/src/types.ts:223](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L223)
6
+
7
+ Enhanced routing event with parameter and query support
8
+
9
+ Unified routing event used throughout the Play architecture. Supports parameter-aware
10
+ navigation patterns (e.g., `/profile/:userId`) for dynamic route segments.
11
+
12
+ **Architectural Context:** Implements **Passive Infrastructure (INV-04)** by representing
13
+ user navigation intent that the Actor evaluates through guards. Infrastructure proposes
14
+ via `play.route` events, Actor decides via state machine transitions.
15
+
16
+ **Browser Navigation Flow:**
17
+
18
+ 1. Browser fires `popstate`
19
+ 2. Router adapter resolves URL to route target
20
+ 3. Adapter sends `PlayRouteEvent` to Actor
21
+ 4. Actor validates transition via state machine guards
22
+
23
+ ## Param
24
+
25
+ Event discriminator (always "play.route")
26
+
27
+ ## Param
28
+
29
+ Target state ID with # prefix (e.g., '#home', '#profile')
30
+
31
+ ## Param
32
+
33
+ Path-only route parameters extracted from the URL path (e.g., `{ userId: '123' }` from `/profile/123`). Query parameters are kept separate in `query`.
34
+
35
+ ## Param
36
+
37
+ Query parameters only (isolated from path params)
38
+
39
+ ## Param
40
+
41
+ Full URLPattern match result for debugging/observability (optional)
42
+
43
+ ## Examples
44
+
45
+ Combining base and routing events
46
+
47
+ ```typescript
48
+ import type { PlayEvent } from "@xmachines/play";
49
+ import type { PlayRouteEvent } from "@xmachines/play-router";
50
+
51
+ type AppEvent = PlayEvent | PlayRouteEvent;
52
+ ```
53
+
54
+ Basic navigation to a route
55
+
56
+ ```typescript
57
+ import type { PlayRouteEvent } from "@xmachines/play-router";
58
+
59
+ const event: PlayRouteEvent = {
60
+ type: "play.route",
61
+ to: "#home",
62
+ };
63
+ actor.send(event);
64
+ ```
65
+
66
+ Navigation with route parameters
67
+
68
+ ```typescript
69
+ import type { PlayRouteEvent } from "@xmachines/play-router";
70
+
71
+ const event: PlayRouteEvent = {
72
+ type: "play.route",
73
+ to: "#profile",
74
+ params: { userId: "123" },
75
+ };
76
+ actor.send(event);
77
+ // Resolves to route: /profile/123
78
+ ```
79
+
80
+ Navigation with query parameters
81
+
82
+ ```typescript
83
+ import type { PlayRouteEvent } from "@xmachines/play-router";
84
+
85
+ const event: PlayRouteEvent = {
86
+ type: "play.route",
87
+ to: "#settings",
88
+ params: { section: "profile" }, // Path-only route parameter
89
+ query: { tab: "security" }, // Query-only
90
+ };
91
+ actor.send(event);
92
+ // Resolves to route: /settings/profile?tab=security
93
+ ```
94
+
95
+ ## See
96
+
97
+ [Play RFC](../../../../rfc/play.md)
98
+
99
+ ## Remarks
100
+
101
+ Use `play.route` when you need parameter-aware navigation with the `route: {}`
102
+ config pattern on your state machine nodes. The `match` field exposes the full
103
+ URLPatternResult for advanced use cases (debugging, pattern analysis).
104
+
105
+ ## Indexable
106
+
107
+ ```ts
108
+ [key: string]: unknown
109
+ ```
110
+
111
+ ## Properties
112
+
113
+ | Property | Modifier | Type | Defined in |
114
+ | -------------------------------------- | ---------- | ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
115
+ | <a id="property-match"></a> `match?` | `readonly` | `unknown` | [play-router/src/types.ts:228](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L228) |
116
+ | <a id="property-params"></a> `params?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:226](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L226) |
117
+ | <a id="property-query"></a> `query?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:227](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L227) |
118
+ | <a id="property-to"></a> `to` | `readonly` | `string` | [play-router/src/types.ts:225](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L225) |
119
+ | <a id="property-type"></a> `type` | `readonly` | `"play.route"` | [play-router/src/types.ts:224](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L224) |
@@ -0,0 +1,114 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-dom-router](../README.md) / RouteMap
2
+
3
+ # Interface: RouteMap
4
+
5
+ Defined in: [play-router/src/base-route-map.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/base-route-map.ts#L100)
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 `URLPattern`, where `k` is the number
16
+ of routes sharing the same first path segment
17
+ - Results are cached after the first match in an LRU cache (default 500 entries,
18
+ configurable via the `cacheSize` constructor option)
19
+
20
+ **Pattern syntax** (`:param` / `:param?`):
21
+
22
+ - `:param` — required segment, matches exactly one non-`/` segment
23
+ - `:param?` — optional segment, matches zero or one non-`/` segment
24
+
25
+ ## Example
26
+
27
+ ```typescript
28
+ import { BaseRouteMap } from "@xmachines/play-router";
29
+
30
+ const map = new BaseRouteMap([
31
+ { stateId: "home", path: "/" },
32
+ { stateId: "profile", path: "/profile/:userId" },
33
+ { stateId: "settings", path: "/settings/:section?" },
34
+ ]);
35
+
36
+ map.getStateIdByPath("/"); // "home"
37
+ map.getStateIdByPath("/profile/123"); // "profile"
38
+ map.getStateIdByPath("/settings"); // "settings"
39
+ map.getStateIdByPath("/unknown"); // null
40
+
41
+ map.getPathByStateId("profile"); // "/profile/:userId"
42
+ map.getPathByStateId("missing"); // null
43
+ ```
44
+
45
+ ## Extended by
46
+
47
+ - [`RouteMap`](../../play-react-router/classes/RouteMap.md)
48
+ - [`RouteMap`](../../play-tanstack-react-router/classes/RouteMap.md)
49
+
50
+ ## Methods
51
+
52
+ ### getPathByStateId()
53
+
54
+ ```ts
55
+ getPathByStateId(stateId): string | null;
56
+ ```
57
+
58
+ Defined in: [play-router/src/base-route-map.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/base-route-map.ts#L209)
59
+
60
+ Look up the path pattern registered for a state ID.
61
+
62
+ #### Parameters
63
+
64
+ | Parameter | Type | Description |
65
+ | --------- | -------- | --------------------------------------------------------- |
66
+ | `stateId` | `string` | State machine state ID (e.g., `"profile"`, `"#settings"`) |
67
+
68
+ #### Returns
69
+
70
+ `string` \| `null`
71
+
72
+ The registered path pattern, or `null` if the state ID is unknown
73
+
74
+ #### Example
75
+
76
+ ```typescript
77
+ map.getPathByStateId("profile"); // "/profile/:userId"
78
+ map.getPathByStateId("missing"); // null
79
+ ```
80
+
81
+ ---
82
+
83
+ ### getStateIdByPath()
84
+
85
+ ```ts
86
+ getStateIdByPath(path): string | null;
87
+ ```
88
+
89
+ Defined in: [play-router/src/base-route-map.ts:174](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/base-route-map.ts#L174)
90
+
91
+ Resolve a URL path to its mapped state ID.
92
+
93
+ Strips query strings and hash fragments before matching. Tries an O(1) exact
94
+ lookup first, then falls back to bucket-indexed pattern matching. Results are
95
+ cached after the first pattern match.
96
+
97
+ #### Parameters
98
+
99
+ | Parameter | Type | Description |
100
+ | --------- | -------- | ------------------------------------------------------------------------------ |
101
+ | `path` | `string` | URL pathname, optionally including query/hash (e.g., `"/profile/123?ref=nav"`) |
102
+
103
+ #### Returns
104
+
105
+ `string` \| `null`
106
+
107
+ The mapped state ID, or `null` if no route matches
108
+
109
+ #### Example
110
+
111
+ ```typescript
112
+ map.getStateIdByPath("/profile/123"); // "profile"
113
+ map.getStateIdByPath("/unknown"); // null
114
+ ```