@xmachines/docs 1.0.0-beta.46 → 1.0.0-beta.48

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 (346) hide show
  1. package/README.md +135 -7
  2. package/api/@xmachines/play/README.md +134 -57
  3. package/api/@xmachines/play/classes/NonNullableError.md +4 -4
  4. package/api/@xmachines/play/classes/PlayError.md +4 -4
  5. package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
  6. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  7. package/api/@xmachines/play-actor/README.md +130 -155
  8. package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -3
  9. package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
  10. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +5 -5
  11. package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +5 -5
  12. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
  13. package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
  14. package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
  15. package/api/@xmachines/play-dom/README.md +140 -232
  16. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  17. package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
  18. package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
  19. package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
  20. package/api/@xmachines/play-dom/functions/defineRegistry.md +1 -1
  21. package/api/@xmachines/play-dom/functions/renderSpec.md +1 -1
  22. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +7 -7
  23. package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +13 -13
  24. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +6 -6
  25. package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +4 -4
  26. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +12 -12
  27. package/api/@xmachines/play-dom/interfaces/EventHandle.md +4 -4
  28. package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
  29. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +5 -5
  30. package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +5 -5
  31. package/api/@xmachines/play-dom/type-aliases/ActionFn.md +1 -1
  32. package/api/@xmachines/play-dom/type-aliases/Actions.md +1 -1
  33. package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +7 -7
  34. package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +1 -1
  35. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +1 -1
  36. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +1 -1
  37. package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +2 -2
  38. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +1 -1
  39. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +1 -1
  40. package/api/@xmachines/play-dom/type-aliases/DomSchema.md +1 -1
  41. package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
  42. package/api/@xmachines/play-dom/type-aliases/SetState.md +1 -1
  43. package/api/@xmachines/play-dom/variables/schema.md +1 -1
  44. package/api/@xmachines/play-dom-router/README.md +160 -158
  45. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  46. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  47. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +1 -1
  48. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  49. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
  50. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
  51. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
  52. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +6 -6
  53. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  54. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
  55. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +2 -2
  56. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  57. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  58. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
  59. package/api/@xmachines/play-dom-router/type-aliases/RoutableActor.md +1 -1
  60. package/api/@xmachines/play-react/README.md +109 -320
  61. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
  62. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  63. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  64. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  65. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +8 -8
  66. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
  67. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
  68. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +8 -8
  69. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
  70. package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
  71. package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
  72. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  73. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  74. package/api/@xmachines/play-react-router/README.md +107 -124
  75. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +23 -23
  76. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  77. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +1 -1
  78. package/api/@xmachines/play-react-router/functions/createRouteMap.md +1 -1
  79. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  80. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +6 -6
  81. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  82. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +2 -2
  83. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  84. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  85. package/api/@xmachines/play-router/README.md +235 -475
  86. package/api/@xmachines/play-router/classes/RouteMap.md +4 -4
  87. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +23 -23
  88. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  89. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  90. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  91. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +1 -1
  92. package/api/@xmachines/play-router/functions/createRouteMatcher.md +1 -1
  93. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  94. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  95. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  96. package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
  97. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  98. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  99. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  100. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  101. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  102. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  103. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  104. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  105. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  106. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  107. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  108. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
  109. package/api/@xmachines/play-router/interfaces/LocationLike.md +3 -3
  110. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
  111. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
  112. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +6 -6
  113. package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
  114. package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +2 -2
  115. package/api/@xmachines/play-router/interfaces/RouteMapping.md +3 -3
  116. package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
  117. package/api/@xmachines/play-router/interfaces/RouteMatcher.md +4 -4
  118. package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
  119. package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
  120. package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
  121. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  122. package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
  123. package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
  124. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  125. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  126. package/api/@xmachines/play-signals/README.md +105 -73
  127. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  128. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  129. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  130. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  131. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  132. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  133. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  134. package/api/@xmachines/play-solid/README.md +117 -263
  135. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  136. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  137. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +8 -8
  138. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +8 -8
  139. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +5 -5
  140. package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
  141. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  142. package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
  143. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  144. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  145. package/api/@xmachines/play-solid-router/README.md +93 -606
  146. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  147. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +24 -24
  148. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
  149. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
  150. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -3
  151. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +6 -6
  152. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  153. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +2 -2
  154. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  155. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  156. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  157. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  158. package/api/@xmachines/play-svelte/README.md +111 -103
  159. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  160. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  161. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  162. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  163. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +8 -8
  164. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
  165. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +11 -11
  166. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
  167. package/api/@xmachines/play-svelte/type-aliases/PlayActor.md +1 -1
  168. package/api/@xmachines/play-svelte-spa-router/README.md +156 -17
  169. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  170. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  171. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +1 -1
  172. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +4 -4
  173. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +6 -6
  174. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +2 -2
  175. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  176. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  177. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  178. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  179. package/api/@xmachines/play-sveltekit-router/README.md +168 -17
  180. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  181. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  182. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +1 -1
  183. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +4 -4
  184. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  185. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +6 -6
  186. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +2 -2
  187. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  188. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  189. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  190. package/api/@xmachines/play-tanstack-react-router/README.md +147 -122
  191. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  192. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +23 -23
  193. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
  194. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  195. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  196. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  197. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +6 -6
  198. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  199. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +2 -2
  200. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  201. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  202. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  203. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  204. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +4 -4
  205. package/api/@xmachines/play-tanstack-solid-router/README.md +195 -173
  206. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  207. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +24 -24
  208. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
  209. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
  210. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +6 -6
  211. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  212. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +2 -2
  213. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  214. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  215. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  216. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  217. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +3 -3
  218. package/api/@xmachines/play-vue/README.md +126 -271
  219. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  220. package/api/@xmachines/play-vue/functions/getPlayViewContext.md +1 -1
  221. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  222. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +5 -5
  223. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +8 -8
  224. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
  225. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +1 -1
  226. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  227. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  228. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  229. package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
  230. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  231. package/api/@xmachines/play-vue-router/README.md +148 -528
  232. package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
  233. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +24 -24
  234. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  235. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +6 -6
  236. package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +2 -2
  237. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
  238. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  239. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  240. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  241. package/api/@xmachines/play-xstate/README.md +167 -496
  242. package/api/@xmachines/play-xstate/classes/PlayerActor.md +12 -12
  243. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
  244. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  245. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  246. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  247. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  248. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  249. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  250. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
  251. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  252. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  253. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  254. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  255. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  256. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
  257. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
  258. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  259. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  260. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  261. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  262. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  263. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  264. package/api/@xmachines/shared/README.md +81 -294
  265. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  266. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  267. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  268. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  269. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  270. package/examples/@xmachines/play-dom-demo/README.md +3 -3
  271. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
  272. package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
  273. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
  274. package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
  275. package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
  276. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
  277. package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
  278. package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
  279. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
  280. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
  281. package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
  282. package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
  283. package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
  284. package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
  285. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
  286. package/examples/@xmachines/play-dom-router-demo/README.md +2 -2
  287. package/examples/@xmachines/play-react-demo/README.md +1 -1
  288. package/examples/@xmachines/play-react-demo/functions/App.md +1 -1
  289. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
  290. package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
  291. package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
  292. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
  293. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
  294. package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
  295. package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
  296. package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
  297. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
  298. package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
  299. package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
  300. package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
  301. package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
  302. package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
  303. package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
  304. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
  305. package/examples/@xmachines/play-react-router-demo/README.md +1 -1
  306. package/examples/@xmachines/play-solid-demo/README.md +1 -1
  307. package/examples/@xmachines/play-solid-demo/functions/App.md +1 -1
  308. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
  309. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  310. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  311. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  312. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
  313. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  314. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  315. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
  316. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
  317. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  318. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  319. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  320. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  321. package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
  322. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  323. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
  324. package/examples/@xmachines/play-svelte-demo/README.md +1 -1
  325. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
  326. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
  327. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +2 -2
  328. package/examples/@xmachines/play-sveltekit-router-demo/README.md +2 -2
  329. package/examples/@xmachines/play-vue-demo/README.md +1 -1
  330. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
  331. package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
  332. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +1 -1
  333. package/examples/README.md +24 -25
  334. package/examples/form-validation.md +2 -2
  335. package/guides/README.md +7 -7
  336. package/guides/actor-model.md +18 -18
  337. package/guides/architecture.md +500 -0
  338. package/guides/configuration.md +556 -0
  339. package/guides/deployment.md +336 -0
  340. package/guides/development.md +617 -0
  341. package/guides/getting-started.md +351 -142
  342. package/guides/signals.md +19 -19
  343. package/guides/state-machines.md +16 -16
  344. package/guides/testing.md +460 -0
  345. package/package.json +5 -5
  346. package/guides/installation.md +0 -257
