@xmachines/docs 1.0.0-beta.34 → 1.0.0-beta.35

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 (321) hide show
  1. package/api/@xmachines/play/classes/NonNullableError.md +4 -4
  2. package/api/@xmachines/play/classes/PlayError.md +4 -4
  3. package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
  4. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  5. package/api/@xmachines/play-actor/README.md +9 -9
  6. package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -3
  7. package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
  8. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +5 -5
  9. package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +5 -5
  10. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
  11. package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
  12. package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
  13. package/api/@xmachines/play-dom/README.md +4 -3
  14. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  15. package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
  16. package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
  17. package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
  18. package/api/@xmachines/play-dom/functions/defineRegistry.md +1 -23
  19. package/api/@xmachines/play-dom/functions/renderSpec.md +1 -1
  20. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +7 -7
  21. package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +13 -13
  22. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +8 -8
  23. package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +4 -4
  24. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +12 -12
  25. package/api/@xmachines/play-dom/interfaces/EventHandle.md +4 -4
  26. package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
  27. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +5 -5
  28. package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +5 -5
  29. package/api/@xmachines/play-dom/type-aliases/ActionFn.md +1 -1
  30. package/api/@xmachines/play-dom/type-aliases/Actions.md +1 -1
  31. package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +7 -7
  32. package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +1 -1
  33. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +1 -1
  34. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +1 -1
  35. package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +2 -2
  36. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +1 -1
  37. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +1 -1
  38. package/api/@xmachines/play-dom/type-aliases/DomSchema.md +1 -1
  39. package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
  40. package/api/@xmachines/play-dom/type-aliases/SetState.md +1 -1
  41. package/api/@xmachines/play-dom/variables/schema.md +1 -1
  42. package/api/@xmachines/play-dom-router/README.md +3 -3
  43. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  44. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  45. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +3 -3
  46. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  47. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
  48. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
  49. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
  50. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +6 -6
  51. package/api/@xmachines/play-dom-router/interfaces/{RouteMapLike.md → RouteLookupContract.md} +7 -7
  52. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +6 -11
  53. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +8 -8
  54. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  55. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
  56. package/api/@xmachines/play-dom-router/type-aliases/RoutableActor.md +1 -1
  57. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
  58. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  59. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  60. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  61. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +8 -8
  62. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
  63. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
  64. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +8 -8
  65. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
  66. package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
  67. package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
  68. package/api/@xmachines/play-react/variables/PlayRenderer.md +2 -2
  69. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  70. package/api/@xmachines/play-react-router/README.md +1 -0
  71. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +24 -24
  72. package/api/@xmachines/play-react-router/classes/RouteMap.md +38 -22
  73. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +1 -1
  74. package/api/@xmachines/play-react-router/functions/createRouteMap.md +21 -0
  75. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +5 -5
  76. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +6 -6
  77. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  78. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +8 -8
  79. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  80. package/api/@xmachines/play-router/README.md +6 -6
  81. package/api/@xmachines/play-router/classes/{BaseRouteMap.md → RouteMap.md} +11 -11
  82. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +24 -24
  83. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +2 -2
  84. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  85. package/api/@xmachines/play-router/functions/createRouteMap.md +6 -6
  86. package/api/@xmachines/play-router/functions/createRouteMapFromMachine.md +5 -5
  87. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +6 -6
  88. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  89. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  90. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  91. package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
  92. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  93. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  94. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  95. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  96. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  97. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  98. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  99. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  100. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  101. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  102. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  103. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
  104. package/api/@xmachines/play-router/interfaces/LocationLike.md +3 -3
  105. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
  106. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
  107. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +6 -6
  108. package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
  109. package/api/@xmachines/play-router/interfaces/RouteMapping.md +8 -8
  110. package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
  111. package/api/@xmachines/play-router/interfaces/{RouteMap.md → RouteMatcher.md} +13 -13
  112. package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
  113. package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
  114. package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
  115. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  116. package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
  117. package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
  118. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  119. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  120. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  121. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  122. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  123. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  124. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  125. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  126. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  127. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  128. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  129. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +8 -8
  130. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +8 -8
  131. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +5 -5
  132. package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
  133. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  134. package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
  135. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  136. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  137. package/api/@xmachines/play-solid-router/README.md +2 -2
  138. package/api/@xmachines/play-solid-router/classes/RouteMap.md +9 -9
  139. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +25 -25
  140. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
  141. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +3 -3
  142. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -3
  143. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +6 -6
  144. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  145. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +8 -8
  146. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  147. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  148. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  149. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  150. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  151. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  152. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  153. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +8 -8
  154. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
  155. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
  156. package/api/@xmachines/play-svelte/type-aliases/PlayActor.md +1 -1
  157. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +9 -9
  158. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  159. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +3 -3
  160. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +4 -4
  161. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +6 -6
  162. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +8 -8
  163. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  164. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  165. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  166. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +9 -9
  167. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  168. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +3 -3
  169. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +4 -4
  170. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  171. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +6 -6
  172. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +8 -8
  173. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  174. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  175. package/api/@xmachines/play-tanstack-react-router/README.md +1 -1
  176. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +38 -22
  177. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +24 -24
  178. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
  179. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +7 -39
  180. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +5 -5
  181. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  182. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +6 -6
  183. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  184. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +8 -8
  185. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  186. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  187. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  188. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +4 -4
  189. package/api/@xmachines/play-tanstack-solid-router/README.md +1 -1
  190. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +9 -9
  191. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +25 -25
  192. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
  193. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +3 -3
  194. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +6 -6
  195. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  196. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +8 -8
  197. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  198. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  199. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  200. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +3 -3
  201. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  202. package/api/@xmachines/play-vue/functions/getPlayViewContext.md +1 -1
  203. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  204. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +5 -5
  205. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +8 -8
  206. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
  207. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  208. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  209. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  210. package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
  211. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  212. package/api/@xmachines/play-vue-router/README.md +9 -4
  213. package/api/@xmachines/play-vue-router/classes/RouteMap.md +38 -20
  214. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +25 -25
  215. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  216. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +6 -6
  217. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +8 -8
  218. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  219. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  220. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  221. package/api/@xmachines/play-xstate/README.md +1 -1
  222. package/api/@xmachines/play-xstate/classes/PlayerActor.md +14 -14
  223. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
  224. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  225. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  226. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  227. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  228. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  229. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  230. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
  231. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  232. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  233. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  234. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  235. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  236. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
  237. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
  238. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  239. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  240. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  241. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  242. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  243. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  244. package/api/@xmachines/shared/README.md +47 -47
  245. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +1 -1
  246. package/api/@xmachines/shared/functions/xmAliases.md +1 -1
  247. package/api/llms.txt +4 -2
  248. package/examples/@xmachines/play-dom-demo/README.md +2 -2
  249. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +4 -3
  250. package/examples/@xmachines/play-dom-demo/functions/initShell.md +5 -1
  251. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
  252. package/examples/@xmachines/play-dom-demo/variables/About.md +4 -1
  253. package/examples/@xmachines/play-dom-demo/variables/Contact.md +4 -1
  254. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +5 -1
  255. package/examples/@xmachines/play-dom-demo/variables/Home.md +5 -1
  256. package/examples/@xmachines/play-dom-demo/variables/Login.md +5 -1
  257. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +8 -1
  258. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +5 -1
  259. package/examples/@xmachines/play-dom-demo/variables/Overview.md +5 -1
  260. package/examples/@xmachines/play-dom-demo/variables/Profile.md +5 -1
  261. package/examples/@xmachines/play-dom-demo/variables/Settings.md +5 -1
  262. package/examples/@xmachines/play-dom-demo/variables/Stats.md +5 -1
  263. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
  264. package/examples/@xmachines/play-dom-router-demo/README.md +26 -22
  265. package/examples/@xmachines/play-react-demo/README.md +2 -2
  266. package/examples/@xmachines/play-react-demo/functions/App.md +1 -1
  267. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
  268. package/examples/@xmachines/play-react-demo/variables/About.md +6 -1
  269. package/examples/@xmachines/play-react-demo/variables/Contact.md +6 -1
  270. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +7 -1
  271. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +5 -1
  272. package/examples/@xmachines/play-react-demo/variables/Home.md +6 -1
  273. package/examples/@xmachines/play-react-demo/variables/Login.md +8 -1
  274. package/examples/@xmachines/play-react-demo/variables/NavBar.md +6 -1
  275. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +7 -1
  276. package/examples/@xmachines/play-react-demo/variables/Navigation.md +6 -1
  277. package/examples/@xmachines/play-react-demo/variables/Overview.md +6 -1
  278. package/examples/@xmachines/play-react-demo/variables/Profile.md +6 -1
  279. package/examples/@xmachines/play-react-demo/variables/Settings.md +6 -1
  280. package/examples/@xmachines/play-react-demo/variables/Shell.md +6 -1
  281. package/examples/@xmachines/play-react-demo/variables/Stats.md +6 -1
  282. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
  283. package/examples/@xmachines/play-react-router-demo/README.md +5 -3
  284. package/examples/@xmachines/play-solid-demo/README.md +2 -2
  285. package/examples/@xmachines/play-solid-demo/functions/App.md +1 -1
  286. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
  287. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  288. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  289. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  290. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +5 -1
  291. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  292. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  293. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
  294. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +6 -3
  295. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  296. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  297. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  298. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  299. package/examples/@xmachines/play-solid-demo/variables/Shell.md +5 -1
  300. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  301. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
  302. package/examples/@xmachines/play-solid-router-demo/README.md +6 -4
  303. package/examples/@xmachines/play-svelte-demo/README.md +11 -1
  304. package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +9 -0
  305. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +9 -0
  306. package/examples/@xmachines/play-svelte-demo/variables/App.md +9 -0
  307. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +172 -0
  308. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +2 -2
  309. package/examples/@xmachines/play-sveltekit-router-demo/README.md +2 -2
  310. package/examples/@xmachines/play-tanstack-react-router-demo/README.md +3 -3
  311. package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +4 -4
  312. package/examples/@xmachines/play-vue-demo/README.md +11 -2
  313. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +9 -0
  314. package/examples/@xmachines/play-vue-demo/variables/App.md +9 -0
  315. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +172 -0
  316. package/examples/@xmachines/play-vue-router-demo/README.md +21 -24
  317. package/examples/README.md +2 -0
  318. package/package.json +2 -2
  319. package/rfc/play.md +19 -19
  320. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +0 -141
  321. package/api/_media/README.md +0 -404
