@xmachines/docs 1.0.0-beta.26 → 1.0.0-beta.28

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 (309) hide show
  1. package/api/@xmachines/play/classes/PlayError.md +4 -10
  2. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  3. package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -25
  4. package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
  5. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
  6. package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
  7. package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +3 -3
  8. package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
  9. package/api/@xmachines/play-actor-shared/README.md +155 -0
  10. package/api/@xmachines/play-actor-shared/interfaces/AuthContext.md +14 -0
  11. package/api/@xmachines/play-actor-shared/type-aliases/AuthActor.md +27 -0
  12. package/api/@xmachines/play-actor-shared/type-aliases/AuthCatalog.md +16 -0
  13. package/api/@xmachines/play-actor-shared/type-aliases/AuthEvents.md +17 -0
  14. package/api/@xmachines/play-actor-shared/type-aliases/AuthInput.md +9 -0
  15. package/api/@xmachines/play-actor-shared/type-aliases/AuthSnapshot.md +11 -0
  16. package/api/@xmachines/play-actor-shared/type-aliases/CatalogProps.md +187 -0
  17. package/api/@xmachines/play-actor-shared/type-aliases/InferProps.md +17 -0
  18. package/api/@xmachines/play-actor-shared/variables/authCatalog.md +173 -0
  19. package/api/@xmachines/play-actor-shared/variables/authMachine.md +189 -0
  20. package/api/@xmachines/play-actor-shared/variables/authSetup.md +22 -0
  21. package/api/@xmachines/play-dom/README.md +74 -8
  22. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  23. package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
  24. package/api/@xmachines/play-dom/functions/defineRegistry.md +61 -0
  25. package/api/@xmachines/play-dom/functions/renderSpec.md +29 -12
  26. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +62 -0
  27. package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +9 -9
  28. package/api/@xmachines/play-dom/interfaces/DefineRegistryOptions.md +25 -0
  29. package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +18 -0
  30. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +13 -10
  31. package/api/@xmachines/play-dom/interfaces/EventHandle.md +29 -0
  32. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +5 -5
  33. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +53 -0
  34. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +21 -0
  35. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +16 -3
  36. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +5 -2
  37. package/api/@xmachines/play-dom-demo/README.md +145 -0
  38. package/api/@xmachines/play-dom-demo/functions/initShell.md +20 -0
  39. package/api/@xmachines/play-dom-demo/variables/About.md +9 -0
  40. package/api/@xmachines/play-dom-demo/variables/Contact.md +9 -0
  41. package/api/@xmachines/play-dom-demo/variables/Dashboard.md +9 -0
  42. package/api/@xmachines/play-dom-demo/variables/Home.md +9 -0
  43. package/api/@xmachines/play-dom-demo/variables/Login.md +9 -0
  44. package/api/@xmachines/play-dom-demo/variables/Navigation.md +9 -0
  45. package/api/@xmachines/play-dom-demo/variables/Overview.md +9 -0
  46. package/api/@xmachines/play-dom-demo/variables/Profile.md +9 -0
  47. package/api/@xmachines/play-dom-demo/variables/Settings.md +9 -0
  48. package/api/@xmachines/play-dom-demo/variables/Stats.md +9 -0
  49. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  50. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  51. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +1 -1
  52. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  53. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
  54. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
  55. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
  56. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +6 -6
  57. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
  58. package/api/@xmachines/play-dom-router/interfaces/RouteMapLike.md +3 -3
  59. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  60. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  61. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
  62. package/api/@xmachines/play-dom-router/type-aliases/RoutableActor.md +1 -1
  63. package/api/@xmachines/play-dom-router-demo/README.md +56 -61
  64. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -31
  65. package/api/@xmachines/play-react/functions/defineRegistry.md +0 -2
  66. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  67. package/api/@xmachines/play-react/functions/useBoundProp.md +0 -2
  68. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  69. package/api/@xmachines/play-react/functions/useStateBinding.md +0 -2
  70. package/api/@xmachines/play-react/interfaces/ComponentContext.md +0 -2
  71. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
  72. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
  73. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +7 -7
  74. package/api/@xmachines/play-react/type-aliases/ComponentFn.md +0 -2
  75. package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
  76. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  77. package/api/@xmachines/play-react-demo/README.md +173 -0
  78. package/api/@xmachines/play-react-demo/functions/App.md +13 -0
  79. package/api/@xmachines/play-react-demo/functions/DebugPanel.md +20 -0
  80. package/api/@xmachines/play-react-demo/functions/HeaderNav.md +20 -0
  81. package/api/@xmachines/play-react-demo/functions/Shell.md +22 -0
  82. package/api/@xmachines/play-react-demo/variables/About.md +9 -0
  83. package/api/@xmachines/play-react-demo/variables/Contact.md +9 -0
  84. package/api/@xmachines/play-react-demo/variables/Dashboard.md +9 -0
  85. package/api/@xmachines/play-react-demo/variables/Home.md +9 -0
  86. package/api/@xmachines/play-react-demo/variables/Login.md +9 -0
  87. package/api/@xmachines/play-react-demo/variables/Navigation.md +9 -0
  88. package/api/@xmachines/play-react-demo/variables/Overview.md +9 -0
  89. package/api/@xmachines/play-react-demo/variables/Profile.md +9 -0
  90. package/api/@xmachines/play-react-demo/variables/Settings.md +9 -0
  91. package/api/@xmachines/play-react-demo/variables/Stats.md +9 -0
  92. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +23 -23
  93. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  94. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +1 -1
  95. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  96. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +6 -6
  97. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  98. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  99. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  100. package/api/@xmachines/play-react-router-demo/README.md +10 -10
  101. package/api/@xmachines/play-router/README.md +1 -1
  102. package/api/@xmachines/play-router/classes/BaseRouteMap.md +4 -4
  103. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +23 -23
  104. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  105. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  106. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  107. package/api/@xmachines/play-router/functions/createRouteMapFromMachine.md +1 -1
  108. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +1 -1
  109. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  110. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  111. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  112. package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
  113. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  114. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  115. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  116. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  117. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  118. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  119. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  120. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  121. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  122. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  123. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  124. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
  125. package/api/@xmachines/play-router/interfaces/LocationLike.md +3 -3
  126. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
  127. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
  128. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +6 -6
  129. package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
  130. package/api/@xmachines/play-router/interfaces/RouteMap.md +4 -4
  131. package/api/@xmachines/play-router/interfaces/RouteMapping.md +3 -3
  132. package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
  133. package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
  134. package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
  135. package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
  136. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  137. package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
  138. package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
  139. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  140. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  141. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  142. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  143. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  144. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  145. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  146. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  147. package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +0 -6
  148. package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +0 -8
  149. package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +0 -2
  150. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +0 -10
  151. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +0 -2
  152. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +0 -2
  153. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +0 -2
  154. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +0 -2
  155. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +0 -2
  156. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +0 -2
  157. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +0 -2
  158. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +0 -2
  159. package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +0 -2
  160. package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +0 -2
  161. package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +0 -2
  162. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  163. package/api/@xmachines/play-solid/functions/defineRegistry.md +0 -2
  164. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  165. package/api/@xmachines/play-solid/functions/useStateBinding.md +0 -2
  166. package/api/@xmachines/play-solid/interfaces/ComponentContext.md +0 -2
  167. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +7 -7
  168. package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +0 -2
  169. package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
  170. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  171. package/api/@xmachines/play-solid-demo/README.md +159 -0
  172. package/api/@xmachines/play-solid-demo/functions/App.md +13 -0
  173. package/api/@xmachines/play-solid-demo/functions/DebugPanel.md +20 -0
  174. package/api/@xmachines/play-solid-demo/functions/HeaderNav.md +20 -0
  175. package/api/@xmachines/play-solid-demo/functions/Shell.md +22 -0
  176. package/api/@xmachines/play-solid-demo/variables/About.md +9 -0
  177. package/api/@xmachines/play-solid-demo/variables/Contact.md +9 -0
  178. package/api/@xmachines/play-solid-demo/variables/Dashboard.md +9 -0
  179. package/api/@xmachines/play-solid-demo/variables/Home.md +9 -0
  180. package/api/@xmachines/play-solid-demo/variables/Login.md +9 -0
  181. package/api/@xmachines/play-solid-demo/variables/Navigation.md +9 -0
  182. package/api/@xmachines/play-solid-demo/variables/Overview.md +9 -0
  183. package/api/@xmachines/play-solid-demo/variables/Profile.md +9 -0
  184. package/api/@xmachines/play-solid-demo/variables/Settings.md +9 -0
  185. package/api/@xmachines/play-solid-demo/variables/Stats.md +9 -0
  186. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  187. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +24 -24
  188. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
  189. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
  190. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -23
  191. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +6 -6
  192. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  193. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  194. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  195. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  196. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  197. package/api/@xmachines/play-solid-router-demo/README.md +25 -28
  198. package/api/@xmachines/play-svelte/functions/defineRegistry.md +0 -2
  199. package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +0 -2
  200. package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +0 -2
  201. package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +7 -7
  202. package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +0 -2
  203. package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +0 -2
  204. package/api/@xmachines/play-svelte/variables/PlayRenderer.md +0 -2
  205. package/api/@xmachines/play-svelte-demo/README.md +127 -0
  206. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  207. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  208. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +1 -1
  209. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +4 -4
  210. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +6 -6
  211. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  212. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  213. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  214. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  215. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  216. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  217. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +1 -1
  218. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +4 -4
  219. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  220. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +6 -6
  221. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  222. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  223. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  224. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  225. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +23 -23
  226. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
  227. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  228. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  229. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  230. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +6 -6
  231. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  232. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  233. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  234. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  235. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  236. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +17 -3
  237. package/api/@xmachines/play-tanstack-react-router-demo/README.md +23 -29
  238. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  239. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +24 -24
  240. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
  241. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
  242. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +6 -6
  243. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  244. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  245. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  246. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  247. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  248. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +3 -3
  249. package/api/@xmachines/play-tanstack-solid-router-demo/README.md +25 -26
  250. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  251. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  252. package/api/@xmachines/play-vue/functions/useStateBinding.md +0 -2
  253. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +0 -2
  254. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +5 -5
  255. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  256. package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +0 -2
  257. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  258. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +4 -3
  259. package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
  260. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  261. package/api/@xmachines/play-vue-demo/README.md +145 -0
  262. package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
  263. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +4 -4
  264. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +24 -24
  265. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  266. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +6 -6
  267. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
  268. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  269. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  270. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  271. package/api/@xmachines/play-vue-router-demo/README.md +48 -41
  272. package/api/@xmachines/play-xstate/classes/PlayerActor.md +11 -25
  273. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
  274. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  275. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  276. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  277. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  278. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  279. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  280. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
  281. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  282. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  283. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  284. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  285. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  286. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
  287. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
  288. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  289. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  290. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  291. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  292. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  293. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  294. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +3 -7
  295. package/api/@xmachines/shared/functions/xmAliases.md +1 -1
  296. package/api/README.md +6 -2
  297. package/api/llms.txt +0 -3
  298. package/examples/README.md +48 -35
  299. package/examples/basic-state-machine.md +75 -31
  300. package/examples/form-validation.md +199 -127
  301. package/examples/multi-router-integration.md +312 -230
  302. package/examples/routing-patterns.md +243 -189
  303. package/examples/traffic-light.md +114 -65
  304. package/guides/README.md +29 -15
  305. package/guides/getting-started.md +224 -144
  306. package/guides/installation.md +153 -213
  307. package/package.json +2 -2
  308. package/api/@xmachines/play-svelte-spa-router-demo/README.md +0 -23
  309. package/api/@xmachines/play-sveltekit-router-demo/README.md +0 -23
