@xmachines/docs 1.0.0 → 2.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) hide show
  1. package/README.md +1 -1
  2. package/api/@xmachines/play/classes/NonNullableError.md +11 -11
  3. package/api/@xmachines/play/classes/PlayError.md +11 -11
  4. package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
  5. package/api/@xmachines/play/type-aliases/PlayEvent.md +4 -4
  6. package/api/@xmachines/play-actor/classes/AbstractActor.md +20 -19
  7. package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +1 -1
  8. package/api/@xmachines/play-actor/functions/toAtomState.md +1 -1
  9. package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
  10. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +7 -7
  11. package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +7 -7
  12. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +7 -7
  13. package/api/@xmachines/play-actor/interfaces/Routable.md +5 -5
  14. package/api/@xmachines/play-actor/interfaces/Viewable.md +4 -4
  15. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  16. package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
  17. package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
  18. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +10 -10
  19. package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -5
  20. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +12 -12
  21. package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
  22. package/api/@xmachines/play-dom-router/README.md +1 -1
  23. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  24. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  25. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +2 -2
  26. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  27. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +16 -16
  28. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  29. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +6 -6
  30. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +8 -8
  31. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +6 -6
  32. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  33. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
  34. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +4 -4
  35. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +5 -5
  36. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  37. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
  38. package/api/@xmachines/play-react/README.md +1 -1
  39. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
  40. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  41. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  42. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  43. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +10 -10
  44. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +6 -6
  45. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +5 -5
  46. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +13 -13
  47. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +7 -7
  48. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
  49. package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
  50. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  51. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  52. package/api/@xmachines/play-react-router/README.md +1 -1
  53. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +4 -4
  54. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  55. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +1 -1
  56. package/api/@xmachines/play-react-router/functions/createRouteMap.md +2 -2
  57. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  58. package/api/@xmachines/play-react-router/interfaces/PlayActor.md +7 -7
  59. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +8 -8
  60. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +7 -7
  61. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +7 -7
  62. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +4 -4
  63. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +5 -5
  64. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  65. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  66. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +1 -1
  67. package/api/@xmachines/play-router/README.md +15 -7
  68. package/api/@xmachines/play-router/classes/RouteMap.md +4 -4
  69. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +4 -4
  70. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  71. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  72. package/api/@xmachines/play-router/functions/createRouteMap.md +2 -2
  73. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +1 -1
  74. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  75. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +2 -2
  76. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  77. package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
  78. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  79. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  80. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  81. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  82. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  83. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  84. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  85. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  86. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  87. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  88. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  89. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +6 -6
  90. package/api/@xmachines/play-router/interfaces/LocationLike.md +5 -5
  91. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +7 -5
  92. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +7 -7
  93. package/api/@xmachines/play-router/interfaces/PlayActor.md +7 -7
  94. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +8 -8
  95. package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +5 -5
  96. package/api/@xmachines/play-router/interfaces/RoutableActor.md +6 -6
  97. package/api/@xmachines/play-router/interfaces/RouteInfo.md +10 -10
  98. package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +4 -4
  99. package/api/@xmachines/play-router/interfaces/RouteMapping.md +5 -5
  100. package/api/@xmachines/play-router/interfaces/RouteMatch.md +5 -5
  101. package/api/@xmachines/play-router/interfaces/RouteNode.md +12 -12
  102. package/api/@xmachines/play-router/interfaces/RouteObject.md +4 -4
  103. package/api/@xmachines/play-router/interfaces/RouteTree.md +7 -7
  104. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  105. package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
  106. package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
  107. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  108. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  109. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  110. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +4 -4
  111. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  112. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +4 -4
  113. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  114. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  115. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  116. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  117. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  118. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
  119. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
  120. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +7 -7
  121. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  122. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  123. package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
  124. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  125. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  126. package/api/@xmachines/play-solid-router/README.md +5 -5
  127. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  128. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +5 -5
  129. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +1 -1
  130. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +2 -2
  131. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +20 -19
  132. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +7 -7
  133. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +8 -8
  134. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +7 -7
  135. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +7 -7
  136. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +4 -4
  137. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +5 -5
  138. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  139. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  140. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  141. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  142. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +1 -1
  143. package/api/@xmachines/play-svelte/README.md +1 -1
  144. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  145. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  146. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  147. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  148. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +10 -10
  149. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +6 -6
  150. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +13 -13
  151. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +7 -7
  152. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  153. package/api/@xmachines/play-svelte-spa-router/README.md +24 -18
  154. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  155. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  156. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +2 -2
  157. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +6 -6
  158. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +8 -8
  159. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +4 -4
  160. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +5 -5
  161. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  162. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  163. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  164. package/api/@xmachines/play-sveltekit-router/README.md +5 -5
  165. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  166. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  167. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +2 -2
  168. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +6 -6
  169. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +5 -5
  170. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +8 -8
  171. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +4 -4
  172. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +5 -5
  173. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  174. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  175. package/api/@xmachines/play-tanstack-react-router/README.md +1 -1
  176. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  177. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +4 -4
  178. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +1 -1
  179. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +2 -2
  180. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  181. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +2 -2
  182. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +7 -7
  183. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +8 -8
  184. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +7 -7
  185. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +7 -7
  186. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +4 -4
  187. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +5 -5
  188. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +5 -5
  189. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  190. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  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 +4 -4
  193. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +1 -1
  194. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +2 -2
  195. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  196. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +4 -4
  197. package/api/@xmachines/play-tanstack-solid-router/README.md +5 -5
  198. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  199. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +5 -5
  200. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +1 -1
  201. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +2 -2
  202. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +7 -7
  203. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +8 -8
  204. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +7 -7
  205. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +7 -7
  206. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +4 -4
  207. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +5 -5
  208. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  209. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  210. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  211. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  212. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +4 -4
  213. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +1 -1
  214. package/api/@xmachines/play-vue/README.md +1 -1
  215. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  216. package/api/@xmachines/play-vue/functions/getPlayViewContext.md +1 -1
  217. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  218. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +7 -7
  219. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +10 -10
  220. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +7 -7
  221. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +1 -1
  222. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  223. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  224. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  225. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +4 -4
  226. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  227. package/api/@xmachines/play-vue-router/README.md +1 -1
  228. package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
  229. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +5 -5
  230. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +2 -2
  231. package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +7 -7
  232. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +8 -8
  233. package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +4 -4
  234. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +5 -5
  235. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  236. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  237. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  238. package/api/@xmachines/play-xstate/README.md +88 -25
  239. package/api/@xmachines/play-xstate/classes/PlayerActor.md +34 -33
  240. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
  241. package/api/@xmachines/play-xstate/functions/composeGuards.md +23 -17
  242. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +16 -16
  243. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  244. package/api/@xmachines/play-xstate/functions/createRoutedMachine.md +87 -0
  245. package/api/@xmachines/play-xstate/functions/definePlayer.md +3 -3
  246. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  247. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  248. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +45 -11
  249. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  250. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  251. package/api/@xmachines/play-xstate/functions/negateGuard.md +15 -15
  252. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +5 -5
  253. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +4 -4
  254. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +8 -8
  255. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +7 -7
  256. package/api/@xmachines/play-xstate/interfaces/RouteObject.md +4 -4
  257. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +26 -5
  258. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  259. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  260. package/api/@xmachines/play-xstate/type-aliases/PlayRoutePayload.md +30 -0
  261. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  262. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +13 -6
  263. package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +1 -1
  264. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +16 -4
  265. package/api/@xmachines/play-xstate/type-aliases/SetupLike.md +33 -0
  266. package/api/@xmachines/play-xstate/type-aliases/WithOptional.md +31 -0
  267. package/api/@xmachines/play-xstate/variables/emptyEventSchema.md +37 -0
  268. package/api/@xmachines/play-xstate/variables/playMetaSchema.md +40 -0
  269. package/api/@xmachines/play-xstate/variables/playRouteEventSchema.md +9 -0
  270. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  271. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  272. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  273. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  274. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +4 -4
  275. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  276. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  277. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +6 -6
  278. package/contributing/architecture.md +9 -6
  279. package/contributing/development.md +1 -1
  280. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
  281. package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
  282. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
  283. package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
  284. package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
  285. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
  286. package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
  287. package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
  288. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
  289. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
  290. package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
  291. package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
  292. package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
  293. package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
  294. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
  295. package/examples/@xmachines/play-react-demo/functions/App.md +1 -1
  296. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
  297. package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
  298. package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
  299. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
  300. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
  301. package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
  302. package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
  303. package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
  304. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
  305. package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
  306. package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
  307. package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
  308. package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
  309. package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
  310. package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
  311. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
  312. package/examples/@xmachines/play-solid-demo/functions/App.md +1 -1
  313. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
  314. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  315. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  316. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  317. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
  318. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  319. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  320. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
  321. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
  322. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  323. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  324. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  325. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  326. package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
  327. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  328. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
  329. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
  330. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
  331. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
  332. package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
  333. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +1 -1
  334. package/examples/README.md +1 -1
  335. package/examples/basic-state-machine.md +22 -24
  336. package/examples/form-validation.md +118 -109
  337. package/examples/routing-patterns.md +92 -60
  338. package/examples/traffic-light.md +46 -57
  339. package/guides/getting-started.md +79 -68
  340. package/guides/state-machines.md +68 -52
  341. package/package.json +2 -2
  342. package/rfc/play.md +4 -4
