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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/api/@xmachines/play/classes/PlayError.md +4 -10
  2. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  3. package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -25
  4. package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
  5. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
  6. package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
  7. package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +3 -3
  8. package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
  9. package/api/@xmachines/play-actor-shared/README.md +155 -0
  10. package/api/@xmachines/play-actor-shared/interfaces/AuthContext.md +14 -0
  11. package/api/@xmachines/play-actor-shared/type-aliases/AuthActor.md +27 -0
  12. package/api/@xmachines/play-actor-shared/type-aliases/AuthCatalog.md +16 -0
  13. package/api/@xmachines/play-actor-shared/type-aliases/AuthEvents.md +17 -0
  14. package/api/@xmachines/play-actor-shared/type-aliases/AuthInput.md +9 -0
  15. package/api/@xmachines/play-actor-shared/type-aliases/AuthSnapshot.md +11 -0
  16. package/api/@xmachines/play-actor-shared/type-aliases/CatalogProps.md +187 -0
  17. package/api/@xmachines/play-actor-shared/type-aliases/InferProps.md +17 -0
  18. package/api/@xmachines/play-actor-shared/variables/authCatalog.md +173 -0
  19. package/api/@xmachines/play-actor-shared/variables/authMachine.md +189 -0
  20. package/api/@xmachines/play-actor-shared/variables/authSetup.md +22 -0
  21. package/api/@xmachines/play-dom/README.md +74 -8
  22. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  23. package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
  24. package/api/@xmachines/play-dom/functions/defineRegistry.md +61 -0
  25. package/api/@xmachines/play-dom/functions/renderSpec.md +29 -12
  26. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +62 -0
  27. package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +9 -9
  28. package/api/@xmachines/play-dom/interfaces/DefineRegistryOptions.md +25 -0
  29. package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +18 -0
  30. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +13 -10
  31. package/api/@xmachines/play-dom/interfaces/EventHandle.md +29 -0
  32. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +5 -5
  33. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +53 -0
  34. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +21 -0
  35. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +16 -3
  36. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +5 -2
  37. package/api/@xmachines/play-dom-demo/README.md +145 -0
  38. package/api/@xmachines/play-dom-demo/functions/initShell.md +20 -0
  39. package/api/@xmachines/play-dom-demo/variables/About.md +9 -0
  40. package/api/@xmachines/play-dom-demo/variables/Contact.md +9 -0
  41. package/api/@xmachines/play-dom-demo/variables/Dashboard.md +9 -0
  42. package/api/@xmachines/play-dom-demo/variables/Home.md +9 -0
  43. package/api/@xmachines/play-dom-demo/variables/Login.md +9 -0
  44. package/api/@xmachines/play-dom-demo/variables/Navigation.md +9 -0
  45. package/api/@xmachines/play-dom-demo/variables/Overview.md +9 -0
  46. package/api/@xmachines/play-dom-demo/variables/Profile.md +9 -0
  47. package/api/@xmachines/play-dom-demo/variables/Settings.md +9 -0
  48. package/api/@xmachines/play-dom-demo/variables/Stats.md +9 -0
  49. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  50. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  51. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +1 -1
  52. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  53. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
  54. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
  55. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
  56. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +6 -6
  57. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
  58. package/api/@xmachines/play-dom-router/interfaces/RouteMapLike.md +3 -3
  59. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  60. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  61. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
  62. package/api/@xmachines/play-dom-router/type-aliases/RoutableActor.md +1 -1
  63. package/api/@xmachines/play-dom-router-demo/README.md +56 -61
  64. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -31
  65. package/api/@xmachines/play-react/functions/defineRegistry.md +0 -2
  66. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  67. package/api/@xmachines/play-react/functions/useBoundProp.md +0 -2
  68. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  69. package/api/@xmachines/play-react/functions/useStateBinding.md +0 -2
  70. package/api/@xmachines/play-react/interfaces/ComponentContext.md +0 -2
  71. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
  72. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
  73. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +7 -7
  74. package/api/@xmachines/play-react/type-aliases/ComponentFn.md +0 -2
  75. package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
  76. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  77. package/api/@xmachines/play-react-demo/README.md +173 -0
  78. package/api/@xmachines/play-react-demo/functions/App.md +13 -0
  79. package/api/@xmachines/play-react-demo/functions/DebugPanel.md +20 -0
  80. package/api/@xmachines/play-react-demo/functions/HeaderNav.md +20 -0
  81. package/api/@xmachines/play-react-demo/functions/Shell.md +22 -0
  82. package/api/@xmachines/play-react-demo/variables/About.md +9 -0
  83. package/api/@xmachines/play-react-demo/variables/Contact.md +9 -0
  84. package/api/@xmachines/play-react-demo/variables/Dashboard.md +9 -0
  85. package/api/@xmachines/play-react-demo/variables/Home.md +9 -0
  86. package/api/@xmachines/play-react-demo/variables/Login.md +9 -0
  87. package/api/@xmachines/play-react-demo/variables/Navigation.md +9 -0
  88. package/api/@xmachines/play-react-demo/variables/Overview.md +9 -0
  89. package/api/@xmachines/play-react-demo/variables/Profile.md +9 -0
  90. package/api/@xmachines/play-react-demo/variables/Settings.md +9 -0
  91. package/api/@xmachines/play-react-demo/variables/Stats.md +9 -0
  92. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +23 -23
  93. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  94. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +1 -1
  95. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  96. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +6 -6
  97. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  98. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  99. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  100. package/api/@xmachines/play-react-router-demo/README.md +10 -10
  101. package/api/@xmachines/play-router/README.md +1 -1
  102. package/api/@xmachines/play-router/classes/BaseRouteMap.md +4 -4
  103. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +23 -23
  104. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  105. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  106. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  107. package/api/@xmachines/play-router/functions/createRouteMapFromMachine.md +1 -1
  108. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +1 -1
  109. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  110. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  111. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  112. package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
  113. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  114. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  115. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  116. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  117. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  118. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  119. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  120. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  121. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  122. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  123. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  124. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
  125. package/api/@xmachines/play-router/interfaces/LocationLike.md +3 -3
  126. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
  127. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
  128. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +6 -6
  129. package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
  130. package/api/@xmachines/play-router/interfaces/RouteMap.md +4 -4
  131. package/api/@xmachines/play-router/interfaces/RouteMapping.md +3 -3
  132. package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
  133. package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
  134. package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
  135. package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
  136. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  137. package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
  138. package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
  139. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  140. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  141. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  142. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  143. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  144. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  145. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  146. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  147. package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +0 -6
  148. package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +0 -8
  149. package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +0 -2
  150. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +0 -10
  151. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +0 -2
  152. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +0 -2
  153. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +0 -2
  154. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +0 -2
  155. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +0 -2
  156. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +0 -2
  157. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +0 -2
  158. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +0 -2
  159. package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +0 -2
  160. package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +0 -2
  161. package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +0 -2
  162. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  163. package/api/@xmachines/play-solid/functions/defineRegistry.md +0 -2
  164. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  165. package/api/@xmachines/play-solid/functions/useStateBinding.md +0 -2
  166. package/api/@xmachines/play-solid/interfaces/ComponentContext.md +0 -2
  167. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +7 -7
  168. package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +0 -2
  169. package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
  170. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  171. package/api/@xmachines/play-solid-demo/README.md +159 -0
  172. package/api/@xmachines/play-solid-demo/functions/App.md +13 -0
  173. package/api/@xmachines/play-solid-demo/functions/DebugPanel.md +20 -0
  174. package/api/@xmachines/play-solid-demo/functions/HeaderNav.md +20 -0
  175. package/api/@xmachines/play-solid-demo/functions/Shell.md +22 -0
  176. package/api/@xmachines/play-solid-demo/variables/About.md +9 -0
  177. package/api/@xmachines/play-solid-demo/variables/Contact.md +9 -0
  178. package/api/@xmachines/play-solid-demo/variables/Dashboard.md +9 -0
  179. package/api/@xmachines/play-solid-demo/variables/Home.md +9 -0
  180. package/api/@xmachines/play-solid-demo/variables/Login.md +9 -0
  181. package/api/@xmachines/play-solid-demo/variables/Navigation.md +9 -0
  182. package/api/@xmachines/play-solid-demo/variables/Overview.md +9 -0
  183. package/api/@xmachines/play-solid-demo/variables/Profile.md +9 -0
  184. package/api/@xmachines/play-solid-demo/variables/Settings.md +9 -0
  185. package/api/@xmachines/play-solid-demo/variables/Stats.md +9 -0
  186. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  187. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +24 -24
  188. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
  189. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
  190. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -23
  191. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +6 -6
  192. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  193. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  194. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  195. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  196. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  197. package/api/@xmachines/play-solid-router-demo/README.md +25 -28
  198. package/api/@xmachines/play-svelte/functions/defineRegistry.md +0 -2
  199. package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +0 -2
  200. package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +0 -2
  201. package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +7 -7
  202. package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +0 -2
  203. package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +0 -2
  204. package/api/@xmachines/play-svelte/variables/PlayRenderer.md +0 -2
  205. package/api/@xmachines/play-svelte-demo/README.md +127 -0
  206. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  207. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  208. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +1 -1
  209. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +4 -4
  210. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +6 -6
  211. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  212. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  213. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  214. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  215. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  216. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  217. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +1 -1
  218. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +4 -4
  219. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  220. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +6 -6
  221. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  222. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  223. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  224. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  225. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +23 -23
  226. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
  227. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  228. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  229. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  230. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +6 -6
  231. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  232. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  233. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  234. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  235. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  236. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +17 -3
  237. package/api/@xmachines/play-tanstack-react-router-demo/README.md +23 -29
  238. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  239. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +24 -24
  240. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
  241. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
  242. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +6 -6
  243. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  244. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  245. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  246. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  247. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  248. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +3 -3
  249. package/api/@xmachines/play-tanstack-solid-router-demo/README.md +25 -26
  250. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  251. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  252. package/api/@xmachines/play-vue/functions/useStateBinding.md +0 -2
  253. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +0 -2
  254. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +5 -5
  255. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  256. package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +0 -2
  257. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  258. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +4 -3
  259. package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
  260. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  261. package/api/@xmachines/play-vue-demo/README.md +145 -0
  262. package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
  263. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +4 -4
  264. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +24 -24
  265. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  266. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +6 -6
  267. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
  268. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  269. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  270. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  271. package/api/@xmachines/play-vue-router-demo/README.md +48 -41
  272. package/api/@xmachines/play-xstate/classes/PlayerActor.md +11 -25
  273. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
  274. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  275. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  276. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  277. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  278. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  279. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  280. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
  281. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  282. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  283. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  284. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  285. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  286. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
  287. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
  288. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  289. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  290. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  291. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  292. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  293. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  294. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +3 -7
  295. package/api/@xmachines/shared/functions/xmAliases.md +1 -1
  296. package/api/README.md +6 -2
  297. package/api/llms.txt +0 -3
  298. package/examples/README.md +48 -35
  299. package/examples/basic-state-machine.md +75 -31
  300. package/examples/form-validation.md +199 -127
  301. package/examples/multi-router-integration.md +312 -230
  302. package/examples/routing-patterns.md +243 -189
  303. package/examples/traffic-light.md +114 -65
  304. package/guides/README.md +29 -15
  305. package/guides/getting-started.md +224 -144
  306. package/guides/installation.md +153 -213
  307. package/package.json +2 -2
  308. package/api/@xmachines/play-svelte-spa-router-demo/README.md +0 -23
  309. package/api/@xmachines/play-sveltekit-router-demo/README.md +0 -23
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: PlayRenderer
4
4
 