@@ -1,38 +1,49 @@
1
1
  [API](../../README.md) / @xmachines/play-dom-router
2
2
 
3
- # @xmachines/play-dom-router
4
-
5
- **Vanilla DOM router integration for XMachines**
3
+ <!-- generated-by: gsd-doc-writer -->
6
4
 
7
- Browser History API wrapper, framework-agnostic router, and bidirectional actor ↔ URL synchronization for XState v5 machines — no JSX or framework dependency.
8
-
9
- ## Overview
10
-
11
- `@xmachines/play-dom-router` provides the **concrete browser implementations** intentionally separated from the environment-agnostic core:
5
+ # @xmachines/play-dom-router
12
6
 
13
- | Export | Description |
14
- | ------------------------------- | ------------------------------------------------------------------------------------------------------- |
15
- | `createBrowserHistory(options)` | Wraps `window.history` with patch-based `pushState`/`replaceState` interception and a `subscribe()` API |
16
- | `createRouter(options)` | Lightweight router binding a `BrowserHistory` to a route tree |
17
- | `connectRouter(options)` | Bidirectional actor ↔ URL sync — history changes → `play.route`, `currentRoute` → `history.push` |
18
- | `createRouteMap(machine)` | Build a `RouteMap` from a machine's `meta.route` declarations |
7
+ **Vanilla DOM router (Browser History API) for XMachines Play Architecture.**
19
8
 