@@ -140,7 +140,7 @@ What the shared Vitest layer provides automatically:
140
140
  - Shared setup injection (`config/vitest.setup.ts`) unless already present
141
141
  - Node setup injection (`config/vitest.node.setup.ts`) for non-browser projects
142
142
  - Runtime preflight:
143
- - Node.js runtime/version check (`>=22`) in node setup
143
+ - Node.js runtime/version check (`>=22`) in node setup
144
144
  - DOM matcher extension via `@testing-library/jest-dom/vitest`
145
145
 
146
146
  ### Vitest Setup Injection Rules
@@ -190,9 +190,9 @@ import { foo } from "./bar"; // ❌ Wrong
190
190
  - **Plugins:** TypeScript, Unicorn, Import
191
191
  - **Categories:** Correctness (error), Suspicious (warn), Performance (warn)
192
192
  - **Key Rules:**
193
- - Circular dependency detection (`import/no-cycle`)
194
- - Unused variables (allow `_` prefix)
195
- - TypeScript-specific checks
193
+ - Circular dependency detection (`import/no-cycle`)
194
+ - Unused variables (allow `_` prefix)
195
+ - TypeScript-specific checks
196
196
 
197
197
  ### Oxfmt (`config/oxfmt.json`)
198
198
 
@@ -206,14 +206,14 @@ import { foo } from "./bar"; // ❌ Wrong
206
206
  - **Helper API:** `defineXmVitestConfig(importMetaUrl, overrides)` merges shared defaults with package-specific Vitest config