5
- Defined in: [PlayRenderer.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/PlayRenderer.ts#L39)
5
+ Defined in: [PlayRenderer.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/PlayRenderer.ts#L40)
6
6
 
7
7
  PlayRenderer connects an actor's currentView signal to the DOM renderer.
8
8
 
@@ -34,7 +34,7 @@ new PlayRenderer(
34
34
  options?): PlayRenderer;
35
35
  ```
36
36
 
37
- Defined in: [PlayRenderer.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/PlayRenderer.ts#L51)
37
+ Defined in: [PlayRenderer.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/PlayRenderer.ts#L52)
38
38
 
39
39
  #### Parameters
40
40
 
@@ -57,7 +57,7 @@ Defined in: [PlayRenderer.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/bl
57
57
  connect(): void;
58
58
  ```
59
59
 
60
- Defined in: [PlayRenderer.ts:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/PlayRenderer.ts#L62)
60
+ Defined in: [PlayRenderer.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/PlayRenderer.ts#L63)
61
61
 
62
62
  Start watching actor.currentView and render to container.
63
63
  Renders the initial view synchronously, then subscribes to signal changes.
@@ -74,7 +74,7 @@ Renders the initial view synchronously, then subscribes to signal changes.
74
74
  disconnect(): void;
75
75
  ```
76
76
 
77
- Defined in: [PlayRenderer.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/PlayRenderer.ts#L70)
77
+ Defined in: [PlayRenderer.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/PlayRenderer.ts#L71)
78
78
 
79
79
  Stop watching and clear the container.
80
80
 
@@ -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.26/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.28/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
 
@@ -0,0 +1,61 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-dom](../README.md) / defineRegistry
2
+
3
+ # Function: defineRegistry()
4
+
5
+ ```ts
6
+ function defineRegistry<C>(_catalog, options): DefineRegistryResult;
7
+ ```
8
+
9
+ Defined in: [json-render/types.ts:351](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L351)
10
+
11
+ Build a `DomRegistry` from a catalog and component/action options.
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
+ ## Type Parameters
29
+
30
+ | Type Parameter |
31
+ | ------------------------------------------------------------------------------------------------------------------------------------ |
32
+ | `C` _extends_ `Catalog`\<`SchemaDefinition`\<`SchemaType`\<`string`, `unknown`\>, `SchemaType`\<`string`, `unknown`\>\>, `unknown`\> |
33
+
34
+ ## Parameters
35
+
36
+ | Parameter | Type |
37
+ | ---------- | ------------------------------------------------------------------------ |
38
+ | `_catalog` | `C` |
39
+ | `options` | [`DefineRegistryOptions`](../interfaces/DefineRegistryOptions.md)\<`C`\> |
40
+
41
+ ## Returns
42
+
43
+ [`DefineRegistryResult`](../interfaces/DefineRegistryResult.md)
44
+
45
+ ## Example
46
+
47
+ ```ts
48
+ import { defineRegistry } from "@xmachines/play-dom";
49
+ import { authCatalog } from "@xmachines/play-actor-shared";
50
+ import { Home, Login, Dashboard } from "./components/index.js";
51
+
52
+ const { registry, actorActions } = defineRegistry(authCatalog, {
53
+ components: { Home, Login, Dashboard, ... },
54
+ actions: {
55
+ login: "auth.login",
56
+ logout: "auth.logout",
57
+ },
58
+ });
59
+
60
+ connectRenderer({ actor, registry, container, actions: actorActions });
61
+ ```
@@ -3,26 +3,43 @@
3
3
  # Function: renderSpec()
4
4
 
5
5
  ```ts
6
- function renderSpec(spec, store, registry, send, actor, actorActions): Node | null;
6
+ function renderSpec(spec, store, registry, send, actorActions): Node | null;
7
7
  ```
8
8
 
9
- Defined in: [dom-renderer.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/dom-renderer.ts#L26)
9
+ Defined in: [json-render/renderer.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/renderer.ts#L54)
10
10
 
11
- Render a Spec tree into DOM nodes using the provided DomRegistry.
11
+ Render a Spec tree into DOM nodes using the provided `DomRegistry`.
12
+
13
+ Traverses the spec from `spec.root`, evaluates visibility, resolves all prop
14
+ expressions (including `$state`, `$bindState`, `$computed`, `$template`, etc.),
15
+ and calls the matching `DomComponentRenderer` for each visible element.
16
+
17
+ Event wiring and child rendering are handled inside the component wrapper
18
+ built by `defineRegistry` — this function only orchestrates the traversal.
12
19
 
13
20
  ## Parameters
14
21
 
15
- | Parameter | Type | Description |
16
- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
17
- | `spec` | `Spec` | The json-render Spec describing the UI tree |
18
- | `store` | `StateStore` | StateStore holding the current state values |
19
- | `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | Map of element type names to DomComponentRenderer functions |
20
- | `send` | (`event`) => `void` | Function to dispatch XState events from UI interactions |
21
- | `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) | Raw actor available to DOM components for state reading, complex events |
22
- | `actorActions` | `Record`\<`string`, `string`\> | Map of json-render action names → XState event types |
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. |
23
29
 
24
30
  ## Returns
25
31
 
26
32
  `Node` \| `null`
27
33
 
28
- The root DOM node, or null if root element is invisible or unknown
34
+ The root DOM `Node`, or `null` if the root is invisible
35
+ or has no registered renderer.
36
+
37
+ ## Example
38
+
39
+ ```ts
40
+ const node = renderSpec(spec, store, registry, actor.send.bind(actor), {
41
+ login: "auth.login",
42
+ logout: "auth.logout",
43
+ });
44
+ if (node) container.appendChild(node);
45
+ ```
@@ -0,0 +1,62 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-dom](../README.md) / ComponentContext
2
+
3
+ # Interface: ComponentContext\<C, K\>
4
+
5
+ Defined in: [json-render/types.ts:152](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/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
+ ```
45
+
46
+ ## Type Parameters
47
+
48
+ | Type Parameter |
49
+ | --------------------------------------------------- |
50
+ | `C` _extends_ `Catalog` |
51
+ | `K` _extends_ keyof `InferCatalogComponents`\<`C`\> |
52
+
53
+ ## Properties
54
+
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.28/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.28/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.28/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.28/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.28/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.28/packages/play-dom/src/json-render/types.ts#L154) |
@@ -2,17 +2,17 @@
2
2
 
3
3
  # Interface: ConnectRendererOptions
4
4
 
5
- Defined in: [types.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L63)
5
+ Defined in: [xm-types.ts:35](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L35)
6
6
 
7
7
  Options for connectRenderer() — backward compat API.
8
8
 
9
9
  ## Properties
10
10
 
11
- | Property | Type | Description | Defined in |
12
- | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
13
- | <a id="property-actions"></a> `actions?` | `Record`\<`string`, `string`\> | Map of json-render actionName → XState event type | [types.ts:77](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L77) |
14
- | <a id="property-actor"></a> `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 with currentView signal (requires Viewable capability) | [types.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L65) |
15
- | <a id="property-container"></a> `container` | `HTMLElement` | Container element to render into | [types.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L71) |
16
- | <a id="property-fallback"></a> `fallback?` | `HTMLElement` \| `null` | Optional element shown when currentView is null (defaults to nothing — clears container) | [types.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L74) |
17
- | <a id="property-registry"></a> `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | Registry of component renderers — replaces old `components` map | [types.ts:68](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L68) |
18
- | <a id="property-store"></a> `store?` | `StateStore` | Optional external StateStore (e.g. from `xstateStoreStateStore` in @json-render/xstate). When provided, PlayRenderer operates in controlled mode — spec.state is ignored. When omitted, a fresh @xstate/store atom is created internally per view transition. | [types.ts:84](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L84) |
11
+ | Property | Type | Description | Defined in |
12
+ | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
13
+ | <a id="property-actions"></a> `actions?` | `Record`\<`string`, `string`\> | Map of json-render actionName → XState event type | [xm-types.ts:49](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L49) |
14
+ | <a id="property-actor"></a> `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 with currentView signal (requires Viewable capability) | [xm-types.ts:37](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L37) |
15
+ | <a id="property-container"></a> `container` | `HTMLElement` | Container element to render into | [xm-types.ts:43](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L43) |
16
+ | <a id="property-fallback"></a> `fallback?` | `HTMLElement` \| `null` | Optional element shown when currentView is null (defaults to nothing — clears container) | [xm-types.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L46) |
17
+ | <a id="property-registry"></a> `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | Registry of component renderers — replaces old `components` map | [xm-types.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L40) |
18
+ | <a id="property-store"></a> `store?` | `StateStore` | Optional external StateStore (e.g. from `xstateStoreStateStore` in @json-render/xstate). When provided, PlayRenderer operates in controlled mode — spec.state is ignored. When omitted, a fresh @xstate/store atom is created internally per view transition. | [xm-types.ts:56](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L56) |
@@ -0,0 +1,25 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-dom](../README.md) / DefineRegistryOptions
2
+
3
+ # Interface: DefineRegistryOptions\<C\>
4
+
5
+ Defined in: [json-render/types.ts:275](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L275)
6
+
7
+ Options for `defineRegistry`.
8
+
9
+ Mirrors `DefineRegistryOptions<C>` from @json-render/react, /solid, /svelte, /vue
10
+ with one intentional difference: `actions` is a `Record<string, string>` event-type
11
+ map rather than async handler functions, because the DOM renderer dispatches events
12
+ directly via `send()` to an XState actor instead of calling framework action handlers.
13
+
14
+ ## Type Parameters
15
+
16
+ | Type Parameter |
17
+ | ----------------------- |
18
+ | `C` _extends_ `Catalog` |
19
+
20
+ ## Properties
21
+
22
+ | Property | Type | Description | Defined in |
23
+ | ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
24
+ | <a id="property-actions"></a> `actions?` | `InferCatalogActions`\<`C`\> _extends_ `Record`\<`string`, `never`\> ? `Record`\<`string`, `string`\> : `Record`\<keyof `InferCatalogActions`\<`C`\>, `string`\> | Map of catalog action name → XState event type string. When a spec element fires `emit("login")`, the DOM renderer looks up `actions.login` (e.g. `"auth.login"`) and calls `send({ type: "auth.login", ...params })`. In the framework renderers this field holds async handler functions. In the DOM renderer it is a simpler string map because routing to the actor is handled by the XMachines play-dom layer rather than inside the json-render action system. | [json-render/types.ts:291](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L291) |
25
+ | <a id="property-components"></a> `components?` | [`ComponentRegistry`](../type-aliases/ComponentRegistry.md)\<`C`\> | Catalog-typed component implementations. Each key must match a component declared in the catalog. | [json-render/types.ts:280](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L280) |
@@ -0,0 +1,18 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-dom](../README.md) / DefineRegistryResult
2
+
3
+ # Interface: DefineRegistryResult
4
+
5
+ Defined in: [json-render/types.ts:303](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L303)
6
+
7
+ Result returned by `defineRegistry`.
8
+
9
+ Mirrors the `{ registry }` field from @json-render/react, /solid, /svelte, /vue.
10
+ The DOM result also exposes `actorActions` — the resolved event-type map — so
11
+ callers can pass it directly to `connectRenderer` or `PlayRenderer`.
12
+
13
+ ## Properties
14
+
15
+ | Property | Type | Description | Defined in |
16
+ | ------------------------------------------------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
17
+ | <a id="property-actoractions"></a> `actorActions` | `Record`\<`string`, `string`\> | Resolved map of catalog action name → XState event type string. Pass to `connectRenderer({ ..., actions: actorActions })` or `new PlayRenderer(container, actor, registry, { actions: actorActions })`. | [json-render/types.ts:314](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L314) |
18
+ | <a id="property-registry"></a> `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | The built `DomRegistry`, ready to pass to `connectRenderer` or `PlayRenderer`. | [json-render/types.ts:307](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L307) |
@@ -2,17 +2,20 @@
2
2
 
3
3
  # Interface: DomRenderContext
4
4
 
5
- Defined in: [types.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L14)
5
+ Defined in: [json-render/types.ts:68](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L68)
6
6
 
7
- Context passed to each DomComponentRenderer when rendering an element.
7
+ Low-level render context passed to each `DomComponentRenderer`.
8
+
9
+ This is the raw renderer-level interface. Most component authors should use
10
+ the higher-level `ComponentContext<C, K>` provided by `defineRegistry`.
8
11
 
9
12
  ## Properties
10
13
 
11
- | Property | Type | Description | Defined in |
12
- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
13
- | <a id="property-actor"></a> `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) | Raw actor access from any DOM component for state reading, complex events, lifecycle | [types.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L22) |
14
- | <a id="property-actoractions"></a> `actorActions` | `Record`\<`string`, `string`\> | Map of json-render action names XState event types | [types.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L24) |
15
- | <a id="property-renderchildren"></a> `renderChildren` | (`keys`) => `Node`[] | Recursively render child elements by key | [types.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L26) |
16
- | <a id="property-send"></a> `send` | (`event`) => `void` | Send an event to the actor | [types.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L20) |
17
- | <a id="property-spec"></a> `spec` | `Spec` | Full spec tree | [types.ts:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L16) |
18
- | <a id="property-store"></a> `store` | `StateStore` | State store bound to spec.state | [types.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L18) |
14
+ | Property | Type | Description | Defined in |
15
+ | -------------------------------------------------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
16
+ | <a id="property-actoractions"></a> `actorActions` | `Record`\<`string`, `string`\> | Map of json-render catalog action names dispatch event type strings. | [json-render/types.ts:76](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L76) |
17
+ | <a id="property-elementbindings"></a> `elementBindings?` | `Record`\<`string`, `string`\> | Pre-computed two-way binding paths for this element's props. Resolved from raw props before `resolveElementProps` runs — the resolved props no longer contain `$bindState`/`$bindItem` expressions. `undefined` when no binding expressions were found. | [json-render/types.ts:85](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L85) |
18
+ | <a id="property-renderchildren"></a> `renderChildren` | (`keys`) => `Node`[] | Render a list of child element keys into DOM nodes. | [json-render/types.ts:78](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L78) |
19
+ | <a id="property-send"></a> `send` | (`event`) => `void` | Dispatch an event (e.g. to an XState actor). | [json-render/types.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L74) |
20
+ | <a id="property-spec"></a> `spec` | `Spec` | Full spec tree for this render pass. | [json-render/types.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L70) |
21
+ | <a id="property-store"></a> `store` | `StateStore` | Live state store bound to `spec.state`. | [json-render/types.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L72) |
@@ -0,0 +1,29 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-dom](../README.md) / EventHandle
2
+
3
+ # Interface: EventHandle
4
+
5
+ Defined in: [json-render/types.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L48)
6
+
7
+ Handle returned by `ComponentContext.on(eventName)`.
8
+
9
+ Matches the `EventHandle` interface from @json-render/react, /solid, /svelte, /vue.
10
+
11
+ ## Example
12
+
13
+ ```ts
14
+ const handle = on("submit");
15
+ if (handle.bound) {
16
+ btn.addEventListener("click", (e) => {
17
+ if (handle.shouldPreventDefault) e.preventDefault();
18
+ handle.emit();
19
+ });
20
+ }
21
+ ```
22
+
23
+ ## Properties
24
+
25
+ | Property | Type | Description | Defined in |
26
+ | ----------------------------------------------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
27
+ | <a id="property-bound"></a> `bound` | `boolean` | `true` if an `on` binding exists for this event name; `false` otherwise. | [json-render/types.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L57) |
28
+ | <a id="property-emit"></a> `emit` | () => `void` | Fire the bound action, resolving params from the current state store. | [json-render/types.ts:50](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L50) |
29
+ | <a id="property-shouldpreventdefault"></a> `shouldPreventDefault` | `boolean` | Whether any binding for this event has `preventDefault: true`. Use to call `e.preventDefault()` on the triggering DOM event. | [json-render/types.ts:55](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L55) |
@@ -2,13 +2,13 @@
2
2
 