@@ -1,215 +1,295 @@
1
+ <!-- generated-by: gsd-doc-writer -->
2
+
1
3
  # Getting Started
2
4
 
3
- Welcome to XMachines! This guide will help you understand what XMachines is and get you up and running with your first state machine.
5
+ Welcome to XMachines! This guide gets you from zero to a running actor using the current XState v5 + XMachines API.
4
6
 
5
7
  ## What is XMachines?
6
8
 
7
- XMachines is a TypeScript implementation of the Universal Player Architecture—a state machine library that strictly separates business logic from infrastructure. It enables logic-driven applications where state machines control routing, views, and navigation through standardized TC39 Signals.
8
-
9
- At its core, XMachines is built on the actor model, following the principle that **business logic must be the single source of truth** for navigation, state, and UI structure. Infrastructure reflects actor state—it never decides.
10
-
11
- Unlike traditional frameworks where your logic adapts to the framework, XMachines inverts this relationship. Your state machines own the application behavior, and the infrastructure (routers, view renderers, React components) passively observes and reflects the current state through signals. This results in complete runtime agnosticism—your logic has zero framework dependencies.
12
-
13
- ## Why XMachines?
14
-
15
- **Type Safety with TypeScript**
16
-
17
- - Full type inference from state machine catalog through to components
18
- - Catch navigation errors and state bugs at compile time
19
- - Zod validation for UI schemas and state structures
20
-
21
- **Predictable State Management**
22
-
23
- - State machines make application behavior explicit and testable
24
- - Actor model ensures clear message passing patterns
25
- - Guard enforcement prevents invalid state transitions
26
-
27
- **Platform Flexibility**
9
+ XMachines is a TypeScript implementation of the Universal Player Architecture a state machine system that strictly separates business logic from infrastructure. State machines (actors) control routing, views, and navigation through TC39 Signals. Infrastructure (routers, renderers, React components) passively observes and reflects actor state.
28
10
 