20
- By keeping these in a dedicated package, server-side and non-browser environments can depend on without pulling in any DOM APIs.
9
+ Framework-agnostic router integration that synchronizes a Play actor's `currentRoute` TC39 Signal with the browser's `window.history` API no framework required. Implements the same [`RouterBridgeBase`](../play-router/README.md) pattern as all other router adapters in the XMachines ecosystem.
21
10
 
22
- For JSX frameworks, use the framework adapters instead:
11
+ ## Installation
23
12
 
24
- -
25
- -
26
- -
27
- -
13
+ ```bash
14
+ npm install @xmachines/play-dom-router @xmachines/play-router @xmachines/play-actor
15
+ ```
28
16
 
29
- ## Installation
17
+ Peer dependency:
30
18
 
31
19
  ```bash
32
- npm install @xmachines/play-dom-router @xmachines/play-router
20
+ npm install xstate@^5.30.0
33
21
  ```
34
22
 
35
- Peer dependencies: `xstate ^5.0.0`
23
+ ## Overview
24
+
25
+ [`@xmachines/play-dom-router`](README.md) connects a Play actor to the browser URL through the `DomRouterBridge` (extends `RouterBridgeBase` from [`@xmachines/play-router`](../play-router/README.md)):
26
+
27
+ - Actor route signal (`actor.currentRoute`) drives `history.push()` — actor is authoritative.
28
+ - Browser navigation events (`popstate`, `pushState`, `replaceState`) send `play.route` intents back to the actor.
29
+ - Guarded state transitions remain actor-owned (Actor Authority).
30
+ - Circular update prevention via `isProcessingNavigation` flag — inherited from `RouterBridgeBase`.
31
+
32
+ ## Key Exports
33
+
34
+ | Export | Description |
35
+ | -------------------------------- | ------------------------------------------------------------------------------------------ |
36
+ | `createBrowserHistory(options)` | Wraps `window.history` with a subscribable `BrowserHistory` interface |
37
+ | `createRouter(options)` | Creates a `VanillaRouter` combining `BrowserHistory` and `RouteTree` |
38
+ | `connectRouter(options)` | Connects a `VanillaRouter` to a `Routable` actor — returns a `disconnect` cleanup function |
39
+ | `createRouteMap` | Re-exported from `@xmachines/play-router` — builds bidirectional path ↔ state ID map |
40
+ | `BrowserHistory` | Interface for the history wrapper |
41
+ | `BrowserWindow` | Structural window interface (accepts `Window`, JSDOM, or any test double) |
42
+ | `VanillaRouter` | Interface for the router wrapper |
43
+ | `ConnectRouterOptions` | Options type for `connectRouter` |
44
+ | `RouteLookupContract` | Structural interface for bidirectional route lookup |
45
+ | `RoutableActor` | `AbstractActor & Routable & Viewable` convenience type |
46
+ | `RouterBridge`, `PlayRouteEvent` | Types re-exported from `@xmachines/play-router` |
36
47
 
