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

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 (288) hide show
  1. package/api/@xmachines/play/README.md +4 -4
  2. package/api/@xmachines/play/classes/PlayError.md +4 -4
  3. package/api/@xmachines/play/type-aliases/PlayEvent.md +3 -3
  4. package/api/@xmachines/play-actor/README.md +6 -6
  5. package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -3
  6. package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
  7. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
  8. package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
  9. package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +3 -3
  10. package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
  11. package/api/@xmachines/play-dom/README.md +50 -0
  12. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  13. package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
  14. package/api/@xmachines/play-dom/functions/defineRegistry.md +1 -1
  15. package/api/@xmachines/play-dom/functions/renderSpec.md +1 -1
  16. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +7 -7
  17. package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +7 -7
  18. package/api/@xmachines/play-dom/interfaces/DefineRegistryOptions.md +3 -3
  19. package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +3 -3
  20. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +7 -7
  21. package/api/@xmachines/play-dom/interfaces/EventHandle.md +4 -4
  22. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +3 -3
  23. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +1 -1
  24. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +1 -1
  25. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +1 -1
  26. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +1 -1
  27. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  28. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  29. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +1 -1
  30. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  31. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
  32. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
  33. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
  34. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +7 -7
  35. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
  36. package/api/@xmachines/play-dom-router/interfaces/RouteMapLike.md +3 -3
  37. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  38. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +4 -4
  39. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
  40. package/api/@xmachines/play-dom-router/type-aliases/RoutableActor.md +1 -1
  41. package/api/@xmachines/play-react/README.md +1 -1
  42. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
  43. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  44. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  45. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
  46. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
  47. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +7 -7
  48. package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
  49. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  50. package/api/@xmachines/play-react-router/README.md +3 -3
  51. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +23 -23
  52. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  53. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +1 -1
  54. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  55. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +7 -7
  56. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  57. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  58. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +4 -4
  59. package/api/@xmachines/play-router/README.md +6 -6
  60. package/api/@xmachines/play-router/classes/BaseRouteMap.md +4 -4
  61. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +23 -23
  62. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  63. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  64. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  65. package/api/@xmachines/play-router/functions/createRouteMapFromMachine.md +1 -1
  66. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +1 -1
  67. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  68. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  69. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  70. package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
  71. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  72. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  73. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  74. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  75. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  76. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  77. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  78. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  79. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  80. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  81. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  82. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
  83. package/api/@xmachines/play-router/interfaces/LocationLike.md +3 -3
  84. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
  85. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
  86. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +7 -7
  87. package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
  88. package/api/@xmachines/play-router/interfaces/RouteMap.md +4 -4
  89. package/api/@xmachines/play-router/interfaces/RouteMapping.md +3 -3
  90. package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
  91. package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
  92. package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
  93. package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
  94. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  95. package/api/@xmachines/play-router/interfaces/RouterBridge.md +4 -4
  96. package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
  97. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  98. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  99. package/api/@xmachines/play-signals/README.md +2 -2
  100. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  101. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  102. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  103. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  104. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  105. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  106. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  107. package/api/@xmachines/play-solid/README.md +3 -3
  108. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  109. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +7 -7
  110. package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
  111. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  112. package/api/@xmachines/play-solid-router/README.md +1 -1
  113. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  114. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +24 -24
  115. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
  116. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
  117. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -3
  118. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +7 -7
  119. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  120. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  121. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +4 -4
  122. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  123. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  124. package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +7 -7
  125. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  126. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  127. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +1 -1
  128. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +4 -4
  129. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +7 -7
  130. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  131. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +4 -4
  132. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  133. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  134. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  135. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  136. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +1 -1
  137. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +4 -4
  138. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  139. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +7 -7
  140. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  141. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +4 -4
  142. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  143. package/api/@xmachines/play-tanstack-react-router/README.md +4 -4
  144. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  145. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +23 -23
  146. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
  147. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  148. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  149. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  150. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +7 -7
  151. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  152. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  153. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  154. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +4 -4
  155. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  156. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +4 -4
  157. package/api/@xmachines/play-tanstack-solid-router/README.md +5 -5
  158. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  159. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +24 -24
  160. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
  161. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
  162. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +7 -7
  163. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  164. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  165. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +4 -4
  166. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  167. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  168. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +3 -3
  169. package/api/@xmachines/play-vue/README.md +1 -1
  170. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  171. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  172. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +5 -5
  173. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  174. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  175. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  176. package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
  177. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  178. package/api/@xmachines/play-vue-router/README.md +1 -1
  179. package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
  180. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +4 -4
  181. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +24 -24
  182. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  183. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +7 -7
  184. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
  185. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +4 -4
  186. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  187. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  188. package/api/@xmachines/play-xstate/README.md +10 -10
  189. package/api/@xmachines/play-xstate/classes/PlayerActor.md +12 -12
  190. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
  191. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  192. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  193. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  194. package/api/@xmachines/play-xstate/functions/definePlayer.md +2 -2
  195. package/api/@xmachines/play-xstate/functions/deriveRoute.md +2 -2
  196. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  197. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
  198. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  199. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  200. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  201. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  202. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  203. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
  204. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
  205. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  206. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  207. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  208. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  209. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  210. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  211. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +1 -1
  212. package/api/@xmachines/shared/functions/xmAliases.md +1 -1
  213. package/api/README.md +1 -37
  214. package/api/llms.txt +4 -11
  215. package/examples/@xmachines/play-actor-shared/README.md +155 -0
  216. package/examples/@xmachines/play-actor-shared/interfaces/AuthContext.md +14 -0
  217. package/examples/@xmachines/play-actor-shared/type-aliases/AuthActor.md +27 -0
  218. package/examples/@xmachines/play-actor-shared/type-aliases/AuthCatalog.md +16 -0
  219. package/examples/@xmachines/play-actor-shared/type-aliases/AuthEvents.md +17 -0
  220. package/examples/@xmachines/play-actor-shared/type-aliases/AuthInput.md +9 -0
  221. package/examples/@xmachines/play-actor-shared/type-aliases/AuthSnapshot.md +11 -0
  222. package/examples/@xmachines/play-actor-shared/type-aliases/CatalogProps.md +187 -0
  223. package/examples/@xmachines/play-actor-shared/type-aliases/InferProps.md +17 -0
  224. package/examples/@xmachines/play-actor-shared/variables/authCatalog.md +173 -0
  225. package/examples/@xmachines/play-actor-shared/variables/authMachine.md +189 -0
  226. package/examples/@xmachines/play-actor-shared/variables/authSetup.md +22 -0
  227. package/examples/@xmachines/play-dom-demo/README.md +145 -0
  228. package/examples/@xmachines/play-dom-demo/functions/initShell.md +20 -0
  229. package/examples/@xmachines/play-dom-demo/variables/About.md +9 -0
  230. package/examples/@xmachines/play-dom-demo/variables/Contact.md +9 -0
  231. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +9 -0
  232. package/examples/@xmachines/play-dom-demo/variables/Home.md +9 -0
  233. package/examples/@xmachines/play-dom-demo/variables/Login.md +9 -0
  234. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +9 -0
  235. package/examples/@xmachines/play-dom-demo/variables/Overview.md +9 -0
  236. package/examples/@xmachines/play-dom-demo/variables/Profile.md +9 -0
  237. package/examples/@xmachines/play-dom-demo/variables/Settings.md +9 -0
  238. package/examples/@xmachines/play-dom-demo/variables/Stats.md +9 -0
  239. package/{api → examples}/@xmachines/play-dom-router-demo/README.md +13 -13
  240. package/examples/@xmachines/play-react-demo/README.md +173 -0
  241. package/examples/@xmachines/play-react-demo/functions/App.md +13 -0
  242. package/examples/@xmachines/play-react-demo/functions/DebugPanel.md +20 -0
  243. package/examples/@xmachines/play-react-demo/functions/HeaderNav.md +20 -0
  244. package/examples/@xmachines/play-react-demo/functions/Shell.md +22 -0
  245. package/examples/@xmachines/play-react-demo/variables/About.md +9 -0
  246. package/examples/@xmachines/play-react-demo/variables/Contact.md +9 -0
  247. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +9 -0
  248. package/examples/@xmachines/play-react-demo/variables/Home.md +9 -0
  249. package/examples/@xmachines/play-react-demo/variables/Login.md +9 -0
  250. package/examples/@xmachines/play-react-demo/variables/Navigation.md +9 -0
  251. package/examples/@xmachines/play-react-demo/variables/Overview.md +9 -0
  252. package/examples/@xmachines/play-react-demo/variables/Profile.md +9 -0
  253. package/examples/@xmachines/play-react-demo/variables/Settings.md +9 -0
  254. package/examples/@xmachines/play-react-demo/variables/Stats.md +9 -0
  255. package/{api → examples}/@xmachines/play-react-router-demo/README.md +12 -12
  256. package/examples/@xmachines/play-router-shared/README.md +111 -0
  257. package/examples/@xmachines/play-router-shared/test/auth-machine-routing.test.ts/README.md +3 -0
  258. package/examples/@xmachines/play-router-shared/test/demo-browser-suite.ts/README.md +11 -0
  259. package/examples/@xmachines/play-router-shared/test/demo-browser-suite.ts/functions/defineSharedDemoBrowserSuite.md +19 -0
  260. package/examples/@xmachines/play-router-shared/test/demo-browser-suite.ts/variables/defineRouterDemoBrowserSuite.md +19 -0
  261. package/examples/@xmachines/play-router-shared/test/env.d.ts/README.md +8 -0
  262. package/examples/@xmachines/play-router-shared/test/env.d.ts/interfaces/ImportMeta.md +63 -0
  263. package/examples/@xmachines/play-router-shared/test/env.d.ts/interfaces/ImportMetaEnv.md +32 -0
  264. package/examples/@xmachines/play-solid-demo/README.md +159 -0
  265. package/examples/@xmachines/play-solid-demo/functions/App.md +13 -0
  266. package/examples/@xmachines/play-solid-demo/functions/DebugPanel.md +20 -0
  267. package/examples/@xmachines/play-solid-demo/functions/HeaderNav.md +20 -0
  268. package/examples/@xmachines/play-solid-demo/functions/Shell.md +22 -0
  269. package/examples/@xmachines/play-solid-demo/variables/About.md +9 -0
  270. package/examples/@xmachines/play-solid-demo/variables/Contact.md +9 -0
  271. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +9 -0
  272. package/examples/@xmachines/play-solid-demo/variables/Home.md +9 -0
  273. package/examples/@xmachines/play-solid-demo/variables/Login.md +9 -0
  274. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +9 -0
  275. package/examples/@xmachines/play-solid-demo/variables/Overview.md +9 -0
  276. package/examples/@xmachines/play-solid-demo/variables/Profile.md +9 -0
  277. package/examples/@xmachines/play-solid-demo/variables/Settings.md +9 -0
  278. package/examples/@xmachines/play-solid-demo/variables/Stats.md +9 -0
  279. package/{api → examples}/@xmachines/play-solid-router-demo/README.md +13 -13
  280. package/examples/@xmachines/play-svelte-demo/README.md +127 -0
  281. package/{api → examples}/@xmachines/play-svelte-spa-router-demo/README.md +12 -13
  282. package/{api → examples}/@xmachines/play-sveltekit-router-demo/README.md +12 -13
  283. package/{api → examples}/@xmachines/play-tanstack-react-router-demo/README.md +13 -13
  284. package/{api → examples}/@xmachines/play-tanstack-solid-router-demo/README.md +14 -14
  285. package/examples/@xmachines/play-vue-demo/README.md +145 -0
  286. package/{api → examples}/@xmachines/play-vue-router-demo/README.md +12 -12
  287. package/examples/README.md +51 -27
  288. package/package.json +6 -4
