@xmachines/docs 1.0.0-beta.9 → 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 (551) hide show
  1. package/README.md +137 -7
  2. package/api/@xmachines/play/README.md +160 -38
  3. package/api/@xmachines/play/classes/NonNullableError.md +189 -0
  4. package/api/@xmachines/play/classes/PlayError.md +251 -0
  5. package/api/@xmachines/play/functions/assertNonNullable.md +56 -0
  6. package/api/@xmachines/play/type-aliases/PlayEvent.md +6 -6
  7. package/api/@xmachines/play-actor/README.md +141 -160
  8. package/api/@xmachines/play-actor/classes/AbstractActor.md +96 -126
  9. package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +40 -0
  10. package/api/@xmachines/play-actor/functions/toAtomState.md +33 -0
  11. package/api/@xmachines/play-actor/functions/typedSpec.md +54 -0
  12. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +46 -0
  13. package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +33 -0
  14. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +28 -0
  15. package/api/@xmachines/play-actor/interfaces/Routable.md +6 -21
  16. package/api/@xmachines/play-actor/interfaces/Viewable.md +12 -6
  17. package/api/@xmachines/play-dom/README.md +384 -0
  18. package/api/@xmachines/play-dom/classes/PlayRenderer.md +115 -0
  19. package/api/@xmachines/play-dom/functions/createPlayUI.md +28 -0
  20. package/api/@xmachines/play-dom/functions/createRenderer.md +44 -0
  21. package/api/@xmachines/play-dom/functions/defineRegistry.md +26 -0
  22. package/api/@xmachines/play-dom/functions/renderSpec.md +67 -0
  23. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +23 -0
  24. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +34 -0
  25. package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +17 -0
  26. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +28 -0
  27. package/api/@xmachines/play-dom/interfaces/EventHandle.md +15 -0
  28. package/api/@xmachines/play-dom/interfaces/MountOptions.md +18 -0
  29. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +30 -0
  30. package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +26 -0
  31. package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +32 -0
  32. package/api/@xmachines/play-dom/type-aliases/ActionFn.md +46 -0
  33. package/api/@xmachines/play-dom/type-aliases/Actions.md +18 -0
  34. package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +114 -0
  35. package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +25 -0
  36. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +26 -0
  37. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +15 -0
  38. package/api/@xmachines/play-dom/type-aliases/ConfirmHandler.md +44 -0
  39. package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +39 -0
  40. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +20 -0
  41. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +9 -0
  42. package/api/@xmachines/play-dom/type-aliases/DomSchema.md +9 -0
  43. package/api/@xmachines/play-dom/type-aliases/MountFn.md +27 -0
  44. package/api/@xmachines/play-dom/type-aliases/RenderErrorHandler.md +23 -0
  45. package/api/@xmachines/play-dom/type-aliases/SetState.md +30 -0
  46. package/api/@xmachines/play-dom/variables/schema.md +62 -0
  47. package/api/@xmachines/play-dom-router/README.md +271 -0
  48. package/api/@xmachines/play-dom-router/functions/connectRouter.md +43 -0
  49. package/api/@xmachines/{play-router → play-dom-router}/functions/createBrowserHistory.md +10 -2
  50. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +39 -0
  51. package/api/@xmachines/play-dom-router/functions/createRouter.md +54 -0
  52. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +176 -0
  53. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +69 -0
  54. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +15 -0
  55. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +129 -0
  56. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +68 -0
  57. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +54 -0
  58. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +121 -0
  59. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +13 -0
  60. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +27 -0
  61. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +104 -0
  62. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +28 -0
  63. package/api/@xmachines/play-react/README.md +185 -334
  64. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +46 -42
  65. package/api/@xmachines/play-react/functions/ActionProvider.md +21 -0
  66. package/api/@xmachines/play-react/functions/JSONUIProvider.md +21 -0
  67. package/api/@xmachines/play-react/functions/Renderer.md +21 -0
  68. package/api/@xmachines/play-react/functions/StateProvider.md +27 -0
  69. package/api/@xmachines/play-react/functions/ValidationProvider.md +21 -0
  70. package/api/@xmachines/play-react/functions/VisibilityProvider.md +21 -0
  71. package/api/@xmachines/play-react/functions/defineRegistry.md +49 -0
  72. package/api/@xmachines/play-react/functions/useActor.md +13 -0
  73. package/api/@xmachines/play-react/functions/useBoundProp.md +45 -0
  74. package/api/@xmachines/play-react/functions/usePlayView.md +32 -0
  75. package/api/@xmachines/play-react/functions/useSignalEffect.md +29 -20
  76. package/api/@xmachines/play-react/interfaces/ActionProviderProps.md +15 -0
  77. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +27 -0
  78. package/api/@xmachines/play-react/interfaces/ComponentContext.md +37 -0
  79. package/api/@xmachines/play-react/interfaces/JSONUIProviderProps.md +22 -0
  80. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +7 -7
  81. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -6
  82. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +26 -0
  83. package/api/@xmachines/play-react/interfaces/RendererProps.md +17 -0
  84. package/api/@xmachines/play-react/interfaces/StateProviderProps.md +16 -0
  85. package/api/@xmachines/play-react/interfaces/ValidationProviderProps.md +14 -0
  86. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +20 -0
  87. package/api/@xmachines/play-react/interfaces/VisibilityProviderProps.md +13 -0
  88. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +11 -0
  89. package/api/@xmachines/play-react/type-aliases/ComponentFn.md +36 -0
  90. package/api/@xmachines/play-react/type-aliases/RenderErrorHandler.md +23 -0
  91. package/api/@xmachines/play-react/variables/ActorProvider.md +33 -0
  92. package/api/@xmachines/play-react/variables/PlayRenderer.md +6 -56
  93. package/api/@xmachines/play-react/variables/PlayUIProvider.md +43 -0
  94. package/api/@xmachines/play-react-router/README.md +130 -114
  95. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +19 -242
  96. package/api/@xmachines/play-react-router/classes/RouteMap.md +48 -36
  97. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +45 -0
  98. package/api/@xmachines/play-react-router/functions/createRouteMap.md +39 -0
  99. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +23 -12
  100. package/api/@xmachines/play-react-router/interfaces/PlayActor.md +68 -0
  101. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +22 -12
  102. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +32 -0
  103. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +25 -9
  104. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +13 -0
  105. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +19 -9
  106. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +8 -8
  107. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
  108. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +32 -0
  109. package/api/@xmachines/play-router/README.md +285 -355
  110. package/api/@xmachines/play-router/classes/RouteMap.md +149 -0
  111. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +21 -221
  112. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +32 -0
  113. package/api/@xmachines/play-router/functions/buildRouteTree.md +12 -2
  114. package/api/@xmachines/play-router/functions/createRouteMap.md +22 -36
  115. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +46 -0
  116. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +14 -7
  117. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +10 -46
  118. package/api/@xmachines/play-router/functions/extractQuery.md +22 -0
  119. package/api/@xmachines/play-router/functions/extractRouteParams.md +54 -0
  120. package/api/@xmachines/play-router/functions/findRouteById.md +2 -2
  121. package/api/@xmachines/play-router/functions/findRouteByPath.md +2 -2
  122. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +2 -2
  123. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +2 -2
  124. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +43 -0
  125. package/api/@xmachines/play-router/functions/isRouteReachable.md +38 -0
  126. package/api/@xmachines/play-router/functions/machineToGraph.md +19 -0
  127. package/api/@xmachines/play-router/functions/routeExists.md +2 -2
  128. package/api/@xmachines/play-router/functions/sanitizePathname.md +40 -0
  129. package/api/@xmachines/play-router/functions/validateRouteFormat.md +10 -9
  130. package/api/@xmachines/play-router/functions/validateStateExists.md +9 -9
  131. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +13 -0
  132. package/api/@xmachines/play-router/interfaces/LocationLike.md +27 -0
  133. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +17 -0
  134. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +17 -0
  135. package/api/@xmachines/play-router/interfaces/PlayActor.md +68 -0
  136. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +22 -12
  137. package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +17 -0
  138. package/api/@xmachines/play-router/interfaces/RoutableActor.md +64 -0
  139. package/api/@xmachines/play-router/interfaces/RouteInfo.md +11 -11
  140. package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +13 -0
  141. package/api/@xmachines/play-router/interfaces/RouteMapping.md +27 -0
  142. package/api/@xmachines/play-router/interfaces/RouteMatch.md +12 -0
  143. package/api/@xmachines/play-router/interfaces/RouteNode.md +13 -13
  144. package/api/@xmachines/play-router/interfaces/RouteObject.md +5 -5
  145. package/api/@xmachines/play-router/interfaces/RouteTree.md +8 -7
  146. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +55 -0
  147. package/api/@xmachines/play-router/interfaces/RouterBridge.md +8 -8
  148. package/api/@xmachines/play-router/interfaces/WindowLike.md +65 -0
  149. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +20 -0
  150. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +2 -2
  151. package/api/@xmachines/play-signals/README.md +116 -65
  152. package/api/@xmachines/play-signals/functions/watchSignal.md +42 -0
  153. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +7 -5
  154. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +3 -3
  155. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +7 -5
  156. package/api/@xmachines/play-signals/interfaces/SignalState.md +4 -4
  157. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +5 -5
  158. package/api/@xmachines/play-signals/namespaces/Signal/README.md +1 -1
  159. package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +7 -7
  160. package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +8 -8
  161. package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +7 -7
  162. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/README.md +1 -1
  163. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +9 -9
  164. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +2 -2
  165. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +2 -2
  166. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +2 -2
  167. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +2 -2
  168. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +2 -2
  169. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +2 -2
  170. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +2 -2
  171. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +2 -2
  172. package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +2 -2
  173. package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +2 -2
  174. package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +2 -2
  175. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +2 -2
  176. package/api/@xmachines/play-solid/README.md +196 -234
  177. package/api/@xmachines/play-solid/functions/ActionProvider.md +19 -0
  178. package/api/@xmachines/play-solid/functions/JSONUIProvider.md +21 -0
  179. package/api/@xmachines/play-solid/functions/Renderer.md +21 -0
  180. package/api/@xmachines/play-solid/functions/StateProvider.md +19 -0
  181. package/api/@xmachines/play-solid/functions/ValidationProvider.md +19 -0
  182. package/api/@xmachines/play-solid/functions/VisibilityProvider.md +20 -0
  183. package/api/@xmachines/play-solid/functions/defineRegistry.md +49 -0
  184. package/api/@xmachines/play-solid/functions/useAction.md +24 -0
  185. package/api/@xmachines/play-solid/functions/useActions.md +13 -0
  186. package/api/@xmachines/play-solid/functions/useActor.md +13 -0
  187. package/api/@xmachines/play-solid/functions/useBoundProp.md +45 -0
  188. package/api/@xmachines/play-solid/functions/useFieldValidation.md +29 -0
  189. package/api/@xmachines/play-solid/functions/useIsVisible.md +19 -0
  190. package/api/@xmachines/play-solid/functions/useOptionalValidation.md +13 -0
  191. package/api/@xmachines/play-solid/functions/usePlayView.md +30 -0
  192. package/api/@xmachines/play-solid/functions/useStateBinding.md +25 -0
  193. package/api/@xmachines/play-solid/functions/useStateStore.md +13 -0
  194. package/api/@xmachines/play-solid/functions/useStateValue.md +25 -0
  195. package/api/@xmachines/play-solid/functions/useVisibility.md +13 -0
  196. package/api/@xmachines/play-solid/interfaces/ActionProviderProps.md +12 -0
  197. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +30 -0
  198. package/api/@xmachines/play-solid/interfaces/ComponentContext.md +37 -0
  199. package/api/@xmachines/play-solid/interfaces/DefineRegistryResult.md +15 -0
  200. package/api/@xmachines/play-solid/interfaces/JSONUIProviderProps.md +22 -0
  201. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +26 -0
  202. package/api/@xmachines/play-solid/interfaces/RendererProps.md +17 -0
  203. package/api/@xmachines/play-solid/interfaces/StateProviderProps.md +13 -0
  204. package/api/@xmachines/play-solid/interfaces/ValidationProviderProps.md +11 -0
  205. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +21 -0
  206. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +11 -0
  207. package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +36 -0
  208. package/api/@xmachines/play-solid/type-aliases/ComponentRegistry.md +11 -0
  209. package/api/@xmachines/play-solid/type-aliases/RenderErrorHandler.md +23 -0
  210. package/api/@xmachines/play-solid/type-aliases/SetState.md +21 -0
  211. package/api/@xmachines/play-solid/type-aliases/VisibilityProviderProps.md +9 -0
  212. package/api/@xmachines/play-solid/variables/ActorContext.md +13 -0
  213. package/api/@xmachines/play-solid/variables/ActorProvider.md +27 -0
  214. package/api/@xmachines/play-solid/variables/PlayRenderer.md +6 -62
  215. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +26 -0
  216. package/api/@xmachines/play-solid-router/README.md +153 -562
  217. package/api/@xmachines/play-solid-router/classes/RouteMap.md +31 -32
  218. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +27 -242
  219. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +44 -0
  220. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +18 -11
  221. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +89 -119
  222. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +68 -0
  223. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +22 -12
  224. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +30 -0
  225. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +25 -9
  226. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +13 -0
  227. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +20 -7
  228. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +8 -8
  229. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +34 -0
  230. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +8 -4
  231. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +22 -19
  232. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +52 -0
  233. package/api/@xmachines/play-svelte/README.md +269 -0
  234. package/api/@xmachines/play-svelte/functions/defineRegistry.md +31 -0
  235. package/api/@xmachines/play-svelte/functions/getActorContext.md +21 -0
  236. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +19 -0
  237. package/api/@xmachines/play-svelte/functions/setActorContext.md +19 -0
  238. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +44 -0
  239. package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +29 -0
  240. package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +29 -0
  241. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +24 -0
  242. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +43 -0
  243. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +24 -0
  244. package/api/@xmachines/play-svelte/type-aliases/ActionFn.md +30 -0
  245. package/api/@xmachines/play-svelte/type-aliases/Actions.md +17 -0
  246. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +11 -0
  247. package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +18 -0
  248. package/api/@xmachines/play-svelte/type-aliases/JSONUIProviderProps.md +7 -0
  249. package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +9 -0
  250. package/api/@xmachines/play-svelte/type-aliases/RenderErrorHandler.md +23 -0
  251. package/api/@xmachines/play-svelte/type-aliases/SetState.md +21 -0
  252. package/api/@xmachines/play-svelte/variables/PlayRenderer.md +9 -0
  253. package/api/@xmachines/play-svelte-spa-router/README.md +205 -0
  254. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +149 -0
  255. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +32 -0
  256. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +39 -0
  257. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +17 -0
  258. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +129 -0
  259. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +13 -0
  260. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +27 -0
  261. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +104 -0
  262. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +65 -0
  263. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +9 -0
  264. package/api/@xmachines/play-sveltekit-router/README.md +211 -0
  265. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +149 -0
  266. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +32 -0
  267. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +39 -0
  268. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +13 -0
  269. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +27 -0
  270. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +129 -0
  271. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +13 -0
  272. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +27 -0
  273. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +104 -0
  274. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +9 -0
  275. package/api/@xmachines/play-tanstack-react-router/README.md +155 -126
  276. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +48 -36
  277. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +31 -252
  278. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +45 -0
  279. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +22 -36
  280. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +23 -12
  281. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +28 -0
  282. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +68 -0
  283. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +22 -12
  284. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +32 -0
  285. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +25 -9
  286. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +13 -0
  287. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +19 -9
  288. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +6 -6
  289. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +8 -8
  290. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
  291. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +2 -2
  292. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +40 -18
  293. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +34 -0
  294. package/api/@xmachines/play-tanstack-router/README.md +58 -0
  295. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +131 -0
  296. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +57 -0
  297. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +100 -0
  298. package/api/@xmachines/play-tanstack-solid-router/README.md +215 -175
  299. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +31 -32
  300. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +121 -0
  301. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +44 -0
  302. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +18 -11
  303. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +68 -0
  304. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +22 -12
  305. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +31 -0
  306. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +23 -9
  307. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +13 -0
  308. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +14 -10
  309. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +8 -8
  310. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +30 -0
  311. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +8 -4
  312. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +3 -3
  313. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +40 -18
  314. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +33 -0
  315. package/api/@xmachines/play-vue/README.md +192 -210
  316. package/api/@xmachines/play-vue/functions/defineRegistry.md +32 -0
  317. package/api/@xmachines/play-vue/functions/getPlayViewContext.md +28 -0
  318. package/api/@xmachines/play-vue/functions/useActor.md +13 -0
  319. package/api/@xmachines/play-vue/functions/useBoundProp.md +45 -0
  320. package/api/@xmachines/play-vue/interfaces/ActionProviderProps.md +12 -0
  321. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +25 -0
  322. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +37 -0
  323. package/api/@xmachines/play-vue/interfaces/DefineRegistryResult.md +15 -0
  324. package/api/@xmachines/play-vue/interfaces/JSONUIProviderProps.md +21 -0
  325. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +24 -0
  326. package/api/@xmachines/play-vue/interfaces/RendererProps.md +17 -0
  327. package/api/@xmachines/play-vue/interfaces/StateProviderProps.md +15 -0
  328. package/api/@xmachines/play-vue/interfaces/ValidationProviderProps.md +11 -0
  329. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +21 -0
  330. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +5 -0
  331. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +11 -0
  332. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +16 -0
  333. package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +35 -0
  334. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +15 -0
  335. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +22 -0
  336. package/api/@xmachines/play-vue/type-aliases/RenderErrorHandler.md +23 -0
  337. package/api/@xmachines/play-vue/variables/ActionProvider.md +64 -0
  338. package/api/@xmachines/play-vue/variables/JSONUIProvider.md +105 -0
  339. package/api/@xmachines/play-vue/variables/PlayRenderer.md +2 -2
  340. package/api/@xmachines/play-vue/variables/Renderer.md +88 -0
  341. package/api/@xmachines/play-vue/variables/StateProvider.md +79 -0
  342. package/api/@xmachines/play-vue/variables/ValidationProvider.md +55 -0
  343. package/api/@xmachines/play-vue/variables/VisibilityProvider.md +40 -0
  344. package/api/@xmachines/play-vue-router/README.md +173 -487
  345. package/api/@xmachines/play-vue-router/classes/RouteMap.md +56 -116
  346. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +23 -271
  347. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +26 -6
  348. package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +68 -0
  349. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +22 -12
  350. package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +13 -0
  351. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +20 -8
  352. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +8 -8
  353. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +8 -4
  354. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +12 -6
  355. package/api/@xmachines/play-xstate/README.md +234 -340
  356. package/api/@xmachines/play-xstate/classes/PlayerActor.md +166 -195
  357. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +31 -20
  358. package/api/@xmachines/play-xstate/functions/composeGuards.md +24 -18
  359. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +17 -17
  360. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +38 -0
  361. package/api/@xmachines/play-xstate/functions/createRoutedMachine.md +87 -0
  362. package/api/@xmachines/play-xstate/functions/definePlayer.md +14 -63
  363. package/api/@xmachines/play-xstate/functions/deriveRoute.md +3 -3
  364. package/api/@xmachines/play-xstate/functions/eventMatches.md +2 -2
  365. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +46 -12
  366. package/api/@xmachines/play-xstate/functions/hasContext.md +2 -2
  367. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +2 -2
  368. package/api/@xmachines/play-xstate/functions/negateGuard.md +16 -16
  369. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +10 -14
  370. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +22 -0
  371. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +12 -13
  372. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +15 -13
  373. package/api/@xmachines/play-xstate/interfaces/RouteObject.md +17 -0
  374. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +27 -6
  375. package/api/@xmachines/play-xstate/type-aliases/Guard.md +2 -2
  376. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +3 -3
  377. package/api/@xmachines/play-xstate/type-aliases/PlayRoutePayload.md +30 -0
  378. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +10 -9
  379. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +22 -5
  380. package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +9 -0
  381. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +34 -6
  382. package/api/@xmachines/play-xstate/type-aliases/SetupLike.md +33 -0
  383. package/api/@xmachines/play-xstate/type-aliases/WithOptional.md +31 -0
  384. package/api/@xmachines/play-xstate/variables/emptyEventSchema.md +37 -0
  385. package/api/@xmachines/play-xstate/variables/playMetaSchema.md +40 -0
  386. package/api/@xmachines/play-xstate/variables/playRouteEventSchema.md +9 -0
  387. package/api/@xmachines/shared/README.md +95 -295
  388. package/api/@xmachines/shared/vite-aliases/README.md +11 -0
  389. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +38 -0
  390. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +27 -0
  391. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +30 -0
  392. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +42 -0
  393. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +33 -0
  394. package/api/@xmachines/shared/vitest/README.md +12 -0
  395. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +42 -0
  396. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +34 -0
  397. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +16 -0
  398. package/api/README.md +6 -7
  399. package/api/llms.txt +72 -23
  400. package/contributing/README.md +10 -0
  401. package/contributing/architecture.md +602 -0
  402. package/contributing/configuration.md +368 -0
  403. package/contributing/deployment.md +312 -0
  404. package/contributing/development.md +464 -0
  405. package/contributing/testing.md +453 -0
  406. package/examples/@xmachines/play-dom-demo/README.md +181 -0
  407. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +24 -0
  408. package/examples/@xmachines/play-dom-demo/functions/initShell.md +24 -0
  409. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +9 -0
  410. package/examples/@xmachines/play-dom-demo/variables/About.md +12 -0
  411. package/examples/@xmachines/play-dom-demo/variables/Contact.md +12 -0
  412. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +13 -0
  413. package/examples/@xmachines/play-dom-demo/variables/Home.md +13 -0
  414. package/examples/@xmachines/play-dom-demo/variables/Login.md +13 -0
  415. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +16 -0
  416. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +13 -0
  417. package/examples/@xmachines/play-dom-demo/variables/Overview.md +13 -0
  418. package/examples/@xmachines/play-dom-demo/variables/Profile.md +13 -0
  419. package/examples/@xmachines/play-dom-demo/variables/Settings.md +13 -0
  420. package/examples/@xmachines/play-dom-demo/variables/Stats.md +13 -0
  421. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +172 -0
  422. package/examples/@xmachines/play-dom-router-demo/README.md +145 -0
  423. package/examples/@xmachines/play-react-demo/README.md +187 -0
  424. package/examples/@xmachines/play-react-demo/functions/App.md +13 -0
  425. package/examples/@xmachines/play-react-demo/functions/DebugPanel.md +20 -0
  426. package/examples/@xmachines/play-react-demo/functions/HeaderNav.md +20 -0
  427. package/examples/@xmachines/play-react-demo/functions/Shell.md +22 -0
  428. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +9 -0
  429. package/examples/@xmachines/play-react-demo/variables/About.md +14 -0
  430. package/examples/@xmachines/play-react-demo/variables/Contact.md +14 -0
  431. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +15 -0
  432. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +15 -0
  433. package/examples/@xmachines/play-react-demo/variables/Home.md +14 -0
  434. package/examples/@xmachines/play-react-demo/variables/Login.md +16 -0
  435. package/examples/@xmachines/play-react-demo/variables/NavBar.md +16 -0
  436. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +15 -0
  437. package/examples/@xmachines/play-react-demo/variables/Navigation.md +14 -0
  438. package/examples/@xmachines/play-react-demo/variables/Overview.md +14 -0
  439. package/examples/@xmachines/play-react-demo/variables/Profile.md +14 -0
  440. package/examples/@xmachines/play-react-demo/variables/Settings.md +14 -0
  441. package/examples/@xmachines/play-react-demo/variables/Shell.md +18 -0
  442. package/examples/@xmachines/play-react-demo/variables/Stats.md +14 -0
  443. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +172 -0
  444. package/examples/@xmachines/play-react-router-demo/README.md +151 -0
  445. package/examples/@xmachines/play-solid-demo/README.md +187 -0
  446. package/examples/@xmachines/play-solid-demo/functions/App.md +13 -0
  447. package/examples/@xmachines/play-solid-demo/functions/DebugPanel.md +20 -0
  448. package/examples/@xmachines/play-solid-demo/functions/HeaderNav.md +20 -0
  449. package/examples/@xmachines/play-solid-demo/functions/Shell.md +22 -0
  450. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +9 -0
  451. package/examples/@xmachines/play-solid-demo/variables/About.md +9 -0
  452. package/examples/@xmachines/play-solid-demo/variables/Contact.md +9 -0
  453. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +9 -0
  454. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +15 -0
  455. package/examples/@xmachines/play-solid-demo/variables/Home.md +9 -0
  456. package/examples/@xmachines/play-solid-demo/variables/Login.md +9 -0
  457. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +11 -0
  458. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +15 -0
  459. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +9 -0
  460. package/examples/@xmachines/play-solid-demo/variables/Overview.md +9 -0
  461. package/examples/@xmachines/play-solid-demo/variables/Profile.md +9 -0
  462. package/examples/@xmachines/play-solid-demo/variables/Settings.md +9 -0
  463. package/examples/@xmachines/play-solid-demo/variables/Shell.md +17 -0
  464. package/examples/@xmachines/play-solid-demo/variables/Stats.md +9 -0
  465. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +172 -0
  466. package/examples/@xmachines/play-solid-router-demo/README.md +137 -0
  467. package/examples/@xmachines/play-svelte-demo/README.md +143 -0
  468. package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +9 -0
  469. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +9 -0
  470. package/examples/@xmachines/play-svelte-demo/variables/App.md +9 -0
  471. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +172 -0
  472. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +129 -0
  473. package/examples/@xmachines/play-sveltekit-router-demo/README.md +133 -0
  474. package/examples/@xmachines/play-tanstack-react-router-demo/README.md +156 -0
  475. package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +139 -0
  476. package/examples/@xmachines/play-vue-demo/README.md +183 -0
  477. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +9 -0
  478. package/examples/@xmachines/play-vue-demo/variables/App.md +9 -0
  479. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +172 -0
  480. package/examples/@xmachines/play-vue-router-demo/README.md +139 -0
  481. package/examples/README.md +78 -30
  482. package/examples/basic-state-machine.md +73 -31
  483. package/examples/form-validation.md +267 -115
  484. package/examples/multi-router-integration.md +314 -194
  485. package/examples/routing-patterns.md +260 -187
  486. package/examples/traffic-light.md +96 -58
  487. package/guides/README.md +9 -21
  488. package/guides/actor-model.md +180 -0
  489. package/guides/getting-started.md +630 -137
  490. package/guides/signals.md +166 -0
  491. package/guides/state-machines.md +300 -0
  492. package/package.json +18 -7
  493. package/rfc/broker.md +100 -0
  494. package/rfc/browser.md +44 -0
  495. package/rfc/cli.md +118 -0
  496. package/rfc/git.md +61 -0
  497. package/rfc/mcp.md +43 -0
  498. package/rfc/node.md +36 -0
  499. package/rfc/play.md +472 -0
  500. package/rfc/rest.md +102 -0
  501. package/rfc/run.md +159 -0
  502. package/rfc/streams.md +168 -0
  503. package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +0 -17
  504. package/api/@xmachines/play-catalog/README.md +0 -331
  505. package/api/@xmachines/play-catalog/functions/defineCatalog.md +0 -98
  506. package/api/@xmachines/play-catalog/functions/defineComponents.md +0 -134
  507. package/api/@xmachines/play-catalog/type-aliases/Catalog.md +0 -48
  508. package/api/@xmachines/play-catalog/type-aliases/ComponentsFor.md +0 -20
  509. package/api/@xmachines/play-catalog/type-aliases/InferComponentProps.md +0 -65
  510. package/api/@xmachines/play-catalog/type-aliases/NoExtraKeys.md +0 -17
  511. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +0 -15
  512. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +0 -19
  513. package/api/@xmachines/play-react-router-demo/README.md +0 -137
  514. package/api/@xmachines/play-router/classes/BaseRouteMap.md +0 -142
  515. package/api/@xmachines/play-router/functions/connectRouter.md +0 -67
  516. package/api/@xmachines/play-router/functions/crawlMachine.md +0 -92
  517. package/api/@xmachines/play-router/functions/createRouter.md +0 -76
  518. package/api/@xmachines/play-router/functions/extractRoute.md +0 -45
  519. package/api/@xmachines/play-router/interfaces/BaseRouteMapping.md +0 -27
  520. package/api/@xmachines/play-router/interfaces/BrowserHistory.md +0 -172
  521. package/api/@xmachines/play-router/interfaces/BrowserWindow.md +0 -69
  522. package/api/@xmachines/play-router/interfaces/ConnectRouterOptions.md +0 -13
  523. package/api/@xmachines/play-router/interfaces/RouteMap.md +0 -56
  524. package/api/@xmachines/play-router/interfaces/StateVisit.md +0 -15
  525. package/api/@xmachines/play-router/interfaces/VanillaRouter.md +0 -28
  526. package/api/@xmachines/play-router-demo/README.md +0 -137
  527. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +0 -15
  528. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +0 -19
  529. package/api/@xmachines/play-solid-router-demo/README.md +0 -127
  530. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +0 -19
  531. package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +0 -38
  532. package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +0 -33
  533. package/api/@xmachines/play-tanstack-react-router/variables/extractMachineRoutes.md +0 -64
  534. package/api/@xmachines/play-tanstack-react-router-demo/README.md +0 -126
  535. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +0 -343
  536. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +0 -19
  537. package/api/@xmachines/play-tanstack-solid-router-demo/README.md +0 -126
  538. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +0 -14
  539. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +0 -201
  540. package/api/@xmachines/play-vue-router-demo/README.md +0 -133
  541. package/api/@xmachines/play-xstate/functions/mergeViewProps.md +0 -26
  542. package/api/@xmachines/play-xstate/functions/stateMatches.md +0 -25
  543. package/api/@xmachines/play-xstate/functions/validateComponentBinding.md +0 -39
  544. package/api/@xmachines/play-xstate/functions/validateViewProps.md +0 -80
  545. package/api/@xmachines/play-xstate/interfaces/CatalogEntry.md +0 -16
  546. package/api/@xmachines/play-xstate/type-aliases/Catalog.md +0 -21
  547. package/api/@xmachines/play-xstate/type-aliases/ValidationResult.md +0 -17
  548. package/api/@xmachines/play-xstate/type-aliases/ViewMergeContext.md +0 -35
  549. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +0 -29
  550. package/api/@xmachines/shared/functions/xmAliases.md +0 -24
  551. package/guides/installation.md +0 -323