37
48
  ## Quick Start
38
49
 
@@ -43,42 +54,28 @@ import {
43
54
  connectRouter,
44
55
  createRouteMap,
45
56
  } from "@xmachines/play-dom-router";
46
- import { definePlayer, formatPlayRouteTransitions } from "@xmachines/play-xstate";
47
- import { setup } from "xstate";
48
- import type { PlayRouteEvent } from "@xmachines/play-router";
49
-
50
- const machine = setup({
51
- types: {
52
- events: {} as PlayRouteEvent,
53
- context: {} as { params: Record<string, string>; query: Record<string, string> },
54
- },
55
- }).createMachine(
56
- formatPlayRouteTransitions({
57
- id: "app",
58
- initial: "home",
59
- context: { params: {}, query: {} },
60
- states: {
61
- home: { id: "home", meta: { route: "/" } },
62
- about: { id: "about", meta: { route: "/about" } },
63
- },
64
- }),
65
- );
57
+ import { extractMachineRoutes } from "@xmachines/play-router";
66
58
 
59
+ // 1. Extract route tree and build route map from your XState machine
60
+ const routeTree = extractMachineRoutes(machine);
67
61
  const routeMap = createRouteMap(machine);
62
+
63
+ // 2. Create browser history wrapper (accepts window or any BrowserWindow-compatible object)
68
64
  const history = createBrowserHistory({ window });
69
- const router = createRouter({ routeTree: machine, history });
70
65
 
71
- const actor = definePlayer({ machine })();
66
+ // 3. Create router
67
+ const router = createRouter({ routeTree, history });
68
+
69
+ // 4. Start actor and connect
70
+ const actor = definePlayer({ machine, catalog })();
72
71
  actor.start();
73
72
 
74
- // Bidirectional sync: actor ↔ browser URL
75
73
  const disconnect = connectRouter({ actor, router, routeMap });
76
74
 
77
- // Cleanup on unload
75
+ // Cleanup (e.g. on page unload)
78
76
  window.addEventListener("beforeunload", () => {
79
77
  disconnect();
80
78
  router.destroy();
81
- actor.stop();
82
79
  });
83
80
  ```
84
81
 
@@ -86,165 +83,170 @@ window.addEventListener("beforeunload", () => {
86
83
 
87
84
  ### `createBrowserHistory(options)`
88
85
 
89
- Wraps `window.history` with patch-based `pushState`/`replaceState` interception and popstate subscription.
86
+ Wraps `window.history` to provide a subscribable history interface. Patches `pushState`/`replaceState` to detect programmatic navigations in addition to `popstate` events for back/forward.
90
87
 
91
88
  ```typescript
92
89
  const history = createBrowserHistory({ window });
93
90
 
91
+ // Subscribe to URL changes
94
92
  const unsubscribe = history.subscribe((location) => {
95
- console.log("URL changed:", location.pathname, location.search, location.hash);
93
+ console.log("URL changed:", location.pathname, location.search);
96
94
  });
97
95
 
96
+ // Programmatic navigation
98
97
  history.push("/dashboard");
99
98
  history.replace("/login");
100
- history.back(); // async — popstate fires on next tick
101
- history.forward();
102
- history.go(-2);
99
+ history.back();
103
100
 
104
- // Cleanup — idempotent, safe to call multiple times
101
+ // Cleanup — safe to call more than once; cooperates with other wrappers on the same window
105
102
  unsubscribe();
