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

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 (328) 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 +50 -50
  245. package/api/@xmachines/shared/vite-aliases/README.md +10 -0
  246. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +34 -0
  247. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +27 -0
  248. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +30 -0
  249. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +41 -0
  250. package/api/@xmachines/shared/vitest/README.md +7 -0
  251. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +34 -0
  252. package/api/llms.txt +4 -2
  253. package/examples/@xmachines/play-dom-demo/README.md +2 -2
  254. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +4 -3
  255. package/examples/@xmachines/play-dom-demo/functions/initShell.md +5 -1
  256. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
  257. package/examples/@xmachines/play-dom-demo/variables/About.md +4 -1
  258. package/examples/@xmachines/play-dom-demo/variables/Contact.md +4 -1
  259. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +5 -1
  260. package/examples/@xmachines/play-dom-demo/variables/Home.md +5 -1
  261. package/examples/@xmachines/play-dom-demo/variables/Login.md +5 -1
  262. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +8 -1
  263. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +5 -1
  264. package/examples/@xmachines/play-dom-demo/variables/Overview.md +5 -1
  265. package/examples/@xmachines/play-dom-demo/variables/Profile.md +5 -1
  266. package/examples/@xmachines/play-dom-demo/variables/Settings.md +5 -1
  267. package/examples/@xmachines/play-dom-demo/variables/Stats.md +5 -1
  268. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
  269. package/examples/@xmachines/play-dom-router-demo/README.md +26 -22
  270. package/examples/@xmachines/play-react-demo/README.md +2 -2
  271. package/examples/@xmachines/play-react-demo/functions/App.md +1 -1
  272. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
  273. package/examples/@xmachines/play-react-demo/variables/About.md +6 -1
  274. package/examples/@xmachines/play-react-demo/variables/Contact.md +6 -1
  275. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +7 -1
  276. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +5 -1
  277. package/examples/@xmachines/play-react-demo/variables/Home.md +6 -1
  278. package/examples/@xmachines/play-react-demo/variables/Login.md +8 -1
  279. package/examples/@xmachines/play-react-demo/variables/NavBar.md +6 -1
  280. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +7 -1
  281. package/examples/@xmachines/play-react-demo/variables/Navigation.md +6 -1
  282. package/examples/@xmachines/play-react-demo/variables/Overview.md +6 -1
  283. package/examples/@xmachines/play-react-demo/variables/Profile.md +6 -1
  284. package/examples/@xmachines/play-react-demo/variables/Settings.md +6 -1
  285. package/examples/@xmachines/play-react-demo/variables/Shell.md +6 -1
  286. package/examples/@xmachines/play-react-demo/variables/Stats.md +6 -1
  287. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
  288. package/examples/@xmachines/play-react-router-demo/README.md +5 -3
  289. package/examples/@xmachines/play-solid-demo/README.md +2 -2
  290. package/examples/@xmachines/play-solid-demo/functions/App.md +1 -1
  291. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
  292. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  293. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  294. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  295. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +5 -1
  296. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  297. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  298. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
  299. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +6 -3
  300. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  301. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  302. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  303. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  304. package/examples/@xmachines/play-solid-demo/variables/Shell.md +5 -1
  305. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  306. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
  307. package/examples/@xmachines/play-solid-router-demo/README.md +6 -4
  308. package/examples/@xmachines/play-svelte-demo/README.md +11 -1
  309. package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +9 -0
  310. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +9 -0
  311. package/examples/@xmachines/play-svelte-demo/variables/App.md +9 -0
  312. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +172 -0
  313. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +2 -2
  314. package/examples/@xmachines/play-sveltekit-router-demo/README.md +2 -2
  315. package/examples/@xmachines/play-tanstack-react-router-demo/README.md +3 -3
  316. package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +4 -4
  317. package/examples/@xmachines/play-vue-demo/README.md +11 -2
  318. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +9 -0
  319. package/examples/@xmachines/play-vue-demo/variables/App.md +9 -0
  320. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +172 -0
  321. package/examples/@xmachines/play-vue-router-demo/README.md +21 -24
  322. package/examples/README.md +2 -0
  323. package/package.json +2 -2
  324. package/rfc/play.md +19 -19
  325. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +0 -141
  326. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +0 -25
  327. package/api/@xmachines/shared/functions/xmAliases.md +0 -24
  328. package/api/_media/README.md +0 -404