207
207
  - **Auto-aliasing:** `resolve.alias` is wired to `xmAliases(importMetaUrl)` so workspace packages resolve to source
208
208
  - **Cross-runtime setup (`config/vitest.setup.ts`):**
209
- - extends `expect` with `@testing-library/jest-dom/vitest`
209
+ - extends `expect` with `@testing-library/jest-dom/vitest`
210
210
  - **URLPattern setup (`config/vitest.urlpattern.setup.ts`):**
211
- - loads `urlpattern-polyfill` — opt-in per package via `setupFiles: ["@xmachines/shared/vitest-urlpattern-setup"]`
212
- - required for packages exercising URLPattern-based route matching (play-router and adapters)
213
- - mirrors what consumers must do in production on Node < 24 or older browsers
211
+ - loads `urlpattern-polyfill` — opt-in per package via `setupFiles: ["@xmachines/shared/vitest-urlpattern-setup"]`
212
+ - required for packages exercising URLPattern-based route matching (play-router and adapters)
213
+ - mirrors what consumers must do in production on Node < 24 or older browsers
214
214
  - **Node-only setup (`config/vitest.node.setup.ts`):**
215
- - asserts Node runtime (`process.release.name === "node"`)
216
- - enforces Node version `>=22`
215
+ - asserts Node runtime (`process.release.name === "node"`)
216
+ - enforces Node version `>=22`
217
217
  - **Browser behavior:** Browser projects do not receive node-only setup injection
218
218
  - **Override model:** Package-level config still controls test environment, includes/excludes, plugins, coverage, and browser provider
219
219
 
@@ -228,22 +228,22 @@ import { foo } from "./bar"; // ❌ Wrong
228
228
  ### Vite Alias Troubleshooting
229
229
 
230
230
  - **`[xmAliases] Could not find workspace root`**
231
- - Ensure `xmAliases` receives `import.meta.url` from the calling config file.
232
- - Ensure the config file lives somewhere under the monorepo root.
231
+ - Ensure `xmAliases` receives `import.meta.url` from the calling config file.
232
+ - Ensure the config file lives somewhere under the monorepo root.
233
233
  - **Workspace package import resolves to missing `dist/` files**
234
- - Ensure config includes `resolve.alias: xmAliases(import.meta.url)`.
235
- - Re-run after cleaning caches when lockfile/deps changed.
234
+ - Ensure config includes `resolve.alias: xmAliases(import.meta.url)`.
235
+ - Re-run after cleaning caches when lockfile/deps changed.
236
236
 
237
237
  ### Vitest Troubleshooting
238
238
 
239
239
  - **`URLPattern is unavailable after setup`**
240
- - Ensure `test.setupFiles` is not replacing shared setup unexpectedly.
241
- - Ensure config is created via `defineXmVitestConfig(...)`.
240
+ - Ensure `test.setupFiles` is not replacing shared setup unexpectedly.
241
+ - Ensure config is created via `defineXmVitestConfig(...)`.
242
242
  - **`Node runtime is required for this Vitest configuration`**