106
- history.destroy(); // restores original pushState/replaceState
103
+ history.destroy();
107
104
  ```
108
105
 
109
- **Architecture:** `createBrowserHistory` patches `window.history.pushState` and `window.history.replaceState` to intercept programmatic navigation. Browser back/forward fires a `popstate` event which the history object listens to via `addEventListener`. Multiple wrappers on the same `window` share one patch via a ref-counted `WeakMap` — the original methods are restored only when the last wrapper is destroyed.
106
+ **`BrowserHistory` interface:**
110
107
 
111
- `createBrowserHistory` accepts a `BrowserWindow` structural interface, so JSDOM and custom test doubles work without casting:
108
+ | Method | Description |
109
+ | ----------------------- | -------------------------------------------------------------------------- |
110
+ | `location` | Read-only `{ pathname, search, hash, state }` |
111
+ | `push(path, state?)` | Push a new entry to history |
112
+ | `replace(path, state?)` | Replace the current history entry |
113
+ | `go(delta)` | Navigate relative to current position |
114
+ | `back()` | Navigate backward |
115
+ | `forward()` | Navigate forward |
116
+ | `subscribe(listener)` | Subscribe to location changes — returns unsubscribe function |
117
+ | `createHref(path)` | Create an href from a path |
118
+ | `destroy()` | Cleanup — removes listeners and restores patched methods when last wrapper |
112
119
 
113
- ```typescript
114
- // In tests — no casting needed
115
- const history = createBrowserHistory({ window: jsdomWindow });
116
- ```
120
+ **`BrowserWindow` interface:**
121
+
122
+ Accepts `window`, a JSDOM window, or any object implementing the structural interface. Covers only properties actually used — avoids coupling to `Window & typeof globalThis`.
117
123
 
118
124
  ### `createRouter(options)`
119
125
 
120
- Creates a lightweight router that binds a `BrowserHistory` to a route tree extracted from your machine.
126
+ Creates a `VanillaRouter` wrapping `history` and `routeTree`. Designed for parity with TanStack Router's setup flow.
121
127
 
122
128
  ```typescript
123
- const router = createRouter({ routeTree: machine, history });
124
-
125
- // Returns a VanillaRouter:
126
- // { history: BrowserHistory, destroy(): void }
127
- router.destroy(); // removes event listeners, destroys the BrowserHistory
129
+ const router = createRouter({ routeTree, history });
130
+ // router.history — the BrowserHistory instance
131
+ // router.routeTree for structure reference
132
+ // router.destroy() calls history.destroy()
128
133
  ```
129
134
 
130
135
  ### `connectRouter(options)`
131
136
 
132
- Establishes bidirectional synchronization between an actor and a `VanillaRouter`:
137
+ Connects a `VanillaRouter` to a `Routable` actor. Handles all bidirectional synchronization:
133
138
 
134
- - `actor.currentRoute` signal`history.push(url)` (actor-driven URL updates)
135
- - Browser URL change `actor.send({ type: "play.route", to: "#stateId" })` (URL-driven state)
136
- - Single `isProcessingNavigation` guard prevents circular updates
139
+ - On connect: syncs initial URL → actor or actor route browser (restore vs. deep-link detection).
140
+ - While connected: actor route changes push to history; browser navigations send `play.route` events.
141
+ - Returns a cleanup function that disconnects the bridge.
137
142
 
138
143
  ```typescript
139
- const disconnect = connectRouter({ actor, router, routeMap });
144
+ const disconnect = connectRouter({
145
+ actor, // AbstractActor & Routable
146
+ router, // VanillaRouter from createRouter()
147
+ routeMap, // RouteLookupContract — any object with getStateIdByPath / getPathByStateId
148
+ });
140
149
 
141
- // Later — stop all sync and remove listeners
150
+ // Later:
142
151
  disconnect();
143
152
  ```
144
153
 
145
- ### `createRouteMap(machine)`
154
+ **`ConnectRouterOptions`:**
155
+
156
+ | Option | Type | Description |
157
+ | ---------- | -------------------------- | ----------------------------------------- |
158
+ | `actor` | `AbstractActor & Routable` | Actor to synchronize with the browser URL |
159
+ | `router` | `VanillaRouter` | Router from `createRouter()` |
160
+ | `routeMap` | `RouteLookupContract` | Bidirectional path ↔ state ID lookup |
146
161
 
147
- Builds a `RouteMap` from a machine's `meta.route` declarations. Re-exported from for convenience.
162
+ **`RouteLookupContract`:**
148
163
 
149
164
  ```typescript
