@xmachines/docs 1.0.0-beta.29 → 1.0.0-beta.31

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 (292) hide show
  1. package/api/@xmachines/play/classes/PlayError.md +4 -4
  2. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  3. package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -3
  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-dom/README.md +40 -10
  10. package/api/@xmachines/play-dom/classes/PlayRenderer.md +20 -12
  11. package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
  12. package/api/@xmachines/play-dom/functions/defineRegistry.md +8 -21
  13. package/api/@xmachines/play-dom/functions/renderSpec.md +15 -13
  14. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +9 -48
  15. package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +7 -7
  16. package/api/@xmachines/play-dom/interfaces/DefineRegistryOptions.md +7 -9
  17. package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +7 -8
  18. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +9 -12
  19. package/api/@xmachines/play-dom/interfaces/EventHandle.md +6 -20
  20. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +5 -5
  21. package/api/@xmachines/play-dom/type-aliases/ActionFn.md +30 -0
  22. package/api/@xmachines/play-dom/type-aliases/Actions.md +18 -0
  23. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +1 -28
  24. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +1 -7
  25. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +1 -17
  26. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +1 -6
  27. package/api/@xmachines/play-dom/type-aliases/DomSchema.md +9 -0
  28. package/api/@xmachines/play-dom/variables/schema.md +56 -0
  29. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  30. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  31. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +1 -1
  32. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  33. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
  34. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
  35. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
  36. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +6 -6
  37. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
  38. package/api/@xmachines/play-dom-router/interfaces/RouteMapLike.md +3 -3
  39. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  40. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  41. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
  42. package/api/@xmachines/play-dom-router/type-aliases/RoutableActor.md +1 -1
  43. package/api/@xmachines/play-react/README.md +29 -32
  44. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
  45. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  46. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  47. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
  48. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
  49. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +11 -12
  50. package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
  51. package/api/@xmachines/play-react/variables/PlayRenderer.md +12 -5
  52. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +23 -23
  53. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  54. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +1 -1
  55. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  56. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +6 -6
  57. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  58. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  59. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  60. package/api/@xmachines/play-router/classes/BaseRouteMap.md +4 -4
  61. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +23 -23
  62. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  63. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  64. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  65. package/api/@xmachines/play-router/functions/createRouteMapFromMachine.md +1 -1
  66. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +1 -1
  67. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  68. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  69. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  70. package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
  71. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  72. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  73. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  74. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  75. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  76. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  77. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  78. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  79. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  80. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  81. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  82. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
  83. package/api/@xmachines/play-router/interfaces/LocationLike.md +3 -3
  84. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
  85. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
  86. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +6 -6
  87. package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
  88. package/api/@xmachines/play-router/interfaces/RouteMap.md +4 -4
  89. package/api/@xmachines/play-router/interfaces/RouteMapping.md +3 -3
  90. package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
  91. package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
  92. package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
  93. package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
  94. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  95. package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
  96. package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
  97. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  98. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  99. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  100. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  101. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  102. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  103. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  104. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  105. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  106. package/api/@xmachines/play-solid/README.md +28 -29
  107. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  108. package/api/@xmachines/play-solid/functions/useBoundProp.md +45 -0
  109. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +11 -12
  110. package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
  111. package/api/@xmachines/play-solid/variables/PlayRenderer.md +4 -25
  112. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  113. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +24 -24
  114. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
  115. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
  116. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -3
  117. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +6 -6
  118. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  119. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  120. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  121. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  122. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  123. package/api/@xmachines/play-svelte/README.md +15 -4
  124. package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +8 -9
  125. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  126. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  127. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +1 -1
  128. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +4 -4
  129. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +6 -6
  130. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  131. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  132. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  133. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  134. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  135. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  136. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +1 -1
  137. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +4 -4
  138. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  139. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +6 -6
  140. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  141. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  142. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  143. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  144. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +23 -23
  145. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
  146. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  147. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  148. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  149. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +6 -6
  150. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  151. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  152. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  153. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  154. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  155. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +4 -4
  156. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  157. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +24 -24
  158. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
  159. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
  160. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +6 -6
  161. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  162. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  163. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  164. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  165. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  166. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +3 -3
  167. package/api/@xmachines/play-vue/README.md +33 -33
  168. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  169. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  170. package/api/@xmachines/play-vue/functions/useBoundProp.md +45 -0
  171. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +9 -10
  172. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  173. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  174. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  175. package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
  176. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  177. package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
  178. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +4 -4
  179. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +24 -24
  180. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  181. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +6 -6
  182. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
  183. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  184. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  185. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  186. package/api/@xmachines/play-xstate/README.md +1 -0
  187. package/api/@xmachines/play-xstate/classes/PlayerActor.md +54 -23
  188. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
  189. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  190. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  191. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  192. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  193. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  194. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  195. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
  196. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  197. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  198. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  199. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  200. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  201. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
  202. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
  203. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  204. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  205. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  206. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  207. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  208. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  209. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +1 -1
  210. package/api/@xmachines/shared/functions/xmAliases.md +1 -1
  211. package/examples/@xmachines/play-dom-demo/README.md +7 -0
  212. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +23 -0
  213. package/examples/@xmachines/play-dom-demo/functions/initShell.md +5 -5
  214. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +9 -0
  215. package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
  216. package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
  217. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
  218. package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
  219. package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
  220. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +9 -0
  221. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
  222. package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
  223. package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
  224. package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
  225. package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
  226. package/examples/@xmachines/{play-actor-shared → play-dom-demo}/variables/authCatalog.md +23 -24
  227. package/examples/@xmachines/play-react-demo/README.md +9 -3
  228. package/examples/@xmachines/play-react-demo/functions/App.md +1 -1
  229. package/examples/@xmachines/play-react-demo/functions/DebugPanel.md +5 -5
  230. package/examples/@xmachines/play-react-demo/functions/HeaderNav.md +5 -5
  231. package/examples/@xmachines/play-react-demo/functions/Shell.md +7 -7
  232. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +9 -0
  233. package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
  234. package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
  235. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
  236. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +11 -0
  237. package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
  238. package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
  239. package/examples/@xmachines/play-react-demo/variables/NavBar.md +11 -0
  240. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +9 -0
  241. package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
  242. package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
  243. package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
  244. package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
  245. package/examples/@xmachines/play-react-demo/variables/Shell.md +13 -0
  246. package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
  247. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +172 -0
  248. package/examples/@xmachines/play-solid-demo/README.md +9 -3
  249. package/examples/@xmachines/play-solid-demo/functions/App.md +1 -1
  250. package/examples/@xmachines/play-solid-demo/functions/DebugPanel.md +5 -5
  251. package/examples/@xmachines/play-solid-demo/functions/HeaderNav.md +5 -5
  252. package/examples/@xmachines/play-solid-demo/functions/Shell.md +7 -7
  253. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +9 -0
  254. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  255. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  256. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  257. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +11 -0
  258. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  259. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  260. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +11 -0
  261. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +12 -0
  262. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  263. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  264. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  265. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  266. package/examples/@xmachines/play-solid-demo/variables/Shell.md +13 -0
  267. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  268. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +172 -0
  269. package/examples/README.md +0 -8
  270. package/package.json +2 -2
  271. package/api/@xmachines/play-react/functions/useStateBinding.md +0 -34
  272. package/api/@xmachines/play-solid/functions/useStateBinding.md +0 -25
  273. package/api/@xmachines/play-vue/functions/useStateBinding.md +0 -32
  274. package/examples/@xmachines/play-actor-shared/README.md +0 -155
  275. package/examples/@xmachines/play-actor-shared/interfaces/AuthContext.md +0 -14
  276. package/examples/@xmachines/play-actor-shared/type-aliases/AuthActor.md +0 -27
  277. package/examples/@xmachines/play-actor-shared/type-aliases/AuthCatalog.md +0 -16
  278. package/examples/@xmachines/play-actor-shared/type-aliases/AuthEvents.md +0 -17
  279. package/examples/@xmachines/play-actor-shared/type-aliases/AuthInput.md +0 -9
  280. package/examples/@xmachines/play-actor-shared/type-aliases/AuthSnapshot.md +0 -11
  281. package/examples/@xmachines/play-actor-shared/type-aliases/CatalogProps.md +0 -187
  282. package/examples/@xmachines/play-actor-shared/type-aliases/InferProps.md +0 -17
  283. package/examples/@xmachines/play-actor-shared/variables/authMachine.md +0 -189
  284. package/examples/@xmachines/play-actor-shared/variables/authSetup.md +0 -22
  285. package/examples/@xmachines/play-router-shared/README.md +0 -111
  286. package/examples/@xmachines/play-router-shared/test/auth-machine-routing.test.ts/README.md +0 -3
  287. package/examples/@xmachines/play-router-shared/test/demo-browser-suite.ts/README.md +0 -11
  288. package/examples/@xmachines/play-router-shared/test/demo-browser-suite.ts/functions/defineSharedDemoBrowserSuite.md +0 -19
  289. package/examples/@xmachines/play-router-shared/test/demo-browser-suite.ts/variables/defineRouterDemoBrowserSuite.md +0 -19
  290. package/examples/@xmachines/play-router-shared/test/env.d.ts/README.md +0 -8
  291. package/examples/@xmachines/play-router-shared/test/env.d.ts/interfaces/ImportMeta.md +0 -63
  292. package/examples/@xmachines/play-router-shared/test/env.d.ts/interfaces/ImportMetaEnv.md +0 -32
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: PlayError
4
4
 