@@ -1,4 +1,4 @@
1
- [Documentation](../../../README.md) / [@xmachines/play-xstate](../README.md) / buildRouteUrl
1
+ [API](../../../README.md) / [@xmachines/play-xstate](../README.md) / buildRouteUrl
2
2
 
3
3
  # Function: buildRouteUrl()
4
4
 
@@ -6,38 +6,49 @@
6
6
  function buildRouteUrl(routeTemplate, context?): string;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-xstate/src/routing/build-url.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-xstate/src/routing/build-url.ts#L28)
9
+ Defined in: [packages/play-xstate/src/routing/build-url.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0-alpha.1/packages/play-xstate/src/routing/build-url.ts#L40)
10
10
 
11
- Build full URL from route template and context
11
+ Build a full URL from a route template and the actor's context.
12
12
 
13
- Per CONTEXT.md:
13
+ Substitutes `:param` and `:param?` placeholders from `context.params`,
14
+ then appends query params and hash fragments.
14
15
 
15
- - "currentRoute derivation: Full URL generation including query params, hash, base path"
16
- - "Parameters: String template syntax /user/:id"
17
- - "Inheritance: relative paths inherit parent route"
18
-
19
- Per RESEARCH.md Pattern 3: Replace :param with context values
16
+ All parameter values must be in `context.params`. Flat context fields are not
17
+ inspected this is intentional so misspelled placeholders produce a compile-time
18
+ error rather than silently resolving to `undefined`.
20
19
 
21
20
  ## Parameters
22
21
 
23
- | Parameter | Type | Description |
24
- | --------------- | ----------------------------------------------- | ------------------------------------------ |
25
- | `routeTemplate` | `string` | Route path with :param placeholders |
26
- | `context` | [`RouteContext`](../interfaces/RouteContext.md) | Route context with parameters, query, hash |
22
+ | Parameter | Type | Description |
23
+ | --------------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
24
+ | `routeTemplate` | `string` | Route path template, e.g. `"/profile/:userId"` or `"/settings/:section?"`. |
25
+ | `context` | [`RouteContext`](../interfaces/RouteContext.md) | Actor context object. Route parameters must be in `context.params`; flat context fields are not inspected. **Must include a `query` field** (use `query: {}` when no query parameters are needed). Omitting `query` when `params` is present throws `MissingQueryContextError` to prevent silent query-string loss. |
27
26
 
28
27
  ## Returns
29
28
 
30
29
  `string`
31
30
 
32
- Full URL string
31
+ The fully resolved URL string.
32
+
33
+ ## Throws
34
+
35
+ When a **required** `:param` placeholder has no
36
+ matching value in context. Optional parameters (`:param?`) are silently omitted
37
+ when missing. Import the class from `@xmachines/play-xstate/errors`.
38
+
39
+ ## Throws
40
+
41
+ When the context has a `params` field but no
42
+ `query` field. This indicates a routing-aware machine context that was not set up
43
+ to receive query parameters, which would silently drop query params from
44
+ `play.route` events. Import the class from `@xmachines/play-xstate/errors`.
33
45
 
34
46
  ## Example
35
47
 
36
48
  ```typescript
37
- const url = buildRouteUrl("/user/:id", {
38
- id: "123",
39
- query: { tab: "profile" },
40
- hash: "section-1",
41
- });
42
- // Result: '/user/123?tab=profile#section-1'
49
+ buildRouteUrl("/user/:id", { params: { id: "123" }, query: { tab: "profile" }, hash: "top" });
50
+ // "/user/123?tab=profile#top"
51
+
52
+ buildRouteUrl("/settings/:section?", { params: {}, query: {} });
53
+ // → "/settings" (optional param omitted, no query string)
43
54
  ```
@@ -1,4 +1,4 @@
1
- [Documentation](../../../README.md) / [@xmachines/play-xstate](../README.md) / composeGuards
1
+ [API](../../../README.md) / [@xmachines/play-xstate](../README.md) / composeGuards
2
2
 
3
3
  # Function: composeGuards()
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:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-xstate/src/guards/compose.ts#L72)
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
@@ -1,4 +1,4 @@
1
- [Documentation](../../../README.md) / [@xmachines/play-xstate](../README.md) / composeGuardsOr
1
+ [API](../../../README.md) / [@xmachines/play-xstate](../README.md) / composeGuardsOr
2
2
 
3
3
  # Function: composeGuardsOr()
4
4
 
@@ -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:138](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-xstate/src/guards/compose.ts#L138)
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
  });