150
- const routeMap = createRouteMap(machine);
151
- // routeMap maps state IDs URL patterns
152
- // Used by connectRouter to translate between actor state and browser URLs
165
+ interface RouteLookupContract {
166
+ getStateIdByPath(path: string): string | null | undefined;
167
+ getPathByStateId(id: string): string | null | undefined;
168
+ }
153
169
  ```
154
170
 
155
- ## Pairing with (rendering)
171
+ Any object satisfying this structural interface is accepted — including `RouteMap` instances from `@xmachines/play-router`, subclasses, or test doubles.
172
+
173
+ ### `createRouteMap` (re-export)
156
174
 
157
- Add declarative JSON-render view rendering on top of the routing layer:
175
+ Re-exported from `@xmachines/play-router`. Builds a bidirectional `RouteMap` from an XState machine:
158
176
 
159
177
  ```typescript
160
- import {
161
- createBrowserHistory,
162
- createRouter,
163
- connectRouter,
164
- createRouteMap,
165
- } from "@xmachines/play-dom-router";
166
- import { createRenderer, schema } from "@xmachines/play-dom";
167
- import { defineCatalog } from "@json-render/core";
168
- import { z } from "zod";
169
- import type { ComponentFn } from "@xmachines/play-dom";
170
-
171
- // 1. Define catalog + components
172
- const catalog = defineCatalog(schema, {
173
- components: {
174
- Home: { props: z.object({ title: z.string() }) },
175
- About: { props: z.object({ title: z.string() }) },
176
- },
177
- actions: {
178
- route: { params: z.object({ to: z.string() }) },
179
- },
180
- });
178
+ import { createRouteMap } from "@xmachines/play-dom-router";
181
179
 
182
- const Home: ComponentFn<typeof catalog, "Home"> = ({ props }) => {
183
- const el = document.createElement("section");
184
- el.textContent = props.title;
185
- return el;
186
- };
187
- const About: ComponentFn<typeof catalog, "About"> = ({ props }) => {
188
- const el = document.createElement("section");
189
- el.textContent = props.title;
190
- return el;
191
- };
192
-
193
- // 2. Create renderer factory
194
- const mount = createRenderer(catalog, { Home, About });
195
-
196
- // 3. Wire router + renderer
197
180
  const routeMap = createRouteMap(machine);