29
- - Runtime-agnostic core packages work in browser, Node, or Deno
30
- - Choose only the packages you need for your platform
31
- - Framework integrations (React, TanStack Router) are optional adapters
11
+ Your state machines have **zero framework dependencies**. Routers and renderers are optional adapters.
32
12
 
33
- **Modular Architecture**
13
+ ## Installation
34
14
 
35
- - 8 focused packages that work together seamlessly
36
- - `@xmachines/play` foundation works with any infrastructure
37
- - Mix and match adapters based on your stack
38
-
39
- ## Quick Start
40
-
41
- ### Installation
42
-
43
- First, install XMachines packages. See the complete [Installation →](installation.md) guide for all package managers and environments.
15
+ Install the core packages (see [Installation →](installation.md) for the full package guide):
44
16
 
45
17
  ```bash
46
- npm install @xmachines/play @xmachines/play-xstate
18
+ npm install @xmachines/play-xstate @xmachines/play-actor @xmachines/play-signals xstate
47
19
  ```
48
20
 
49
- ### Import and Create Your First Machine
21
+ ## Step 1: Define a Machine
22
+
23
+ Use `setup({ types })` from XState v5 to declare types, then call `setup.createMachine()`:
50
24
 
51
25
  ```typescript
52
- import { createMachine } from "@xmachines/play-xstate";
26
+ import { setup } from "xstate";
53
27
 
54
- // Define a simple traffic light machine
55
- const trafficLightMachine = createMachine({
56
- id: "trafficLight",
57
- initial: "red",
28
+ const toggleSetup = setup({
29
+ types: {
30
+ context: {} as { count: number },
31
+ events: {} as { type: "toggle" },
32
+ input: {} as { count?: number } | undefined,
33
+ },
34
+ });
35
+
36
+ const toggleMachine = toggleSetup.createMachine({
37
+ id: "toggle",
38
+ initial: "off",
39
+ context: ({ input }) => ({
40
+ count: input?.count ?? 0,
41
+ }),
58
42
  states: {
59
- red: {
60
- on: { TIMER: "green" },
61
- },
62
- green: {
63
- on: { TIMER: "yellow" },
43
+ off: {
44
+ on: {
45
+ toggle: {
46
+ target: "on",
47
+ actions: toggleSetup.assign({ count: ({ context }) => context.count + 1 }),
48
+ },
49
+ },
64
50
  },
65
- yellow: {
66
- on: { TIMER: "red" },
51
+ on: {
52
+ on: {
53
+ toggle: {
54
+ target: "off",
55
+ actions: toggleSetup.assign({ count: ({ context }) => context.count + 1 }),
56
+ },
57
+ },
67
58
  },
68
59
  },
69
60
  });
70
61
  ```