@@ -0,0 +1,38 @@
1
+ [API](../../../README.md) / [@xmachines/play-xstate](../README.md) / contextFieldMatches
2
+
3
+ # Function: contextFieldMatches()
4
+
5
+ ```ts
6
+ function contextFieldMatches<TContext>(fieldPath, expectedValue): Guard<TContext, PlayEvent>;
7
+ ```
8
+
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
+
11
+ Check if a context field matches an expected value.
12
+
13
+ - Accepts an explicit dot-separated field path (e.g. `"user.role"`)
14
+ - Uses strict equality for primitives, deep structural equality for objects
15
+ - Object comparison is key-order-insensitive: `{a:1,b:2}` equals `{b:2,a:1}`
16
+ - Supports Date, RegExp, class instances, nested objects and arrays via `dequal/lite`
17
+ - Does NOT use substring matching — `"a"` will not match `"active"`
18
+
19
+ For XState state-node matching, use the built-in `in:` guard syntax instead.
20
+
21
+ ## Type Parameters
22
+
23
+ | Type Parameter | Default type |
24
+ | -------------- | ------------------------------- |
25
+ | `TContext` | `Record`\<`string`, `unknown`\> |
26
+
27
+ ## Parameters
28
+
29
+ | Parameter | Type | Description |
30
+ | --------------- | --------- | -------------------------------------------------------------------- |
31
+ | `fieldPath` | `string` | Dot-separated path to context property (e.g., "status", "user.role") |
32
+ | `expectedValue` | `unknown` | Value to compare against (string, object, Date, etc.) |
33
+
34
+ ## Returns
35
+
36
+ [`Guard`](../type-aliases/Guard.md)\<`TContext`, [`PlayEvent`](../../play/type-aliases/PlayEvent.md)\>
37
+
38
+ Guard predicate checking if context field matches
@@ -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
@@ -1,36 +1,31 @@
1
- [Documentation](../../../README.md) / [@xmachines/play-xstate](../README.md) / definePlayer
1
+ [API](../../../README.md) / [@xmachines/play-xstate](../README.md) / definePlayer
2
2
 