198
- const history = createBrowserHistory({ window });
199
- const router = createRouter({ routeTree: machine, history });
200
- const actor = definePlayer({ machine })();
201
- actor.start();
181
+ routeMap.getStateIdByPath("/dashboard"); // "dashboard"
182
+ routeMap.getPathByStateId("dashboard"); // "/dashboard"
183
+ ```
202
184
 
203
- const disconnectRouter = connectRouter({ actor, router, routeMap });
204
- const disconnectRenderer = mount(actor, document.getElementById("app")!);
185
+ ## URLPattern Support
205
186
 
206
- // Cleanup
207
- window.addEventListener("beforeunload", () => {
208
- disconnectRenderer();
209
- disconnectRouter();
210
- router.destroy();
211
- actor.stop();
212
- });
187
+ This package uses the [URLPattern API](https://developer.mozilla.org/en-US/docs/Web/API/URLPattern) for route pattern matching via [`@xmachines/play-router`](../play-router/README.md). URLPattern is available natively on Node.js 24+ and modern browsers (Chrome 95+, Firefox 117+, Safari 16.4+). On older environments, load a polyfill **before** importing this package — see [`@xmachines/play-router`](../play-router/README.md) for details.
188
+
189
+ ## Testing
190
+
191
+ Run tests in isolation:
192
+
193
+ ```bash
194
+ npm test
195
+ # or from monorepo root:
196
+ npm test -w @xmachines/play-dom-router
213
197
  ```
214
198
 
215
- ## `BrowserHistory` interface
199
+ Tests run in Node.js environment with `URLPattern` polyfill setup. Browser-specific tests are in `test/browser/` and run separately via `vitest.browser.config.ts`.
216
200
 
217
- ```typescript
218
- interface BrowserHistory {
219
- readonly location: {
220
- pathname: string;
221
- search: string;
222
- hash: string;
223
- state: unknown;
224
- };
225
- push(path: string, state?: unknown): void;
226
- replace(path: string, state?: unknown): void;
227
- go(delta: number): void;
228
- back(): void;
229
- forward(): void;
230
- subscribe(listener: (location: BrowserHistory["location"]) => void): () => void;
231
- createHref(path: string): string;
232
- /**
233
- * Restore original pushState/replaceState. Idempotent. Cooperates with
234
- * other wrappers sharing the same window originals restored only after
235
- * the last wrapper is destroyed.
236
- */
237
- destroy(): void;
238
- }
201
+ Coverage thresholds:
202
+
203
+ | Type | Threshold |
204
+ | ---------- | --------- |
205
+ | Lines | 80% |
206
+ | Functions | 80% |
207
+ | Branches | 75% |
208
+ | Statements | 80% |
209
+
210
+ ## Architecture
211
+
212
+ The bridge-first data flow:
213
+
214
+ 1. `connectRouter` instantiates `DomRouterBridge` (extends `RouterBridgeBase`) and calls `bridge.connect()`.
215
+ 2. On connect, `RouterBridgeBase` performs initial sync: if browser URL differs from actor route, a `play.route` event is sent; if actor route differs and browser is at the machine's initial route (restore scenario), the actor wins and history is updated.
216
+ 3. Actor route changes (via `currentRoute` Signal) trigger `history.push(path)`.
217
+ 4. Browser URL changes (popstate, patched pushState/replaceState) call `syncActorFromRouter(pathname, search)`, which sends a `play.route` event.
218
+ 5. Circular updates are prevented by the `isProcessingNavigation` flag in `RouterBridgeBase`.
219
+
220
+ ```
221
+ Browser URL
222
+ │ popstate / pushState / replaceState
223
+
224
+ DomRouterBridge
225
+ │ play.route event
226
+
227
+ Actor (XState machine)
228
+ │ currentRoute Signal change
229
+
230
+ DomRouterBridge
231
+ │ history.push(path)
232
+
233
+ Browser URL
239
234
  ```
240
235
 
241
- ## Learn More
236
+ ## Related Packages
237
+
238
+ - [@xmachines/play-router](../play-router/README.md) — `RouterBridgeBase`, `createRouteMap`, `extractMachineRoutes`
239
+ - [@xmachines/play-actor](../play-actor/README.md) — `AbstractActor`, `Routable`, `Viewable`
240
+ - [@xmachines/play-dom](../play-dom/README.md) — Vanilla DOM renderer for view rendering alongside routing
241
+ - [@xmachines/play-xstate](../play-xstate/README.md) — `definePlayer`, `PlayerActor`
242
+
243
+ ## Part of the XMachines monorepo
244
+
245
+ This package is part of the [xmachines-js](../../README.md) monorepo.
246
+
247
+ ## License
242
248
 
243
- - [Demo](../../../examples/@xmachines/play-dom-router-demo/README.md)
244
- - [Vanilla DOM renderer](../play-dom/README.md)
245
- - [Router core](../play-router/README.md)
246
- - [Routing Patterns guide](../../packages/docs/examples/routing-patterns.md)
247
- - [Play RFC](../../packages/docs/rfc/play.md)
249
+ MIT — see [LICENSE](LICENSE).
248
250
 
249
251
  ## Interfaces
250
252
 
@@ -6,7 +6,7 @@
6
6
  function connectRouter(options): () => void;
7
7
  ```
8
8
 
9
- Defined in: [play-dom-router/src/connect-router.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.46/packages/play-dom-router/src/connect-router.ts#L48)
9
+ Defined in: [play-dom-router/src/connect-router.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.48/packages/play-dom-router/src/connect-router.ts#L48)
10
10
 
11
11
  Connect vanilla router to actor (pure browser integration).
12
12
 
@@ -6,7 +6,7 @@
6
6
  function createBrowserHistory(options): BrowserHistory;
7
7
  ```
8
8
 