@@ -0,0 +1,173 @@
1
+ [Documentation](../../README.md) / @xmachines/play-react-demo
2
+
3
+ # React Demo
4
+
5
+ React renderer demo for `@xmachines/play-react` — actor + `PlayRenderer` without a router.
6
+
7
+ ## What This Demonstrates
8
+
9
+ - Shared auth machine reused without framework-specific business logic
10
+ - `PlayRenderer` rendering actor-projected views with a typed `defineRegistry` catalog
11
+ - Auth machine states drive view switching via `auth.login` / `auth.logout` events only — no `play.route` routing
12
+ - Canonical TC39 Signals lifecycle surfaced through React's rendering model
13
+ - Non-browser invariant tests plus browser renderer coverage
14
+
15
+ ## Running the Demo
16
+
17
+ From the repository root:
18
+
19
+ ```bash
20
+ npm install
21
+ npm run dev -w @xmachines/play-react-demo
22
+ ```
23
+
24
+ Then open `http://localhost:5173`.
25
+
26
+ ## Step-by-Step Code Flow
27
+
28
+ Use this order to understand the implementation:
29
+
30
+ 1. `src/main.tsx` mounts `<App />` inside `<StrictMode>`.
31
+ 2. `src/App.tsx` creates the actor via `definePlayer({ machine: authMachine })` inside `useMemo` so it is started once per mounted app.
32
+ 3. `defineRegistry(authCatalog, { components, actions })` builds the typed component registry from the shared catalog.
33
+ 4. `<PlayRenderer actor={actor} registry={registry} actions={...} />` observes actor view signals and renders the current component.
34
+ 5. A `useEffect` cleanup calls `actor.stop()` on unmount.
35
+ 6. Browser tests in `test/browser/` validate startup and interaction behavior.
36
+
37
+ ```tsx
38
+ // src/main.tsx (shape)
39
+ createRoot(document.getElementById("root")!).render(
40
+ <StrictMode>
41
+ <App />
42
+ </StrictMode>,
43
+ );
44
+ ```
45
+
46
+ ```tsx
47
+ // src/App.tsx (shape)
48
+ const createPlayer = definePlayer({ machine: authMachine });
49
+
50
+ const { registry } = defineRegistry(authCatalog, {
51
+ components: {
52
+ Home,
53
+ About,
54
+ Contact,
55
+ Login,
56
+ Dashboard,
57
+ Overview,
58
+ Stats,
59
+ Profile,
60
+ Settings,
61
+ Navigation,
62
+ },
63
+ actions: { login: async () => {}, logout: async () => {} },
64
+ });
65
+
66
+ export function App() {
67
+ const actor = useMemo((): DemoActor => {
68
+ const a = createPlayer();
69
+ a.start();
70
+ return a;
71
+ }, []);
72
+
73
+ useEffect(
74
+ () => () => {
75
+ actor.stop();
76
+ },
77
+ [actor],
78
+ );
79
+
80
+ return (
81
+ <div className="demo-app" data-demo-shell>
82
+ <main className="demo-content" data-demo-content>
83
+ <PlayRenderer
84
+ actor={actor}
85
+ registry={registry}
86
+ actions={{ login: "auth.login", logout: "auth.logout" }}
87
+ />
88
+ </main>
89
+ <DebugPanel actor={actor} />
90
+ </div>
91
+ );
92
+ }
93
+ ```
94
+
95
+ ## Key Files
96
+
97
+ - `src/main.tsx` - React entry point that mounts `<App />` inside `StrictMode`
98
+ - `src/App.tsx` - actor lifecycle, registry construction, and `PlayRenderer` composition
99
+ - `src/components/` - demo view components bound to catalog component keys (Home, Login, Dashboard, Profile, etc.)
100
+ - `test/library-pattern.test.ts` - architecture boundary and invariant assertions
101
+ - `test/browser/renderer-demo.browser.test.tsx` - browser-mode renderer coverage
102
+
103
+ ## State Machine & Architecture Details
104
+
105
+ The demo utilizes XMachines architectural invariants:
106
+
107
+ 1. **Actor Authority:** View components dispatch `auth.login` and `auth.logout` events to the actor. The actor evaluates guards and transitions — React never decides which view to render.
108
+ 2. **Passive Infrastructure:** `PlayRenderer` observes `actor.currentView` signals only. It holds no business state and makes no routing decisions.
109
+ 3. **Signal-Only Reactivity:** The bridge leverages React's rendering model to react precisely when actor signals update, without polluting the component tree with `useState` or `useEffect` for business logic.
110
+
111
+ ## Watcher Lifecycle and Cleanup Contract
112
+
113
+ This demo follows the canonical watcher lifecycle used across all `@xmachines` framework adapters:
114
+
115
+ 1. `notify`
116
+ 2. `queueMicrotask`
117
+ 3. `getPending()`
118
+ 4. Read actor signals and project React render state
119
+ 5. Re-arm with `watch()`/`watch(...signals)`
120
+
121
+ Watcher notifications are one-shot. Cleanup is explicit: `actor.stop()` is called on component unmount via `useEffect`, and `PlayRenderer` handles internal watcher teardown natively.
122
+
123
+ ## Adapter Boundaries
124
+
125
+ `PlayRenderer` and `defineRegistry` stay passive infrastructure. Business validity remains actor-owned. The registry maps catalog component keys to React component implementations — the actor owns which key is active. The demo intentionally omits URL routing to isolate the renderer contract.
126
+
127
+ ## Available Scripts
128
+
129
+ These commands are defined in `package.json`:
130
+
131
+ | Command | Description |
132
+ | ---------------------------------------------------- | -------------------------------- |
133
+ | `npm run dev -w @xmachines/play-react-demo` | Start Vite dev server |
134
+ | `npm run build -w @xmachines/play-react-demo` | Build production bundle |
135
+ | `npm run preview -w @xmachines/play-react-demo` | Preview built bundle |
136
+ | `npm run test -w @xmachines/play-react-demo` | Run Vitest test suite |
137
+ | `npm run test:browser -w @xmachines/play-react-demo` | Run browser-focused Vitest suite |
138
+
139
+ ## Verification
140
+
141
+ Use these checks to validate README claims against the current demo implementation:
142
+
143
+ ```bash
144
+ npm run test -w @xmachines/play-react-demo
145
+ npm run test:browser -w @xmachines/play-react-demo
146
+ ```
147
+
148
+ Expected result: library-pattern invariant tests pass and the browser renderer suite completes.
149
+
150
+ ## Learn More
151
+
152
+ - [React package README](../../README.md)
153
+ - [React Router demo README](../../../play-react-router/examples/demo/README.md)
154
+
155
+ ## Variables
156
+
157
+ - [About](variables/About.md)
158
+ - [Contact](variables/Contact.md)
159
+ - [Dashboard](variables/Dashboard.md)
160
+ - [Home](variables/Home.md)
161
+ - [Login](variables/Login.md)
162
+ - [Navigation](variables/Navigation.md)
163
+ - [Overview](variables/Overview.md)
164
+ - [Profile](variables/Profile.md)
165
+ - [Settings](variables/Settings.md)
166
+ - [Stats](variables/Stats.md)
167
+
168
+ ## Functions
169
+
170
+ - [App](functions/App.md)
171
+ - [DebugPanel](functions/DebugPanel.md)
172
+ - [HeaderNav](functions/HeaderNav.md)
173
+ - [Shell](functions/Shell.md)
@@ -0,0 +1,13 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-react-demo](../README.md) / App
2
+
3
+ # Function: App()
4
+
5
+ ```ts
6
+ function App(): Element;
7
+ ```
8
+
9
+ Defined in: [App.tsx:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-react/examples/demo/src/App.tsx#L54)
10
+
11
+ ## Returns
12
+
13
+ `Element`
@@ -0,0 +1,20 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-react-demo](../README.md) / DebugPanel
2
+
3
+ # Function: DebugPanel()
4
+
5
+ ```ts
6
+ function DebugPanel(__namedParameters): Element;
7
+ ```
8
+
9
+ Defined in: [components/DebugPanel.tsx:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-react/examples/demo/src/components/DebugPanel.tsx#L5)
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Type |
14
+ | ------------------------- | -------------------------------------------------------------------------------- |
15
+ | `__namedParameters` | \{ `actor`: [`AuthActor`](../../play-actor-shared/type-aliases/AuthActor.md); \} |
16
+ | `__namedParameters.actor` | [`AuthActor`](../../play-actor-shared/type-aliases/AuthActor.md) |
17
+
18
+ ## Returns
19
+
20
+ `Element`
@@ -0,0 +1,20 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-react-demo](../README.md) / HeaderNav
2
+
3
+ # Function: HeaderNav()
4
+
5
+ ```ts
6
+ function HeaderNav(__namedParameters): Element;
7
+ ```
8
+
9
+ Defined in: [components/HeaderNav.tsx:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-react/examples/demo/src/components/HeaderNav.tsx#L13)
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Type |
14
+ | ------------------------- | -------------------------------------------------------------------------------- |
15
+ | `__namedParameters` | \{ `actor`: [`AuthActor`](../../play-actor-shared/type-aliases/AuthActor.md); \} |
16
+ | `__namedParameters.actor` | [`AuthActor`](../../play-actor-shared/type-aliases/AuthActor.md) |
17
+
18
+ ## Returns
19
+
20
+ `Element`
@@ -0,0 +1,22 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-react-demo](../README.md) / Shell
2
+
3
+ # Function: Shell()
4
+
5
+ ```ts
6
+ function Shell(__namedParameters): Element;
7
+ ```
8
+
9
+ Defined in: [components/Shell.tsx:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-react/examples/demo/src/components/Shell.tsx#L14)
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Type | Description |
14
+ | ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
15
+ | `__namedParameters` | \{ `actor`: [`AuthActor`](../../play-actor-shared/type-aliases/AuthActor.md); `registry`: `ComponentRegistry`; `router?`: `unknown`; \} | - |
16
+ | `__namedParameters.actor` | [`AuthActor`](../../play-actor-shared/type-aliases/AuthActor.md) | - |
17
+ | `__namedParameters.registry` | `ComponentRegistry` | - |
18
+ | `__namedParameters.router?` | `unknown` | Bridged router instance — accepted for prop parity with router demos but unused. |
19
+
20
+ ## Returns
21
+
22
+ `Element`
@@ -0,0 +1,9 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-react-demo](../README.md) / About
2
+
3
+ # Variable: About
4
+
5
+ ```ts
6
+ const About: ComponentFn<AuthCatalog, "About">;
7
+ ```
8
+
9
+ Defined in: [components/About.tsx:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-react/examples/demo/src/components/About.tsx#L11)
@@ -0,0 +1,9 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-react-demo](../README.md) / Contact
2
+
3
+ # Variable: Contact
4
+
5
+ ```ts
6
+ const Contact: ComponentFn<AuthCatalog, "Contact">;
7
+ ```
8
+
9
+ Defined in: [components/Contact.tsx:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-react/examples/demo/src/components/Contact.tsx#L11)
@@ -0,0 +1,9 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-react-demo](../README.md) / Dashboard
2
+
3
+ # Variable: Dashboard
4
+
5
+ ```ts
6
+ const Dashboard: ComponentFn<AuthCatalog, "Dashboard">;
7
+ ```
8
+
9
+ Defined in: [components/Dashboard.tsx:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-react/examples/demo/src/components/Dashboard.tsx#L15)
@@ -0,0 +1,9 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-react-demo](../README.md) / Home
2
+
3
+ # Variable: Home
4
+
5
+ ```ts
6
+ const Home: ComponentFn<AuthCatalog, "Home">;
7
+ ```
8
+
9
+ Defined in: [components/Home.tsx:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-react/examples/demo/src/components/Home.tsx#L11)
@@ -0,0 +1,9 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-react-demo](../README.md) / Login
2
+
3
+ # Variable: Login
4
+
5
+ ```ts
6
+ const Login: ComponentFn<AuthCatalog, "Login">;
7
+ ```
8
+
9
+ Defined in: [components/Login.tsx:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-react/examples/demo/src/components/Login.tsx#L16)
@@ -0,0 +1,9 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-react-demo](../README.md) / Navigation
2
+
3
+ # Variable: Navigation
4
+
5
+ ```ts
6
+ const Navigation: ComponentFn<AuthCatalog, "Navigation">;
7
+ ```
8
+
9
+ Defined in: [components/Navigation.tsx:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-react/examples/demo/src/components/Navigation.tsx#L11)
@@ -0,0 +1,9 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-react-demo](../README.md) / Overview
2
+
3
+ # Variable: Overview
4
+
5
+ ```ts
6
+ const Overview: ComponentFn<AuthCatalog, "Overview">;
7
+ ```
8
+
9
+ Defined in: [components/Overview.tsx:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-react/examples/demo/src/components/Overview.tsx#L11)
@@ -0,0 +1,9 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-react-demo](../README.md) / Profile
2
+
3
+ # Variable: Profile
4
+
5
+ ```ts
6
+ const Profile: ComponentFn<AuthCatalog, "Profile">;
7
+ ```
8
+
9
+ Defined in: [components/Profile.tsx:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-react/examples/demo/src/components/Profile.tsx#L14)
@@ -0,0 +1,9 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-react-demo](../README.md) / Settings
2
+
3
+ # Variable: Settings
4
+
5
+ ```ts
6
+ const Settings: ComponentFn<AuthCatalog, "Settings">;
7
+ ```
8
+
9
+ Defined in: [components/Settings.tsx:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-react/examples/demo/src/components/Settings.tsx#L14)
@@ -0,0 +1,9 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-react-demo](../README.md) / Stats
2
+
3
+ # Variable: Stats
4
+
5
+ ```ts
6
+ const Stats: ComponentFn<AuthCatalog, "Stats">;
7
+ ```
8
+
9
+ Defined in: [components/Stats.tsx:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-react/examples/demo/src/components/Stats.tsx#L11)
@@ -18,7 +18,7 @@ From the repository root:
18
18
 
19
19
  ```bash
20
20
  npm install
21
- npm run dev -w packages/play-react-router/examples/demo
21
+ npm run dev -w @xmachines/play-react-router-demo
22
22
  ```
23
23
 
24
24
  Then open `http://localhost:5173`.
@@ -122,26 +122,26 @@ Watcher notifications are one-shot. Cleanup is explicit: bridge/provider teardow
122
122
 
123
123
  These commands are defined in `package.json`:
124
124
 
125
- | Command | Description |
126
- | ------------------------------------------------------------------ | -------------------------------- |
127
- | `npm run dev -w packages/play-react-router/examples/demo` | Start Vite dev server |
128
- | `npm run build -w packages/play-react-router/examples/demo` | Build production bundle |
129
- | `npm run preview -w packages/play-react-router/examples/demo` | Preview built bundle |
130
- | `npm run test -w packages/play-react-router/examples/demo` | Run Vitest test suite |
131
- | `npm run test:browser -w packages/play-react-router/examples/demo` | Run browser-focused Vitest suite |
125
+ | Command | Description |
126
+ | ----------------------------------------------------------- | -------------------------------- |
127
+ | `npm run dev -w @xmachines/play-react-router-demo` | Start Vite dev server |
128
+ | `npm run build -w @xmachines/play-react-router-demo` | Build production bundle |
129
+ | `npm run preview -w @xmachines/play-react-router-demo` | Preview built bundle |
130
+ | `npm run test -w @xmachines/play-react-router-demo` | Run Vitest test suite |
131
+ | `npm run test:browser -w @xmachines/play-react-router-demo` | Run browser-focused Vitest suite |
132
132
 
133
133
  ## Verification
134
134
 
135
135
  Use these checks to validate README claims against the current demo implementation:
136
136
 
137
137
  ```bash
138
- npm run test -w packages/play-react-router/examples/demo
139
- npm run test:browser -w packages/play-react-router/examples/demo
138
+ npm run test -w @xmachines/play-react-router-demo
139
+ npm run test:browser -w @xmachines/play-react-router-demo
140
140
  ```
141
141
 
142
142
  Expected result: tests pass for startup and auth-flow browser scenarios.
143
143
 
144
144
  ## Learn More
145
145
 
146
- - [React Router package README](../play-react-router/README.md)
147
- - [React package README](../play-react/README.md)
146
+ - [React Router package README](../../README.md)
147
+ - [React package README](../../../play-react/README.md)
@@ -0,0 +1,111 @@
1
+ [Documentation](../../README.md) / @xmachines/play-router-shared
2
+
3
+ # play-router Shared Demo Package
4
+
5
+ Shared routing test fixtures for `@xmachines` router adapter demos — route extraction, route map resolution, and portable browser test helpers.
6
+
7
+ ## What This Demonstrates
8
+
9
+ - `extractMachineRoutes` correctly extracts public, protected, and nested routes from `authMachine`
10
+ - `createRouteMap` resolves concrete URLs to actor state IDs and URL params
11
+ - `play.route` events drive the actor to the correct routed states
12
+ - Portable `defineSharedDemoBrowserSuite` browser test helper consumed by all router demos
13
+
14
+ ## Running the Demo
15
+
16
+ This is a shared fixture package — it has no standalone dev server. Run its tests from the repository root:
17
+
18
+ ```bash
19
+ npm install
20
+ npm run test -w @xmachines/play-router-shared
21
+ ```
22
+
23
+ ## Step-by-Step Code Flow
24
+
25
+ Use this order to understand the package structure:
26
+
27
+ 1. `test/auth-machine-routing.test.ts` imports `authMachine` from `@xmachines/play-actor-shared` and verifies route extraction, route map resolution, param preservation, and `play.route`-driven actor transitions.
28
+ 2. `test/demo-browser-suite.ts` exports `defineSharedDemoBrowserSuite` — a comprehensive browser test helper that covers the full auth flow: home → about → contact → login → dashboard → settings → profile → logout.
29
+ 3. Router adapter demos import `defineSharedDemoBrowserSuite` (aliased as `defineRouterDemoBrowserSuite`) to mount their app and run the canonical flow against the shared test assertions.
30
+
31
+ ```ts
32
+ // test/auth-machine-routing.test.ts (shape)
33
+ const tree = extractMachineRoutes(authMachine);
34
+ const routeMap = createRouteMap(extractMachineRoutes(authMachine));
35
+
36
+ // URL → state ID
37
+ expect(routeMap.resolve("/").to).toBe("#home");
38
+ expect(routeMap.resolve("/dashboard/overview").to).toBe("#dashboard-overview");
39
+
40
+ // URL → params
41
+ expect(routeMap.resolve("/profile/alice")?.params).toEqual({ username: "alice" });
42
+
43
+ // play.route events drive actor state
44
+ actor.send({ type: "play.route", to: "#about" });
45
+ expect(snapshot.matches("about")).toBe(true);
46
+ ```
47
+
48
+ ```ts
49
+ // test/demo-browser-suite.ts (shape)
50
+ export function defineSharedDemoBrowserSuite({ mountApp }) {
51
+ test("shared demo flow covers public, auth, protected, and logout routes", async () => {
52
+ const cleanup = await mountApp();
53
+ // Navigates: home → about → contact → login → dashboard → settings → profile → logout
54
+ // Validates: URL sync, view rendering, params, back/forward, and guard redirection
55
+ await cleanup?.();
56
+ });
57
+ }
58
+
59
+ export const defineRouterDemoBrowserSuite = defineSharedDemoBrowserSuite;
60
+ ```
61
+
62
+ ## Key Files
63
+
64
+ - `test/auth-machine-routing.test.ts` - route extraction, route map resolution, param inheritance, and `play.route`-driven actor transitions
65
+ - `test/demo-browser-suite.ts` - `defineSharedDemoBrowserSuite` / `defineRouterDemoBrowserSuite` portable browser test helper covering the full auth flow
66
+ - `test/env.d.ts` - Vitest browser environment type declarations
67
+
68
+ ## State Machine & Architecture Details
69
+
70
+ The routing tests verify XMachines architectural invariants at the routing layer:
71
+
72
+ 1. **Actor Authority:** `play.route` events are the only mechanism for URL-driven state transitions. The test suite verifies that actors respond correctly to these events and apply guards (e.g. protected routes redirect to login when unauthenticated).
73
+ 2. **Passive Infrastructure:** `createRouteMap` is a pure lookup structure — it maps URLs to state IDs and params but executes no business logic. The actor decides whether a resolved route is reachable from its current state.
74
+ 3. **Signal-Only Reactivity:** Route resolution is synchronous and deterministic. The browser test suite validates that URL changes produce the correct `[data-page]` DOM state, confirming that the signal-driven render loop completed.
75
+
76
+ ## Watcher Lifecycle and Cleanup Contract
77
+
78
+ The shared test fixtures exercise teardown contracts by calling `cleanup()` at the end of each test. Each router adapter demo's `mountApp` implementation must return a cleanup function that calls `disconnectRouter()` and `actor.stop()` to satisfy this contract.
79
+
80
+ ## Adapter Boundaries
81
+
82
+ This package has no framework imports — it only depends on `@xmachines/play-actor-shared`, `@xmachines/play-router`, and `xstate`. It defines the routing contract that all concrete router adapters must satisfy. The `defineRouterDemoBrowserSuite` export is the single source of truth for browser-level routing assertions across all adapter demos.
83
+
84
+ ## Available Scripts
85
+
86
+ These commands are defined in `package.json`:
87
+
88
+ | Command | Description |
89
+ | ----------------------------------------------- | --------------------- |
90
+ | `npm run test -w @xmachines/play-router-shared` | Run Vitest test suite |
91
+
92
+ ## Verification
93
+
94
+ Use these checks to validate the shared routing invariants:
95
+
96
+ ```bash
97
+ npm run test -w @xmachines/play-router-shared
98
+ ```
99
+
100
+ Expected result: route extraction, URL-to-state resolution, param inheritance, and `play.route`-driven actor transition tests all pass.
101
+
102
+ ## Learn More
103
+
104
+ - [play-router package README](../../README.md)
105
+ - [play-actor shared README](../../../play-actor/examples/shared/README.md)
106
+
107
+ ## Modules
108
+
109
+ - [test/auth-machine-routing.test.ts](test/auth-machine-routing.test.ts/README.md)
110
+ - [test/demo-browser-suite.ts](test/demo-browser-suite.ts/README.md)
111
+ - [test/env.d.ts](test/env.d.ts/README.md)
@@ -0,0 +1,3 @@
1
+ [Documentation](../../../../README.md) / [@xmachines/play-router-shared](../../README.md) / test/auth-machine-routing.test.ts
2
+
3
+ # test/auth-machine-routing.test.ts
@@ -0,0 +1,11 @@
1
+ [Documentation](../../../../README.md) / [@xmachines/play-router-shared](../../README.md) / test/demo-browser-suite.ts
2
+
3
+ # test/demo-browser-suite.ts
4
+
5
+ ## Variables
6
+
7
+ - [defineRouterDemoBrowserSuite](variables/defineRouterDemoBrowserSuite.md)
8
+
9
+ ## Functions
10
+
11
+ - [defineSharedDemoBrowserSuite](functions/defineSharedDemoBrowserSuite.md)
@@ -0,0 +1,19 @@
1
+ [Documentation](../../../../../README.md) / [@xmachines/play-router-shared](../../../README.md) / [test/demo-browser-suite.ts](../README.md) / defineSharedDemoBrowserSuite
2
+
3
+ # Function: defineSharedDemoBrowserSuite()
4
+
5
+ ```ts
6
+ function defineSharedDemoBrowserSuite(__namedParameters): void;
7
+ ```
8
+
9
+ Defined in: [packages/play-router/examples/shared/test/demo-browser-suite.ts:75](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-router/examples/shared/test/demo-browser-suite.ts#L75)
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Type |
14
+ | ------------------- | ------------------------- |
15
+ | `__namedParameters` | `DemoBrowserSuiteOptions` |
16
+
17
+ ## Returns
18
+
19
+ `void`
@@ -0,0 +1,19 @@
1
+ [Documentation](../../../../../README.md) / [@xmachines/play-router-shared](../../../README.md) / [test/demo-browser-suite.ts](../README.md) / defineRouterDemoBrowserSuite
2
+
3
+ # Variable: defineRouterDemoBrowserSuite
4
+
5
+ ```ts
6
+ const defineRouterDemoBrowserSuite: (__namedParameters) => void = defineSharedDemoBrowserSuite;
7
+ ```
8
+
9
+ Defined in: [packages/play-router/examples/shared/test/demo-browser-suite.ts:234](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.29/packages/play-router/examples/shared/test/demo-browser-suite.ts#L234)
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Type |
14
+ | ------------------- | ------------------------- |
15
+ | `__namedParameters` | `DemoBrowserSuiteOptions` |
16
+
17
+ ## Returns
18
+
19
+ `void`
@@ -0,0 +1,8 @@
1
+ [Documentation](../../../../README.md) / [@xmachines/play-router-shared](../../README.md) / test/env.d.ts
2
+
3
+ # test/env.d.ts
4
+
5
+ ## Interfaces
6
+
7
+ - [ImportMeta](interfaces/ImportMeta.md)
8
+ - [ImportMetaEnv](interfaces/ImportMetaEnv.md)
@@ -0,0 +1,63 @@
1
+ [Documentation](../../../../../README.md) / [@xmachines/play-router-shared](../../../README.md) / [test/env.d.ts](../README.md) / ImportMeta
2
+
3
+ # Interface: ImportMeta
4
+
5
+ Defined in: `typescript`
6
+
7
+ The type of `import.meta`.
8
+
9
+ If you need to declare that a given property exists on `import.meta`,
10
+ this type may be augmented via interface merging.
11
+
12
+ ## Properties
13
+
14
+ | Property | Modifier | Type | Defined in |
15
+ | ----------------------------------------- | ---------- | ----------------------------------- | ---------- |
16
+ | <a id="property-dirname"></a> `dirname` | `public` | `string` | - |
17
+ | <a id="property-env"></a> `env` | `readonly` | [`ImportMetaEnv`](ImportMetaEnv.md) | - |
18
+ | <a id="property-filename"></a> `filename` | `public` | `string` | - |
19
+ | <a id="property-glob"></a> `glob` | `public` | `ImportGlobFunction` | - |
20
+ | <a id="property-hot"></a> `hot?` | `readonly` | `ViteHotContext` | - |
21
+ | <a id="property-main"></a> `main` | `public` | `boolean` | - |
22
+ | <a id="property-url"></a> `url` | `public` | `string` | - |
23
+
24
+ ## Methods
25
+
26
+ ### resolve()
27
+
28
+ #### Call Signature
29
+
30
+ ```ts
31
+ resolve(specifier): string;
32
+ ```
33
+
34
+ Defined in: `typescript`
35
+
36
+ ##### Parameters
37
+
38
+ | Parameter | Type |
39
+ | ----------- | -------- |
40
+ | `specifier` | `string` |
41
+
42
+ ##### Returns
43
+
44
+ `string`
45
+
46
+ #### Call Signature
47
+
48
+ ```ts
49
+ resolve(specifier, parent?): string;
50
+ ```
51
+
52
+ Defined in: `@types/node`
53
+
54
+ ##### Parameters
55
+
56
+ | Parameter | Type |
57
+ | ----------- | ----------------- |
58
+ | `specifier` | `string` |
59
+ | `parent?` | `string` \| `URL` |
60
+
61
+ ##### Returns
62
+
63
+ `string`