3
3
  # Function: definePlayer()
4
4
 
5
5
  ```ts
6
- function definePlayer<TMachine, TCatalog>(config): PlayerFactory<TMachine>;
6
+ function definePlayer<TMachine>(config): PlayerFactory<TMachine>;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-xstate/src/define-player.ts:111](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-xstate/src/define-player.ts#L111)
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
- Create a player factory from XState machine and catalog
11
+ Create a player factory from an XState machine
12
12
 
13
- Factory pattern that accepts an XState v5 machine and optional UI catalog,
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.
17
17
 
18
- **Architectural Context:** Implements **Strict Separation (INV-02)** by accepting
19
- the machine definition (pure business logic) separately from the catalog (UI vocabulary).
20
- The machine references component names in `meta.view` without importing React/framework code.
21
-
22
18
  ## Type Parameters
23
19
 
24
- | Type Parameter | Default type | Description |
25
- | -------------------------------------- | ------------------------------- | ---------------------------------- |
26
- | `TMachine` _extends_ `AnyStateMachine` | - | XState v5 state machine type |
27
- | `TCatalog` | `Record`\<`string`, `unknown`\> | Optional UI component catalog type |
20
+ | Type Parameter | Description |
21
+ | ---------------------------------------------------------------------------------------------- | ---------------------------- |
22
+ | `TMachine` _extends_ [`AnyStateMachine`](https://www.jsdocs.io/package/xstate#AnyStateMachine) | XState v6 state machine type |
28
23
 
29
24
  ## Parameters
30
25
 
31
- | Parameter | Type | Description |
32
- | --------- | ------------------------------------------------------------------------- | --------------------------- |
33
- | `config` | [`PlayerConfig`](../interfaces/PlayerConfig.md)\<`TMachine`, `TCatalog`\> | Player configuration object |
26
+ | Parameter | Type | Description |
27
+ | --------- | ------------------------------------------------------------- | --------------------------- |
28
+ | `config` | [`PlayerConfig`](../interfaces/PlayerConfig.md)\<`TMachine`\> | Player configuration object |
34
29
 
35
30
  ## Returns
36
31
 
@@ -40,7 +35,7 @@ Factory function that creates actor instances with optional input context
40
35
 
41
36
  ## Examples
42
37
 
43
- Basic player factory without catalog
38
+ Basic player factory
44
39
 
45
40
  ```typescript