243
- - This indicates node-only setup loaded in a browser project.
244
- - Set `test.browser.enabled: true` in that project config.
243
+ - This indicates node-only setup loaded in a browser project.
244
+ - Set `test.browser.enabled: true` in that project config.
245
245
  - **Workspace import resolution failures (e.g. `@xmachines/play-signals`)**
246
- - Confirm config uses `defineXmVitestConfig(import.meta.url, ...)` so aliases are injected.
246
+ - Confirm config uses `defineXmVitestConfig(import.meta.url, ...)` so aliases are injected.
247
247
 
248
248
  ## TypeScript Composite Build System
249
249
 
@@ -311,31 +311,31 @@ When creating a new package:
311
311
 
312
312
  1. **Add to root tsconfig.json references:**
313
313
 
314
- ```json
315
- {
316
- "references": [{ "path": "./packages/your-new-package" }]
317
- }
318
- ```
314
+ ```json
315
+ {
316
+ "references": [{ "path": "./packages/your-new-package" }]
317
+ }
318
+ ```
319
319
 
320
320
  2. **Enable composite in package tsconfig.json:**
321
321
 
322
- ```json
323
- {
324
- "extends": "@xmachines/shared/tsconfig",
325
- "compilerOptions": {
326
- "composite": true,
327
- "rootDir": "./src",
328
- "outDir": "./dist"
329
- }
330
- }
331
- ```
322
+ ```json
323
+ {
324
+ "extends": "@xmachines/shared/tsconfig",
325
+ "compilerOptions": {
326
+ "composite": true,
327
+ "rootDir": "./src",
328
+ "outDir": "./dist"
329
+ }
330
+ }
331
+ ```
332
332
 
333
333
  3. **Declare dependencies (if any):**
334
- ```json
335
- {
336
- "references": [{ "path": "../dependency-package" }]
337
- }
338
- ```
334
+ ```json
335
+ {
336
+ "references": [{ "path": "../dependency-package" }]
337
+ }
338
+ ```
339
339
 
340
340
  ### IDE Benefits
341
341
 
@@ -355,14 +355,14 @@ To add a new shared configuration (e.g., for Jest, Vitest, etc.):
355
355
 
356
356
  1. Create `config/<tool>.json` (or `.js`, `.ts` as appropriate)
357
357
  2. Add exports to `package.json` exports field:
358
- ```json
359
- {
360
- "exports": {
361
- "./<tool>": "./config/<tool>.json",
362
- "./config/<tool>.json": "./config/<tool>.json"
363
- }
364
- }
365
- ```
358
+ ```json
359
+ {
360
+ "exports": {
361
+ "./<tool>": "./config/<tool>.json",
362
+ "./config/<tool>.json": "./config/<tool>.json"
363
+ }
364
+ }
365
+ ```
366
366
  3. Document in this README with usage examples
367
367
  4. Note whether the tool supports package exports or requires relative paths
368
368
 
@@ -6,7 +6,7 @@
6
6
  function defineXmVitestConfig(importMetaUrl, overrides): UserConfig;
7
7
  ```
8
8
 
9
- Defined in: [index.ts:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/shared/src/index.ts#L10)
9
+ Defined in: [index.ts:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/shared/src/index.ts#L10)
10
10
 
11
11
  Create a Vitest config with XMachines workspace defaults.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function xmAliases(importMetaUrl): Record<string, string>;
7
7
  ```
8
8
 