71
62
 
72
- ### Create an Actor and Transition States
63
+ **Key rules:**
64
+
65
+ - Always use `setup({ types })` before `createMachine` — not the bare `createMachine` from xstate.
66
+ - Use `setup.assign(...)` (not the bare `assign` from xstate) for context mutations.
67
+ - Event types use lowercase dot-separated names: `"toggle"`, `"auth.login"`, `"play.route"`.
68
+
69
+ ## Step 2: Define a Player
70
+
71
+ `definePlayer` wraps the machine in a factory. Each call to the factory creates an independent `PlayerActor` instance:
73
72
 
74
73
  ```typescript
75
- import { createActor } from "@xmachines/play-actor";
74
+ import { definePlayer } from "@xmachines/play-xstate";
75
+
76
+ const createPlayer = definePlayer({ machine: toggleMachine });
77
+ ```
76
78
 
77
- // Instantiate the machine as an actor
78
- const actor = createActor(trafficLightMachine);
79
+ ## Step 3: Create and Start an Actor
79
80
 
80
- // Start the actor
81
+ ```typescript
82
+ const actor = createPlayer();
81
83
  actor.start();
82
84
 
83
- // Check initial state
84
- console.log(actor.getSnapshot().value); // "red"
85
+ // Read initial state
86
+ console.log(actor.getSnapshot().value); // "off"
87
+ console.log(actor.getSnapshot().context); // { count: 0 }
85
88
 
86
- // Send events to transition states
87
- actor.send({ type: "TIMER" });
88
- console.log(actor.getSnapshot().value); // "green"
89
+ // Send events
90
+ actor.send({ type: "toggle" });
91
+ console.log(actor.getSnapshot().value); // "on"
92
+ console.log(actor.getSnapshot().context.count); // 1
89
93
 
90
- actor.send({ type: "TIMER" });
91
- console.log(actor.getSnapshot().value); // "yellow"
94
+ // Cleanup
95
+ actor.stop();
92
96
  ```