46
41
  import { setup } from "xstate";
@@ -59,54 +54,10 @@ const actor = createPlayer();
59
54
  actor.start();
60
55
  ```
61
56
 
62
- Player factory with catalog and parameter-aware routing
63
-
64
- ```typescript
65
- import { setup } from "xstate";
66
- import { defineCatalog } from "@xmachines/play-catalog";
67
- import { definePlayer } from "@xmachines/play-xstate";
68
- import { z } from "zod";
69
-
70
- const catalog = defineCatalog({
71
- HomePage: z.object({}),
72
- ProfilePage: z.object({ userId: z.string() }),
73
- });
74
-
75
- const machine = setup({
76
- types: {
77
- context: {} as { userId: string },
78
- events: {} as { type: "play.route"; to: string; params?: Record<string, string> },
79
- },
80
- }).createMachine({
81
- initial: "home",
82
- context: { userId: "" },
83
- states: {
84
- home: {
85
- route: {},
86
- meta: {
87
- route: "/",
88
- view: { component: "HomePage" },
89
- },
90
- },
91
- profile: {
92
- route: {},
93
- meta: {
94
- route: "/profile/:userId",
95
- view: { component: "ProfilePage", userId: (ctx) => ctx.userId },
96
- },
97
- },
98
- },
99
- });
100
-
101
- const createPlayer = definePlayer({ machine, catalog });
102
- const actor = createPlayer({ userId: "user123" });
103
- actor.start();
104
- ```
105
-
106
57
  Multiple actor instances from single factory
107
58
 
108
59
  ```typescript