3
3
  # Interface: PlayDomOptions
4
4
 
5
- Defined in: [types.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L46)
5
+ Defined in: [xm-types.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L18)
6
6
 
7
7
  Options for PlayRenderer.
8
8
 
9
9
  ## Properties
10
10
 
11
- | Property | Type | Description | Defined in |
12
- | ---------------------------------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
13
- | <a id="property-actions"></a> `actions?` | `Record`\<`string`, `string`\> | Map of json-render actionName → XState event type | [types.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L48) |
14
- | <a id="property-store"></a> `store?` | `StateStore` | Optional external StateStore (e.g. from `xstateStoreStateStore` in @json-render/xstate). When provided, PlayRenderer operates in controlled mode — spec.state is ignored and this store is the single source of truth for UI state (form values, etc.). When omitted, a fresh @xstate/store atom is created internally per view transition, seeded from spec.state. | [types.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L57) |
11
+ | Property | Type | Description | Defined in |
12
+ | ---------------------------------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
13
+ | <a id="property-actions"></a> `actions?` | `Record`\<`string`, `string`\> | Map of json-render actionName → XState event type | [xm-types.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L20) |
14
+ | <a id="property-store"></a> `store?` | `StateStore` | Optional external StateStore (e.g. from `xstateStoreStateStore` in @json-render/xstate). When provided, PlayRenderer operates in controlled mode — spec.state is ignored and this store is the single source of truth for UI state (form values, etc.). When omitted, a fresh @xstate/store atom is created internally per view transition, seeded from spec.state. | [xm-types.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L29) |
@@ -0,0 +1,53 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-dom](../README.md) / ComponentFn
2
+
3
+ # Type Alias: ComponentFn\<C, K\>
4
+
5
+ ```ts
6
+ type ComponentFn<C, K> = (ctx) => HTMLElement | Text | null;
7
+ ```
8
+
9
+ Defined in: [json-render/types.ts:238](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L238)
10
+
11
+ Catalog-typed DOM component function.
12
+
13
+ The DOM equivalent of `ComponentFn<C, K>` from @json-render/react, /solid,
14
+ /svelte, /vue. The only structural difference is the return type:
15
+ `HTMLElement | Text | null` instead of a framework node.
16
+
17
+ Pass implementations to `defineRegistry` — do not call directly.
18
+
19
+ ## Type Parameters
20
+
21
+ | Type Parameter |
22
+ | --------------------------------------------------- |
23
+ | `C` _extends_ `Catalog` |
24
+ | `K` _extends_ keyof `InferCatalogComponents`\<`C`\> |
25
+
26
+ ## Parameters
27
+
28
+ | Parameter | Type |
29
+ | --------- | ------------------------------------------------------------------- |
30
+ | `ctx` | [`ComponentContext`](../interfaces/ComponentContext.md)\<`C`, `K`\> |
31
+
32
+ ## Returns
33
+
34
+ `HTMLElement` \| `Text` \| `null`
35
+
36
+ ## Example
37
+
38
+ ```ts
39
+ import type { ComponentFn } from "@xmachines/play-dom";
40
+ import type { AuthCatalog } from "@xmachines/play-actor-shared";
41
+
42
+ export const Home: ComponentFn<AuthCatalog, "Home"> = ({ props, children }) => {
43
+ const section = document.createElement("section");
44
+ section.setAttribute("data-page", "home");
45
+
46
+ const h2 = document.createElement("h2");
47
+ h2.textContent = props.title;
48
+ section.appendChild(h2);
49
+
50
+ children.forEach((child) => section.appendChild(child));
51
+ return section;
52
+ };
53
+ ```
@@ -0,0 +1,21 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-dom](../README.md) / ComponentRegistry
2
+
3
+ # Type Alias: ComponentRegistry\<C\>
4
+
5
+ ```ts
6
+ type ComponentRegistry<C> = { [K in keyof InferCatalogComponents<C>]: ComponentFn<C, K> };
7
+ ```
8
+
9
+ Defined in: [json-render/types.ts:251](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L251)
10
+
11
+ Catalog-keyed map of `ComponentFn` implementations.
12
+
13
+ Used as the `components` field in `DefineRegistryOptions`.
14
+ TypeScript enforces that every component key declared in the catalog has
15
+ a matching implementation.
16
+
17
+ ## Type Parameters
18
+
19
+ | Type Parameter |
20
+ | ----------------------- |
21
+ | `C` _extends_ `Catalog` |
@@ -6,10 +6,13 @@
6
6
  type DomComponentRenderer = (element, ctx) => HTMLElement | Text | null;