9
- Defined in: [play-dom-router/src/create-browser-history.ts:120](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.46/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.48/packages/play-dom-router/src/create-browser-history.ts#L120)
10
10
 
11
11
  Create browser history that wraps window.history
12
12
 
@@ -6,7 +6,7 @@
6
6
  function createRouteMap(machine, options?): RouteMap;
7
7
  ```
8
8
 
9
- Defined in: [play-router/src/create-route-map.ts:45](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.46/packages/play-router/src/create-route-map.ts#L45)
9
+ Defined in: [play-router/src/create-route-map.ts:45](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.48/packages/play-router/src/create-route-map.ts#L45)
10
10
 
11
11
  Create a `RouteMap` from an XState state machine.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function createRouter(options): VanillaRouter;
7
7
  ```
8
8
 
9
- Defined in: [play-dom-router/src/create-router.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.46/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.48/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: [play-dom-router/src/create-browser-history.ts:1](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.46/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.48/packages/play-dom-router/src/create-browser-history.ts#L1)
6
6
 
7
7
  ## Properties
8
8
 
9
9
  | Property | Modifier | Type | Description | Defined in |
10
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.46/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.46/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.46/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.46/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.46/packages/play-dom-router/src/create-browser-history.ts#L9) |
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.48/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.48/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.48/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.48/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.48/packages/play-dom-router/src/create-browser-history.ts#L9) |
16
16
 
17
17
  ## Methods
18
18
 
@@ -22,7 +22,7 @@ Defined in: [play-dom-router/src/create-browser-history.ts:1](https://gitlab.com
22
22
  back(): void;
23
23
  ```
24
24
 
25
- Defined in: [play-dom-router/src/create-browser-history.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.46/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.48/packages/play-dom-router/src/create-browser-history.ts#L26)
26
26
 
27
27
  #### Returns
28
28
 
@@ -36,7 +36,7 @@ Defined in: [play-dom-router/src/create-browser-history.ts:26](https://gitlab.co
36
36
  createHref(path): string;
37
37
  ```
38
38
 
39
- Defined in: [play-dom-router/src/create-browser-history.ts:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.46/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.48/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: [play-dom-router/src/create-browser-history.ts:47](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.46/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.48/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: [play-dom-router/src/create-browser-history.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.46/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.48/packages/play-dom-router/src/create-browser-history.ts#L27)
82
82
 
83
83
  #### Returns
84
84
 
@@ -92,7 +92,7 @@ Defined in: [play-dom-router/src/create-browser-history.ts:27](https://gitlab.co
92
92
  go(delta): void;
93
93
  ```
94
94
 
95
- Defined in: [play-dom-router/src/create-browser-history.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.46/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.48/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: [play-dom-router/src/create-browser-history.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.46/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.48/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: [play-dom-router/src/create-browser-history.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.46/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.48/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: [play-dom-router/src/create-browser-history.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.46/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.48/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: [play-dom-router/src/create-browser-history.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.46/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.48/packages/play-dom-router/src/create-browser-history.ts#L59)
6
6
 
7
7
  Minimal window interface for createBrowserHistory
8
8
 
@@ -14,17 +14,17 @@ Avoids coupling to `Window & typeof globalThis` which varies across environments
14
14
 
15
15
  | Property | Modifier | Type | Defined in |
16
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.46/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.46/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.46/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.46/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.46/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.46/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.46/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.46/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.46/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.46/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.46/packages/play-dom-router/src/create-browser-history.ts#L70) |
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.48/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.48/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.48/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.48/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.48/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.48/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.48/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.48/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.48/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.48/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.48/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: [play-dom-router/src/create-browser-history.ts:73](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.46/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.48/packages/play-dom-router/src/create-browser-history.ts#L73)
38
38
 
39
39
  #### Parameters
40
40
 
@@ -55,7 +55,7 @@ Defined in: [play-dom-router/src/create-browser-history.ts:73](https://gitlab.co
55
55
  removeEventListener(type, listener): void;
56
56
  ```
57
57
 
58
- Defined in: [play-dom-router/src/create-browser-history.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.46/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.48/packages/play-dom-router/src/create-browser-history.ts#L74)
59
59
 
60
60
  #### Parameters
61
61