@xmachines/docs 1.0.0-beta.9 → 1.0.0

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 (544) 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 +91 -122
  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 +275 -353
  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 +15 -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 +151 -560
  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 +84 -115
  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 +199 -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 +178 -347
  356. package/api/@xmachines/play-xstate/classes/PlayerActor.md +161 -191
  357. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +31 -20
  358. package/api/@xmachines/play-xstate/functions/composeGuards.md +2 -2
  359. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +2 -2
  360. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +38 -0
  361. package/api/@xmachines/play-xstate/functions/definePlayer.md +14 -63
  362. package/api/@xmachines/play-xstate/functions/deriveRoute.md +3 -3
  363. package/api/@xmachines/play-xstate/functions/eventMatches.md +2 -2
  364. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +3 -3
  365. package/api/@xmachines/play-xstate/functions/hasContext.md +2 -2
  366. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +2 -2
  367. package/api/@xmachines/play-xstate/functions/negateGuard.md +2 -2
  368. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +10 -14
  369. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +22 -0
  370. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +12 -13
  371. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +15 -13
  372. package/api/@xmachines/play-xstate/interfaces/RouteObject.md +17 -0
  373. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +2 -2
  374. package/api/@xmachines/play-xstate/type-aliases/Guard.md +2 -2
  375. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +3 -3
  376. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +10 -9
  377. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +15 -5
  378. package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +9 -0
  379. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +22 -6
  380. package/api/@xmachines/shared/README.md +95 -295
  381. package/api/@xmachines/shared/vite-aliases/README.md +11 -0
  382. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +38 -0
  383. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +27 -0
  384. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +30 -0
  385. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +42 -0
  386. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +33 -0
  387. package/api/@xmachines/shared/vitest/README.md +12 -0
  388. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +42 -0
  389. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +34 -0
  390. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +16 -0
  391. package/api/README.md +6 -7
  392. package/api/llms.txt +72 -23
  393. package/contributing/README.md +10 -0
  394. package/contributing/architecture.md +599 -0
  395. package/contributing/configuration.md +368 -0
  396. package/contributing/deployment.md +312 -0
  397. package/contributing/development.md +464 -0
  398. package/contributing/testing.md +453 -0
  399. package/examples/@xmachines/play-dom-demo/README.md +181 -0
  400. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +24 -0
  401. package/examples/@xmachines/play-dom-demo/functions/initShell.md +24 -0
  402. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +9 -0
  403. package/examples/@xmachines/play-dom-demo/variables/About.md +12 -0
  404. package/examples/@xmachines/play-dom-demo/variables/Contact.md +12 -0
  405. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +13 -0
  406. package/examples/@xmachines/play-dom-demo/variables/Home.md +13 -0
  407. package/examples/@xmachines/play-dom-demo/variables/Login.md +13 -0
  408. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +16 -0
  409. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +13 -0
  410. package/examples/@xmachines/play-dom-demo/variables/Overview.md +13 -0
  411. package/examples/@xmachines/play-dom-demo/variables/Profile.md +13 -0
  412. package/examples/@xmachines/play-dom-demo/variables/Settings.md +13 -0
  413. package/examples/@xmachines/play-dom-demo/variables/Stats.md +13 -0
  414. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +172 -0
  415. package/examples/@xmachines/play-dom-router-demo/README.md +145 -0
  416. package/examples/@xmachines/play-react-demo/README.md +187 -0
  417. package/examples/@xmachines/play-react-demo/functions/App.md +13 -0
  418. package/examples/@xmachines/play-react-demo/functions/DebugPanel.md +20 -0
  419. package/examples/@xmachines/play-react-demo/functions/HeaderNav.md +20 -0
  420. package/examples/@xmachines/play-react-demo/functions/Shell.md +22 -0
  421. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +9 -0
  422. package/examples/@xmachines/play-react-demo/variables/About.md +14 -0
  423. package/examples/@xmachines/play-react-demo/variables/Contact.md +14 -0
  424. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +15 -0
  425. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +15 -0
  426. package/examples/@xmachines/play-react-demo/variables/Home.md +14 -0
  427. package/examples/@xmachines/play-react-demo/variables/Login.md +16 -0
  428. package/examples/@xmachines/play-react-demo/variables/NavBar.md +16 -0
  429. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +15 -0
  430. package/examples/@xmachines/play-react-demo/variables/Navigation.md +14 -0
  431. package/examples/@xmachines/play-react-demo/variables/Overview.md +14 -0
  432. package/examples/@xmachines/play-react-demo/variables/Profile.md +14 -0
  433. package/examples/@xmachines/play-react-demo/variables/Settings.md +14 -0
  434. package/examples/@xmachines/play-react-demo/variables/Shell.md +18 -0
  435. package/examples/@xmachines/play-react-demo/variables/Stats.md +14 -0
  436. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +172 -0
  437. package/examples/@xmachines/play-react-router-demo/README.md +151 -0
  438. package/examples/@xmachines/play-solid-demo/README.md +187 -0
  439. package/examples/@xmachines/play-solid-demo/functions/App.md +13 -0
  440. package/examples/@xmachines/play-solid-demo/functions/DebugPanel.md +20 -0
  441. package/examples/@xmachines/play-solid-demo/functions/HeaderNav.md +20 -0
  442. package/examples/@xmachines/play-solid-demo/functions/Shell.md +22 -0
  443. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +9 -0
  444. package/examples/@xmachines/play-solid-demo/variables/About.md +9 -0
  445. package/examples/@xmachines/play-solid-demo/variables/Contact.md +9 -0
  446. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +9 -0
  447. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +15 -0
  448. package/examples/@xmachines/play-solid-demo/variables/Home.md +9 -0
  449. package/examples/@xmachines/play-solid-demo/variables/Login.md +9 -0
  450. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +11 -0
  451. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +15 -0
  452. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +9 -0
  453. package/examples/@xmachines/play-solid-demo/variables/Overview.md +9 -0
  454. package/examples/@xmachines/play-solid-demo/variables/Profile.md +9 -0
  455. package/examples/@xmachines/play-solid-demo/variables/Settings.md +9 -0
  456. package/examples/@xmachines/play-solid-demo/variables/Shell.md +17 -0
  457. package/examples/@xmachines/play-solid-demo/variables/Stats.md +9 -0
  458. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +172 -0
  459. package/examples/@xmachines/play-solid-router-demo/README.md +137 -0
  460. package/examples/@xmachines/play-svelte-demo/README.md +143 -0
  461. package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +9 -0
  462. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +9 -0
  463. package/examples/@xmachines/play-svelte-demo/variables/App.md +9 -0
  464. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +172 -0
  465. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +129 -0
  466. package/examples/@xmachines/play-sveltekit-router-demo/README.md +133 -0
  467. package/examples/@xmachines/play-tanstack-react-router-demo/README.md +156 -0
  468. package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +139 -0
  469. package/examples/@xmachines/play-vue-demo/README.md +183 -0
  470. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +9 -0
  471. package/examples/@xmachines/play-vue-demo/variables/App.md +9 -0
  472. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +172 -0
  473. package/examples/@xmachines/play-vue-router-demo/README.md +139 -0
  474. package/examples/README.md +78 -30
  475. package/examples/basic-state-machine.md +75 -31
  476. package/examples/form-validation.md +261 -118
  477. package/examples/multi-router-integration.md +314 -194
  478. package/examples/routing-patterns.md +230 -189
  479. package/examples/traffic-light.md +114 -65
  480. package/guides/README.md +9 -21
  481. package/guides/actor-model.md +180 -0
  482. package/guides/getting-started.md +619 -137
  483. package/guides/signals.md +166 -0
  484. package/guides/state-machines.md +284 -0
  485. package/package.json +18 -7
  486. package/rfc/broker.md +100 -0
  487. package/rfc/browser.md +44 -0
  488. package/rfc/cli.md +118 -0
  489. package/rfc/git.md +61 -0
  490. package/rfc/mcp.md +43 -0
  491. package/rfc/node.md +36 -0
  492. package/rfc/play.md +472 -0
  493. package/rfc/rest.md +102 -0
  494. package/rfc/run.md +159 -0
  495. package/rfc/streams.md +168 -0
  496. package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +0 -17
  497. package/api/@xmachines/play-catalog/README.md +0 -331
  498. package/api/@xmachines/play-catalog/functions/defineCatalog.md +0 -98
  499. package/api/@xmachines/play-catalog/functions/defineComponents.md +0 -134
  500. package/api/@xmachines/play-catalog/type-aliases/Catalog.md +0 -48
  501. package/api/@xmachines/play-catalog/type-aliases/ComponentsFor.md +0 -20
  502. package/api/@xmachines/play-catalog/type-aliases/InferComponentProps.md +0 -65
  503. package/api/@xmachines/play-catalog/type-aliases/NoExtraKeys.md +0 -17
  504. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +0 -15
  505. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +0 -19
  506. package/api/@xmachines/play-react-router-demo/README.md +0 -137
  507. package/api/@xmachines/play-router/classes/BaseRouteMap.md +0 -142
  508. package/api/@xmachines/play-router/functions/connectRouter.md +0 -67
  509. package/api/@xmachines/play-router/functions/crawlMachine.md +0 -92
  510. package/api/@xmachines/play-router/functions/createRouter.md +0 -76
  511. package/api/@xmachines/play-router/functions/extractRoute.md +0 -45
  512. package/api/@xmachines/play-router/interfaces/BaseRouteMapping.md +0 -27
  513. package/api/@xmachines/play-router/interfaces/BrowserHistory.md +0 -172
  514. package/api/@xmachines/play-router/interfaces/BrowserWindow.md +0 -69
  515. package/api/@xmachines/play-router/interfaces/ConnectRouterOptions.md +0 -13
  516. package/api/@xmachines/play-router/interfaces/RouteMap.md +0 -56
  517. package/api/@xmachines/play-router/interfaces/StateVisit.md +0 -15
  518. package/api/@xmachines/play-router/interfaces/VanillaRouter.md +0 -28
  519. package/api/@xmachines/play-router-demo/README.md +0 -137
  520. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +0 -15
  521. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +0 -19
  522. package/api/@xmachines/play-solid-router-demo/README.md +0 -127
  523. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +0 -19
  524. package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +0 -38
  525. package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +0 -33
  526. package/api/@xmachines/play-tanstack-react-router/variables/extractMachineRoutes.md +0 -64
  527. package/api/@xmachines/play-tanstack-react-router-demo/README.md +0 -126
  528. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +0 -343
  529. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +0 -19
  530. package/api/@xmachines/play-tanstack-solid-router-demo/README.md +0 -126
  531. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +0 -14
  532. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +0 -201
  533. package/api/@xmachines/play-vue-router-demo/README.md +0 -133
  534. package/api/@xmachines/play-xstate/functions/mergeViewProps.md +0 -26
  535. package/api/@xmachines/play-xstate/functions/stateMatches.md +0 -25
  536. package/api/@xmachines/play-xstate/functions/validateComponentBinding.md +0 -39
  537. package/api/@xmachines/play-xstate/functions/validateViewProps.md +0 -80
  538. package/api/@xmachines/play-xstate/interfaces/CatalogEntry.md +0 -16
  539. package/api/@xmachines/play-xstate/type-aliases/Catalog.md +0 -21
  540. package/api/@xmachines/play-xstate/type-aliases/ValidationResult.md +0 -17
  541. package/api/@xmachines/play-xstate/type-aliases/ViewMergeContext.md +0 -35
  542. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +0 -29
  543. package/api/@xmachines/shared/functions/xmAliases.md +0 -24
  544. package/guides/installation.md +0 -323