109
- const createPlayer = definePlayer({ machine, catalog });
60
+ const createPlayer = definePlayer({ machine });
110
61
 
111
62
  // Create actors for different users
112
63
  const alice = createPlayer({ userId: "alice" });
@@ -121,7 +72,7 @@ console.log(alice.state.get() !== bob.state.get());
121
72
 
122
73
  ## See
123
74
 
124
- - [RFC Play v1](https://gitlab.com/xmachin-es/rfc/-/blob/main/src/play-v1.md)
75
+ - [Play RFC](../../../../rfc/play.md)
125
76
  - [PlayerActor](../classes/PlayerActor.md) for the concrete actor implementation
126
77
  - [PlayerConfig](../interfaces/PlayerConfig.md) for configuration options
127
78
  - [PlayerFactory](../type-aliases/PlayerFactory.md) for factory function signature
@@ -1,4 +1,4 @@
1
- [Documentation](../../../README.md) / [@xmachines/play-xstate](../README.md) / deriveRoute
1
+ [API](../../../README.md) / [@xmachines/play-xstate](../README.md) / deriveRoute
2
2
 
3
3
  # Function: deriveRoute()
4
4
 
@@ -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:90](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-xstate/src/routing/derive-route.ts#L90)
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
 
@@ -94,7 +94,7 @@ console.log(route); // "/dashboard"
94
94
 
95
95
  ## See
96
96
 
97
- - [RFC Play v1](https://gitlab.com/xmachin-es/rfc/-/blob/main/src/play-v1.md)
97
+ - [Play RFC](../../../../rfc/play.md)
98
98
  - [buildRouteUrl](buildRouteUrl.md) for URL construction with parameter substitution
99
99
  - [isAbsoluteRoute](isAbsoluteRoute.md) for checking path absoluteness
100
100
 
@@ -1,4 +1,4 @@
1
- [Documentation](../../../README.md) / [@xmachines/play-xstate](../README.md) / eventMatches
1
+ [API](../../../README.md) / [@xmachines/play-xstate](../README.md) / eventMatches
2
2
 
3
3
  # Function: eventMatches()
4
4
 
@@ -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:49](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-xstate/src/guards/helpers.ts#L49)
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
 
@@ -1,4 +1,4 @@
1
- [Documentation](../../../README.md) / [@xmachines/play-xstate](../README.md) / formatPlayRouteTransitions
1
+ [API](../../../README.md) / [@xmachines/play-xstate](../README.md) / formatPlayRouteTransitions
2
2
 
3
3
  # Function: formatPlayRouteTransitions()
4
4
 
@@ -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:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-xstate/src/routing/format-play-route-transitions.ts#L65)
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 routeParams and queryParams 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).
@@ -1,4 +1,4 @@
1
- [Documentation](../../../README.md) / [@xmachines/play-xstate](../README.md) / hasContext
1
+ [API](../../../README.md) / [@xmachines/play-xstate](../README.md) / hasContext
2
2
 
3
3
  # Function: hasContext()
4
4
 
@@ -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:23](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-xstate/src/guards/helpers.ts#L23)
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
 
@@ -1,4 +1,4 @@
1
- [Documentation](../../../README.md) / [@xmachines/play-xstate](../README.md) / isAbsoluteRoute
1
+ [API](../../../README.md) / [@xmachines/play-xstate](../README.md) / isAbsoluteRoute
2
2
 
3
3
  # Function: isAbsoluteRoute()
4
4
 
@@ -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:150](https://gitlab.com/xmachin-es/xmachines-js/-/blob/00a28432ed57807112288436d1ae4387d9f06919/packages/play-xstate/src/routing/derive-route.ts#L150)
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