5
- Defined in: [packages/play/src/errors.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play/src/errors.ts#L63)
5
+ Defined in: [packages/play/src/errors.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play/src/errors.ts#L63)
6
6
 
7
7
  Base class for all typed runtime errors thrown by `@xmachines/*` packages.
8
8
 
@@ -82,7 +82,7 @@ new PlayError(
82
82
  options?): PlayError;
83
83
  ```
84
84
 
85
- Defined in: [packages/play/src/errors.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play/src/errors.ts#L82)
85
+ Defined in: [packages/play/src/errors.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play/src/errors.ts#L82)
86
86
 
87
87
  #### Parameters
88
88
 
@@ -108,10 +108,10 @@ Error.constructor;
108
108
  | Property | Modifier | Type | Description | Inherited from | Defined in |
109
109
  | ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
110
110
  | <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | `Error.cause` | - |
111
- | <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable error identifier. Error codes follow the `PLAY_<PACKAGE>_<DESCRIPTION>` naming convention and are guaranteed stable across patch and minor releases within a major version. Never match on `.message` — always match on `.code` or the subclass. | - | [packages/play/src/errors.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play/src/errors.ts#L74) |
111
+ | <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable error identifier. Error codes follow the `PLAY_<PACKAGE>_<DESCRIPTION>` naming convention and are guaranteed stable across patch and minor releases within a major version. Never match on `.message` — always match on `.code` or the subclass. | - | [packages/play/src/errors.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play/src/errors.ts#L74) |
112
112
  | <a id="property-message"></a> `message` | `public` | `string` | - | `Error.message` | - |
113
113
  | <a id="property-name"></a> `name` | `public` | `string` | - | `Error.name` | - |
114
- | <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or module that threw this error (e.g. `"RouterBridgeBase"`). | - | [packages/play/src/errors.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play/src/errors.ts#L65) |
114
+ | <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or module that threw this error (e.g. `"RouterBridgeBase"`). | - | [packages/play/src/errors.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play/src/errors.ts#L65) |
115
115
  | <a id="property-stack"></a> `stack?` | `public` | `string` | - | `Error.stack` | - |
116
116
  | <a id="property-stacktracelimit"></a> `stackTraceLimit` | `static` | `number` | The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured _after_ the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. | `Error.stackTraceLimit` | - |
117
117
 
@@ -6,7 +6,7 @@
6
6
  type PlayEvent<TPayload> = object & TPayload;
7
7
  ```
8
8
 
9
- Defined in: [packages/play/src/types.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play/src/types.ts#L69)
9
+ Defined in: [packages/play/src/types.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play/src/types.ts#L69)
10
10
 
11
11
  Generic event type for Play Architecture
12
12
 
@@ -34,7 +34,7 @@ Robot, and other state machine libraries.
34
34
 
35
35
  | Name | Type | Defined in |
36
36
  | ------ | -------- | -------------------------------------------------------------------------------------------------------------------------------- |
37
- | `type` | `string` | [packages/play/src/types.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play/src/types.ts#L70) |
37
+ | `type` | `string` | [packages/play/src/types.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play/src/types.ts#L70) |
38
38
 
39
39
  ## Type Parameters
40
40
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Abstract Class: AbstractActor\<TLogic, TEvent\>
4
4
 
5
- Defined in: [packages/play-actor/src/abstract-actor.ts:141](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-actor/src/abstract-actor.ts#L141)
5
+ Defined in: [packages/play-actor/src/abstract-actor.ts:141](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L141)
6
6
 
7
7
  Abstract base class for Play Architecture actors.
8
8
 
@@ -67,7 +67,7 @@ Actor<TLogic>.constructor
67
67
  | <a id="property-ref"></a> `ref` | `public` | [`ActorRef`](https://www.jsdocs.io/package/xstate#ActorRef)\<[`SnapshotFrom`](https://www.jsdocs.io/package/xstate#SnapshotFrom)\<`TLogic`\>, [`EventFromLogic`](https://www.jsdocs.io/package/xstate#EventFromLogic)\<`TLogic`\>, [`EmittedFrom`](https://www.jsdocs.io/package/xstate#EmittedFrom)\<`TLogic`\>\> | - | `Actor.ref` | - |
68
68
  | <a id="property-sessionid"></a> `sessionId` | `public` | `string` | The globally unique process ID for this invocation. | `Actor.sessionId` | - |
69
69
  | <a id="property-src"></a> `src` | `public` | \| `string` \| [`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic) | - | `Actor.src` | - |
70
- | <a id="property-state"></a> `state` | `abstract` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<`unknown`\> | Reactive snapshot of current actor state. Infrastructure observes this signal to react to state changes without directly coupling to the actor's internal state machine implementation. | - | [packages/play-actor/src/abstract-actor.ts:151](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-actor/src/abstract-actor.ts#L151) |
70
+ | <a id="property-state"></a> `state` | `abstract` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<`unknown`\> | Reactive snapshot of current actor state. Infrastructure observes this signal to react to state changes without directly coupling to the actor's internal state machine implementation. | - | [packages/play-actor/src/abstract-actor.ts:151](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L151) |
71
71
  | <a id="property-system"></a> `system` | `public` | [`AnyActorSystem`](https://www.jsdocs.io/package/xstate#AnyActorSystem) | The system to which this actor belongs. | `Actor.system` | - |
72
72
  | <a id="property-systemid"></a> `systemId` | `public` | `string` \| `undefined` | - | `Actor.systemId` | - |
73
73
 
@@ -238,7 +238,7 @@ Actor.select;
238
238
  abstract send(event): void;
239
239
  ```
240
240
 
241
- Defined in: [packages/play-actor/src/abstract-actor.ts:158](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-actor/src/abstract-actor.ts#L158)
241
+ Defined in: [packages/play-actor/src/abstract-actor.ts:158](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L158)
242
242
 
243
243
  Send event to Actor.
244
244
 
@@ -6,7 +6,7 @@
6
6
  function typedSpec<TContext>(spec): PlaySpec;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-actor/src/abstract-actor.ts:86](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-actor/src/abstract-actor.ts#L86)
9
+ Defined in: [packages/play-actor/src/abstract-actor.ts:86](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L86)
10
10
 
11
11
  Identity helper that constrains a `PlaySpec` object's `contextProps` to keys
12
12
  of a specific machine context type, giving compile-time validation and IDE
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: PlaySpec
4
4
 
5
- Defined in: [packages/play-actor/src/abstract-actor.ts:43](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-actor/src/abstract-actor.ts#L43)
5
+ Defined in: [packages/play-actor/src/abstract-actor.ts:43](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L43)
6
6
 
7
7
  XMachines extension of `@json-render/core` `Spec`.
8
8
 
@@ -22,7 +22,7 @@ entries against your machine's context type at compile time.
22
22
 
23
23
  | Property | Modifier | Type | Description | Inherited from | Defined in |
24
24
  | -------------------------------------------------- | ---------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
25
- | <a id="property-contextprops"></a> `contextProps?` | `readonly` | readonly `string`[] | Explicit allowlist of machine context field names to expose as prop slots. Each named field is merged into every spec element's `props` at view derivation time, filling any slot whose current value is `undefined`. Use `typedSpec<TContext>(...)` to constrain entries to `keyof TContext & string`. | - | [packages/play-actor/src/abstract-actor.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-actor/src/abstract-actor.ts#L51) |
25
+ | <a id="property-contextprops"></a> `contextProps?` | `readonly` | readonly `string`[] | Explicit allowlist of machine context field names to expose as prop slots. Each named field is merged into every spec element's `props` at view derivation time, filling any slot whose current value is `undefined`. Use `typedSpec<TContext>(...)` to constrain entries to `keyof TContext & string`. | - | [packages/play-actor/src/abstract-actor.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L51) |
26
26
  | <a id="property-elements"></a> `elements` | `public` | `Record`\<`string`, `UIElement`\> | Flat map of elements by key | `Spec.elements` | - |
27
27
  | <a id="property-root"></a> `root` | `public` | `string` | Root element key | `Spec.root` | - |
28
28
  | <a id="property-state"></a> `state?` | `public` | `Record`\<`string`, `unknown`\> | Optional initial state to seed the state model. Components using statePath will read from / write to this state. | `Spec.state` | - |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: Routable
4
4
 
5
- Defined in: [packages/play-actor/src/abstract-actor.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-actor/src/abstract-actor.ts#L27)
5
+ Defined in: [packages/play-actor/src/abstract-actor.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L27)
6
6
 
7
7
  Optional capability: Routing support
8
8
 
@@ -10,5 +10,5 @@ Optional capability: Routing support
10
10
 
11
11
  | Property | Modifier | Type | Defined in |
12
12
  | ------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
13
- | <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | [packages/play-actor/src/abstract-actor.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-actor/src/abstract-actor.ts#L28) |
14
- | <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | [packages/play-actor/src/abstract-actor.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-actor/src/abstract-actor.ts#L29) |
13
+ | <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | [packages/play-actor/src/abstract-actor.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L28) |
14
+ | <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | [packages/play-actor/src/abstract-actor.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L29) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: ViewMetadata
4
4
 
5
- Defined in: [packages/play-actor/src/abstract-actor.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-actor/src/abstract-actor.ts#L100)
5
+ Defined in: [packages/play-actor/src/abstract-actor.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L100)
6
6
 
7
7
  View metadata for rendering.
8
8
 
@@ -13,5 +13,5 @@ Used by PlayRenderer to dynamically render UI based on actor state.
13
13
 
14
14
  | Property | Type | Description | Defined in |
15
15
  | ------------------------------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
16
- | <a id="property-component"></a> `component` | `string` | Root element type name (for diagnostics and component resolution) | [packages/play-actor/src/abstract-actor.ts:102](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-actor/src/abstract-actor.ts#L102) |
17
- | <a id="property-spec"></a> `spec` | [`PlaySpec`](PlaySpec.md) | XMachines view spec — extends `@json-render/core` Spec with `contextProps` for explicit context field exposure. Use `typedSpec<TContext>(...)` at the definition site to validate `contextProps` entries against the machine context type. | [packages/play-actor/src/abstract-actor.ts:110](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-actor/src/abstract-actor.ts#L110) |
16
+ | <a id="property-component"></a> `component` | `string` | Root element type name (for diagnostics and component resolution) | [packages/play-actor/src/abstract-actor.ts:102](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L102) |
17
+ | <a id="property-spec"></a> `spec` | [`PlaySpec`](PlaySpec.md) | XMachines view spec — extends `@json-render/core` Spec with `contextProps` for explicit context field exposure. Use `typedSpec<TContext>(...)` at the definition site to validate `contextProps` entries against the machine context type. | [packages/play-actor/src/abstract-actor.ts:110](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L110) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: Viewable
4
4
 
5
- Defined in: [packages/play-actor/src/abstract-actor.ts:121](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-actor/src/abstract-actor.ts#L121)
5
+ Defined in: [packages/play-actor/src/abstract-actor.ts:121](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L121)
6
6
 
7
7
  Actor capability for exposing renderable view state.
8
8
 
@@ -15,4 +15,4 @@ framework adapter.
15
15
 
16
16
  | Property | Modifier | Type | Description | Defined in |
17
17
  | ----------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
18
- | <a id="property-currentview"></a> `currentView` | `readonly` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<[`ViewMetadata`](ViewMetadata.md) \| `null`\> | Current view signal. State signal containing view.component and view.spec from meta.view. Infrastructure renders view — Logic-Driven UI invariant. | [packages/play-actor/src/abstract-actor.ts:128](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-actor/src/abstract-actor.ts#L128) |
18
+ | <a id="property-currentview"></a> `currentView` | `readonly` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<[`ViewMetadata`](ViewMetadata.md) \| `null`\> | Current view signal. State signal containing view.component and view.spec from meta.view. Infrastructure renders view — Logic-Driven UI invariant. | [packages/play-actor/src/abstract-actor.ts:128](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L128) |
@@ -14,38 +14,61 @@ npm install @xmachines/play-dom
14
14
 
15
15
  ## Key Exports
16
16
 
17
- - `connectRenderer({ actor, registry, container })` — connect actor view signal to DOM
18
- - `defineRegistry(catalog, { components, actions })` — build a catalog-typed `DomRegistry`
17
+ - `connectRenderer({ actor, registry, container, handlers })` — connect actor view signal to DOM
18
+ - `defineRegistry(catalog, { components, actions })` — build a catalog-typed `DomRegistry` with real async action handlers
19
+ - `schema` — DOM schema for use with `defineCatalog` (mirrors `@json-render/react/schema` shape)
19
20
  - `PlayRenderer` — class-based renderer (connect/disconnect lifecycle)
20
21
  - `ComponentFn<C, K>` — catalog-typed DOM component function type
21
22
  - `ComponentContext<C, K>` — context passed to each `ComponentFn` (props, emit, on, children, bindings)
22
- - `renderSpec(spec, store, registry, send, actorActions)` — pure Spec → DOM renderer
23
+ - `renderSpec(spec, store, registry, send, handlers)` — pure Spec → DOM renderer
23
24
 
24
25
  ## Usage
25
26
 
26
27
  ```ts
27
28
  import { definePlayer } from "@xmachines/play-xstate";
28
- import { connectRenderer, defineRegistry } from "@xmachines/play-dom";
29
- import { authMachine, authCatalog, type AuthCatalog } from "@xmachines/play-actor-shared";
29
+ import { connectRenderer, defineRegistry, schema } from "@xmachines/play-dom";
30
+ import { defineCatalog } from "@json-render/core";
31
+ import { authCatalogDef, type AuthActor } from "@xmachines/play-actor-shared";
30
32
  import type { ComponentFn } from "@xmachines/play-dom";
31
33
 
34
+ // 1. Build catalog with DOM schema
35
+ const authCatalog = defineCatalog(schema, authCatalogDef);
36
+ type AuthCatalog = typeof authCatalog;
37
+
38
+ // 2. Implement catalog components
32
39
  const Home: ComponentFn<AuthCatalog, "Home"> = ({ props }) => {
33
40
  const el = document.createElement("section");
34
41
  el.textContent = props.title;
35
42
  return el;
36
43
  };
37
44
 
38
- const { registry } = defineRegistry(authCatalog, {
45
+ // 3. Build registry with real async action handlers
46
+ const registryResult = defineRegistry(authCatalog, {
39
47
  components: { Home /* ... */ },
40
- actions: { login: "auth.login", logout: "auth.logout" },
48
+ actions: {
49
+ login: async (params) => {
50
+ if (!params) return;
51
+ actor.send({ type: "auth.login", username: params.username });
52
+ },
53
+ logout: async () => actor.send({ type: "auth.logout" }),
54
+ },
41
55
  });
42
56
 
43
- const createPlayer = definePlayer({ machine: authMachine });
44
- const actor = createPlayer();
57
+ // 4. Resolve handlers and connect
58
+ const actor = definePlayer({ machine: authMachine })();
45
59
  actor.start();
46
60
 
61
+ const handlers = registryResult.handlers(
62
+ () => undefined,
63
+ () => ({}),
64
+ );
47
65
  const container = document.getElementById("app")!;
48
- const disconnect = connectRenderer({ actor, registry, container });
66
+ const disconnect = connectRenderer({
67
+ actor,
68
+ registry: registryResult.registry,
69
+ container,
70
+ handlers,
71
+ });
49
72
  ```
50
73
 
51
74
  ## Learn More
@@ -90,10 +113,17 @@ Public API split into two layers:
90
113
 
91
114
  ## Type Aliases
92
115
 
116
+ - [ActionFn](type-aliases/ActionFn.md)
117
+ - [Actions](type-aliases/Actions.md)
93
118
  - [ComponentFn](type-aliases/ComponentFn.md)
94
119
  - [ComponentRegistry](type-aliases/ComponentRegistry.md)
95
120
  - [DomComponentRenderer](type-aliases/DomComponentRenderer.md)
96
121
  - [DomRegistry](type-aliases/DomRegistry.md)
122
+ - [DomSchema](type-aliases/DomSchema.md)
123
+
124
+ ## Variables
125
+
126
+ - [schema](variables/schema.md)
97
127
 
98
128
  ## Functions
99
129
 
@@ -2,21 +2,29 @@
2
2
 
3
3
  # Class: PlayRenderer
4
4
 
5
- Defined in: [PlayRenderer.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-dom/src/PlayRenderer.ts#L40)
5
+ Defined in: [PlayRenderer.ts:42](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/PlayRenderer.ts#L42)
6
6
 
7
7
  PlayRenderer connects an actor's currentView signal to the DOM renderer.
8
8
 
9
9
  Usage:
10
10
 
11
11
  ```typescript
12
- const renderer = new PlayRenderer(container, actor, registry, { actions: { ... } });
12
+ const { registry, handlers } = defineRegistry(catalog, { components, actions });
13
+ const resolvedHandlers = handlers(
14
+ () => undefined,
15
+ () => ({}),
16
+ );
17
+ const renderer = new PlayRenderer(container, actor, registry, { handlers: resolvedHandlers });
13
18
  renderer.connect();
14
19
 
15
20
  // Controlled mode — bring your own store:
16
21
  import { createAtom } from "@xstate/store";
17
22
  import { xstateStoreStateStore } from "@json-render/xstate";
18
23
  const store = xstateStoreStateStore({ atom: createAtom({ username: "" }) });
19
- const renderer = new PlayRenderer(container, actor, registry, { store, actions: { ... } });
24
+ const renderer = new PlayRenderer(container, actor, registry, {
25
+ store,
26
+ handlers: resolvedHandlers,
27
+ });
20
28
 
21
29
  // Later:
22
30
  renderer.disconnect();
@@ -34,16 +42,16 @@ new PlayRenderer(
34
42
  options?): PlayRenderer;
35
43
  ```
36
44
 
37
- Defined in: [PlayRenderer.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-dom/src/PlayRenderer.ts#L52)
45
+ Defined in: [PlayRenderer.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/PlayRenderer.ts#L54)
38
46
 
39
47
  #### Parameters
40
48
 
41
- | Parameter | Type | Description |
42
- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
43
- | `container` | `HTMLElement` | The `HTMLElement` to render into. Cleared and repopulated on every view transition. |
44
- | `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Viewable`](../../play-actor/interfaces/Viewable.md) | Actor instance providing the `currentView` signal (must implement `Viewable`). |
45
- | `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | Map of component type names to `DomComponentRenderer` functions. |
46
- | `options` | [`PlayDomOptions`](../interfaces/PlayDomOptions.md) | Optional configuration: `actions` map (action name → XState event type) and optional external `store` (controlled mode — when omitted, a fresh `@xstate/store` atom is created per view transition seeded from `spec.state`). |
49
+ | Parameter | Type | Description |
50
+ | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
51
+ | `container` | `HTMLElement` | The `HTMLElement` to render into. Cleared and repopulated on every view transition. |
52
+ | `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Viewable`](../../play-actor/interfaces/Viewable.md) | Actor instance providing the `currentView` signal (must implement `Viewable`). |
53
+ | `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | Map of component type names to `DomComponentRenderer` functions. |
54
+ | `options` | [`PlayDomOptions`](../interfaces/PlayDomOptions.md) | Optional configuration: `handlers` map (action name → async handler) and optional external `store` (controlled mode — when omitted, a fresh `@xstate/store` atom is created per view transition seeded from `spec.state`). |
47
55
 
48
56
  #### Returns
49
57
 
@@ -57,7 +65,7 @@ Defined in: [PlayRenderer.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/bl
57
65
  connect(): void;
58
66
  ```
59
67
 
60
- Defined in: [PlayRenderer.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-dom/src/PlayRenderer.ts#L63)
68
+ Defined in: [PlayRenderer.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/PlayRenderer.ts#L65)
61
69
 
62
70
  Start watching actor.currentView and render to container.
63
71
  Renders the initial view synchronously, then subscribes to signal changes.
@@ -74,7 +82,7 @@ Renders the initial view synchronously, then subscribes to signal changes.
74
82
  disconnect(): void;
75
83
  ```
76
84
 
77
- Defined in: [PlayRenderer.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-dom/src/PlayRenderer.ts#L71)
85
+ Defined in: [PlayRenderer.ts:73](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/PlayRenderer.ts#L73)
78
86
 
79
87
  Stop watching and clear the container.
80
88
 
@@ -6,7 +6,7 @@
6
6
  function connectRenderer(options): () => void;
7
7
  ```
8
8
 
9
- Defined in: [connect-renderer.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-dom/src/connect-renderer.ts#L46)
9
+ Defined in: [connect-renderer.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/connect-renderer.ts#L46)
10
10
 
11
11
  Connect a signal-driven DOM renderer to an actor's currentView signal.
12
12
 
@@ -6,25 +6,10 @@
6
6
  function defineRegistry<C>(_catalog, options): DefineRegistryResult;
7
7
  ```
8
8
 
9
- Defined in: [json-render/types.ts:351](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-dom/src/json-render/types.ts#L351)
9
+ Defined in: [json-render/types.ts:213](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/types.ts#L213)
10
10
 
11
11
  Build a `DomRegistry` from a catalog and component/action options.
12
12
 
13
- Mirrors the `defineRegistry(catalog, options)` API from @json-render/react,
14
- /solid, /svelte, /vue. The catalog parameter is used for TypeScript inference
15
- only (the same as in the framework renderers — it is not used at runtime).
16
-
17
- Each component in `options.components` is wrapped in a `DomComponentRenderer`
18
- adapter that:
19
-
20
- - Resolves props and two-way binding paths via `@json-render/core`
21
- - Builds `emit(event)` and `on(event)` closures over the element's `on` map
22
- - Renders child elements via `ctx.renderChildren`
23
- - Passes the assembled `ComponentContext` to your `ComponentFn`
24
-
25
- The `actions` map is passed through as `actorActions` so the caller does not
26
- need to manage it separately.
27
-
28
13
  ## Type Parameters
29
14
 
30
15
  | Type Parameter |
@@ -47,15 +32,17 @@ need to manage it separately.
47
32
  ```ts
48
33
  import { defineRegistry } from "@xmachines/play-dom";
49
34
  import { authCatalog } from "@xmachines/play-actor-shared";
50
- import { Home, Login, Dashboard } from "./components/index.js";
51
35
 
52
- const { registry, actorActions } = defineRegistry(authCatalog, {
36
+ const registryResult = defineRegistry(authCatalog, {
53
37
  components: { Home, Login, Dashboard, ... },
54
38
  actions: {
55
- login: "auth.login",
56
- logout: "auth.logout",
39
+ login: async ({ username }) => actor.send({ type: 'auth.login', username }),
40
+ logout: async () => actor.send({ type: 'auth.logout' }),
41
+ route: async ({ to, params }) => actor.send({ type: 'play.route', to, params }),
57
42
  },
58
43
  });
59
44
 
60
- connectRenderer({ actor, registry, container, actions: actorActions });
45
+ const { registry, handlers } = registryResult;
46
+ const resolvedHandlers = handlers(() => undefined, () => ({}));
47
+ connectRenderer({ actor, registry, container, handlers: resolvedHandlers });
61
48
  ```
@@ -3,10 +3,10 @@
3
3
  # Function: renderSpec()
4
4
 
5
5
  ```ts
6
- function renderSpec(spec, store, registry, send, actorActions): Node | null;
6
+ function renderSpec(spec, store, registry, send, handlers): Node | null;
7
7
  ```
8
8
 
9
- Defined in: [json-render/renderer.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-dom/src/json-render/renderer.ts#L54)
9
+ Defined in: [json-render/renderer.ts:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/renderer.ts#L53)
10
10
 
11
11
  Render a Spec tree into DOM nodes using the provided `DomRegistry`.
12
12
 
@@ -19,13 +19,13 @@ built by `defineRegistry` — this function only orchestrates the traversal.
19
19
 
20
20
  ## Parameters
21
21
 
22
- | Parameter | Type | Description |
23
- | -------------- | ----------------------------------------------- | ---------------------------------------------------- |
24
- | `spec` | `Spec` | The json-render `Spec` describing the UI tree. |
25
- | `store` | `StateStore` | Live `StateStore` bound to `spec.state`. |
26
- | `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | Map of element type names → `DomComponentRenderer`. |
27
- | `send` | (`event`) => `void` | Dispatcher for interaction events (e.g. actor.send). |
28
- | `actorActions` | `Record`\<`string`, `string`\> | Map of catalog action names → event type strings. |
22
+ | Parameter | Type | Description |
23
+ | ---------- | ----------------------------------------------- | ------------------------------------------------------------ |
24
+ | `spec` | `Spec` | The json-render `Spec` describing the UI tree. |
25
+ | `store` | `StateStore` | Live `StateStore` bound to `spec.state`. |
26
+ | `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | Map of element type names → `DomComponentRenderer`. |
27
+ | `send` | (`event`) => `void` | Dispatcher for interaction events (e.g. actor.send). |
28
+ | `handlers` | `Record`\<`string`, `ActionHandler`\> | Map of catalog action names → async ActionHandler functions. |
29
29
 
30
30
  ## Returns
31
31
 
@@ -37,9 +37,11 @@ or has no registered renderer.
37
37
  ## Example
38
38
 
39
39
  ```ts
40
- const node = renderSpec(spec, store, registry, actor.send.bind(actor), {
41
- login: "auth.login",
42
- logout: "auth.logout",
43
- });
40
+ const { registry, handlers } = defineRegistry(catalog, { components, actions });
41
+ const resolvedHandlers = handlers(
42
+ () => undefined,
43
+ () => ({}),
44
+ );
45
+ const node = renderSpec(spec, store, registry, actor.send.bind(actor), resolvedHandlers);
44
46
  if (node) container.appendChild(node);
45
47
  ```
@@ -2,46 +2,7 @@
2
2
 
3
3
  # Interface: ComponentContext\<C, K\>
4
4
 
5
- Defined in: [json-render/types.ts:152](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-dom/src/json-render/types.ts#L152)
6
-
7
- Catalog-typed context passed to each DOM component function.
8
-
9
- Mirrors the `ComponentContext<C, K>` shape from @json-render/react, /solid,
10
- /svelte, /vue with three DOM-specific adaptations:
11
-
12
- - `children` is `Node[]` instead of a framework node/snippet/slot
13
- - `bindings` is `Record<string, string> | undefined` (path strings for DOM
14
- consumers that implement their own two-way binding, e.g. input value ↔ store)
15
- - `ctx` (low-level `DomRenderContext`) is exposed for advanced use cases
16
- (framework renderers do not expose this)
17
-
18
- ## Example
19
-
20
- ```ts
21
- const Login: ComponentFn<AuthCatalog, "Login"> = ({ props, emit, on, bindings }) => {
22
- const section = document.createElement("section");
23
-
24
- const input = document.createElement("input");
25
- input.value = props.username ?? "";
26
-
27
- // Two-way binding: write back to state store when input changes
28
- if (bindings?.username) {
29
- input.addEventListener("input", () => {
30
- // bindings.username contains the store path e.g. "/username"
31
- });
32
- }
33
-
34
- const btn = document.createElement("button");
35
- const handle = on("submit");
36
- btn.addEventListener("click", (e) => {
37
- if (handle.shouldPreventDefault) e.preventDefault();
38
- handle.emit();
39
- });
40
-
41
- section.append(input, btn);
42
- return section;
43
- };
44
- ```
5
+ Defined in: [json-render/types.ts:78](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/types.ts#L78)
45
6
 
46
7
  ## Type Parameters
47
8
 
@@ -52,11 +13,11 @@ const Login: ComponentFn<AuthCatalog, "Login"> = ({ props, emit, on, bindings })
52
13
 
53
14
  ## Properties
54
15
 
55
- | Property | Type | Description | Defined in |
56
- | ----------------------------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- |
57
- | <a id="property-bindings"></a> `bindings` | `Record`\<`string`, `string`\> \| `undefined` | Two-way binding paths resolved from `$bindState` / `$bindItem` prop expressions. Keys match prop names that had `$bindState`/`$bindItem` expressions in the spec; values are the absolute state-store paths to write back to on user input. `undefined` when no bindings were found for this element. | [json-render/types.ts:168](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-dom/src/json-render/types.ts#L168) |
58
- | <a id="property-children"></a> `children` | `Node`[] | Rendered child nodes from the spec's `children` list. Append these into the returned element where children should appear. | [json-render/types.ts:159](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-dom/src/json-render/types.ts#L159) |
59
- | <a id="property-ctx"></a> `ctx` | [`DomRenderContext`](DomRenderContext.md) | Low-level render context. Exposes `send`, `store`, `actorActions`, and `renderChildren` for advanced use cases. Framework renderers do not expose this field — prefer `emit`/`on` for event dispatch and `children` for child rendering. | [json-render/types.ts:206](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-dom/src/json-render/types.ts#L206) |
60
- | <a id="property-emit"></a> `emit` | (`event`) => `void` | Dispatch a named event defined in the spec's `on` map. Resolves the catalog action binding, applies param expressions against the current state store, and calls `send()` with the mapped XState event type. **Example** `btn.addEventListener("click", () => emit("submit"));` | [json-render/types.ts:180](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-dom/src/json-render/types.ts#L180) |
61
- | <a id="property-on"></a> `on` | (`event`) => [`EventHandle`](EventHandle.md) | Get an `EventHandle` for a named event from the spec's `on` map. Use when you need `shouldPreventDefault` or want to check whether an `on` binding exists before attaching a listener. **Example** `const handle = on("submit"); if (handle.bound) { form.addEventListener("submit", (e) => { if (handle.shouldPreventDefault) e.preventDefault(); handle.emit(); }); }` | [json-render/types.ts:198](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-dom/src/json-render/types.ts#L198) |
62
- | <a id="property-props"></a> `props` | `InferComponentProps`\<`C`, `K`\> | Catalog-typed, store-resolved props for this component. | [json-render/types.ts:154](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-dom/src/json-render/types.ts#L154) |
16
+ | Property | Type | Description | Defined in |
17
+ | ----------------------------------------- | --------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
18
+ | <a id="property-bindings"></a> `bindings` | `Record`\<`string`, `string`\> \| `undefined` | Two-way binding paths resolved from `$bindState` / `$bindItem` prop expressions. | [json-render/types.ts:88](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/types.ts#L88) |
19
+ | <a id="property-children"></a> `children` | `Node`[] | Rendered child nodes from the spec's `children` list. | [json-render/types.ts:84](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/types.ts#L84) |
20
+ | <a id="property-ctx"></a> `ctx` | [`DomRenderContext`](DomRenderContext.md) | Low-level render context. | [json-render/types.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/types.ts#L100) |
21
+ | <a id="property-emit"></a> `emit` | (`event`) => `void` | Dispatch a named event defined in the spec's `on` map. | [json-render/types.ts:92](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/types.ts#L92) |
22
+ | <a id="property-on"></a> `on` | (`event`) => [`EventHandle`](EventHandle.md) | Get an `EventHandle` for a named event from the spec's `on` map. | [json-render/types.ts:96](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/types.ts#L96) |
23
+ | <a id="property-props"></a> `props` | `InferComponentProps`\<`C`, `K`\> | Catalog-typed, store-resolved props for this component. | [json-render/types.ts:80](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/types.ts#L80) |