@xmachines/docs 1.0.0-beta.25 → 1.0.0-beta.27

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 (268) hide show
  1. package/api/@xmachines/play/classes/PlayError.md +10 -4
  2. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  3. package/api/@xmachines/play-actor/README.md +4 -0
  4. package/api/@xmachines/play-actor/classes/AbstractActor.md +49 -92
  5. package/api/@xmachines/play-actor/functions/typedSpec.md +57 -0
  6. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +9 -18
  7. package/api/@xmachines/play-actor/interfaces/Routable.md +5 -21
  8. package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +6 -6
  9. package/api/@xmachines/play-actor/interfaces/Viewable.md +5 -6
  10. package/api/@xmachines/play-dom/README.md +24 -8
  11. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  12. package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
  13. package/api/@xmachines/play-dom/functions/defineRegistry.md +61 -0
  14. package/api/@xmachines/play-dom/functions/renderSpec.md +29 -12
  15. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +62 -0
  16. package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +9 -9
  17. package/api/@xmachines/play-dom/interfaces/DefineRegistryOptions.md +25 -0
  18. package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +18 -0
  19. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +13 -10
  20. package/api/@xmachines/play-dom/interfaces/EventHandle.md +29 -0
  21. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +5 -5
  22. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +53 -0
  23. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +21 -0
  24. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +16 -3
  25. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +5 -2
  26. package/api/@xmachines/play-dom-router/README.md +10 -0
  27. package/api/@xmachines/play-dom-router/functions/connectRouter.md +18 -46
  28. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  29. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +38 -0
  30. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  31. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +16 -16
  32. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  33. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +6 -6
  34. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +119 -0
  35. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +114 -0
  36. package/api/@xmachines/play-dom-router/interfaces/RouteMapLike.md +50 -0
  37. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +27 -0
  38. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +104 -0
  39. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
  40. package/api/@xmachines/play-dom-router/type-aliases/RoutableActor.md +9 -0
  41. package/api/@xmachines/play-dom-router-demo/README.md +46 -51
  42. package/api/@xmachines/play-react/README.md +4 -4
  43. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +31 -5
  44. package/api/@xmachines/play-react/functions/defineRegistry.md +2 -0
  45. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  46. package/api/@xmachines/play-react/functions/useBoundProp.md +2 -0
  47. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  48. package/api/@xmachines/play-react/functions/useStateBinding.md +2 -0
  49. package/api/@xmachines/play-react/interfaces/ComponentContext.md +2 -0
  50. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
  51. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
  52. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +7 -7
  53. package/api/@xmachines/play-react/type-aliases/ComponentFn.md +2 -0
  54. package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
  55. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  56. package/api/@xmachines/play-react-router/README.md +5 -1
  57. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +102 -25
  58. package/api/@xmachines/play-react-router/classes/RouteMap.md +17 -33
  59. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +8 -1
  60. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +21 -11
  61. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +8 -8
  62. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +7 -7
  63. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +18 -8
  64. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  65. package/api/@xmachines/play-router/README.md +42 -5
  66. package/api/@xmachines/play-router/classes/BaseRouteMap.md +12 -19
  67. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +100 -25
  68. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  69. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  70. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  71. package/api/@xmachines/play-router/functions/createRouteMapFromMachine.md +38 -0
  72. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +45 -0
  73. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  74. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  75. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  76. package/api/@xmachines/play-router/functions/extractRouteParams.md +46 -0
  77. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  78. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  79. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  80. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  81. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  82. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  83. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  84. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  85. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  86. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  87. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  88. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
  89. package/api/@xmachines/play-router/interfaces/LocationLike.md +27 -0
  90. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
  91. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
  92. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +8 -8
  93. package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
  94. package/api/@xmachines/play-router/interfaces/RouteMap.md +4 -4
  95. package/api/@xmachines/play-router/interfaces/{BaseRouteMapping.md → RouteMapping.md} +5 -5
  96. package/api/@xmachines/play-router/interfaces/RouteMatch.md +5 -5
  97. package/api/@xmachines/play-router/interfaces/RouteNode.md +12 -12
  98. package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
  99. package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
  100. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  101. package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
  102. package/api/@xmachines/play-router/interfaces/WindowLike.md +65 -0
  103. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  104. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  105. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  106. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  107. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  108. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  109. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  110. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  111. package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +6 -0
  112. package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +8 -0
  113. package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +2 -0
  114. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +10 -0
  115. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +2 -0
  116. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +2 -0
  117. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +2 -0
  118. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +2 -0
  119. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +2 -0
  120. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +2 -0
  121. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +2 -0
  122. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +2 -0
  123. package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +2 -0
  124. package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +2 -0
  125. package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +2 -0
  126. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  127. package/api/@xmachines/play-solid/README.md +4 -4
  128. package/api/@xmachines/play-solid/functions/defineRegistry.md +2 -0
  129. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  130. package/api/@xmachines/play-solid/functions/useStateBinding.md +2 -0
  131. package/api/@xmachines/play-solid/interfaces/ComponentContext.md +2 -0
  132. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +7 -7
  133. package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +2 -0
  134. package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
  135. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  136. package/api/@xmachines/play-solid-router/README.md +2 -2
  137. package/api/@xmachines/play-solid-router/classes/RouteMap.md +13 -26
  138. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +121 -46
  139. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
  140. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +15 -9
  141. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +47 -92
  142. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +8 -8
  143. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  144. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +19 -6
  145. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  146. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  147. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +21 -18
  148. package/api/@xmachines/play-solid-router-demo/README.md +25 -28
  149. package/api/@xmachines/play-svelte/README.md +28 -0
  150. package/api/@xmachines/play-svelte/functions/defineRegistry.md +2 -0
  151. package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +2 -0
  152. package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +2 -0
  153. package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +9 -9
  154. package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +2 -0
  155. package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +2 -0
  156. package/api/@xmachines/play-svelte/variables/PlayRenderer.md +2 -0
  157. package/api/@xmachines/play-svelte-spa-router/README.md +1 -0
  158. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +13 -26
  159. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +14 -1
  160. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +23 -4
  161. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +6 -5
  162. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +10 -10
  163. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +20 -5
  164. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  165. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +65 -0
  166. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  167. package/api/@xmachines/play-svelte-spa-router-demo/README.md +119 -12
  168. package/api/@xmachines/play-sveltekit-router/README.md +2 -1
  169. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +46 -24
  170. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +14 -1
  171. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +23 -4
  172. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +6 -5
  173. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +27 -0
  174. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +10 -10
  175. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +20 -5
  176. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  177. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  178. package/api/@xmachines/play-sveltekit-router-demo/README.md +120 -12
  179. package/api/@xmachines/play-tanstack-react-router/README.md +5 -3
  180. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +17 -33
  181. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +93 -25
  182. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
  183. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  184. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +21 -11
  185. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  186. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +8 -8
  187. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  188. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +18 -8
  189. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  190. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  191. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  192. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +13 -19
  193. package/api/@xmachines/play-tanstack-react-router-demo/README.md +23 -29
  194. package/api/@xmachines/play-tanstack-solid-router/README.md +8 -8
  195. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +13 -26
  196. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +101 -36
  197. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
  198. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +15 -9
  199. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +8 -8
  200. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  201. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +13 -9
  202. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  203. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  204. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  205. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +23 -24
  206. package/api/@xmachines/play-tanstack-solid-router-demo/README.md +25 -26
  207. package/api/@xmachines/play-vue/README.md +4 -4
  208. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  209. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  210. package/api/@xmachines/play-vue/functions/useStateBinding.md +2 -0
  211. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +2 -0
  212. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +5 -5
  213. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  214. package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +2 -0
  215. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  216. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +4 -3
  217. package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
  218. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  219. package/api/@xmachines/play-vue-router/README.md +2 -2
  220. package/api/@xmachines/play-vue-router/classes/RouteMap.md +18 -108
  221. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +44 -104
  222. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +127 -62
  223. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  224. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +8 -8
  225. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +19 -7
  226. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  227. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  228. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  229. package/api/@xmachines/play-vue-router-demo/README.md +47 -40
  230. package/api/@xmachines/play-xstate/README.md +15 -15
  231. package/api/@xmachines/play-xstate/classes/PlayerActor.md +46 -30
  232. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +20 -15
  233. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  234. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  235. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  236. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  237. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  238. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  239. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +2 -2
  240. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  241. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  242. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  243. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  244. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  245. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
  246. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +14 -12
  247. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  248. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  249. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  250. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  251. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  252. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  253. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +3 -7
  254. package/api/@xmachines/shared/functions/xmAliases.md +1 -1
  255. package/api/README.md +4 -4
  256. package/api/llms.txt +3 -3
  257. package/examples/README.md +50 -32
  258. package/examples/basic-state-machine.md +75 -31
  259. package/examples/form-validation.md +199 -127
  260. package/examples/multi-router-integration.md +312 -230
  261. package/examples/routing-patterns.md +243 -187
  262. package/examples/traffic-light.md +114 -65
  263. package/guides/README.md +29 -15
  264. package/guides/getting-started.md +224 -144
  265. package/guides/installation.md +153 -213
  266. package/package.json +2 -2
  267. package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +0 -38
  268. package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +0 -33