@@ -1,423 +1,274 @@
1
- [Documentation](../../README.md) / @xmachines/play-react
1
+ [API](../../README.md) / @xmachines/play-react
2
2
 
3
- # @xmachines/play-react
4
-
5
- **React renderer consuming signals and UI schema with provider pattern**
6
-
7
- Signal-driven React rendering layer observing actor state with zero React state for business logic.
3
+ <!-- generated-by: gsd-doc-writer -->
8
4
 
9
- ## Overview
10
-
11
- `@xmachines/play-react` provides `PlayRenderer` and `useSignalEffect` for building React UIs that passively observe actor signals. This package enables framework-swappable architecture where React is just a rendering target subscribing to signal changes — business logic lives entirely in the actor.
5
+ # @xmachines/play-react
12
6
 
13
- Per [RFC Play v1](https://gitlab.com/xmachin-es/rfc/-/blob/main/src/play-v1.md), this package implements:
7
+ React renderer for XMachines Play architecture with signal-driven rendering.
14
8
 
15
- - **Signal-Only Reactivity (INV-05):** No useState/useReducer for business logic, signals only
16
- - **Passive Infrastructure (INV-04):** Components observe signals, send events to actor
9
+ Part of the [xmachines-js monorepo](../../README.md).
17
10
 
18
- **Key Principle:** React state is never used for business logic. Signals are the source of truth.
11
+ ## Installation
19
12
 
20
- Renderer receives actor via props (provider pattern), not children.
13
+ ```bash
14
+ pnpm add @xmachines/play-react
15
+ ```
21
16
 
22
- ## Installation
17
+ **Peer dependencies** (must be installed separately):
23
18
 
24
19
  ```bash
25
- npm install react@^18.0.0 react-dom@^18.0.0
26
- npm install @xmachines/play-react
20
+ pnpm add react react-dom xstate @xstate/store @xmachines/json-render-react @xmachines/json-render-core @xmachines/json-render-xstate
27
21
  ```
28
22
 
29
- ## Current Exports
23
+ Supported versions:
30
24
 
31
- - `PlayRenderer`
32
- - `useSignalEffect`
33
- - `PlayErrorBoundary`
34
- - `PlayRendererProps` (type)
35
- - `PlayErrorBoundaryProps` (type)
25
+ - `react` / `react-dom`: `^18.0.0 || ^19.0.0`
26
+ - `xstate`: `^5.31.0`
27
+ - `@xstate/store`: `^3.17.0`
28
+ - `@xmachines/json-render-*`: `^0.18.0`
36
29
 
37
- **Peer dependencies:**
30
+ ## Usage
38
31
 
39
- - `react` ^18.0.0 || ^19.0.0 React runtime
40
- - `react-dom` ^18.0.0 || ^19.0.0 — React DOM renderer
32
+ ### Standard usage `PlayUIProvider` + `PlayRenderer`
41
33
 
42
- ## Quick Start
34
+ The recommended pattern for actor-driven React rendering:
43
35
 
44
- ```typescript
45
- import { createRoot } from "react-dom/client";
36
+ ```tsx
37
+ import { PlayUIProvider, PlayRenderer, defineRegistry } from "@xmachines/play-react";
46
38
  import { definePlayer } from "@xmachines/play-xstate";
47
- import { defineCatalog } from "@xmachines/play-catalog";
48
- import { PlayRenderer } from "@xmachines/play-react";
49
- import { z } from "zod";
50
-
51
- // 1. Define catalog (business logic layer)
52
- const catalog = defineCatalog({
53
- LoginForm: z.object({ error: z.string().optional() }),
54
- Dashboard: z.object({
55
- userId: z.string(),
56
- username: z.string(),
57
- }),
58
- });
59
39
 
60
- // 2. Create React components (view layer)
61
- const components = {
62
- LoginForm: ({ error, send }) => (
63
- <form
64
- onSubmit={(e) => {
65
- e.preventDefault();
66
- const data = new FormData(e.currentTarget);
67
- send({
68
- type: "auth.login",
69
- username: data.get("username"),
70
- });
71
- }}
72
- >
73
- {error && <p style={{ color: "red" }}>{error}</p>}
74
- <input name="username" required placeholder="Username" />
75
- <button type="submit">Log In</button>
76
- </form>
77
- ),
78
- Dashboard: ({ userId, username, send }) => (
79
- <div>
80
- <h1>Welcome, {username}!</h1>
81
- <p>User ID: {userId}</p>
82
- <button onClick={() => send({ type: "auth.logout" })}>Log Out</button>
83
- </div>
84
- ),
85
- };
86
-
87
- // 3. Create player actor (business logic runtime)
88
- const createPlayer = definePlayer({ machine: authMachine, catalog });
89
- const actor = createPlayer();
40
+ // 1. Create and start the actor
41
+ const actor = definePlayer({ machine: myMachine })();
90
42
  actor.start();
91
43
 
92
- // 4. Render UI (actor via props)
93
- const root = createRoot(document.getElementById("app")!);
94
- root.render(<PlayRenderer actor={actor} components={components} />);
95
- ```
96
-
97
- ## API Reference
98
-
99
- ### PlayRenderer
100
-
101
- Main renderer component subscribing to actor signals and dynamically rendering catalog components:
44
+ // 2. Define the component registry with action handlers
45
+ const registryResult = defineRegistry(myCatalog, {
46
+ components: { Login, Dashboard },
47
+ actions: {
48
+ login: async ({ username }) => actor.send({ type: "auth.login", username }),
49
+ logout: async () => actor.send({ type: "auth.logout" }),
50
+ },
51
+ });
102
52
 
103
- ```typescript
104
- interface PlayRendererProps {
105
- actor: AbstractActor<AnyActorLogic> & Viewable;
106
- components: Record<string, React.ElementType>;
107
- fallback?: React.ReactNode;
53
+ // 3. Render — signals drive view transitions automatically
54
+ function App() {
55
+ return (
56
+ <PlayUIProvider actor={actor} registryResult={registryResult}>
57
+ <PlayRenderer />
58
+ </PlayUIProvider>
59
+ );
108
60
  }
109
61
  ```
110
62
 
111
- **Props:**
112
-
113
- - `actor` - Actor instance with `currentView` signal
114
- - `components` - Map of component names to React components
115
- - `fallback` - Component shown when `currentView` is null (default: `null`)
116
-
117
- **Behavior:**
63
+ ### With optional `JSONUIProvider` props
118
64
 
119
- 1. Subscribes to `actor.currentView` signal via `useSignalEffect`
120
- 2. Looks up component from `components` map using `view.component` string
121
- 3. Renders component with props from `view.props` + `send` function
65
+ Pass navigation and validation helpers through `PlayUIProvider`:
122
66
 
123
- **Example:**
124
-
125
- ```typescript
126
- <PlayRenderer
67
+ ```tsx
68
+ <PlayUIProvider
127
69
  actor={actor}
128
- components={{
129
- HomePage: ({ send }) => <div>Home</div>,
130
- AboutPage: ({ send }) => <div>About</div>,
131
- }}
132
- fallback={<div>Loading...</div>}
133
- />
134
- ```
135
-
136
- ### useSignalEffect()
137
-
138
- Hook for subscribing to signal changes with automatic cleanup:
139
-
140
- ```typescript
141
- useSignalEffect(() => {
142
- const value = signal.get();
143
- // React re-renders when signal changes
144
- });
70
+ registryResult={registryResult}
71
+ navigate={(path) => router.push(path)}
72
+ validationFunctions={{ isEmail: (v) => /^.+@.+$/.test(String(v)) }}
73
+ >
74
+ <PlayRenderer />
75
+ </PlayUIProvider>
145
76
  ```
146
77
 
147
- **Behavior:**
148
-
149
- - Tracks signal dependencies automatically via `Signal.Computed` wrapper
150
- - Uses `Signal.subtle.Watcher` with microtask batching
151
- - Triggers React state update to force re-render
152
- - Cleans up watcher on unmount with explicit `unwatch`
153
-
154
- **Canonical watcher lifecycle:**
155
-
156
- 1. `notify`
157
- 2. `queueMicrotask`
158
- 3. drain pending work (`getPending` and/or `Computed.get`)
159
- 4. run effect + trigger render
160
- 5. re-arm watcher via `watch()`
161
-
162
- Watcher notification is one-shot, so re-arm and explicit cleanup are both required.
163
-
164
- **Example:**
165
-
166
- ```typescript
167
- import { useSignalEffect } from "@xmachines/play-react";
168
- import { useState } from "react";
78
+ ### Escape hatch — custom provider composition
169
79
 
170
- function RouteDisplay({ actor }: { actor: AbstractActor<any> }) {
171
- const [route, setRoute] = useState<string | null>(null);
80
+ Use `ActorProvider` directly when you need to compose providers manually:
172
81
 
173
- useSignalEffect(() => {
174
- const currentRoute = actor.currentRoute.get();
175
- setRoute(currentRoute);
176
- });
82
+ ```tsx
83
+ import { ActorProvider, JSONUIProvider, PlayRenderer } from "@xmachines/play-react";
177
84
 
178
- return <div>Current Route: {route ?? "None"}</div>;
179
- }
85
+ <ActorProvider actor={actor} registryResult={registryResult}>
86
+ <JSONUIProvider registry={registryResult.registry}>
87
+ <PlayRenderer />
88
+ </JSONUIProvider>
89
+ </ActorProvider>;
180
90
  ```
181
91
 
182
- ### PlayErrorBoundary
92
+ ### Accessing the actor from inside the tree
183
93
 
184
- React class component error boundary for catching catalog component render errors.
185
-
186
- `PlayRenderer` wraps its render output in `PlayErrorBoundary` automatically. You can also use it directly to wrap any component that may throw during render.
94
+ ```tsx
95
+ import { useActor } from "@xmachines/play-react";
187
96
 
188
- ```typescript
189
- interface PlayErrorBoundaryProps {
190
- fallback?: React.ReactNode; // UI shown when a child throws (default: null)
191
- children: React.ReactNode;
192
- onError?: (error: Error, info: React.ErrorInfo) => void; // Forward to Sentry, Datadog, etc.
97
+ function SubmitButton() {
98
+ const actor = useActor();
99
+ return <button onClick={() => actor.send({ type: "SUBMIT" })}>Submit</button>;
193
100
  }
194
101
  ```
195
102
 
196
- **Props:**
197
-
198
- - `fallback` — ReactNode rendered when a child component throws. Defaults to `null`.
199
- - `onError` — Optional callback forwarded on every caught error. Use for production observability (Sentry, Datadog, custom logging).
200
-
201
- **Example:**
103
+ ### Subscribing to signals directly
202
104
 
203
105
  ```tsx
204
- import { PlayErrorBoundary } from "@xmachines/play-react";
205
-
206
- <PlayErrorBoundary
207
- fallback={<div className="error">Something went wrong.</div>}
208
- onError={(error) => Sentry.captureException(error)}
209
- >
210
- <YourCatalogComponent />
211
- </PlayErrorBoundary>;
212
- ```
213
-
214
- Works with React 18 and React 19. Uses the standard class component `componentDidCatch` + `getDerivedStateFromError` pattern.
215
-
216
- ## Examples
217
-
218
- ### Component Receiving Props from Catalog
219
-
220
- ```typescript
221
- import { PlayRenderer } from "@xmachines/play-react";
222
- import { defineCatalog } from "@xmachines/play-catalog";
223
- import { z } from "zod";
224
-
225
- // Define schema in catalog
226
- const catalog = defineCatalog({
227
- UserProfile: z.object({
228
- userId: z.string(),
229
- name: z.string(),
230
- avatar: z.string().url().optional(),
231
- stats: z.object({
232
- posts: z.number(),
233
- followers: z.number(),
234
- }),
235
- }),
236
- });
237
-
238
- // Component receives type-safe props + send
239
- const components = {
240
- UserProfile: ({ userId, name, avatar, stats, send }) => (
241
- <div>
242
- {avatar && <img src={avatar} alt={name} />}
243
- <h1>{name}</h1>
244
- <p>ID: {userId}</p>
245
- <div>
246
- <span>{stats.posts} posts</span>
247
- <span>{stats.followers} followers</span>
248
- </div>
249
- <button
250
- onClick={() =>
251
- send({
252
- type: "profile.edit",
253
- userId,
254
- })
255
- }
256
- >
257
- Edit Profile
258
- </button>
259
- </div>
260
- ),
261
- };
262
-
263
- <PlayRenderer actor={actor} components={components} />;
264
- ```
265
-
266
- ### useSignalEffect for Custom Rendering
267
-
268
- ```typescript
269
106
  import { useSignalEffect } from "@xmachines/play-react";
270
- import { AbstractActor } from "@xmachines/play-actor";
271
107
 
272
- function CustomRenderer({ actor }: { actor: AbstractActor<any> }) {
108
+ function MyComponent({ actor }) {
273
109
  const [view, setView] = useState(null);
274
110
 
275
- // Subscribe to currentView signal
276
111
  useSignalEffect(() => {
277
- const currentView = actor.currentView.get();
278
- setView(currentView);
279
- });
280
-
281
- if (!view) return <div>No view</div>;
112
+ setView(actor.currentView.get());
113
+ }, [actor]); // deps: re-subscribe when the actor prop swaps
282
114
 
283
- // Custom rendering logic
284
- if (view.component === "SpecialCase") {
285
- return <SpecialCaseComponent {...view.props} actor={actor} />;
286
- }
287
-
288
- // Fallback to standard rendering
289
- return <DefaultComponent view={view} actor={actor} />;
115
+ return <div>{view?.component}</div>;
290
116
  }
291
117
  ```
292
118
 
293
- ### Provider Pattern
294
-
295
- ```typescript
296
- import { PlayTanStackRouterProvider } from "@xmachines/play-tanstack-react-router";
297
- import { PlayRenderer } from "@xmachines/play-react";
298
-
299
- // Renderer receives actor via props (not children)
300
- function App() {
301
- return (
302
- <PlayTanStackRouterProvider
303
- actor={actor}
304
- router={router}
305
- renderer={(currentActor, currentRouter) => {
306
- void currentRouter;
307
- return (
308
- <div>
309
- <Header actor={currentActor} />
310
- <PlayRenderer actor={currentActor} components={components} />
311
- <Footer />
312
- </div>
313
- );
314
- }}
315
- />
316
- );
317
- }
318
-
319
- // Header component also receives actor
320
- function Header({ actor }: { actor: AbstractActor<any> }) {
321
- const [route, setRoute] = useState<string | null>(null);
322
-
323
- useSignalEffect(() => {
324
- setRoute(actor.currentRoute.get());
325
- });
326
-
327
- return (
328
- <header>
329
- <nav>Current: {route}</nav>
330
- </header>
331
- );
332
- }
119
+ ## API Summary
120
+
121
+ ### Components
122
+
123
+ | Export | Description |
124
+ | --------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
125
+ | `<PlayUIProvider>` | Batteries-included provider: wraps `ActorProvider` + `JSONUIProvider`. Standard entry point. |
126
+ | `<PlayRenderer>` | Zero-prop leaf component. Reads the current actor view from context and renders it. Must be inside `PlayUIProvider` or `ActorProvider`. |
127
+ | `<ActorProvider>` | Escape-hatch primitive. Owns actor bridging, signal subscription, and per-view `StateStore` lifecycle. |
128
+ | `<PlayErrorBoundary>` | React class error boundary for catching catalog component render errors. |
129
+
130
+ ### Hooks
131
+
132
+ | Export | Description |
133
+ | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
134
+ | `useSignalEffect(callback, deps?)` | Subscribes to TC39 signal changes; re-runs the callback when any accessed signal changes (re-render via the callback's own setState). Optional `deps` recreates the subscription, like `useEffect`. Cleanup is automatic on unmount. |
135
+ | `useActor()` | Returns the raw actor instance. Must be called inside an `ActorProvider`/`PlayUIProvider` tree. |
136
+ | `usePlayView()` | Returns `{ spec, handlers, registry, store }` for the current view. Must be called inside an `ActorProvider`/`PlayUIProvider` tree. |
137
+
138
+ ### Types
139
+
140
+ | Export | Description |
141
+ | ------------------------ | ---------------------------------------------------------------------------------------------- |
142
+ | `PlayUIProviderProps` | Props for `<PlayUIProvider>` |
143
+ | `ActorProviderProps` | Props for `<ActorProvider>` (also exported as `PlayRendererProps` for migration compatibility) |
144
+ | `PlayErrorBoundaryProps` | Props for `<PlayErrorBoundary>` |
145
+ | `PlayErrorBoundaryState` | State shape for `<PlayErrorBoundary>` |
146
+ | `AnyPlayActor` | Type alias for `AbstractActor<AnyActorLogic>` the bare actor type used by context providers |
147
+ | `ViewContextValue` | Value shape returned by `usePlayView()` |
148
+ | `RenderErrorHandler` | Error handler callback type for render errors |
149
+
150
+ ### Re-exports from `@xmachines/json-render-react`
151
+
152
+ `@xmachines/play-react` re-exports the full `@xmachines/json-render-react` surface so consumers only need one import:
153
+
154
+ ```ts
155
+ import {
156
+ defineRegistry,
157
+ useBoundProp,
158
+ JSONUIProvider,
159
+ StateProvider,
160
+ ActionProvider,
161
+ VisibilityProvider,
162
+ ValidationProvider,
163
+ Renderer,
164
+ } from "@xmachines/play-react";
333
165
  ```
334
166
 
335
- ## Architecture
336
-
337
- This package implements **Signal-Only Reactivity (INV-05)** and **Passive Infrastructure (INV-04)**:
167
+ ## Key Principle
338
168
 
339
- 1. **No Business Logic in React:**
340
- - No useState/useReducer for business state
341
- - No useEffect for side effects
342
- - React only triggers renders, doesn't control state
169
+ React state is **never** used for business logic — only for triggering React's render cycle. Signals (`@xmachines/play-signals`) are the source of truth. `PlayUIProvider` passively observes actor signals via `useSignalEffect` and re-renders when the current view changes. Rapid signal updates are batched via microtasks to prevent unnecessary React renders.
343
170
 
344
- 2. **Signals as Source of Truth:**
345
- - `actor.currentView.get()` provides UI structure
346
- - `actor.currentRoute.get()` provides navigation state
347
- - Components observe signals via `useSignalEffect`
171
+ ## Testing
348
172
 
349
- 3. **Event Forwarding:**
350
- - Components receive `send` function via props
351
- - User actions send events to actor (e.g., `{ type: "auth.login" }`)
352
- - Actor guards validate and process events
173
+ Run unit tests (jsdom environment):
353
174
 
354
- 4. **Microtask Batching:**
355
- - `Signal.subtle.Watcher` coalesces rapid signal changes
356
- - Prevents React thrashing from multiple signal updates
357
- - Single React render per microtask batch
358
-
359
- 5. **Explicit Disposal Contract:**
360
- - Component teardown must call watcher `unwatch` in cleanup
361
- - Do not rely on GC-only cleanup
362
-
363
- **Pattern:**
364
-
365
- - Renderer receives actor via props (provider pattern)
366
- - Enables composition with navigation, headers, footers
367
- - Supports multiple renderers in same app
368
-
369
- **Architectural Invariants:**
175
+ ```bash
176
+ pnpm --filter @xmachines/play-react test
177
+ ```
370
178
 
371
- - **Signal-Only Reactivity (INV-05):** No React state for business logic
372
- - **Passive Infrastructure (INV-04):** Components reflect, never decide
179
+ Run tests with coverage:
373
180
 
374
- ## Benefits
181
+ ```bash
182
+ pnpm --filter @xmachines/play-react run test:coverage
183
+ ```
375
184
 
376
- - **Framework Swappable:** Business logic has zero React imports
377
- - **Type Safety:** Props validated against catalog schemas
378
- - **Simple Testing:** Test actors without React renderer
379
- - **Performance:** Microtask batching reduces unnecessary renders
380
- - **Composability:** Renderer prop enables complex layouts ()
185
+ Run browser integration tests (requires Chromium):
381
186
 
382
- ## Related Packages
187
+ ```bash
188
+ pnpm --filter @xmachines/play-react run test:browser
189
+ ```
383
190
 
384
- - **[@xmachines/play-xstate](../play-xstate/README.md)** - XState adapter providing actors
385
- - **[@xmachines/play-catalog](../play-catalog/README.md)** - UI schema validation
386
- - **[@xmachines/play-tanstack-react-router](../play-tanstack-react-router/README.md)** - TanStack Router integration
387
- - **[@xmachines/play-actor](../play-actor/README.md)** - Actor base
388
- - **[@xmachines/play-signals](../play-signals/README.md)** - TC39 Signals primitives
191
+ Coverage thresholds: 80% lines, functions, branches, and statements.
389
192
 
390
193
  ## License
391
194
 
392
- Copyright (c) 2016 [Mikael Karon](mailto:mikael@karon.se). All rights reserved.
393
-
394
- This work is licensed under the terms of the MIT license.
395
- For a copy, see <https://opensource.org/licenses/MIT>.
195
+ MIT see [LICENSE](./LICENSE).
396
196
 
397
197
  @xmachines/play-react - React renderer for XMachines Play architecture
398
198
 
399
- Provides a thin React rendering layer that passively observes actor signals
400
- and renders UI components from catalog definitions. This package enables
199
+ Provides a provider-based React rendering layer that passively observes actor signals
200
+ and renders UI components via @xmachines/json-render-react. This package enables
401
201
  framework-swappable architecture where React is just a rendering target
402
202
  that subscribes to signal changes.
403
203
 
404
204
  **Key principle:** React state is NEVER used for business logic—only for
405
205
  triggering React's render cycle. Signals are the source of truth.
406
206
 
207
+ **Standard usage:**
208
+
209
+ ```tsx
210
+ <PlayUIProvider actor={actor} registryResult={registryResult}>
211
+ <PlayRenderer />
212
+ </PlayUIProvider>
213
+ ```
214
+
215
+ **Escape hatch (custom composition):**
216
+
217
+ ```tsx
218
+ <ActorProvider actor={actor} registryResult={registryResult}>
219
+ <JSONUIProvider registry={registryResult.registry}>
220
+ <PlayRenderer />
221
+ </JSONUIProvider>
222
+ </ActorProvider>
223
+ ```
224
+
407
225
  ## Classes
408
226
 
409
227
  - [PlayErrorBoundary](classes/PlayErrorBoundary.md)
410
228
 
411
229
  ## Interfaces
412
230
 
231
+ - [ActionProviderProps](interfaces/ActionProviderProps.md)
232
+ - [ActorProviderProps](interfaces/ActorProviderProps.md)
233
+ - [ComponentContext](interfaces/ComponentContext.md)
234
+ - [JSONUIProviderProps](interfaces/JSONUIProviderProps.md)
413
235
  - [PlayErrorBoundaryProps](interfaces/PlayErrorBoundaryProps.md)
414
236
  - [PlayErrorBoundaryState](interfaces/PlayErrorBoundaryState.md)
415
- - [PlayRendererProps](interfaces/PlayRendererProps.md)
237
+ - [PlayUIProviderProps](interfaces/PlayUIProviderProps.md)
238
+ - [RendererProps](interfaces/RendererProps.md)
239
+ - [StateProviderProps](interfaces/StateProviderProps.md)
240
+ - [ValidationProviderProps](interfaces/ValidationProviderProps.md)
241
+ - [ViewContextValue](interfaces/ViewContextValue.md)
242
+ - [VisibilityProviderProps](interfaces/VisibilityProviderProps.md)
243
+
244
+ ## Type Aliases
245
+
246
+ - [AnyPlayActor](type-aliases/AnyPlayActor.md)
247
+ - [ComponentFn](type-aliases/ComponentFn.md)
248
+ - [RenderErrorHandler](type-aliases/RenderErrorHandler.md)
416
249
 
417
250
  ## Variables
418
251
 
252
+ - [ActorProvider](variables/ActorProvider.md)
419
253
  - [PlayRenderer](variables/PlayRenderer.md)
254
+ - [PlayUIProvider](variables/PlayUIProvider.md)
420
255
 
421
256
  ## Functions
422
257
 
258
+ - [ActionProvider](functions/ActionProvider.md)
259
+ - [defineRegistry](functions/defineRegistry.md)
260
+ - [JSONUIProvider](functions/JSONUIProvider.md)
261
+ - [Renderer](functions/Renderer.md)
262
+ - [StateProvider](functions/StateProvider.md)
263
+ - [useActor](functions/useActor.md)
264
+ - [useBoundProp](functions/useBoundProp.md)
265
+ - [usePlayView](functions/usePlayView.md)
423
266
  - [useSignalEffect](functions/useSignalEffect.md)
267
+ - [ValidationProvider](functions/ValidationProvider.md)
268
+ - [VisibilityProvider](functions/VisibilityProvider.md)
269
+
270
+ ## References
271
+
272
+ ### PlayRendererProps
273
+
274
+ Renames and re-exports [ActorProviderProps](interfaces/ActorProviderProps.md)