9
- Defined in: [index.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/shared/src/index.ts#L20)
9
+ Defined in: [index.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/shared/src/index.ts#L20)
10
10
 
11
11
  Build Vite/Vitest alias entries for all `@xmachines/*` workspace packages.
12
12
 
package/api/llms.txt CHANGED
@@ -54,8 +54,8 @@
54
54
  ## Quick Reference
55
55
 
56
56
  ```javascript
57
- import { definePlayer, formatPlayRouteTransitions } from '@xmachines/play-xstate';
58
- import { extractMachineRoutes } from '@xmachines/play-router';
57
+ import { definePlayer } from '@xmachines/play-xstate';
58
+ import { createRouteMap, extractMachineRoutes } from '@xmachines/play-router';
59
59
  import { defineRegistry } from '@json-render/react';
60
60
  import { PlayRenderer } from '@xmachines/play-react';
61
61
 
@@ -66,6 +66,8 @@ actor.start();
66
66
  const currentView = actor.currentView.get();
67
67
  const currentRoute = actor.currentRoute.get();
68
68
  const routeTree = extractMachineRoutes(machine);
69
+ const routeMatcher = createRouteMap(routeTree);
70
+ const routeMatch = routeMatcher.match(currentRoute ?? '/');
69
71
 
70
72
  const { registry } = defineRegistry(catalog, { components, actions });
71
73
  <PlayRenderer actor={actor} registry={registry} actions={{ login: 'auth.login' }} />
@@ -144,8 +144,8 @@ Expected result: library-pattern invariant tests pass and the browser renderer s
144
144
 
145
145
  ## Learn More
146
146
 
147
- - [Play DOM package README](../../README.md)
148
- - [Play DOM Router demo README](../../../play-dom-router/examples/demo/README.md)
147
+ - [Play DOM](../../README.md)
148
+ - [Play DOM Router](../../../play-dom-router/examples/demo)
149
149
 
150
150
  ## Type Aliases
151
151
 
@@ -6,10 +6,11 @@
6
6
  function createNavBar(actor, container): () => void;
7
7
  ```
8
8
 
9
- Defined in: [play-dom/examples/demo/src/components/NavBar.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-dom/examples/demo/src/components/NavBar.ts#L15)
9
+ Defined in: [play-dom/examples/demo/src/components/NavBar.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-dom/examples/demo/src/components/NavBar.ts#L9)
10
10
 
11
- Create and mount a reactive NavBar into the given container element.
12
- Returns a cleanup function to stop watching.
11
+ NavBar App-shell navigation factory. Mounts a reactive nav into
12
+ `container`, observes actor.state via watchSignal, and updates button
13
+ visibility based on auth state. Returns a disconnect function.
13
14
 
14
15
  ## Parameters
15
16
 
@@ -6,7 +6,11 @@
6
6
  function initShell(actor, appElement): () => void;
7
7
  ```
8
8
 
9
- Defined in: [play-dom/examples/demo/src/shell.ts:35](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-dom/examples/demo/src/shell.ts#L35)
9
+ Defined in: [play-dom/examples/demo/src/components/Shell.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-dom/examples/demo/src/components/Shell.ts#L24)
10
+
11
+ Shell — DOM shell layout factory. Renders demo chrome (header + main +
12
+ debug panel), mounts NavBar, connects DOM renderer, and wires DebugPanel.
13
+ Returns a disconnect function.
10
14
 
11
15
  ## Parameters
12
16
 
@@ -6,4 +6,4 @@
6
6
  type AuthCatalog = typeof authCatalog;
7
7
  ```
8
8
 
9
- Defined in: [play-dom/examples/demo/src/catalog.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-dom/examples/demo/src/catalog.ts#L6)
9
+ Defined in: [play-dom/examples/demo/src/catalog.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-dom/examples/demo/src/catalog.ts#L6)
@@ -6,4 +6,7 @@
6
6
  const About: ComponentFn<AuthCatalog, "About">;
7
7
  ```
8
8
 
9
- Defined in: [play-dom/examples/demo/src/components/About.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-dom/examples/demo/src/components/About.ts#L4)
9
+ Defined in: [play-dom/examples/demo/src/components/About.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-dom/examples/demo/src/components/About.ts#L8)
10
+
11
+ About — Public information page. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'About'>). Renders static content from props.
@@ -6,4 +6,7 @@
6
6
  const Contact: ComponentFn<AuthCatalog, "Contact">;
7
7
  ```
8
8
 
9
- Defined in: [play-dom/examples/demo/src/components/Contact.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-dom/examples/demo/src/components/Contact.ts#L4)
9
+ Defined in: [play-dom/examples/demo/src/components/Contact.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-dom/examples/demo/src/components/Contact.ts#L8)
10
+
11
+ Contact — Public contact page. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Contact'>). Renders static content from props.
@@ -6,4 +6,8 @@
6
6
  const Dashboard: ComponentFn<AuthCatalog, "Dashboard">;
7
7
  ```
8
8
 
9
- Defined in: [play-dom/examples/demo/src/components/Dashboard.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-dom/examples/demo/src/components/Dashboard.ts#L4)
9
+ Defined in: [play-dom/examples/demo/src/components/Dashboard.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-dom/examples/demo/src/components/Dashboard.ts#L9)
10
+
11
+ Dashboard — Protected authenticated home. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Dashboard'>). Renders welcome message; logout
13
+ button emits 'logout' action.
@@ -6,4 +6,8 @@
6
6
  const Home: ComponentFn<AuthCatalog, "Home">;
7
7
  ```
8
8
 
9
- Defined in: [play-dom/examples/demo/src/components/Home.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-dom/examples/demo/src/components/Home.ts#L4)
9
+ Defined in: [play-dom/examples/demo/src/components/Home.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-dom/examples/demo/src/components/Home.ts#L9)
10
+
11
+ Home — Public landing page. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Home'>). Renders static welcome content from
13
+ props.
@@ -6,4 +6,8 @@
6
6
  const Login: ComponentFn<AuthCatalog, "Login">;
7
7
  ```
8
8
 
9
- Defined in: [play-dom/examples/demo/src/components/Login.ts:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-dom/examples/demo/src/components/Login.ts#L7)
9
+ Defined in: [play-dom/examples/demo/src/components/Login.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-dom/examples/demo/src/components/Login.ts#L9)
10
+
11
+ Login — Authentication form. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Login'>). Binds username input to ctx.store via
13
+ $bindState; emits 'submit' on form submit.
@@ -6,4 +6,11 @@
6
6
  const NavBarView: ComponentFn<AuthCatalog, "NavBar">;
7
7
  ```
8
8
 
9
- Defined in: [play-dom/examples/demo/src/components/NavBarView.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-dom/examples/demo/src/components/NavBarView.ts#L13)
9
+ Defined in: [play-dom/examples/demo/src/components/NavBarView.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-dom/examples/demo/src/components/NavBarView.ts#L12)
10
+
11
+ NavBarView — Catalog-typed NavBar component for DOM renderer.
12
+
13
+ Receives props from spec (isAuthenticated, username) and renders a static nav element.
14
+ Used in the defineRegistry components map.
15
+
16
+ The actor-driven NavBar (createNavBar) is mounted at the shell level.
@@ -6,4 +6,8 @@
6
6
  const Navigation: ComponentFn<AuthCatalog, "Navigation">;
7
7
  ```
8
8
 
9
- Defined in: [play-dom/examples/demo/src/components/Navigation.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-dom/examples/demo/src/components/Navigation.ts#L4)
9
+ Defined in: [play-dom/examples/demo/src/components/Navigation.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-dom/examples/demo/src/components/Navigation.ts#L9)
10
+
11
+ Navigation — Navigation status display. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Navigation'>). Renders current path and auth
13
+ status from props.
@@ -6,4 +6,8 @@
6
6
  const Overview: ComponentFn<AuthCatalog, "Overview">;
7
7
  ```
8
8
 
9
- Defined in: [play-dom/examples/demo/src/components/Overview.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-dom/examples/demo/src/components/Overview.ts#L4)
9
+ Defined in: [play-dom/examples/demo/src/components/Overview.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-dom/examples/demo/src/components/Overview.ts#L9)
10
+
11
+ Overview — Dashboard overview child route. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Overview'>). Relative route resolves to
13
+ /dashboard/overview. Logout and goToStats buttons emit actions.
@@ -6,4 +6,8 @@
6
6
  const Profile: ComponentFn<AuthCatalog, "Profile">;
7
7
  ```
8
8
 
9
- Defined in: [play-dom/examples/demo/src/components/Profile.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-dom/examples/demo/src/components/Profile.ts#L4)
9
+ Defined in: [play-dom/examples/demo/src/components/Profile.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-dom/examples/demo/src/components/Profile.ts#L9)
10
+
11
+ Profile — Protected user profile page. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Profile'>). Renders username from route params
13
+ filled into props.
@@ -6,4 +6,8 @@
6
6
  const Settings: ComponentFn<AuthCatalog, "Settings">;
7
7
  ```
8
8
 
9
- Defined in: [play-dom/examples/demo/src/components/Settings.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-dom/examples/demo/src/components/Settings.ts#L4)
9
+ Defined in: [play-dom/examples/demo/src/components/Settings.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-dom/examples/demo/src/components/Settings.ts#L9)
10
+
11
+ Settings — Protected settings page. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Settings'>). Renders active section and username
13
+ from props.
@@ -6,4 +6,8 @@
6
6
  const Stats: ComponentFn<AuthCatalog, "Stats">;
7
7
  ```
8
8
 
9
- Defined in: [play-dom/examples/demo/src/components/Stats.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-dom/examples/demo/src/components/Stats.ts#L4)
9
+ Defined in: [play-dom/examples/demo/src/components/Stats.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-dom/examples/demo/src/components/Stats.ts#L9)
10
+
11
+ Stats — Dashboard stats child route. Catalog-typed DOM component
12
+ (ComponentFn<AuthCatalog, 'Stats'>). Relative route resolves to
13
+ /dashboard/stats. goToOverview button emits action.
@@ -169,4 +169,4 @@ const authCatalog: Catalog<
169
169
  >;
170
170
  ```
171
171
 
172
- Defined in: [play-dom/examples/demo/src/catalog.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-dom/examples/demo/src/catalog.ts#L5)
172
+ Defined in: [play-dom/examples/demo/src/catalog.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-dom/examples/demo/src/catalog.ts#L5)
@@ -27,22 +27,22 @@ Then open `http://localhost:5174`.
27
27
 
28
28
  Use this order to understand the implementation:
29
29
 
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.
30
+ 1. `src/main.ts` looks up the host element, calls `initApp(app)` from `src/runtime.ts`, and registers unload cleanup.
31
+ 2. `src/runtime.ts` creates the actor from the shared machine, starts it, initializes router sync via `initRouter(actor)`, mounts the shared DOM shell via `initShell(actor, host)`, and returns one cleanup function.
32
+ 3. `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.
33
+ 4. `initShell(actor, host)` is imported from `@xmachines/play-dom-demo`, so the router demo reuses the shared DOM shell instead of duplicating the scaffold and renderer wiring.
34
+ 5. Navigation buttons and links dispatch `play.route`, `auth.login`, and `auth.logout` events directly to the actor no URL mutations from the shell.
35
+ 6. Browser tests in `test/browser/` validate startup rendering and the full auth route flow.
35
36
 
36
37
  ```ts
37
38
  // src/main.ts (shape)
38
- const actor = createPlayer();
39
- actor.start();
40
-
41
- const cleanupRouter = initRouter(actor);
42
39
  const app = document.getElementById("app");
40
+ let cleanup;
43
41
  if (app) {
44
- initShell(actor, app);
42
+ cleanup = initApp(app);
45
43
  }
44
+
45
+ window.addEventListener("beforeunload", () => cleanup?.());
46
46
  ```
47
47
 
48
48
  ```ts
@@ -62,22 +62,26 @@ export function initRouter(actor) {
62
62
  ```
63
63
 
64
64
  ```ts
65
- // src/shell.ts (shape)
66
- const disconnectRenderer = connectRenderer({ actor, registry, container: viewContent });
65
+ // src/runtime.ts (shape)
66
+ const actor = createPlayer();
67
+ actor.start();
67
68
 
68
- const unwatchState = watchSignal(actor.state, () => {
69
- navLogin.hidden = snapshot.context.isAuthenticated;
70
- navLogout.hidden = !snapshot.context.isAuthenticated;
71
- });
69
+ const cleanupRouter = initRouter(actor);
70
+ const cleanupShell = initShell(actor, host);
72
71
 
73
- navLogin.addEventListener("click", () => actor.send({ type: "play.route", to: "#login" }));
72
+ return () => {
73
+ cleanupShell();
74
+ cleanupRouter();
75
+ actor.stop();
76
+ };
74
77
  ```
75
78
 
76
79
  ## Key Files
77
80
 
78
- - `src/main.ts` - actor startup, router initialization, and shell bootstrap
81
+ - `src/main.ts` - host lookup, app bootstrap, and unload cleanup
82
+ - `src/runtime.ts` - actor startup, router initialization, and shared shell wiring
79
83
  - `src/router.ts` - `createBrowserHistory`, `createRouter`, and `connectRouter` wiring
80
- - `src/shell.ts` - DOM scaffold, `DomRegistry` construction, `connectRenderer`, and reactive watcher loop
84
+ - `@xmachines/play-dom-demo` - shared DOM shell, NavBar, DebugPanel, and renderer wiring reused by this router demo
81
85
  - `test/library-pattern.test.ts` - architecture boundary and invariant assertions
82
86
  - `test/browser/startup.browser.test.ts` - startup rendering assertion for public home + login action
83
87
  - `test/browser/auth-flow.browser.test.ts` - login → dashboard → profile → logout browser flow
@@ -131,6 +135,6 @@ Expected result: tests pass, including startup rendering and the full browser au
131
135
 
132
136
  ## Learn More
133
137
 
134
- - [Play DOM Router package README](../../README.md)
135
- - [Play DOM demo README](../../../play-dom/examples/demo/README.md)
136
- - [Play Router package README](../../../play-router/README.md)
138
+ - [Play DOM Router](../../README.md)
139
+ - [Play DOM](../../../play-dom/examples/demo)
140
+ - [Play Router](../../../play-router)
@@ -156,8 +156,8 @@ Expected result: library-pattern invariant tests pass and the browser renderer s
156
156
 
157
157
  ## Learn More
158
158
 
159
- - [React package README](../../README.md)
160
- - [React Router demo README](../../../play-react-router/examples/demo/README.md)
159
+ - [React](../../README.md)
160
+ - [React Router](../../../play-react-router/examples/demo)
161
161
 
162
162
  ## Type Aliases
163
163
 
@@ -6,7 +6,7 @@
6
6
  function App(): Element;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/examples/demo/src/App.tsx:36](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-react/examples/demo/src/App.tsx#L36)
9
+ Defined in: [packages/play-react/examples/demo/src/App.tsx:36](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-react/examples/demo/src/App.tsx#L36)
10
10
 
11
11
  ## Returns
12
12
 
@@ -6,4 +6,4 @@
6
6
  type AuthCatalog = typeof authCatalog;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/examples/demo/src/catalog.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-react/examples/demo/src/catalog.ts#L6)
9
+ Defined in: [packages/play-react/examples/demo/src/catalog.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-react/examples/demo/src/catalog.ts#L6)
@@ -6,4 +6,9 @@
6
6
  const About: ComponentFn<AuthCatalog, "About">;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/examples/demo/src/components/About.tsx:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-react/examples/demo/src/components/About.tsx#L11)
9
+ Defined in: [packages/play-react/examples/demo/src/components/About.tsx:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-react/examples/demo/src/components/About.tsx#L10)
10
+
11
+ About — Public information page
12
+
13
+ Uses ComponentFn<AuthCatalog, "About"> for catalog-typed props.
14
+ Navigation is handled by HeaderNav — this component only renders content.
@@ -6,4 +6,9 @@
6
6
  const Contact: ComponentFn<AuthCatalog, "Contact">;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/examples/demo/src/components/Contact.tsx:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-react/examples/demo/src/components/Contact.tsx#L11)
9
+ Defined in: [packages/play-react/examples/demo/src/components/Contact.tsx:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-react/examples/demo/src/components/Contact.tsx#L10)
10
+
11
+ Contact — Public contact page
12
+
13
+ Uses ComponentFn<AuthCatalog, "Contact"> for catalog-typed props.
14
+ Navigation is handled by HeaderNav — this component only renders content.
@@ -6,4 +6,10 @@
6
6
  const Dashboard: ComponentFn<AuthCatalog, "Dashboard">;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/examples/demo/src/components/Dashboard.tsx:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-react/examples/demo/src/components/Dashboard.tsx#L15)
9
+ Defined in: [packages/play-react/examples/demo/src/components/Dashboard.tsx:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-react/examples/demo/src/components/Dashboard.tsx#L12)
10
+
11
+ Dashboard — Protected authenticated home
12
+
13
+ Uses ComponentFn<AuthCatalog, "Dashboard"> for catalog-typed props.
14
+ Emits "logout" to trigger the auth.logout event via PlayRenderer actions map.
15
+ Navigation is handled by HeaderNav — this component only handles auth actions.
@@ -8,4 +8,8 @@ const DebugPanel: FC<{
8
8
  }>;
9
9
  ```
10
10
 
11
- Defined in: [packages/play-react/examples/demo/src/components/DebugPanel.tsx:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-react/examples/demo/src/components/DebugPanel.tsx#L6)
11
+ Defined in: [packages/play-react/examples/demo/src/components/DebugPanel.tsx:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-react/examples/demo/src/components/DebugPanel.tsx#L11)
12
+
13
+ DebugPanel — Live debug footer. Observes actor.state and actor.currentRoute
14
+ via useSignalEffect and displays current state value, can-logout status,
15
+ and active route.
@@ -6,4 +6,9 @@
6
6
  const Home: ComponentFn<AuthCatalog, "Home">;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/examples/demo/src/components/Home.tsx:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-react/examples/demo/src/components/Home.tsx#L11)
9
+ Defined in: [packages/play-react/examples/demo/src/components/Home.tsx:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-react/examples/demo/src/components/Home.tsx#L10)
10
+
11
+ Home - Public landing page component
12
+
13
+ Uses ComponentFn<AuthCatalog, "Home"> for catalog-typed props.
14
+ Navigation is handled by HeaderNav — this component only renders content.
@@ -6,4 +6,11 @@
6
6
  const Login: ComponentFn<AuthCatalog, "Login">;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/examples/demo/src/components/Login.tsx:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-react/examples/demo/src/components/Login.tsx#L16)
9
+ Defined in: [packages/play-react/examples/demo/src/components/Login.tsx:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-react/examples/demo/src/components/Login.tsx#L14)
10
+
11
+ Login — Authentication form
12
+
13
+ Uses ComponentFn<AuthCatalog, "Login"> for catalog-typed props.
14
+ Username is bound via $bindState from the spec — useStateBinding provides reactive two-way
15
+ binding to the @xstate/store atom backing the current view's state store.
16
+ Emits "submit" on form submit — spec resolves the username state and calls login handler.
@@ -8,4 +8,9 @@ const NavBar: FC<{
8
8
  }>;
9
9
  ```
10
10
 
11
- Defined in: [packages/play-react/examples/demo/src/components/NavBar.tsx:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-react/examples/demo/src/components/NavBar.tsx#L13)
11
+ Defined in: [packages/play-react/examples/demo/src/components/NavBar.tsx:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-react/examples/demo/src/components/NavBar.tsx#L12)
12
+
13
+ NavBar — App-shell navigation component.
14
+
15
+ Framework component (takes `actor`) used in the App shell header.
16
+ Calls actor.send() directly for navigation — ActionProvider not needed here.
@@ -6,4 +6,10 @@
6
6
  const NavBarView: ComponentFn<AuthCatalog, "NavBar">;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/examples/demo/src/components/NavBarView.tsx:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-react/examples/demo/src/components/NavBarView.tsx#L12)
9
+ Defined in: [packages/play-react/examples/demo/src/components/NavBarView.tsx:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-react/examples/demo/src/components/NavBarView.tsx#L11)
10
+
11
+ NavBarView — Catalog-typed NavBar for use in defineRegistry components map.
12
+
13
+ Receives props from the spec (isAuthenticated, username) and renders a
14
+ static status indicator. Navigation buttons live in the shell-level NavBar
15
+ component which calls actor.send() directly.
@@ -6,4 +6,9 @@
6
6
  const Navigation: ComponentFn<AuthCatalog, "Navigation">;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/examples/demo/src/components/Navigation.tsx:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-react/examples/demo/src/components/Navigation.tsx#L11)
9
+ Defined in: [packages/play-react/examples/demo/src/components/Navigation.tsx:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-react/examples/demo/src/components/Navigation.tsx#L10)
10
+
11
+ Navigation - Status display component
12
+
13
+ Uses ComponentFn<AuthCatalog, "Navigation"> for catalog-typed props.
14
+ This component displays navigation state info. Actual navigation is handled by HeaderNav.
@@ -6,4 +6,9 @@
6
6
  const Overview: ComponentFn<AuthCatalog, "Overview">;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/examples/demo/src/components/Overview.tsx:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-react/examples/demo/src/components/Overview.tsx#L11)
9
+ Defined in: [packages/play-react/examples/demo/src/components/Overview.tsx:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-react/examples/demo/src/components/Overview.tsx#L10)
10
+
11
+ Overview - Dashboard overview child route component
12
+
13
+ Uses ComponentFn<AuthCatalog, "Overview"> for catalog-typed props.
14
+ Relative route "overview" resolves to /dashboard/overview.