@@ -0,0 +1,50 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-dom-router](../README.md) / RouteMapLike
2
+
3
+ # Interface: RouteMapLike
4
+
5
+ Defined in: [play-dom-router/src/connect-router.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/connect-router.ts#L12)
6
+
7
+ Structural route-map interface accepted by [connectRouter](../functions/connectRouter.md).
8
+
9
+ Any object with these two methods satisfies the constraint — including
10
+ `BaseRouteMap` instances, subclasses, and plain test objects.
11
+
12
+ ## Methods
13
+
14
+ ### getPathByStateId()
15
+
16
+ ```ts
17
+ getPathByStateId(id): string | null | undefined;
18
+ ```
19
+
20
+ Defined in: [play-dom-router/src/connect-router.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/connect-router.ts#L14)
21
+
22
+ #### Parameters
23
+
24
+ | Parameter | Type |
25
+ | --------- | -------- |
26
+ | `id` | `string` |
27
+
28
+ #### Returns
29
+
30
+ `string` \| `null` \| `undefined`
31
+
32
+ ---
33
+
34
+ ### getStateIdByPath()
35
+
36
+ ```ts
37
+ getStateIdByPath(path): string | null | undefined;
38
+ ```
39
+
40
+ Defined in: [play-dom-router/src/connect-router.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/connect-router.ts#L13)
41
+
42
+ #### Parameters
43
+
44
+ | Parameter | Type |
45
+ | --------- | -------- |
46
+ | `path` | `string` |
47
+
48
+ #### Returns
49
+
50
+ `string` \| `null` \| `undefined`
@@ -0,0 +1,27 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-dom-router](../README.md) / RouteMapping
2
+
3
+ # Interface: RouteMapping
4
+
5
+ Defined in: [play-router/src/base-route-map.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/base-route-map.ts#L57)
6
+
7
+ A single state ID ↔ path mapping entry.
8
+
9
+ Both fields are `readonly` — mappings are immutable once passed to `BaseRouteMap`.
10
+ Adapter packages re-export a structurally compatible `RouteMapping` type under
11
+ their own name. This type is published from `@xmachines/play-router` as
12
+ `BaseRouteMapping` to avoid name collisions with those adapter-local types.
13
+
14
+ ## Example
15
+
16
+ ```typescript
17
+ const mapping: BaseRouteMapping = { stateId: "home", path: "/" };
18
+ const paramMapping: BaseRouteMapping = { stateId: "profile", path: "/profile/:userId" };
19
+ const optionalMapping: BaseRouteMapping = { stateId: "settings", path: "/settings/:section?" };
20
+ ```
21
+
22
+ ## Properties
23
+
24
+ | Property | Modifier | Type | Description | Defined in |
25
+ | --------------------------------------- | ---------- | -------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
26
+ | <a id="property-path"></a> `path` | `readonly` | `string` | URL path pattern (e.g., `"/"`, `"/profile/:userId"`, `"/settings/:section?"`) | [play-router/src/base-route-map.ts:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/base-route-map.ts#L61) |
27
+ | <a id="property-stateid"></a> `stateId` | `readonly` | `string` | State machine state ID (e.g., `"home"`, `"#profile"`) | [play-router/src/base-route-map.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/base-route-map.ts#L59) |
@@ -0,0 +1,104 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-dom-router](../README.md) / RouterBridge
2
+
3
+ # Interface: RouterBridge
4
+
5
+ Defined in: [play-router/src/types.ts:271](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L271)
6
+
7
+ RouterBridge interface for runtime infrastructure adapters
8
+
9
+ Defines the lifecycle connection between Infrastructure (e.g., TanStack Router) and
10
+ the Actor. Infrastructure "bridges" to the Actor by observing its signals and
11
+ managing its own lifecycle accordingly.
12
+
13
+ **Architectural Context:** Implements **Passive Infrastructure (INV-04)** by establishing
14
+ a unidirectional observation pattern. Infrastructure connects to observe Actor signals
15
+ (currentRoute, currentView, state) and reflects changes without making state decisions.
16
+
17
+ ## Example
18
+
19
+ TanStack Router bridge implementation
20
+
21
+ ```typescript
22
+ import type { RouterBridge } from "@xmachines/play-router";
23
+ import { Signal } from "@xmachines/play-signals";
24
+
25
+ class TanStackRouterBridge implements RouterBridge {
26
+ private watcher: Signal.Watcher | null = null;
27
+
28
+ async connect(): Promise<void> {
29
+ // Start observing actor.currentRoute signal
30
+ this.watcher = new Signal.subtle.Watcher(() => {
31
+ const route = actor.currentRoute.get();
32
+ if (route) router.navigate(route);
33
+ });
34
+ this.watcher.watch(actor.currentRoute);
35
+ }
36
+
37
+ async disconnect(): Promise<void> {
38
+ // Stop observing, cleanup watchers
39
+ this.watcher?.unwatch(actor.currentRoute);
40
+ this.watcher = null;
41
+ }
42
+ }
43
+ ```
44
+
45
+ ## See
46
+
47
+ [Play RFC](../../../../rfc/play.md) - Invariant INV-04
48
+
49
+ ## Methods
50
+
51
+ ### connect()
52
+
53
+ ```ts
54
+ connect(): void | Promise<void>;
55
+ ```
56
+
57
+ Defined in: [play-router/src/types.ts:287](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L287)
58
+
59
+ Connect the router bridge to the Actor
60
+
61
+ Called when Infrastructure should begin observing Actor signals and
62
+ synchronizing its state (e.g., browser URL) with Actor state.
63
+
64
+ #### Returns
65
+
66
+ `void` \| `Promise`\<`void`\>
67
+
68
+ Promise that resolves when connection is established, or void for synchronous connection
69
+
70
+ #### Example
71
+
72
+ ```typescript
73
+ const bridge: RouterBridge = createBridge(actor, router);
74
+ await bridge.connect();
75
+ // Bridge now observing actor.currentRoute signal
76
+ ```
77
+
78
+ ---
79
+
80
+ ### disconnect()
81
+
82
+ ```ts
83
+ disconnect(): void | Promise<void>;
84
+ ```
85
+
86
+ Defined in: [play-router/src/types.ts:303](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-router/src/types.ts#L303)
87
+
88
+ Disconnect the router bridge from the Actor
89
+
90
+ Called when Infrastructure should stop observing and clean up resources
91
+ (e.g., signal watchers, event listeners).
92
+
93
+ #### Returns
94
+
95
+ `void` \| `Promise`\<`void`\>
96
+
97
+ Promise that resolves when disconnection is complete, or void for synchronous disconnection
98
+
99
+ #### Example
100
+
101
+ ```typescript
102
+ await bridge.disconnect();
103
+ // Bridge stopped observing, resources cleaned up
104
+ ```
@@ -2,14 +2,14 @@
2
2
 
3
3
  # Interface: VanillaRouter
4
4
 
5
- Defined in: [create-router.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-router.ts#L4)
5
+ Defined in: [play-dom-router/src/create-router.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-router.ts#L4)
6
6
 
7
7
  ## Properties
8
8
 
9
- | Property | Modifier | Type | Description | Defined in |
10
- | ------------------------------------------- | ---------- | -------------------------------------------------------- | ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
11
- | <a id="property-history"></a> `history` | `readonly` | [`BrowserHistory`](BrowserHistory.md) | History instance | [create-router.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-router.ts#L8) |
12
- | <a id="property-routetree"></a> `routeTree` | `readonly` | [`RouteTree`](../../play-router/interfaces/RouteTree.md) | Route tree (for structure reference) | [create-router.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-router.ts#L13) |
9
+ | Property | Modifier | Type | Description | Defined in |
10
+ | ------------------------------------------- | ---------- | -------------------------------------------------------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
11
+ | <a id="property-history"></a> `history` | `readonly` | [`BrowserHistory`](BrowserHistory.md) | History instance | [play-dom-router/src/create-router.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-router.ts#L8) |
12
+ | <a id="property-routetree"></a> `routeTree` | `readonly` | [`RouteTree`](../../play-router/interfaces/RouteTree.md) | Route tree (for structure reference) | [play-dom-router/src/create-router.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-router.ts#L13) |
13
13
 
14
14
  ## Methods
15
15
 
@@ -19,7 +19,7 @@ Defined in: [create-router.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/bl
19
19
  destroy(): void;
20
20
  ```
21
21
 
22
- Defined in: [create-router.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-dom-router/src/create-router.ts#L18)
22
+ Defined in: [play-dom-router/src/create-router.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/create-router.ts#L18)
23
23
 
24
24
  Cleanup
25
25
 
@@ -0,0 +1,9 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-dom-router](../README.md) / RoutableActor
2
+
3
+ # Type Alias: RoutableActor
4
+
5
+ ```ts
6
+ type RoutableActor = AbstractActor<AnyActorLogic> & Routable & Viewable;
7
+ ```
8
+
9
+ Defined in: [play-dom-router/src/types.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-dom-router/src/types.ts#L9)
@@ -1,19 +1,16 @@
1
1
  [Documentation](../../README.md) / @xmachines/play-dom-router-demo
2
2
 
3
- # Vanilla JavaScript Router Demo
3
+ # Vanilla DOM Router Demo
4
4
 
5
- Pure JavaScript integration proving Play Architecture works without any framework.
5
+ Pure TypeScript integration demo for `@xmachines/play-dom-router` actor-authoritative routing with the Browser History API and no framework.
6
6
 
7
7
  ## What This Demonstrates
8
8
 
9
- This demo uses **no framework** - just vanilla JavaScript with the Browser History API and DOM manipulation. It proves that Play Architecture's universal abstractions work at the lowest level, making framework integrations simpler by comparison.
10
-
11
- ## Key Features
12
-
13
- - **Zero Framework Dependencies**: Pure JavaScript and DOM
14
- - **Browser History API**: Direct integration with `window.history`
15
- - **Same Auth Machine**: Identical authentication logic as React/Vue/SolidJS demos
16
- - **Reference Implementation**: This demo serves as the visual reference for all framework demos
9
+ - Shared auth machine reused without framework-specific business logic
10
+ - `connectRouter` + `createBrowserHistory` wiring actor ↔ browser History API
11
+ - Shell-driven DOM rendering via `connectRenderer` with actor-authoritative navigation
12
+ - Manual TC39 Signal watcher lifecycle — the mechanism that framework adapters abstract
13
+ - Non-browser invariant tests plus browser E2E coverage
17
14
 
18
15
  ## Running the Demo
19
16
 
@@ -24,21 +21,21 @@ npm install
24
21
  npm run dev -w packages/play-dom-router/examples/demo
25
22
  ```
26
23
 
27
- Visit `http://localhost:5174`.
24
+ Then open `http://localhost:5174`.
28
25
 
29
26
  ## Step-by-Step Code Flow
30
27
 
31
- Use this order to understand the demo implementation:
28
+ Use this order to understand the implementation:
32
29
 
33
- 1. `src/main.ts` creates the actor from the shared machine/catalog and starts it.
34
- 2. `src/router.ts` extracts machine routes, builds browser-history routing primitives, and connects actor <-> router sync.
35
- 3. `src/shell.ts` subscribes to actor signals and renders state-projected DOM views.
36
- 4. Navigation and auth interactions dispatch actor events (`play.route`, `auth.login`, `auth.logout`) rather than mutating URL/state directly.
37
- 5. Browser tests in `test/browser/` validate startup rendering and the auth route flow end-to-end.
30
+ 1. `src/main.ts` creates the actor from the shared machine and starts it.
31
+ 2. `initRouter(actor)` from `src/router.ts` extracts route metadata, creates a browser history wrapper, instantiates a router, and calls `connectRouter` to wire bidirectional actor URL sync.
32
+ 3. `initShell(actor, app)` from `src/shell.ts` builds the DOM scaffold and sets up the `connectRenderer` loop for view switching.
33
+ 4. Navigation buttons and links dispatch `play.route`, `auth.login`, and `auth.logout` events directly to the actor — no URL mutations from the shell.
34
+ 5. Browser tests in `test/browser/` validate startup rendering and the full auth route flow.
38
35
 
39
36
  ```ts
40
37
  // src/main.ts (shape)
41
- const actor = createActorFromSharedMachine();
38
+ const actor = createPlayer();
42
39
  actor.start();
43
40
 
44
41
  const cleanupRouter = initRouter(actor);
@@ -50,45 +47,52 @@ if (app) {
50
47
 
51
48
  ```ts
52
49
  // src/router.ts (shape)
53
- import { createBrowserHistory, createRouter, connectRouter } from "@xmachines/play-dom-router";
54
- import { extractMachineRoutes, createRouteMap } from "@xmachines/play-router";
55
-
56
- const routeTree = extractMachineRoutes(machine);
57
- const routeMap = createRouteMap(routeTree);
58
- const history = createBrowserHistory({ window });
59
- const router = createRouter({ routeTree, history });
60
- const disconnect = connectRouter({ actor, router, routeMap });
50
+ export function initRouter(actor) {
51
+ const routeTree = extractMachineRoutes(authMachine);
52
+ const routeMap = createRouteMap(authMachine);
53
+ const history = createBrowserHistory({ window });
54
+ const router = createRouter({ routeTree, history });
55
+ const disconnect = connectRouter({ actor, router, routeMap });
56
+
57
+ return () => {
58
+ disconnect();
59
+ router.destroy();
60
+ };
61
+ }
61
62
  ```
62
63
 
63
64
  ```ts
64
65
  // src/shell.ts (shape)
65
- actor.currentView.watch(() => {
66
- renderView(actor.currentView.get());
66
+ const disconnectRenderer = connectRenderer({ actor, registry, container: viewContent });
67
+
68
+ const unwatchState = watchSignal(actor.state, () => {
69
+ navLogin.hidden = snapshot.context.isAuthenticated;
70
+ navLogout.hidden = !snapshot.context.isAuthenticated;
67
71
  });
68
72
 
69
- loginButton.onclick = () => actor.send({ type: "auth.login", username, password });
70
- logoutButton.onclick = () => actor.send({ type: "auth.logout" });
73
+ navLogin.addEventListener("click", () => actor.send({ type: "play.route", to: "#login" }));
71
74
  ```
72
75
 
73
76
  ## Key Files
74
77
 
75
78
  - `src/main.ts` - actor startup, router initialization, and shell bootstrap
76
79
  - `src/router.ts` - `createBrowserHistory`, `createRouter`, and `connectRouter` wiring
77
- - `src/shell.ts` - DOM rendering and reactive watcher loop for state-driven updates
80
+ - `src/shell.ts` - DOM scaffold, `DomRegistry` construction, `connectRenderer`, and reactive watcher loop
81
+ - `test/library-pattern.test.ts` - architecture boundary and invariant assertions
78
82
  - `test/browser/startup.browser.test.ts` - startup rendering assertion for public home + login action
79
- - `test/browser/auth-flow.browser.test.ts` - login -> dashboard -> profile -> logout browser flow
83
+ - `test/browser/auth-flow.browser.test.ts` - login dashboard profile logout browser flow
80
84
 
81
85
  ## State Machine & Architecture Details
82
86
 
83
87
  The demo utilizes XMachines architectural invariants at the lowest level:
84
88
 
85
- 1. **Actor Authority:** Intercepting browser `popstate` events or link clicks dispatches a `play.route` event to the actor. The actor processes the request against the current state, ensuring any auth logic is correctly applied.
86
- 2. **Passive Infrastructure:** The router simply updates `window.history` and the DOM solely renders HTML text based on what `actor.currentView.get()` yields.
87
- 3. **Signal-Only Reactivity:** The integration registers manual `Signal.subtle.Watcher` observers that manually trigger DOM reconciliation, illustrating the underlying mechanism abstraction used by framework adapters.
89
+ 1. **Actor Authority:** Intercepting browser `popstate` events or navigation button clicks dispatches a `play.route` event to the actor. The actor processes the request against the current state, ensuring any auth logic is correctly applied.
90
+ 2. **Passive Infrastructure:** The router simply updates `window.history` and the DOM solely renders HTML based on what `actor.currentView` yields. Neither holds business state.
91
+ 3. **Signal-Only Reactivity:** The integration registers `watchSignal` observers that trigger DOM reconciliation, illustrating the underlying mechanism that framework adapters abstract.
88
92
 
89
93
  ## Watcher Lifecycle and Cleanup Contract
90
94
 
91
- Even in the vanilla demo, watcher handling follows the same canonical lifecycle:
95
+ Even in the vanilla demo, watcher handling follows the canonical lifecycle:
92
96
 
93
97
  1. `notify`
94
98
  2. `queueMicrotask`
@@ -96,21 +100,11 @@ Even in the vanilla demo, watcher handling follows the same canonical lifecycle:
96
100
  4. Read actor signals and project DOM state
97
101
  5. Re-arm with `watch()`/`watch(...signals)`
98
102
 
99
- Watcher notifications are one-shot, so re-arm is mandatory. Router/shell teardown must explicitly call cleanup (`disconnect`/`unwatch`) and not rely on GC-only behavior. In vanilla JS, this means retaining the cleanup functions and calling them during hot-module replacement or app unmount.
103
+ Watcher notifications are one-shot, so re-arm is mandatory. Router/shell teardown must explicitly call cleanup (`disconnect`/`unwatch`) and not rely on GC-only behavior. In vanilla TypeScript, this means retaining cleanup functions and calling them on `beforeunload` or during hot-module replacement.
100
104
 
101
105
  ## Adapter Boundaries
102
106
 
103
- `connectRouter` and browser-history wiring (from `@xmachines/play-dom-router`) are passive infrastructure. Actor logic remains authoritative for route validity, and shared synchronization policy stays in `RouterBridgeBase` for framework bridges.
104
-
105
- ## Why Vanilla?
106
-
107
- Vanilla JavaScript is the foundation:
108
-
109
- - **Universal Patterns**: If it works in vanilla, frameworks are just convenience layers
110
- - **No Magic**: Every interaction is explicit - great for learning
111
- - **Performance Baseline**: Shows the minimal overhead of Play Architecture
112
-
113
- This demo proves frameworks aren't required for Play Architecture to work.
107
+ `connectRouter` and browser-history wiring (from `@xmachines/play-dom-router`) are passive infrastructure. Actor logic remains authoritative for route validity, and shared synchronization policy stays in `RouterBridgeBase` for framework bridges. This demo proves frameworks are not required for Play Architecture to work.
114
108
 
115
109
  ## Available Scripts
116
110
 
@@ -126,7 +120,7 @@ These commands are defined in `package.json`:
126
120
 
127
121
  ## Verification
128
122
 
129
- Validate the operational behavior with package-local tests:
123
+ Use these checks to validate README claims against the current demo implementation:
130
124
 
131
125
  ```bash
132
126
  npm run test -w packages/play-dom-router/examples/demo
@@ -137,5 +131,6 @@ Expected result: tests pass, including startup rendering and the full browser au
137
131
 
138
132
  ## Learn More
139
133
 
140
- - **[Play DOM Router package README](../play-dom-router/README.md)** - `createBrowserHistory`, `createRouter`, `connectRouter` APIs
141
- - **[Play Router package README](../play-router/README.md)** - Route extraction and abstract routing infrastructure
134
+ - [Play DOM Router package README](../play-dom-router/README.md)
135
+ - [Play DOM demo README](../../../examples/README.md)
136
+ - [Play Router package README](../play-router/README.md)
@@ -94,8 +94,8 @@ const machine = setup({
94
94
  context: {} as {
95
95
  isAuthenticated: boolean;
96
96
  username: string | null;
97
- routeParams: Record<string, string>;
98
- queryParams: Record<string, string>;
97
+ params: Record<string, string>;
98
+ query: Record<string, string>;
99
99
  },
100
100
  events: {} as
101
101
  | { type: "auth.login"; username: string }
@@ -106,7 +106,7 @@ const machine = setup({
106
106
  formatPlayRouteTransitions({
107
107
  id: "app",
108
108
  initial: "login",
109
- context: { isAuthenticated: false, username: null, routeParams: {}, queryParams: {} },
109
+ context: { isAuthenticated: false, username: null, params: {}, query: {} },
110
110
  states: {
111
111
  login: {
112
112
  id: "login",
@@ -303,7 +303,7 @@ When using `formatPlayRouteTransitions`, URL path parameters flow automatically
303
303
 
304
304
  ```ts
305
305
  // spec: { section: undefined, user: "alice" }
306
- // After play.route to /settings/profile → context.routeParams = { section: "profile" }
306
+ // After play.route to /settings/profile → context.params = { section: "profile" }
307
307
  // Component receives: { section: "profile", user: "alice" }
308
308
  ```
309
309
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: PlayErrorBoundary
4
4
 
5
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-react/src/PlayErrorBoundary.tsx#L53)
5
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-react/src/PlayErrorBoundary.tsx#L53)
6
6
 
7
7
  React class component error boundary for catching catalog component render errors.
8
8
 
@@ -36,7 +36,7 @@ Per CONS-14: Class component pattern works with all React versions (18 and 19).
36
36
  new PlayErrorBoundary(props): PlayErrorBoundary;
37
37
  ```
38
38
 
39
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-react/src/PlayErrorBoundary.tsx#L57)
39
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-react/src/PlayErrorBoundary.tsx#L57)
40
40
 
41
41
  #### Parameters
42
42
 
@@ -75,7 +75,7 @@ React.Component<
75
75
  componentDidCatch(error, info): void;
76
76
  ```
77
77
 
78
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-react/src/PlayErrorBoundary.tsx#L66)
78
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-react/src/PlayErrorBoundary.tsx#L66)
79
79
 
80
80
  Catches exceptions generated in descendant components. Unhandled exceptions will cause
81
81
  the entire component tree to unmount.
@@ -105,6 +105,8 @@ React.Component.componentDidCatch;
105
105
  optional componentDidMount(): void;
106
106
  ```
107
107
 
108
+ Defined in: `@types/react`
109
+
108
110
  Called immediately after a component is mounted. Setting state here will trigger re-rendering.
109
111
 
110
112
  #### Returns
@@ -128,6 +130,8 @@ optional componentDidUpdate(
128
130
  snapshot?): void;
129
131
  ```
130
132
 
133
+ Defined in: `@types/react`
134
+
131
135
  Called immediately after updating occurs. Not called for the initial render.
132
136
 
133
137
  The snapshot is only present if [getSnapshotBeforeUpdate](#getsnapshotbeforeupdate) is present and returns non-null.
@@ -158,6 +162,8 @@ React.Component.componentDidUpdate;
158
162
  optional componentWillMount(): void;
159
163
  ```
160
164
 
165
+ Defined in: `@types/react`
166
+
161
167
  Called immediately before mounting occurs, and before [Component.render](https://www.jsdocs.io/package/@types/react#Component.render).
162
168
  Avoid introducing any side-effects or subscriptions in this method.
163
169
 
@@ -192,6 +198,8 @@ React.Component.componentWillMount;
192
198
  optional componentWillReceiveProps(nextProps, nextContext): void;
193
199
  ```
194
200
 
201
+ Defined in: `@types/react`
202
+
195
203
  Called when the component may be receiving new props.
196
204
  React may call this even if props have not changed, so be sure to compare new and existing
197
205
  props if you only want to handle changes.
@@ -236,6 +244,8 @@ React.Component.componentWillReceiveProps;
236
244
  optional componentWillUnmount(): void;
237
245
  ```
238
246
 
247
+ Defined in: `@types/react`
248
+
239
249
  Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as
240
250
  cancelled network requests, or cleaning up any DOM elements created in `componentDidMount`.
241
251
 
@@ -260,6 +270,8 @@ optional componentWillUpdate(
260
270
  nextContext): void;
261
271
  ```
262
272
 
273
+ Defined in: `@types/react`
274
+
263
275
  Called immediately before rendering when new props or state is received. Not called for the initial render.
264
276
 
265
277
  Note: You cannot call [Component.setState](#setstate) here.
@@ -303,6 +315,8 @@ React.Component.componentWillUpdate;
303
315
  forceUpdate(callback?): void;
304
316
  ```
305
317
 
318
+ Defined in: `@types/react`
319
+
306
320
  #### Parameters
307
321
 
308
322
  | Parameter | Type |
@@ -327,6 +341,8 @@ React.Component.forceUpdate;
327
341
  optional getSnapshotBeforeUpdate(prevProps, prevState): any;
328
342
  ```
329
343
 
344
+ Defined in: `@types/react`
345
+
330
346
  Runs before React applies the result of [render](https://www.jsdocs.io/package/@types/react#Component.render) to the document, and
331
347
  returns an object to be given to [componentDidUpdate](#componentdidupdate). Useful for saving
332
348
  things such as scroll position before [render](https://www.jsdocs.io/package/@types/react#Component.render) causes changes to it.
@@ -359,7 +375,7 @@ React.Component.getSnapshotBeforeUpdate;
359
375
  render(): ReactNode;
360
376
  ```
361
377
 
362
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-react/src/PlayErrorBoundary.tsx#L70)
378
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-react/src/PlayErrorBoundary.tsx#L70)
363
379
 
364
380
  #### Returns
365
381
 
@@ -379,6 +395,8 @@ React.Component.render;
379
395
  setState<K>(state, callback?): void;
380
396
  ```
381
397
 
398
+ Defined in: `@types/react`
399
+
382
400
  #### Type Parameters
383
401
 
384
402
  | Type Parameter |
@@ -413,6 +431,8 @@ optional shouldComponentUpdate(
413
431
  nextContext): boolean;
414
432
  ```
415
433
 
434
+ Defined in: `@types/react`
435
+
416
436
  Called to determine whether the change in props and state should trigger a re-render.
417
437
 
418
438
  `Component` always returns true.
@@ -448,6 +468,8 @@ React.Component.shouldComponentUpdate;
448
468
  optional UNSAFE_componentWillMount(): void;
449
469
  ```
450
470
 
471
+ Defined in: `@types/react`
472
+
451
473
  Called immediately before mounting occurs, and before [Component.render](https://www.jsdocs.io/package/@types/react#Component.render).
452
474
  Avoid introducing any side-effects or subscriptions in this method.
453
475
 
@@ -484,6 +506,8 @@ React.Component.UNSAFE_componentWillMount;
484
506
  optional UNSAFE_componentWillReceiveProps(nextProps, nextContext): void;
485
507
  ```
486
508
 
509
+ Defined in: `@types/react`
510
+
487
511
  Called when the component may be receiving new props.
488
512
  React may call this even if props have not changed, so be sure to compare new and existing
489
513
  props if you only want to handle changes.
@@ -533,6 +557,8 @@ optional UNSAFE_componentWillUpdate(
533
557
  nextContext): void;
534
558
  ```
535
559
 
560
+ Defined in: `@types/react`
561
+
536
562
  Called immediately before rendering when new props or state is received. Not called for the initial render.
537
563
 
538
564
  Note: You cannot call [Component.setState](#setstate) here.
@@ -578,7 +604,7 @@ React.Component.UNSAFE_componentWillUpdate;
578
604
  static getDerivedStateFromError(error): PlayErrorBoundaryState;
579
605
  ```
580
606
 
581
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-react/src/PlayErrorBoundary.tsx#L62)
607
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-react/src/PlayErrorBoundary.tsx#L62)
582
608
 
583
609
  #### Parameters
584
610
 
@@ -6,6 +6,8 @@
6
6
  function defineRegistry<C>(_catalog, options): DefineRegistryResult;
7
7
  ```
8
8
 
9
+ Defined in: `@json-render/react`
10
+
9
11
  Create a registry from a catalog with components and/or actions.
10
12
 
11
13
  When the catalog declares actions, the `actions` field is required.
@@ -6,7 +6,7 @@
6
6
  function useActor(): PlayActor;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/src/useActor.ts:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-react/src/useActor.ts#L30)
9
+ Defined in: [packages/play-react/src/useActor.ts:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-react/src/useActor.ts#L30)
10
10
 
11
11
  ## Returns
12
12
 
@@ -6,6 +6,8 @@
6
6
  function useBoundProp<T>(propValue, bindingPath): [T | undefined, (value) => void];
7
7
  ```
8
8
 
9
+ Defined in: `@json-render/react`
10
+
9
11
  Hook for two-way bound props. Returns `[value, setValue]` where:
10
12
 
11
13
  - `value` is the already-resolved prop value (passed through from render props)
@@ -6,7 +6,7 @@
6
6
  function useSignalEffect(callback): void;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/src/useSignalEffect.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-react/src/useSignalEffect.ts#L71)
9
+ Defined in: [packages/play-react/src/useSignalEffect.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.27/packages/play-react/src/useSignalEffect.ts#L71)
10
10
 
11
11
  React hook that subscribes to signal changes and runs effect callback
12
12
 
@@ -6,6 +6,8 @@
6
6
  function useStateBinding<T>(path): [T | undefined, (value) => void];
7
7
  ```
8
8
 
9
+ Defined in: `@json-render/react`
10
+
9
11
  Hook to get and set a value from the state model (like useState).
10
12
 
11
13
  ## Type Parameters
@@ -2,6 +2,8 @@
2
2
 
3
3
  # Interface: ComponentContext\<C, K\>
4
4
 
5
+ Defined in: `@json-render/react`
6
+
5
7
  Context passed to component render functions
6
8
 
7
9
  ## Example