93
97
 
94
- ### Observe State Changes with Signals
98
+ ## Step 4: Read State via TC39 Signals
95
99
 
96
- ```typescript
97
- import { signal, computed } from "@xmachines/play-signals";
100
+ `actor.state` is a `Signal.State<Snapshot>`. Use it when wiring infrastructure that needs to react to state changes:
98
101
 
99
- // Create a signal to track actor state
100
- const currentState = signal(actor.getSnapshot().value);
102
+ ```typescript
103
+ import { watchSignal } from "@xmachines/play-signals";
101
104
 
102
- // Subscribe to actor changes
103
- actor.subscribe((snapshot) => {
104
- currentState.value = snapshot.value;
105
+ // Watch the state signal — callback fires on every transition
106
+ const unwatch = watchSignal(actor.state, () => {
107
+ console.log("State changed to:", actor.state.get().value);
105
108
  });
106
109
 
107
- // Create computed values
108
- const canProceed = computed(() => currentState.value === "green");
110
+ actor.send({ type: "toggle" }); // logs "State changed to: on"
109
111
 
110
- console.log(canProceed.value); // true when light is green
112
+ // Stop watching
113
+ unwatch();
111
114
  ```
112
115
 
113
- ## Your First Machine: Toggle Example
116
+ ## Step 5: Add Routing (Optional)
114
117
 
115
- Here's a complete working example that demonstrates the core concepts:
118
+ Add `meta.route` to states and wrap the config with `formatPlayRouteTransitions`. The machine's context must include `params` and `query` fields:
116
119
 
117
120
  ```typescript
118
- import { createMachine } from "@xmachines/play-xstate";
119
- import { createActor } from "@xmachines/play-actor";
120
- import { signal } from "@xmachines/play-signals";
121
-
122
- // Define the machine configuration
123
- const toggleMachine = createMachine(
124
- {
125
- id: "toggle",
126
- initial: "inactive",
127
- context: {
128
- count: 0,
129
- },
130
- states: {
131
- inactive: {
132
- on: {
133
- TOGGLE: {
134
- target: "active",
135
- actions: "incrementCount",
136
- },
137
- },
138
- },
139
- active: {
140
- on: {
141
- TOGGLE: {
142
- target: "inactive",
143
- actions: "incrementCount",
144
- },
145
- },
146
- },
121
+ import { setup } from "xstate";
122
+ import { definePlayer, formatPlayRouteTransitions } from "@xmachines/play-xstate";
123
+ import type { PlayRouteEvent } from "@xmachines/play-router";
124
+
125
+ const appSetup = setup({
126
+ types: {
127
+ context: {} as {
128
+ isAuthenticated: boolean;
129
+ params: Record<string, string>;
130
+ query: Record<string, string>;
147
131
  },
132
+ events: {} as PlayRouteEvent | { type: "auth.login"; username: string },
133
+ input: {} as undefined,
148
134
  },
149
- {
150
- actions: {
151
- incrementCount: ({ context }) => ({
152
- count: context.count + 1,
153
- }),
135
+ });
136
+
137
+ const appMachine = appSetup.createMachine(
138
+ formatPlayRouteTransitions({
139
+ id: "app",
140
+ initial: "home",
141
+ context: { isAuthenticated: false, params: {}, query: {} },
142
+ states: {
143
+ home: { id: "home", meta: { route: "/" } },
144
+ login: { id: "login", meta: { route: "/login" } },
154
145
  },
155
- },
146
+ }),
156
147
  );
157
148
 
158
- // Create and start the actor
159
- const toggleActor = createActor(toggleMachine);
160
- toggleActor.start();
149
+ const createPlayer = definePlayer({ machine: appMachine });
150
+ const actor = createPlayer();
151
+ actor.start();
152
+
153
+ console.log(actor.currentRoute.get()); // "/"
154
+
155
+ actor.send({ type: "play.route", to: "#login" });
156
+ console.log(actor.currentRoute.get()); // "/login"
157
+
158
+ actor.stop();
159
+ ```
160
+
161
+ ## Step 6: Add a View Registry (Optional)
162
+
163
+ Connect a renderer to map `meta.view` specs to real components. The vanilla DOM renderer uses `connectRenderer` + `defineRegistry`:
161
164
 
162
- // Bind to a signal for reactive updates
163
- const state = signal(toggleActor.getSnapshot());
165
+ ```typescript
166
+ import { connectRenderer, defineRegistry } from "@xmachines/play-dom";
167
+ import { authCatalog } from "@xmachines/play-actor-shared";
168
+ import { Home, Login } from "./components/index.js";
164
169
 
165
- toggleActor.subscribe((snapshot) => {
166
- state.value = snapshot;
170
+ const { registry } = defineRegistry(authCatalog, {
171
+ components: { Home, Login },
167
172
  });
168
173
 
169
- // Use the machine
170
- toggleActor.send({ type: "TOGGLE" });
171
- console.log(state.value.value); // "active"
172
- console.log(state.value.context.count); // 1
174
+ const disconnectRenderer = connectRenderer({
175
+ actor,
176
+ registry,
177
+ container: document.getElementById("app")!,
178
+ });
173
179
 
174
- toggleActor.send({ type: "TOGGLE" });
175
- console.log(state.value.value); // "inactive"
176
- console.log(state.value.context.count); // 2
180
+ // cleanup
181
+ window.addEventListener("beforeunload", () => {
182
+ disconnectRenderer();
183
+ actor.stop();
184
+ });
177
185
  ```
178
186
 
179
- ### Understanding the Parts
187
+ For React, use `PlayRenderer` from `@xmachines/play-react`:
180
188
 
181
- **States**: Discrete modes your application can be in (`inactive`, `active`)
189
+ ```tsx
190
+ import { PlayRenderer, defineRegistry } from "@xmachines/play-react";
191
+ import { authCatalog } from "@xmachines/play-actor-shared";
192
+ import { Home, Login } from "./components/index.js";
182
193
 
183
- **Events**: Messages that trigger transitions (`TOGGLE`)
184
-
185
- **Transitions**: Rules that define which events move between which states (`on: { TOGGLE: 'active' }`)
194
+ const { registry } = defineRegistry(authCatalog, {
195
+ components: { Home, Login },
196
+ actions: {
197
+ login: async () => {},
198
+ logout: async () => {},
199
+ },
200
+ });
186
201
 
187
- **Context**: Extended state data that persists across transitions (`count: 0`)
202
+ function App() {
203
+ return (
204
+ <PlayRenderer
205
+ actor={actor}
206
+ registry={registry}
207
+ actions={{
208
+ login: "auth.login",
209
+ logout: "auth.logout",
210
+ }}
211
+ />
212
+ );
213
+ }
214
+ ```
188
215
 
189
- **Actions**: Side effects or context updates executed during transitions (`incrementCount`)
216
+ ## Complete Toggle Example
190
217
 
191
- **Actor**: Runtime instance of a machine that processes events and emits state changes
218
+ ```typescript
219
+ import { setup } from "xstate";
220
+ import { definePlayer } from "@xmachines/play-xstate";
221
+ import { watchSignal } from "@xmachines/play-signals";
222
+
223
+ const toggleSetup = setup({
224
+ types: {
225
+ context: {} as { count: number },
226
+ events: {} as { type: "toggle" },
227
+ input: {} as undefined,
228
+ },
229
+ });
192
230
 
193
- **Signals**: Reactive primitives (TC39 Signals) that enable infrastructure to observe state changes without coupling
231
+ const toggleMachine = toggleSetup.createMachine({
232
+ id: "toggle",
233
+ initial: "off",
234
+ context: { count: 0 },
235
+ states: {
236
+ off: {
237
+ on: {
238
+ toggle: {
239
+ target: "on",
240
+ actions: toggleSetup.assign({ count: ({ context }) => context.count + 1 }),
241
+ },
242
+ },
243
+ },
244
+ on: {
245
+ on: {
246
+ toggle: {
247
+ target: "off",
248
+ actions: toggleSetup.assign({ count: ({ context }) => context.count + 1 }),
249
+ },
250
+ },
251
+ },
252
+ },
253
+ });
194
254
 
195
- ## Next Steps
255
+ const createPlayer = definePlayer({ machine: toggleMachine });
256
+ const actor = createPlayer();
196
257
 
197
- Now that you understand the basics, explore these resources:
258
+ const unwatch = watchSignal(actor.state, () => {
259
+ const snap = actor.state.get();
260
+ console.log(`State: ${String(snap.value)}, Count: ${snap.context.count}`);
261
+ });
198
262
 
199
- **Core Documentation**
263
+ actor.start();
264
+ // logs: State: off, Count: 0
200
265
 
201
- - [API Reference](../api/README.md) - Detailed API documentation
266
+ actor.send({ type: "toggle" });
267
+ // logs: State: on, Count: 1
202
268
 
203
- **Platform Guides**
269
+ actor.send({ type: "toggle" });
270
+ // logs: State: off, Count: 2
204
271
 
205
- - [React Integration](../api/@xmachines/play-react/README.md) - Use XMachines with React
206
- - [Router Integration](../api/@xmachines/play-tanstack-react-router/README.md) - Logic-driven routing with TanStack Router
272
+ unwatch();
273
+ actor.stop();
274
+ ```
207
275
 
208
- **Examples**
276
+ ## Glossary
209
277
 
210
- - [Examples Directory](../examples/README.md) - More code examples and usage patterns
211
- - Working dashboard demo (coming soon)
278
+ | Term | Description |
279
+ | ---------------------------- | -------------------------------------------------------------------------------------------- |
280
+ | `setup({ types })` | XState v5 entry point — declares TypeScript types for context, events, and input |
281
+ | `definePlayer({ machine })` | Creates a factory that produces `PlayerActor` instances from the machine |
282
+ | `actor.start()` | Activates the machine — always call before sending events |
283
+ | `actor.send({ type })` | Sends an event to the machine |
284
+ | `actor.getSnapshot()` | Synchronous snapshot of the current state and context |
285
+ | `actor.state` | `Signal.State<Snapshot>` — TC39 Signal for reactive state observation |
286
+ | `actor.currentRoute` | `Signal.Computed<string \| null>` — resolved URL from the active state's `meta.route` |
287
+ | `actor.currentView` | `Signal.State<ViewMetadata \| null>` — current view spec from the active state's `meta.view` |
288
+ | `formatPlayRouteTransitions` | Utility that generates `play.route` handlers from `id` + `meta.route` state pairs |
212
289
 
213
- ---
290
+ ## Next Steps
214
291
 
215
- **Ready to install?** → [Installation Guide](installation.md)
292
+ - **[Installation Guide](installation.md)** — Framework-specific packages, TypeScript config
293
+ - **[Examples](../examples/README.md)** — Routing patterns, form validation, multi-router demos
294
+ - **[API Reference](../api/README.md)** — Generated API docs for all packages
295
+ - **[Play RFC](../rfc/play.md)** — Complete architectural specification