7
7
  ```
8
8
 
9
- Defined in: [types.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L33)
9
+ Defined in: [json-render/types.ts:106](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L106)
10
10
 
11
- Pure DOM component renderer — receives a UIElement + context and returns a DOM node.
12
- No framework required. Return null for unknown/unsupported elements.
11
+ Raw DOM component renderer function.
12
+
13
+ Receives a resolved `UIElement` and a `DomRenderContext`, and returns a DOM
14
+ node or `null`. Prefer using `ComponentFn<C, K>` via `defineRegistry` for
15
+ catalog-typed, framework-consistent components.
13
16
 
14
17
  ## Parameters
15
18
 
@@ -21,3 +24,13 @@ No framework required. Return null for unknown/unsupported elements.
21
24
  ## Returns
22
25
 
23
26
  `HTMLElement` \| `Text` \| `null`
27
+
28
+ ## Example
29
+
30
+ ```ts
31
+ const myRenderer: DomComponentRenderer = (element, ctx) => {
32
+ const el = document.createElement("div");
33
+ el.textContent = String(element.props.title ?? "");
34
+ return el;
35
+ };
36
+ ```
@@ -6,6 +6,9 @@
6
6
  type DomRegistry = Record<string, DomComponentRenderer>;
7
7
  ```
8
8
 
9
- Defined in: [types.ts:41](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-dom/src/types.ts#L41)
9
+ Defined in: [json-render/types.ts:263](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L263)
10
10
 
11
- Registry of component renderers keyed by element type.
11
+ Raw registry of `DomComponentRenderer` functions keyed by element type.
12
+
13
+ Passed to `connectRenderer` or `PlayRenderer`. Build with `defineRegistry`
14
+ to get catalog-typed component functions automatically wrapped.