@@ -1,141 +0,0 @@
1
- [Documentation](../../../README.md) / [@xmachines/play-vue-router](../README.md) / VueBaseRouteMap
2
-
3
- # Class: VueBaseRouteMap
4
-
5
- Defined in: [play-router/src/base-route-map.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-router/src/base-route-map.ts#L100)
6
-
7
- Shared bidirectional route map base class.
8
-
9
- All framework adapter `RouteMap` classes extend this — they add no logic of their
10
- own and inherit the full public API from here.
11
-
12
- **Lookup strategy:**
13
-
14
- - Static paths (no `:param`) → O(1) `Map` lookup
15
- - Dynamic paths → O(k) bucket-indexed scan using `URLPattern`, where `k` is the number
16
- of routes sharing the same first path segment
17
- - Results are cached after the first match in an LRU cache (default 500 entries,
18
- configurable via the `cacheSize` constructor option)
19
-
20
- **Pattern syntax** (`:param` / `:param?`):
21
-
22
- - `:param` — required segment, matches exactly one non-`/` segment
23
- - `:param?` — optional segment, matches zero or one non-`/` segment
24
-
25
- ## Example
26
-
27
- ```typescript
28
- import { BaseRouteMap } from "@xmachines/play-router";
29
-
30
- const map = new BaseRouteMap([
31
- { stateId: "home", path: "/" },
32
- { stateId: "profile", path: "/profile/:userId" },
33
- { stateId: "settings", path: "/settings/:section?" },
34
- ]);
35
-
36
- map.getStateIdByPath("/"); // "home"
37
- map.getStateIdByPath("/profile/123"); // "profile"
38
- map.getStateIdByPath("/settings"); // "settings"
39
- map.getStateIdByPath("/unknown"); // null
40
-
41
- map.getPathByStateId("profile"); // "/profile/:userId"
42
- map.getPathByStateId("missing"); // null
43
- ```
44
-
45
- ## Extended by
46
-
47
- - [`RouteMap`](RouteMap.md)
48
-
49
- ## Constructors
50
-
51
- ### Constructor
52
-
53
- ```ts
54
- new VueBaseRouteMap(mappings, options?): BaseRouteMap;
55
- ```
56
-
57
- Defined in: [play-router/src/base-route-map.ts:125](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-router/src/base-route-map.ts#L125)
58
-
59
- Build a route map from an array of state ID ↔ path mappings.
60
-
61
- Static paths (no `:param`) are indexed in an O(1) `Map`.
62
- Parameterized paths are compiled to `URLPattern` and grouped into first-segment
63
- buckets for efficient candidate selection.
64
-
65
- #### Parameters
66
-
67
- | Parameter | Type | Description |
68
- | -------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
69
- | `mappings` | [`RouteMapping`](../interfaces/RouteMapping.md)[] | Array of `{ stateId, path }` entries. Order determines priority when multiple patterns could match the same path. |
70
- | `options` | \{ `cacheSize?`: `number`; \} | Optional configuration. `options.cacheSize`: Maximum number of resolved parameterized path lookups to cache. Defaults to `500`. Increase for applications with many unique parameterized URL values (e.g. user profile pages with thousands of distinct IDs). After eviction the path falls back to the O(k) bucket pattern scan — correct but slower. Minimum effective value is `1` (QuickLRU constraint). |
71
- | `options.cacheSize?` | `number` | - |
72
-
73
- #### Returns
74
-
75
- `BaseRouteMap`
76
-
77
- ## Methods
78
-
79
- ### getPathByStateId()
80
-
81
- ```ts
82
- getPathByStateId(stateId): string | null;
83
- ```
84
-
85
- Defined in: [play-router/src/base-route-map.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-router/src/base-route-map.ts#L209)
86
-
87
- Look up the path pattern registered for a state ID.
88
-
89
- #### Parameters
90
-
91
- | Parameter | Type | Description |
92
- | --------- | -------- | --------------------------------------------------------- |
93
- | `stateId` | `string` | State machine state ID (e.g., `"profile"`, `"#settings"`) |
94
-
95
- #### Returns
96
-
97
- `string` \| `null`
98
-
99
- The registered path pattern, or `null` if the state ID is unknown
100
-
101
- #### Example
102
-
103
- ```typescript
104
- map.getPathByStateId("profile"); // "/profile/:userId"
105
- map.getPathByStateId("missing"); // null
106
- ```
107
-
108
- ---
109
-
110
- ### getStateIdByPath()
111
-
112
- ```ts
113
- getStateIdByPath(path): string | null;
114
- ```
115
-
116
- Defined in: [play-router/src/base-route-map.ts:174](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.34/packages/play-router/src/base-route-map.ts#L174)
117
-
118
- Resolve a URL path to its mapped state ID.
119
-
120
- Strips query strings and hash fragments before matching. Tries an O(1) exact
121
- lookup first, then falls back to bucket-indexed pattern matching. Results are
122
- cached after the first pattern match.
123
-
124
- #### Parameters
125
-
126
- | Parameter | Type | Description |
127
- | --------- | -------- | ------------------------------------------------------------------------------ |
128
- | `path` | `string` | URL pathname, optionally including query/hash (e.g., `"/profile/123?ref=nav"`) |
129
-
130
- #### Returns
131
-
132
- `string` \| `null`
133
-
134
- The mapped state ID, or `null` if no route matches
135
-
136
- #### Example
137
-
138
- ```typescript
139
- map.getStateIdByPath("/profile/123"); // "profile"
140
- map.getStateIdByPath("/unknown"); // null
141
- ```
@@ -1,25 +0,0 @@
1
- [Documentation](../../../README.md) / [@xmachines/shared](../README.md) / defineXmVitestConfig
2
-
3
- # Function: defineXmVitestConfig()
4
-
5
- ```ts
6
- function defineXmVitestConfig(importMetaUrl, overrides): UserConfig;
7
- ```
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)
10
-
11
- Create a Vitest config with XMachines workspace defaults.
12
-
13
- This wrapper exposes the helper at the package top-level so API docs
14
- render it under `@xmachines/shared` instead of nested module pages.
15
-
16
- ## Parameters
17
-
18
- | Parameter | Type |
19
- | --------------- | ------------------------------- |
20
- | `importMetaUrl` | `string` |
21
- | `overrides` | `Record`\<`string`, `unknown`\> |
22
-
23
- ## Returns
24
-
25
- `UserConfig`
@@ -1,24 +0,0 @@
1
- [Documentation](../../../README.md) / [@xmachines/shared](../README.md) / xmAliases
2
-
3
- # Function: xmAliases()
4
-
5
- ```ts
6
- function xmAliases(importMetaUrl): Record<string, string>;
7
- ```
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)
10
-
11
- Build Vite/Vitest alias entries for all `@xmachines/*` workspace packages.
12
-
13
- This wrapper exposes the helper at the package top-level so API docs
14
- render it under `@xmachines/shared` instead of nested module pages.
15
-
16
- ## Parameters
17
-
18
- | Parameter | Type |
19
- | --------------- | -------- |
20
- | `importMetaUrl` | `string` |
21
-
22
- ## Returns
23
-
24
- `Record`\<`string`, `string`\>
@@ -1,404 +0,0 @@
1
- [Documentation](../../README.md) / @xmachines/play-dom
2
-
3
- # @xmachines/play-dom
4
-
5
- **Vanilla DOM renderer for XMachines**
6
-
7
- Framework-free view rendering driven by an XState v5 actor's `currentView` TC39 Signal. Implements the same catalog-typed `defineRegistry` / `ComponentFn` / `ActionFn` API surface as `@json-render/react`, `/solid`, `/vue`, and `/svelte`.
8
-
9
- ## Installation
10
-
11
- ```bash
12
- npm install @xmachines/play-dom @json-render/core zod
13
- ```
14
-
15
- ## Key Exports
16
-
17
- | Export | Description |
18
- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
19
- | `createPlayUI(registryResult, options?)` | Batteries-included factory: returns `mount(actor, container) → disconnect` — parallel to `PlayUIProvider` in framework packages |
20
- | `createRenderer(catalog, componentMap)` | One-call factory: returns `mount(actor, container, options?) → disconnect` |
21
- | `connectRenderer(options)` | Functional API: connect actor → DOM with full options |
22
- | `defineRegistry(catalog, { components, actions })` | Build a catalog-typed `DomRegistry` with typed action handlers |
23
- | `UIProviderOptions` | Standard options interface: `validationFunctions`, `navigate`, `functions`, `onRenderError`, `fallback` |
24
- | `PlayRenderer` | Class-based renderer — `connect()` / `disconnect()` lifecycle |
25
- | `schema` | DOM schema for `defineCatalog` (mirrors `@json-render/react/schema`) |
26
- | `ComponentFn<C, K>` | Catalog-typed DOM component function type |
27
- | `ComponentContext<C, K>` | Context passed to each `ComponentFn` — `props`, `on`, `emit`, `children`, `bindings`, `ctx` |
28
- | `ActionFn<C, K>` | `(params, setState, state) => Promise<void>` — catalog-typed action handler |
29
- | `SetState` | `(updater: prev => next) => void` — write to the local state store |
30
- | `BaseComponentProps<P>` | Base type for catalog component prop definitions |
31
- | `CatalogHasActions<C>` | Conditional type: `true` when catalog declares actions |
32
- | `renderSpec(spec, store, registry, send, handlers)` | Pure Spec → DOM renderer (advanced use) |
33
-
34
- ## Quick Start — `createPlayUI`
35
-
36
- The standard entry point — mirrors `PlayUIProvider` in framework packages. Pass a `registryResult` (from `defineRegistry`) plus optional `UIProviderOptions`, and get back a `mount` function:
37
-
38
- ```typescript
39
- import { defineRegistry, createPlayUI, schema } from "@xmachines/play-dom";
40
- import { defineCatalog } from "@json-render/core";
41
- import { z } from "zod";
42
- import type { ComponentFn } from "@xmachines/play-dom";
43
-
44
- // 1. Define catalog
45
- const catalog = defineCatalog(schema, {
46
- components: {
47
- Home: { props: z.object({ title: z.string() }) },
48
- Login: { props: z.object({ title: z.string(), username: z.string().optional() }) },
49
- },
50
- actions: {
51
- login: { params: z.object({ username: z.string() }) },
52
- logout: {},
53
- },
54
- });
55
-
56
- // 2. Build registry with typed action handlers
57
- const registryResult = defineRegistry(catalog, {
58
- components: {
59
- Home: ({ props }) => {
60
- const el = document.createElement("section");
61
- el.textContent = props.title;
62
- return el;
63
- },
64
- Login: ({ props, on }) => {
65
- const section = document.createElement("section");
66
- const button = document.createElement("button");
67
- button.textContent = "Log In";
68
- const submit = on("submit");
69
- button.addEventListener("click", () => submit.emit());
70
- section.append(button);
71
- return section;
72
- },
73
- },
74
- actions: {
75
- login: async (params) => {
76
- if (!params) return;
77
- actor.send({ type: "auth.login", username: params.username });
78
- },
79
- logout: async () => actor.send({ type: "auth.logout" }),
80
- },
81
- });
82
-
83
- // 3. Create the UI factory (once, at module level)
84
- const ui = createPlayUI(registryResult, {
85
- onRenderError: (error, elementType) => console.warn(`<${elementType}> crashed:`, error),
86
- fallback: (() => {
87
- const el = document.createElement("p");
88
- el.textContent = "Loading…";
89
- return el;
90
- })(),
91
- });
92
-
93
- // 4. Mount when actor and container are ready
94
- const actor = createPlayer()();
95
- actor.start();
96
-
97
- const disconnect = ui.mount(actor, document.getElementById("app")!);
98
-
99
- // Cleanup:
100
- disconnect();
101
- ```
102
-
103
- ## Quick Start — `createRenderer`
104
-
105
- The lower-level one-call pattern — takes a catalog and component map directly:
106
-
107
- ```typescript
108
- import { createRenderer, schema } from "@xmachines/play-dom";
109
- import { defineCatalog } from "@json-render/core";
110
- import { z } from "zod";
111
- import type { ComponentFn } from "@xmachines/play-dom";
112
-
113
- // 1. Define catalog
114
- const catalog = defineCatalog(schema, {
115
- components: {
116
- Home: { props: z.object({ title: z.string() }) },
117
- Login: { props: z.object({ title: z.string(), username: z.string().optional() }) },
118
- },
119
- actions: {
120
- login: { params: z.object({ username: z.string() }) },
121
- logout: {},
122
- },
123
- });
124
- type AppCatalog = typeof catalog;
125
-
126
- // 2. Implement components
127
- const Home: ComponentFn<AppCatalog, "Home"> = ({ props }) => {
128
- const el = document.createElement("section");
129
- el.textContent = props.title;
130
- return el;
131
- };
132
-
133
- const Login: ComponentFn<AppCatalog, "Login"> = ({ props, on }) => {
134
- const section = document.createElement("section");
135
- const input = document.createElement("input");
136
- input.value = props.username ?? "";
137
- input.addEventListener("input", () => ctx.store.update((s) => ({ ...s, username: input.value })));
138
-
139
- const button = document.createElement("button");
140
- button.textContent = "Log In";
141
- const submit = on("submit");
142
- button.addEventListener("click", () => submit.emit());
143
-
144
- section.append(input, button);
145
- return section;
146
- };
147
-
148
- // 3. Create the renderer factory (once, at module level)
149
- const mount = createRenderer(catalog, { Home, Login });
150
-
151
- // 4. Mount when actor and container are ready
152
- const actor = createPlayer()();
153
- actor.start();
154
-
155
- const disconnect = mount(actor, document.getElementById("app")!);
156
-
157
- // Cleanup:
158
- disconnect();
159
- ```
160
-
161
- ## `defineRegistry` — Full Control
162
-
163
- When you need `registryResult.executeAction()` or want to share the registry with `connectRenderer`:
164
-
165
- ```typescript
166
- import { defineRegistry, connectRenderer, schema } from "@xmachines/play-dom";
167
- import { defineCatalog } from "@json-render/core";
168
- import { z } from "zod";
169
-
170
- const catalog = defineCatalog(schema, {
171
- components: {
172
- Home: { props: z.object({ title: z.string() }) },
173
- },
174
- actions: {
175
- login: { params: z.object({ username: z.string() }) },
176
- logout: {},
177
- },
178
- });
179
-
180
- // Action handlers receive (params, setState, state)
181
- // - params: resolved from the spec's on.submit.params (e.g. { $state: "/username" })
182
- // - setState: write to the local state store (e.g. to clear a form)
183
- // - state: current local state store snapshot
184
- const registryResult = defineRegistry(catalog, {
185
- components: {
186
- Home: ({ props }) => {
187
- const el = document.createElement("section");
188
- el.textContent = props.title;
189
- return el;
190
- },
191
- },
192
- actions: {
193
- login: async (params, setState) => {
194
- if (!params) return;
195
- actor.send({ type: "auth.login", username: params.username });
196
- setState((prev) => ({ ...prev, username: "" })); // clear the form
197
- },
198
- logout: async () => actor.send({ type: "auth.logout" }),
199
- },
200
- });
201
-
202
- const disconnect = connectRenderer({
203
- actor,
204
- registry: registryResult.registry,
205
- registryResult, // wires setState/state from xstate store automatically
206
- container: document.getElementById("app")!,
207
- });
208
- ```
209
-
210
- ## Component API
211
-
212
- ### `ComponentFn<C, K>` — component function signature
213
-
214
- ```typescript
215
- const MyCard: ComponentFn<AppCatalog, "Card"> = ({
216
- props, // catalog-typed props for this component
217
- children, // Node[] — rendered child nodes
218
- on, // (eventName) => EventHandle — get emit() for catalog-declared events
219
- emit, // (eventName) => void — fire an event directly
220
- bindings, // Record<string, string> — $bindState paths for two-way bindings
221
- ctx, // DomRenderContext — store, send, handlers, loading, functions
222
- }) => {
223
- const el = document.createElement("div");
224
- el.append(...children);
225
- return el;
226
- };
227
- ```
228
-
229
- ### Two-way binding with `$bindState`
230
-
231
- In the view spec:
232
-
233
- ```json
234
- { "username": { "$bindState": "/username" } }
235
- ```
236
-
237
- In the component:
238
-
239
- ```typescript
240
- const Login: ComponentFn<AppCatalog, "Login"> = ({ props, ctx }) => {
241
- const input = document.createElement("input");
242
- input.value = props.username ?? "";
243
- // Write back to the store on user input
244
- input.addEventListener("input", () => {
245
- ctx.store.update((s) => ({ ...s, username: input.value }));
246
- });
247
- return input;
248
- };
249
- ```
250
-
251
- ### `on()` — event handle
252
-
253
- ```typescript
254
- const submit = on("submit"); // EventHandle
255
- if (submit.bound) {
256
- button.addEventListener("click", (e) => {
257
- if (submit.shouldPreventDefault) e.preventDefault();
258
- submit.emit(); // resolves params from store, calls action handler
259
- });
260
- }
261
- ```
262
-
263
- ### `ActionFn` — action handler signature
264
-
265
- ```typescript
266
- // Full signature — all three params are available
267
- login: async (params, setState, state) => {
268
- actor.send({ type: "auth.login", username: params!.username });
269
- setState(prev => ({ ...prev, username: "" }));
270
- console.log("previous state was:", state);
271
- },
272
-
273
- // Params-only — setState/state can be omitted if unused
274
- logout: async () => actor.send({ type: "auth.logout" }),
275
- route: async (params) => actor.send({ type: "play.route", to: params!.to }),
276
- ```
277
-
278
- ## Spec Features
279
-
280
- `renderSpec` / `renderElement` supports these spec directives:
281
-
282
- | Directive | Description |
283
- | ------------------------------------------------------ | ------------------------------------------------------------------------------------- |
284
- | `visible` | Boolean or `{ $state: "/path" }` — hide element when false |
285
- | `on.submit` / `on.click` | Action binding — `{ action: "login", params: { username: { $state: "/username" } } }` |
286
- | `repeat: { statePath, key? }` | Render children once per item in the state array at `statePath` |
287
- | `watch: { "/path": actionBinding }` | Fire action when store path changes after mount |
288
- | `props.username: { $bindState: "/username" }` | Two-way binding — read from store, write back via `ctx.store.update()` |
289
- | `props.value: { $state: "/value" }` | Read-only store reference |
290
- | `props.label: { $computed: "computeFn", args: [...] }` | Computed prop via `functions` map |
291
-
292
- ## `PlayRenderer` — class API
293
-
294
- ```typescript
295
- import { PlayRenderer, defineRegistry } from "@xmachines/play-dom";
296
-
297
- const { registry, registryResult } = defineRegistry(catalog, { components, actions });
298
-
299
- const renderer = new PlayRenderer(document.getElementById("app")!, actor, registry, {
300
- registryResult,
301
- });
302
-
303
- renderer.connect(); // starts watching actor.currentView
304
- renderer.disconnect(); // stops watching, clears container
305
-
306
- // double-connect is safe — connect() calls disconnect() internally if already connected
307
- ```
308
-
309
- ## Options Reference
310
-
311
- ### `ConnectRendererOptions` / `PlayDomOptions`
312
-
313
- | Option | Type | Description |
314
- | ---------------- | ------------------------------- | ----------------------------------------------------------------------------- |
315
- | `actor` | `AbstractActor & Viewable` | Actor providing `currentView` signal |
316
- | `registry` | `DomRegistry` | Component renderer map from `defineRegistry` |
317
- | `registryResult` | `DefineRegistryResult` | Preferred — auto-wires `setState`/`state` from xstate store |
318
- | `handlers` | `Record<string, ActionHandler>` | Pre-resolved handlers (legacy / advanced) |
319
- | `container` | `HTMLElement` | DOM element to render into |
320
- | `fallback` | `HTMLElement \| null` | Shown on initial mount when view is `null` (initial mount only) |
321
- | `store` | `StateStore` | External store — controlled mode, overrides `spec.state` |
322
- | `loading` | `boolean` | Streaming mode — suppresses missing-child warnings, exposes `ctx.ctx.loading` |
323
-
324
- ## Learn More
325
-
326
- - [DOM Router adapter `@xmachines/play-dom-router`](../play-dom-router/README.md)
327
- - [API reference](../../_media/README.md)
328
- - [Play RFC](../../packages/docs/rfc/play.md)
329
-
330
- @xmachines/play-dom — Vanilla DOM renderer for XMachines Play architecture.
331
-
332
- Public API split into two layers:
333
-
334
- **XMachines layer** (this package):
335
-
336
- - `createRenderer()` — one-call factory: returns `mount(actor, container, options?) → disconnect`
337
- - `PlayRenderer` — class-based renderer with `connect()` / `disconnect()` lifecycle
338
- - `connectRenderer()` — functional API (backward-compat alternative to `PlayRenderer`)
339
- - `ConnectRendererOptions`, `PlayDomOptions`
340
-
341
- **json-render layer** (upstreamable to @json-render/dom):
342
-
343
- - `defineRegistry` — build a catalog-typed DomRegistry
344
- - `renderSpec` — pure Spec → DOM renderer (uses resolveElementProps from core)
345
- - `ComponentFn` — catalog-typed component function type
346
- - `ComponentContext` — catalog-typed render context (props, emit, on, children, bindings)
347
- - `ComponentRegistry` — catalog-typed registry input type
348
- - `DomComponentRenderer` — raw element-level renderer type
349
- - `DomRegistry` — raw registry type
350
- - `DomRenderContext` — raw render context
351
- - `EventHandle` — event handle returned by on()
352
- - `SetState` — state updater function passed to ActionFn
353
- - `CatalogHasActions` — conditional type: true when catalog declares actions
354
- - `BaseComponentProps` — base props type for catalog component definitions
355
-
356
- ## Classes
357
-
358
- - [PlayRenderer](classes/PlayRenderer.md)
359
-
360
- ## Interfaces
361
-
362
- - [ComponentContext](interfaces/ComponentContext.md)
363
- - [ConnectRendererOptions](interfaces/ConnectRendererOptions.md)
364
- - [CreatePlayUIOptions](interfaces/CreatePlayUIOptions.md)
365
- - [DefineRegistryResult](interfaces/DefineRegistryResult.md)
366
- - [DomRenderContext](interfaces/DomRenderContext.md)
367
- - [EventHandle](interfaces/EventHandle.md)
368
- - [MountOptions](interfaces/MountOptions.md)
369
- - [PlayDomOptions](interfaces/PlayDomOptions.md)
370
- - [UIProviderOptions](interfaces/UIProviderOptions.md)
371
-
372
- ## Type Aliases
373
-
374
- - [ActionFn](type-aliases/ActionFn.md)
375
- - [Actions](type-aliases/Actions.md)
376
- - [BaseComponentProps](type-aliases/BaseComponentProps.md)
377
- - [CatalogHasActions](type-aliases/CatalogHasActions.md)
378
- - [ComponentFn](type-aliases/ComponentFn.md)
379
- - [ComponentRegistry](type-aliases/ComponentRegistry.md)
380
- - [DefineRegistryOptions](type-aliases/DefineRegistryOptions.md)
381
- - [DomComponentRenderer](type-aliases/DomComponentRenderer.md)
382
- - [DomRegistry](type-aliases/DomRegistry.md)
383
- - [DomSchema](type-aliases/DomSchema.md)
384
- - [MountFn](type-aliases/MountFn.md)
385
- - [RenderErrorHandler](type-aliases/RenderErrorHandler.md)
386
- - [SetState](type-aliases/SetState.md)
387
-
388
- ## Variables
389
-
390
- - [schema](variables/schema.md)
391
-
392
- ## Functions
393
-
394
- - [connectRenderer](functions/connectRenderer.md)
395
- - [createPlayUI](functions/createPlayUI.md)
396
- - [createRenderer](functions/createRenderer.md)
397
- - [defineRegistry](functions/defineRegistry.md)
398
- - [renderSpec](functions/renderSpec.md)
399
-
400
- ## References
401
-
402
- ### RenderErrorHandler
403
-
404
- Re-exports [RenderErrorHandler](type-aliases/RenderErrorHandler.md)