@@ -6,36 +6,38 @@
6
6
  function composeGuards<TContext, TEvent>(guards): ComposedGuard;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-xstate/src/guards/compose.ts:78](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/guards/compose.ts#L78)
9
+ Defined in: [packages/play-xstate/src/guards/compose.ts:130](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/guards/compose.ts#L130)
10
10
 
11
- Compose guards with AND logic using XState's and() helper
11
+ Compose guards with AND logic.
12
12
 
13
13
  Combines multiple guard predicates using AND semantics—all guards must pass for
14
- the composition to succeed. Uses XState's built-in `and()` helper to ensure proper
15
- type inference and machine serialization.
14
+ the composition to succeed. Evaluation is short-circuiting, left to right.
16
15
 
17
16
  **Architectural Context:** Supports **Actor Authority (INV-01)** by enabling
18
17
  declarative guard composition in state machine transitions. Guards enforce business
19
18
  logic rules that determine whether navigation or actions are valid.
20
19
 
20
+ **XState v6:** the composed value is a plain predicate. Call it inside a
21
+ transition function and return early to block the transition:
22
+
21
23
  ## Type Parameters
22
24
 
23
- | Type Parameter | Default type | Description |
24
- | -------------- | ------------ | -------------------------- |
25
- | `TContext` | `any` | State machine context type |
26
- | `TEvent` | `any` | Event type |
25
+ | Type Parameter | Default type | Description |
26
+ | -------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------- |
27
+ | `TContext` | `any` | State machine context type (defaults to `any` so the documented inline-predicate examples compile without annotations) |
28
+ | `TEvent` | `any` | Event type |
27
29
 
28
30
  ## Parameters
29
31
 
30
- | Parameter | Type | Description |
31
- | --------- | --------------------------------------------------------------------- | ------------------------------------------------------------ |
32
- | `guards` | [`GuardArray`](../type-aliases/GuardArray.md)\<`TContext`, `TEvent`\> | Array of guard predicates or guard names (string references) |
32
+ | Parameter | Type | Description |
33
+ | --------- | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
34
+ | `guards` | [`GuardArray`](../type-aliases/GuardArray.md)\<`TContext`, `TEvent`\> | Array of guard predicates or guard names (string references resolved against `args.guards` from `setup({ guards })`) |
33
35
 
34
36
  ## Returns
35
37
 
36
38
  [`ComposedGuard`](../type-aliases/ComposedGuard.md)
37
39
 
38
- XState and() guard composition
40
+ Predicate returning `true` only when every guard passes
39
41
 
40
42
  ## Throws
41
43
 
@@ -49,6 +51,8 @@ AND composition with named guards
49
51
  import { setup } from "xstate";
50
52
  import { composeGuards } from "@xmachines/play-xstate";
51
53
 
54
+ const canAccessAdmin = composeGuards(["isLoggedIn", "hasPermission"]);
55
+
52
56
  const machine = setup({
53
57
  guards: {
54
58
  isLoggedIn: ({ context }) => !!context.userId,
@@ -56,10 +60,9 @@ const machine = setup({
56
60
  },
57
61
  }).createMachine({
58
62
  on: {
59
- accessAdmin: {
60
- // Both guards must pass
61
- guard: composeGuards(["isLoggedIn", "hasPermission"]),
62
- target: "adminPanel",
63
+ accessAdmin: (args) => {
64
+ if (!canAccessAdmin(args)) return;
65
+ return { target: "adminPanel" };
63
66
  },
64
67
  },
65
68
  });
@@ -70,7 +73,10 @@ AND composition with inline predicates
70
73
  ```typescript
71
74
  import { composeGuards } from "@xmachines/play-xstate";
72
75
 
73
- guard: composeGuards([({ context }) => context.age >= 18, ({ context }) => context.verified]);
76
+ const isEligible = composeGuards([
77
+ ({ context }) => context.age >= 18,
78
+ ({ context }) => context.verified,
79
+ ]);
74
80
  ```
75
81
 
76
82
  ## See
@@ -6,32 +6,31 @@
6
6
  function composeGuardsOr<TContext, TEvent>(guards): ComposedGuard;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-xstate/src/guards/compose.ts:144](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/guards/compose.ts#L144)
9
+ Defined in: [packages/play-xstate/src/guards/compose.ts:189](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/guards/compose.ts#L189)
10
10
 
11
- Compose guards with OR logic using XState's or() helper
11
+ Compose guards with OR logic.
12
12
 
13
13
  Combines multiple guard predicates using OR semantics—at least one guard must pass
14
- for the composition to succeed. Uses XState's built-in `or()` helper for proper
15
- type inference.
14
+ for the composition to succeed. Evaluation is short-circuiting, left to right.
16
15
 
17
16
  ## Type Parameters
18
17
 
19
- | Type Parameter | Default type | Description |
20
- | -------------- | ------------ | -------------------------- |
21
- | `TContext` | `any` | State machine context type |
22
- | `TEvent` | `any` | Event type |
18
+ | Type Parameter | Default type |
19
+ | -------------- | ------------ |
20
+ | `TContext` | `any` |
21
+ | `TEvent` | `any` |
23
22
 
24
23
  ## Parameters
25
24
 
26
- | Parameter | Type | Description |
27
- | --------- | --------------------------------------------------------------------- | ---------------------------------------- |
28
- | `guards` | [`GuardArray`](../type-aliases/GuardArray.md)\<`TContext`, `TEvent`\> | Array of guard predicates or guard names |
25
+ | Parameter | Type | Description |
26
+ | --------- | --------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
27
+ | `guards` | [`GuardArray`](../type-aliases/GuardArray.md)\<`TContext`, `TEvent`\> | Array of guard predicates or guard names (string references resolved against `args.guards` from `setup({ guards })`) |
29
28
 
30
29
  ## Returns
31
30
 
32
31
  [`ComposedGuard`](../type-aliases/ComposedGuard.md)
33
32
 
34
- XState or() guard composition
33
+ Predicate returning `true` when any guard passes
35
34
 
36
35
  ## Throws
37
36
 
@@ -45,6 +44,8 @@ OR composition with named guards
45
44
  import { setup } from "xstate";
46
45
  import { composeGuardsOr } from "@xmachines/play-xstate";
47
46
 
47
+ const canDelete = composeGuardsOr(["isOwner", "isAdmin"]);
48
+
48
49
  const machine = setup({
49
50
  guards: {
50
51
  isOwner: ({ context }) => context.role === "owner",
@@ -52,10 +53,9 @@ const machine = setup({
52
53
  },
53
54
  }).createMachine({
54
55
  on: {
55
- deleteResource: {
56
- // Either guard can pass
57
- guard: composeGuardsOr(["isOwner", "isAdmin"]),
58
- actions: "delete",
56
+ deleteResource: (args, enq) => {
57
+ if (!canDelete(args)) return;
58
+ enq(() => deleteIt());
59
59
  },
60
60
  },
61
61
  });
@@ -6,7 +6,7 @@
6
6
  function contextFieldMatches<TContext>(fieldPath, expectedValue): Guard<TContext, PlayEvent>;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-xstate/src/guards/helpers.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/guards/helpers.ts#L71)
9
+ Defined in: [packages/play-xstate/src/guards/helpers.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/guards/helpers.ts#L71)
10
10
 
11
11
  Check if a context field matches an expected value.
12
12
 
@@ -0,0 +1,87 @@
1
+ [API](../../../README.md) / [@xmachines/play-xstate](../README.md) / createRoutedMachine
2
+
3
+ # Function: createRoutedMachine()
4
+
5
+ ```ts
6
+ function createRoutedMachine<TSetup>(s): TSetup["createMachine"];
7
+ ```
8
+
9
+ Defined in: [packages/play-xstate/src/routing/create-routed-machine.ts:78](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/create-routed-machine.ts#L78)
10
+
11
+ Returns a `createMachine` that routes: identical signature to the setup's
12
+ own `createMachine`, with [formatPlayRouteTransitions](formatPlayRouteTransitions.md) applied to the
13
+ config at runtime.
14
+
15
+ ### Why this exists
16
+
17
+ `formatPlayRouteTransitions(config)` accepts a loosely-typed config. A config
18
+ authored as a standalone value loses inline transition-function parameter
19
+ inference entirely (implicit-any under strict mode), and even the inline
20
+ `setup().createMachine(formatPlayRouteTransitions({ ... }))` form depends on
21
+ TypeScript threading contextual typing through two generic calls.
22
+
23
+ This wrapper removes the question: it is typed as the setup's own
24
+ `createMachine`, so the config is contextually typed exactly as if passed to
25
+ `setup().createMachine(...)` directly — transition-function args infer from
26
+ the setup's schemas, sibling targets are validated, and the returned machine
27
+ keeps its full literal state-value typing.
28
+
29
+ Typing is _identical to native_ — including its current gaps: as of xstate
30
+ 6.0.0-alpha.20, `event` and `context` reads in transition args are fully
31
+ typed, while returned context patches are property-typed but still carry a
32
+ loose index signature in the alpha itself. Expect that to tighten upstream
33
+ without changes here.
34
+
35
+ ## Type Parameters
36
+
37
+ | Type Parameter |
38
+ | -------------------------------------------------------------- |
39
+ | `TSetup` _extends_ [`SetupLike`](../type-aliases/SetupLike.md) |
40
+
41
+ ## Parameters
42
+
43
+ | Parameter | Type | Description |
44
+ | --------- | -------- | ------------------------------------------------------------ |
45
+ | `s` | `TSetup` | A `setup(...)` return value (anything with `createMachine`). |
46
+
47
+ ## Returns
48
+
49
+ `TSetup`\[`"createMachine"`\]
50
+
51
+ A function with the same signature as `s.createMachine` that
52
+ applies [formatPlayRouteTransitions](formatPlayRouteTransitions.md) before creating the machine.
53
+
54
+ ## Example
55
+
56
+ ```typescript
57
+ import { setup, types } from "xstate";
58
+ import { createRoutedMachine, playMetaSchema, playRouteEventSchema } from "@xmachines/play-xstate";
59
+
60
+ const authSetup = setup({
61
+ schemas: {
62
+ context: types<{ isAuthenticated: boolean }>(),
63
+ events: { "play.route": playRouteEventSchema },
64
+ meta: playMetaSchema,
65
+ },
66
+ });
67
+
68
+ const machine = createRoutedMachine(authSetup)({
69
+ initial: "home",
70
+ context: { isAuthenticated: false },
71
+ states: {
72
+ home: { id: "home", meta: { route: "/" } },
73
+ login: { id: "login", meta: { route: "/login" } },
74
+ },
75
+ });
76
+ // ({ context }) params in transitions infer from the setup schemas —
77
+ // no explicit annotations needed.
78
+ ```
79
+
80
+ Note: routes are injected at runtime, so the machine's static type does not
81
+ gain an `xstate.route` event for them — `play.route` (declared in the
82
+ setup's event schemas) remains the typed public API; native `xstate.route`
83
+ interop is runtime-only.
84
+
85
+ ## See
86
+
87
+ [formatPlayRouteTransitions](formatPlayRouteTransitions.md) for the routing transform itself
@@ -6,11 +6,11 @@
6
6
  function definePlayer<TMachine>(config): PlayerFactory<TMachine>;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-xstate/src/define-player.ts:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/define-player.ts#L61)
9
+ Defined in: [packages/play-xstate/src/define-player.ts:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/define-player.ts#L61)
10
10
 
11
11
  Create a player factory from an XState machine
12
12
 
13
- Factory pattern that accepts an XState v5 machine,
13
+ Factory pattern that accepts an XState v6 machine,
14
14
  returning a function that creates [PlayerActor](../classes/PlayerActor.md) instances. This enables
15
15
  creating multiple actor instances from a single configuration, useful for
16
16
  testing, multi-instance scenarios, or server-side rendering.
@@ -19,7 +19,7 @@ testing, multi-instance scenarios, or server-side rendering.
19
19
 
20
20
  | Type Parameter | Description |
21
21
  | ---------------------------------------------------------------------------------------------- | ---------------------------- |
22
- | `TMachine` _extends_ [`AnyStateMachine`](https://www.jsdocs.io/package/xstate#AnyStateMachine) | XState v5 state machine type |
22
+ | `TMachine` _extends_ [`AnyStateMachine`](https://www.jsdocs.io/package/xstate#AnyStateMachine) | XState v6 state machine type |
23
23
 
24
24
  ## Parameters
25
25
 
@@ -6,7 +6,7 @@
6
6
  function deriveRoute(stateMeta): string | null;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-xstate/src/routing/derive-route.ts:91](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/derive-route.ts#L91)
9
+ Defined in: [packages/play-xstate/src/routing/derive-route.ts:91](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/derive-route.ts#L91)
10
10
 
11
11
  Derive route from XState state metadata
12
12
 
@@ -6,7 +6,7 @@
6
6
  function eventMatches<TEvent>(eventType): Guard<unknown, TEvent>;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-xstate/src/guards/helpers.ts:50](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/guards/helpers.ts#L50)
9
+ Defined in: [packages/play-xstate/src/guards/helpers.ts:50](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/guards/helpers.ts#L50)
10
10
 
11
11
  Check if event type matches expected type
12
12
 
@@ -6,14 +6,20 @@
6
6
  function formatPlayRouteTransitions<T>(machineConfig): T;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/format-play-route-transitions.ts#L89)
9
+ Defined in: [packages/play-xstate/src/routing/format-play-route-transitions.ts:146](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/format-play-route-transitions.ts#L146)
10
10
 
11
- Formats play.route transitions from declarative route configs
11
+ Formats play.route routing from declarative route configs.
12
12
 
13
- Crawls machine states looking for states with meta.route and generates
14
- transitions that handle `play.route` events by matching event.to to state IDs.
13
+ Crawls machine states looking for states with `meta.route` and wires them to
14
+ XState v6's **native routing machinery**:
15
15
 
16
- Inspired by XState's internal formatRouteTransitions (stateUtils.ts line 391).
16
+ - every routed state gets a native `route: {}` config (unless it already
17
+ declares its own `route`), making it targetable via the built-in
18
+ `{ type: "xstate.route", to: "#id" }` event (Stately tooling interop and
19
+ statically-known graph edges), and
20
+ - one root-level `play.route` forwarder performs the navigation for those
21
+ targets as ONE atomic transition: target + re-entry + a shallow
22
+ `params`/`query` context patch.
17
23
 
18
24
  ## Type Parameters
19
25
 
@@ -31,7 +37,7 @@ Inspired by XState's internal formatRouteTransitions (stateUtils.ts line 391).
31
37
 
32
38
  `T`
33
39
 
34
- The same machine config with auto-generated `play.route` handlers merged in, preserving the original type `T`.
40
+ The machine config with native `route` configs and the `play.route` forwarder merged in, preserving the original type `T`.
35
41
 
36
42
  ## Example
37
43
 
@@ -47,8 +53,36 @@ const machineConfig = {
47
53
  const machine = createMachine(formatPlayRouteTransitions(machineConfig));
48
54
  ```
49
55
 
50
- This automatically generates play.route handlers at the root level that:
51
-
52
- - Match event.to against state IDs (e.g., event.to === "#home")
53
- - Target the appropriate state
54
- - Assign params and query from the event to context
56
+ Because the injected `route` configs are static (object form), the machine's
57
+ route transitions keep **statically-known targets** — `toDirectedGraph()` /
58
+ `machineToGraph()` edges point at the actual routed states, so graph
59
+ reachability queries work. (Function-form transition candidates would have
60
+ dynamic targets, opaque to static analysis.)
61
+
62
+ The `play.route` public API and its v5 semantics are preserved:
63
+
64
+ - `send({ type: "play.route", to: "#home", params, query })` navigates and
65
+ patches `context.params`/`context.query` in the SAME transition — exit
66
+ actions of the departing state observe the OLD params, entry actions of
67
+ the target observe the NEW ones, `always` transitions never see a
68
+ half-navigated intermediate state, and entry/exit actions receive the
69
+ original `play.route` event;
70
+ - user-defined `play.route` transitions (e.g. a hand-written 404 fallback)
71
+ are preserved AFTER the forwarder: for unknown targets the forwarder
72
+ returns `undefined`, so evaluation falls through to them;
73
+ - `params`/`query` are only patched when the forwarder navigates — unknown
74
+ and blocked targets leave context untouched.
75
+
76
+ When a state declares its OWN `route` config (which wins over the injected
77
+ default), the forwarder re-raises the event as `xstate.route` instead of
78
+ navigating, so the user's resolver decides — including blocking. The
79
+ forwarder does NOT patch `params`/`query` for such targets (a blocking
80
+ resolver would otherwise leave context describing a route that was never
81
+ entered); the user's function-form resolver owns any context patch, and
82
+ that navigation microstep runs under the `xstate.route` event.
83
+
84
+ Native `xstate.route` events also work directly (Stately ecosystem tooling),
85
+ but bypass the forwarder — no `params`/`query` context patch is applied, so
86
+ stale values from earlier `play.route` events linger in context (and a
87
+ router bridge deriving the URL from context would interpolate those stale
88
+ params).
@@ -6,7 +6,7 @@
6
6
  function hasContext<TContext>(path): Guard<TContext, PlayEvent>;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-xstate/src/guards/helpers.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/guards/helpers.ts#L24)
9
+ Defined in: [packages/play-xstate/src/guards/helpers.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/guards/helpers.ts#L24)
10
10
 
11
11
  Check if context has a truthy value at path
12
12
 
@@ -6,7 +6,7 @@
6
6
  function isAbsoluteRoute(path): boolean;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-xstate/src/routing/derive-route.ts:160](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/derive-route.ts#L160)
9
+ Defined in: [packages/play-xstate/src/routing/derive-route.ts:160](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/derive-route.ts#L160)
10
10
 
11
11
  Check if route path is absolute
12
12
 
@@ -6,31 +6,30 @@
6
6
  function negateGuard<TContext, TEvent>(guard): ComposedGuard;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-xstate/src/guards/compose.ts:204](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/guards/compose.ts#L204)
9
+ Defined in: [packages/play-xstate/src/guards/compose.ts:248](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/guards/compose.ts#L248)
10
10
 
11
- Negate a guard using XState's not() helper
11
+ Negate a guard.
12
12
 
13
13
  Inverts a guard's result—if the guard passes, NOT fails; if guard fails, NOT passes.
14
- Uses XState's built-in `not()` helper for proper serialization.
15
14
 
16
15
  ## Type Parameters
17
16
 
18
- | Type Parameter | Default type | Description |
19
- | -------------- | ------------ | -------------------------- |
20
- | `TContext` | `any` | State machine context type |
21
- | `TEvent` | `any` | Event type |
17
+ | Type Parameter | Default type | Description |
18
+ | -------------- | ------------ | ----------------------------------------------------------------------------------------------- |
19
+ | `TContext` | `any` | State machine context type (defaults to `any` so inline predicates compile without annotations) |
20
+ | `TEvent` | `any` | Event type |
22
21
 
23
22
  ## Parameters
24
23
 
25
- | Parameter | Type | Description |
26
- | --------- | ----------------------------------------------------------------------- | --------------------------------------- |
27
- | `guard` | `string` \| [`Guard`](../type-aliases/Guard.md)\<`TContext`, `TEvent`\> | Guard predicate or guard name to negate |
24
+ | Parameter | Type | Description |
25
+ | --------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
26
+ | `guard` | `string` \| [`Guard`](../type-aliases/Guard.md)\<`TContext`, `TEvent`\> | Guard predicate or guard name (resolved against `args.guards` from `setup({ guards })`) to negate |
28
27
 
29
28
  ## Returns
30
29
 
31
30
  [`ComposedGuard`](../type-aliases/ComposedGuard.md)
32
31
 
33
- XState not() guard negation
32
+ Predicate returning the inverted guard result
34
33
 
35
34
  ## Example
36
35
 
@@ -40,16 +39,17 @@ NOT composition with named guard
40
39
  import { setup } from "xstate";
41
40
  import { negateGuard } from "@xmachines/play-xstate";
42
41
 
42
+ const isAuthenticated = negateGuard("isGuest");
43
+
43
44
  const machine = setup({
44
45
  guards: {
45
46
  isGuest: ({ context }) => !context.userId,
46
47
  },
47
48
  }).createMachine({
48
49
  on: {
49
- accessDashboard: {
50
- // Allow if NOT a guest (i.e., authenticated)
51
- guard: negateGuard("isGuest"),
52
- target: "dashboard",
50
+ accessDashboard: (args) => {
51
+ if (!isAuthenticated(args)) return;
52
+ return { target: "dashboard" };
53
53
  },
54
54
  },
55
55
  });
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: PlayerConfig\<TMachine\>
4
4
 
5
- Defined in: [packages/play-xstate/src/types.ts:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/types.ts#L7)
5
+ Defined in: [packages/play-xstate/src/types.ts:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/types.ts#L7)
6
6
 
7
7
  Configuration for definePlayer()
8
8
 
@@ -14,7 +14,7 @@ Configuration for definePlayer()
14
14
 
15
15
  ## Properties
16
16
 
17
- | Property | Type | Description | Defined in |
18
- | ---------------------------------------- | ------------------------------------------------- | --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
19
- | <a id="property-machine"></a> `machine` | `TMachine` | XState v5 state machine | [packages/play-xstate/src/types.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/types.ts#L9) |
20
- | <a id="property-options"></a> `options?` | [`PlayerOptions`](PlayerOptions.md)\<`TMachine`\> | Lifecycle hooks and configuration | [packages/play-xstate/src/types.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/types.ts#L12) |
17
+ | Property | Type | Description | Defined in |
18
+ | ---------------------------------------- | ------------------------------------------------- | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
19
+ | <a id="property-machine"></a> `machine` | `TMachine` | XState v6 state machine | [packages/play-xstate/src/types.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/types.ts#L9) |
20
+ | <a id="property-options"></a> `options?` | [`PlayerOptions`](PlayerOptions.md)\<`TMachine`\> | Lifecycle hooks and configuration | [packages/play-xstate/src/types.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/types.ts#L12) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: PlayerFactoryResumeOptions\<TMachine\>
4
4
 
5
- Defined in: [packages/play-xstate/src/types.ts:47](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/types.ts#L47)
5
+ Defined in: [packages/play-xstate/src/types.ts:47](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/types.ts#L47)
6
6
 
7
7
  Optional restore arguments for the player factory.
8
8
 
@@ -17,6 +17,6 @@ Mirrors XState's createActor options bag while preserving the existing
17
17
 
18
18
  ## Properties
19
19
 
20
- | Property | Type | Description | Defined in |
21
- | ------------------------------------------ | --------------------------------------------------------------------------------- | ------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
22
- | <a id="property-snapshot"></a> `snapshot?` | [`SnapshotFrom`](https://www.jsdocs.io/package/xstate#SnapshotFrom)\<`TMachine`\> | Persisted XState snapshot used to restore actor state. | [packages/play-xstate/src/types.ts:49](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/types.ts#L49) |
20
+ | Property | Type | Description | Defined in |
21
+ | ------------------------------------------ | --------------------------------------------------------------------------------- | ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
22
+ | <a id="property-snapshot"></a> `snapshot?` | [`SnapshotFrom`](https://www.jsdocs.io/package/xstate#SnapshotFrom)\<`TMachine`\> | Persisted XState snapshot used to restore actor state. | [packages/play-xstate/src/types.ts:49](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/types.ts#L49) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: PlayerOptions\<TMachine\>
4
4
 
5
- Defined in: [packages/play-xstate/src/types.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/types.ts#L20)
5
+ Defined in: [packages/play-xstate/src/types.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/types.ts#L20)
6
6
 
7
7
  Player lifecycle hooks
8
8
 
@@ -16,10 +16,10 @@ Per CONTEXT.md: Rich set of hooks for observability
16
16
 
17
17
  ## Properties
18
18
 
19
- | Property | Type | Description | Defined in |
20
- | ---------------------------------------------------- | --------------------------------------------- | -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
21
- | <a id="property-onerror"></a> `onError?` | (`actor`, `error`) => `void` | Called on actor errors | [packages/play-xstate/src/types.ts:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/types.ts#L38) |
22
- | <a id="property-onstart"></a> `onStart?` | (`actor`) => `void` | Called when actor starts | [packages/play-xstate/src/types.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/types.ts#L22) |
23
- | <a id="property-onstatechange"></a> `onStateChange?` | (`actor`, `state`) => `void` | Called when state signal changes | [packages/play-xstate/src/types.ts:35](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/types.ts#L35) |
24
- | <a id="property-onstop"></a> `onStop?` | (`actor`) => `void` | Called when actor stops | [packages/play-xstate/src/types.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/types.ts#L25) |
25
- | <a id="property-ontransition"></a> `onTransition?` | (`actor`, `prevState`, `nextState`) => `void` | Called on every state transition | [packages/play-xstate/src/types.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/types.ts#L28) |
19
+ | Property | Type | Description | Defined in |
20
+ | ---------------------------------------------------- | --------------------------------------------- | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
21
+ | <a id="property-onerror"></a> `onError?` | (`actor`, `error`) => `void` | Called on actor errors | [packages/play-xstate/src/types.ts:38](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/types.ts#L38) |
22
+ | <a id="property-onstart"></a> `onStart?` | (`actor`) => `void` | Called when actor starts | [packages/play-xstate/src/types.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/types.ts#L22) |
23
+ | <a id="property-onstatechange"></a> `onStateChange?` | (`actor`, `state`) => `void` | Called when state signal changes | [packages/play-xstate/src/types.ts:35](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/types.ts#L35) |
24
+ | <a id="property-onstop"></a> `onStop?` | (`actor`) => `void` | Called when actor stops | [packages/play-xstate/src/types.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/types.ts#L25) |
25
+ | <a id="property-ontransition"></a> `onTransition?` | (`actor`, `prevState`, `nextState`) => `void` | Called on every state transition | [packages/play-xstate/src/types.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/types.ts#L28) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouteContext
4
4
 
5
- Defined in: [packages/play-xstate/src/routing/types.ts:19](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/types.ts#L19)
5
+ Defined in: [packages/play-xstate/src/routing/types.ts:19](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/types.ts#L19)
6
6
 
7
7
  Route build context from machine context.
8
8
 
@@ -16,9 +16,9 @@ must populate `params` explicitly.
16
16
 
17
17
  ## Properties
18
18
 
19
- | Property | Type | Description | Defined in |
20
- | ------------------------------------------ | ------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
21
- | <a id="property-basepath"></a> `basePath?` | `string` | Base path for relative routes | [packages/play-xstate/src/routing/types.ts:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/types.ts#L21) |
22
- | <a id="property-hash"></a> `hash?` | `string` | Hash fragment | [packages/play-xstate/src/routing/types.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/types.ts#L27) |
23
- | <a id="property-params"></a> `params?` | `Record`\<`string`, `unknown`\> | Path-only route parameters to substitute (e.g., `:userId` from `/profile/:userId`) | [packages/play-xstate/src/routing/types.ts:23](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/types.ts#L23) |
24
- | <a id="property-query"></a> `query?` | `Record`\<`string`, `unknown`\> | Query parameters | [packages/play-xstate/src/routing/types.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/types.ts#L25) |
19
+ | Property | Type | Description | Defined in |
20
+ | ------------------------------------------ | ------------------------------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
21
+ | <a id="property-basepath"></a> `basePath?` | `string` | Base path for relative routes | [packages/play-xstate/src/routing/types.ts:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/types.ts#L21) |
22
+ | <a id="property-hash"></a> `hash?` | `string` | Hash fragment | [packages/play-xstate/src/routing/types.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/types.ts#L27) |
23
+ | <a id="property-params"></a> `params?` | `Record`\<`string`, `unknown`\> | Path-only route parameters to substitute (e.g., `:userId` from `/profile/:userId`) | [packages/play-xstate/src/routing/types.ts:23](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/types.ts#L23) |
24
+ | <a id="property-query"></a> `query?` | `Record`\<`string`, `unknown`\> | Query parameters | [packages/play-xstate/src/routing/types.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/types.ts#L25) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouteObject
4
4
 
5
- Defined in: [packages/play-xstate/src/routing/types.ts:1](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/types.ts#L1)
5
+ Defined in: [packages/play-xstate/src/routing/types.ts:1](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/types.ts#L1)
6
6
 
7
7
  ## Indexable
8
8
 
@@ -12,6 +12,6 @@ Defined in: [packages/play-xstate/src/routing/types.ts:1](https://gitlab.com/xma
12
12
 
13
13
  ## Properties
14
14
 
15
- | Property | Type | Defined in |
16
- | --------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
17
- | <a id="property-path"></a> `path` | `string` | [packages/play-xstate/src/routing/types.ts:2](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0/packages/play-xstate/src/routing/types.ts#L2) |
15
+ | Property | Type | Defined in |
16
+ | --------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
17
+ | <a id="property-path"></a> `path` | `string` | [packages/play-xstate/src/routing/types.ts:2](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/types.ts#L2) |