@xmachines/docs 1.1.0 → 2.0.0

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 (379) hide show
  1. package/README.md +5 -2
  2. package/api/@xmachines/play/README.md +1 -2
  3. package/api/@xmachines/play/classes/NonNullableError.md +4 -4
  4. package/api/@xmachines/play/classes/PlayError.md +4 -4
  5. package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
  6. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  7. package/api/@xmachines/play-actor/README.md +61 -18
  8. package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -3
  9. package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +1 -1
  10. package/api/@xmachines/play-actor/functions/composePlayState.md +26 -0
  11. package/api/@xmachines/play-actor/functions/createViewStoreLifecycle.md +21 -0
  12. package/api/@xmachines/play-actor/functions/guardContextWrites.md +41 -0
  13. package/api/@xmachines/play-actor/functions/refreshContextSubtree.md +27 -0
  14. package/api/@xmachines/play-actor/functions/reuseComposedState.md +41 -0
  15. package/api/@xmachines/play-actor/functions/shallowEqualExcept.md +28 -0
  16. package/api/@xmachines/play-actor/functions/toAtomState.md +1 -1
  17. package/api/@xmachines/play-actor/functions/typedSpec.md +23 -26
  18. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +5 -5
  19. package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +5 -5
  20. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +12 -14
  21. package/api/@xmachines/play-actor/interfaces/ResolveViewStoreOptions.md +11 -0
  22. package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
  23. package/api/@xmachines/play-actor/interfaces/ViewStoreLifecycle.md +50 -0
  24. package/api/@xmachines/play-actor/interfaces/ViewStoreResolution.md +15 -0
  25. package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
  26. package/api/@xmachines/play-actor/variables/CONTEXT_STATE_KEY.md +15 -0
  27. package/api/@xmachines/play-dom/README.md +5 -3
  28. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  29. package/api/@xmachines/play-dom/functions/createPlayUI.md +1 -1
  30. package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
  31. package/api/@xmachines/play-dom/functions/createValidationRegistry.md +22 -0
  32. package/api/@xmachines/play-dom/functions/defineRegistry.md +5 -5
  33. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +9 -8
  34. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +2 -2
  35. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +2 -0
  36. package/api/@xmachines/play-dom/interfaces/FieldValidationState.md +16 -0
  37. package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
  38. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +4 -4
  39. package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +2 -0
  40. package/api/@xmachines/play-dom/interfaces/ValidationRegistry.md +21 -0
  41. package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +10 -0
  42. package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
  43. package/api/@xmachines/play-dom/variables/schema.md +35 -45
  44. package/api/@xmachines/play-dom-router/README.md +1 -2
  45. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  46. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  47. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +1 -1
  48. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  49. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
  50. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
  51. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
  52. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +6 -6
  53. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +4 -4
  54. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  55. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
  56. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +2 -2
  57. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  58. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  59. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
  60. package/api/@xmachines/play-react/README.md +2 -2
  61. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
  62. package/api/@xmachines/play-react/functions/defineRegistry.md +5 -5
  63. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  64. package/api/@xmachines/play-react/functions/useFieldValidation.md +31 -0
  65. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  66. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  67. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +8 -8
  68. package/api/@xmachines/play-react/interfaces/ComponentContext.md +9 -8
  69. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
  70. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
  71. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +8 -8
  72. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
  73. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
  74. package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
  75. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  76. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  77. package/api/@xmachines/play-react-router/README.md +1 -2
  78. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +4 -4
  79. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  80. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +1 -1
  81. package/api/@xmachines/play-react-router/functions/createRouteMap.md +1 -1
  82. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  83. package/api/@xmachines/play-react-router/interfaces/PlayActor.md +5 -5
  84. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +6 -6
  85. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderBaseProps.md +5 -5
  86. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  87. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +2 -2
  88. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  89. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  90. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  91. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +1 -1
  92. package/api/@xmachines/play-router/README.md +1 -2
  93. package/api/@xmachines/play-router/classes/RouteMap.md +4 -4
  94. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +4 -4
  95. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  96. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  97. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  98. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +1 -1
  99. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  100. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  101. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  102. package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
  103. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  104. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  105. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  106. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  107. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  108. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  109. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  110. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  111. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  112. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  113. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  114. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
  115. package/api/@xmachines/play-router/interfaces/LocationLike.md +3 -3
  116. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
  117. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
  118. package/api/@xmachines/play-router/interfaces/PlayActor.md +5 -5
  119. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +6 -6
  120. package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +3 -3
  121. package/api/@xmachines/play-router/interfaces/RoutableActor.md +4 -4
  122. package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
  123. package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +2 -2
  124. package/api/@xmachines/play-router/interfaces/RouteMapping.md +3 -3
  125. package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
  126. package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
  127. package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
  128. package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
  129. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  130. package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
  131. package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
  132. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  133. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  134. package/api/@xmachines/play-signals/README.md +1 -2
  135. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  136. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  137. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  138. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  139. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  140. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  141. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  142. package/api/@xmachines/play-solid/README.md +1 -2
  143. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  144. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  145. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +8 -8
  146. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +8 -8
  147. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +5 -5
  148. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  149. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  150. package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
  151. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  152. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  153. package/api/@xmachines/play-solid-router/README.md +1 -2
  154. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  155. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +5 -5
  156. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +1 -1
  157. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
  158. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -3
  159. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +5 -5
  160. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +6 -6
  161. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderBaseProps.md +5 -5
  162. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  163. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +2 -2
  164. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  165. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  166. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  167. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  168. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  169. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +1 -1
  170. package/api/@xmachines/play-svelte/README.md +20 -3
  171. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  172. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  173. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  174. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  175. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +8 -8
  176. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
  177. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +11 -11
  178. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
  179. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  180. package/api/@xmachines/play-svelte-spa-router/README.md +1 -2
  181. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  182. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  183. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +1 -1
  184. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +4 -4
  185. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +6 -6
  186. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +2 -2
  187. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  188. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  189. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  190. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  191. package/api/@xmachines/play-sveltekit-router/README.md +1 -2
  192. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  193. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  194. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +1 -1
  195. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +4 -4
  196. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  197. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +6 -6
  198. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +2 -2
  199. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  200. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  201. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  202. package/api/@xmachines/play-tanstack-react-router/README.md +1 -2
  203. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  204. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +4 -4
  205. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +1 -1
  206. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  207. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  208. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  209. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +5 -5
  210. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +6 -6
  211. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderBaseProps.md +5 -5
  212. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  213. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +2 -2
  214. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  215. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  216. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  217. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  218. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  219. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +4 -4
  220. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +1 -1
  221. package/api/@xmachines/play-tanstack-router/README.md +1 -2
  222. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +2 -2
  223. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  224. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +4 -4
  225. package/api/@xmachines/play-tanstack-solid-router/README.md +1 -2
  226. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  227. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +5 -5
  228. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +1 -1
  229. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
  230. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +5 -5
  231. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +6 -6
  232. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderBaseProps.md +5 -5
  233. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  234. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +2 -2
  235. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  236. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  237. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  238. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  239. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  240. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +4 -4
  241. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +1 -1
  242. package/api/@xmachines/play-vue/README.md +3 -3
  243. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  244. package/api/@xmachines/play-vue/functions/getPlayViewContext.md +1 -1
  245. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  246. package/api/@xmachines/play-vue/functions/useFieldValidation.md +31 -0
  247. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +5 -5
  248. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +8 -8
  249. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
  250. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +1 -1
  251. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  252. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  253. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  254. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  255. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  256. package/api/@xmachines/play-vue-router/README.md +1 -2
  257. package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
  258. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +5 -5
  259. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  260. package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +5 -5
  261. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +6 -6
  262. package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +2 -2
  263. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
  264. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  265. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  266. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  267. package/api/@xmachines/play-xstate/README.md +36 -2
  268. package/api/@xmachines/play-xstate/classes/PlayerActor.md +28 -28
  269. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
  270. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  271. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  272. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  273. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  274. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  275. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  276. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
  277. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  278. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  279. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  280. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  281. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  282. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +7 -7
  283. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
  284. package/api/@xmachines/play-xstate/interfaces/RouteObject.md +2 -2
  285. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  286. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  287. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  288. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  289. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  290. package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +1 -1
  291. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  292. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  293. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  294. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  295. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  296. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +7 -2
  297. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  298. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  299. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
  300. package/contributing/architecture.md +6 -6
  301. package/contributing/deployment.md +2 -2
  302. package/contributing/development.md +5 -3
  303. package/contributing/testing.md +24 -10
  304. package/examples/@xmachines/play-dom-demo/README.md +2 -2
  305. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
  306. package/examples/@xmachines/play-dom-demo/functions/initShell.md +6 -7
  307. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
  308. package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
  309. package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
  310. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
  311. package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
  312. package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
  313. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
  314. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
  315. package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
  316. package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
  317. package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
  318. package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
  319. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
  320. package/examples/@xmachines/play-dom-router-demo/README.md +2 -2
  321. package/examples/@xmachines/play-react-demo/README.md +2 -2
  322. package/examples/@xmachines/play-react-demo/functions/App.md +1 -1
  323. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
  324. package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
  325. package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
  326. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
  327. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +2 -3
  328. package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
  329. package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
  330. package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
  331. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
  332. package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
  333. package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
  334. package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
  335. package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
  336. package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -2
  337. package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
  338. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
  339. package/examples/@xmachines/play-react-router-demo/README.md +2 -2
  340. package/examples/@xmachines/play-solid-demo/README.md +2 -2
  341. package/examples/@xmachines/play-solid-demo/functions/App.md +1 -1
  342. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
  343. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  344. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  345. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  346. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +2 -4
  347. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  348. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  349. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
  350. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
  351. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  352. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  353. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  354. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  355. package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -2
  356. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  357. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
  358. package/examples/@xmachines/play-solid-router-demo/README.md +2 -2
  359. package/examples/@xmachines/play-svelte-demo/README.md +2 -2
  360. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
  361. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
  362. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +2 -2
  363. package/examples/@xmachines/play-sveltekit-router-demo/README.md +2 -2
  364. package/examples/@xmachines/play-tanstack-react-router-demo/README.md +2 -2
  365. package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +2 -2
  366. package/examples/@xmachines/play-vue-demo/README.md +2 -2
  367. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
  368. package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
  369. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +1 -1
  370. package/examples/@xmachines/play-vue-router-demo/README.md +2 -2
  371. package/examples/README.md +3 -0
  372. package/examples/form-validation.md +1 -1
  373. package/guides/README.md +6 -0
  374. package/guides/actor-model.md +1 -1
  375. package/guides/getting-started.md +4 -2
  376. package/guides/inspector.md +197 -0
  377. package/guides/state-machines.md +3 -1
  378. package/package.json +2 -2
  379. package/rfc/play.md +11 -2
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: BaseActorProviderProps\<TRegistry\>
4
4
 
5
- Defined in: [packages/play-actor/src/abstract-actor.ts:155](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L155)
5
+ Defined in: [packages/play-actor/src/abstract-actor.ts:152](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L152)
6
6
 
7
7
  Framework-agnostic base props shared by every `ActorProvider` implementation
8
8
  (React, Vue, Solid, Svelte). `TRegistry` captures the framework-specific
@@ -40,7 +40,7 @@ interface ActorProviderProps extends BaseActorProviderProps<DefineRegistryResult
40
40
 
41
41
  | Property | Type | Description | Defined in |
42
42
  | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
43
- | <a id="property-actor"></a> `actor` | [`AbstractActor`](../classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Viewable`](Viewable.md) | Actor instance with currentView signal (requires Viewable capability). | [packages/play-actor/src/abstract-actor.ts:159](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L159) |
44
- | <a id="property-onrendererror"></a> `onRenderError?` | [`RenderErrorHandler`](../../play-dom/type-aliases/RenderErrorHandler.md) | Called when an individual catalog component throws during render. Takes precedence over any onRenderError set via defineRegistry. | [packages/play-actor/src/abstract-actor.ts:172](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L172) |
45
- | <a id="property-registryresult"></a> `registryResult` | `TRegistry` | Full result from defineRegistry() — contains the component registry and action handlers factory. | [packages/play-actor/src/abstract-actor.ts:161](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L161) |
46
- | <a id="property-store"></a> `store?` | `StateStore` | Optional external StateStore (controlled mode). When provided, spec.state is ignored and this store is the single source of truth. When omitted, a fresh @xstate/store atom is created per view transition from spec.state. | [packages/play-actor/src/abstract-actor.ts:167](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L167) |
43
+ | <a id="property-actor"></a> `actor` | [`AbstractActor`](../classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Viewable`](Viewable.md) | Actor instance with currentView signal (requires Viewable capability). | [packages/play-actor/src/abstract-actor.ts:156](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L156) |
44
+ | <a id="property-onrendererror"></a> `onRenderError?` | [`RenderErrorHandler`](../../play-dom/type-aliases/RenderErrorHandler.md) | Called when an individual catalog component throws during render. Takes precedence over any onRenderError set via defineRegistry. | [packages/play-actor/src/abstract-actor.ts:169](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L169) |
45
+ | <a id="property-registryresult"></a> `registryResult` | `TRegistry` | Full result from defineRegistry() — contains the component registry and action handlers factory. | [packages/play-actor/src/abstract-actor.ts:158](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L158) |
46
+ | <a id="property-store"></a> `store?` | `StateStore` | Optional external StateStore (controlled mode). When provided, spec.state is ignored and this store is the single source of truth. When omitted, a fresh @xstate/store atom is created per view transition from spec.state. | [packages/play-actor/src/abstract-actor.ts:164](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L164) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: BaseViewContextValue\<TRegistry\>
4
4
 
5
- Defined in: [packages/play-actor/src/abstract-actor.ts:123](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L123)
5
+ Defined in: [packages/play-actor/src/abstract-actor.ts:120](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L120)
6
6
 
7
7
  Framework-agnostic base for every framework's `ViewContextValue`.
8
8
 
@@ -27,7 +27,7 @@ type) so it is typed via `TRegistry` — the same generic used in `BaseActorProv
27
27
 
28
28
  | Property | Type | Description | Defined in |
29
29
  | ----------------------------------------- | ------------------------------------- | --------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
30
- | <a id="property-handlers"></a> `handlers` | `Record`\<`string`, `ActionHandler`\> | Action handlers resolved against the live StateStore. | [packages/play-actor/src/abstract-actor.ts:127](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L127) |
31
- | <a id="property-registry"></a> `registry` | `TRegistry` | Component registry from registryResult.registry. | [packages/play-actor/src/abstract-actor.ts:129](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L129) |
32
- | <a id="property-spec"></a> `spec` | [`PlaySpec`](PlaySpec.md) | The current PlaySpec to render. | [packages/play-actor/src/abstract-actor.ts:125](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L125) |
33
- | <a id="property-store"></a> `store` | `StateStore` | The active StateStore — pass to JSONUIProvider/JsonUIProvider as `store` to share state across providers. | [packages/play-actor/src/abstract-actor.ts:131](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L131) |
30
+ | <a id="property-handlers"></a> `handlers` | `Record`\<`string`, `ActionHandler`\> | Action handlers resolved against the live StateStore. | [packages/play-actor/src/abstract-actor.ts:124](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L124) |
31
+ | <a id="property-registry"></a> `registry` | `TRegistry` | Component registry from registryResult.registry. | [packages/play-actor/src/abstract-actor.ts:126](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L126) |
32
+ | <a id="property-spec"></a> `spec` | [`PlaySpec`](PlaySpec.md) | The current PlaySpec to render. | [packages/play-actor/src/abstract-actor.ts:122](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L122) |
33
+ | <a id="property-store"></a> `store` | `StateStore` | The active StateStore — pass to JSONUIProvider/JsonUIProvider as `store` to share state across providers. | [packages/play-actor/src/abstract-actor.ts:128](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L128) |
@@ -2,17 +2,15 @@
2
2
 
3
3
  # Interface: PlaySpec
4
4
 
5
- Defined in: [packages/play-actor/src/abstract-actor.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L48)
5
+ Defined in: [packages/play-actor/src/abstract-actor.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L46)
6
6
 
7
7
  XMachines extension of `@xmachines/json-render-core` `Spec`.
8
8
 
9
- Adds `contextProps` an explicit allowlist of machine context fields that
10
- `deriveCurrentView` merges into element props as low-priority slots. Only
11
- fields named here are ever exposed to components; nothing leaks from context
12
- without an opt-in declaration.
13
-
14
- Use `typedSpec<TContext>(...)` at the definition site to validate `contextProps`
15
- entries against your machine's context type at compile time.
9
+ The machine's context is projected into every derived view's state store
10
+ under the read-only `/context` subtree, so specs read it through the
11
+ ordinary `{ $state: "/context/…" }` grammar in props, `visible`
12
+ conditions, and `repeat.statePath` alike. The whole context is always
13
+ projected; a spec simply reads the paths it needs.
16
14
 
17
15
  ## Extends
18
16
 
@@ -20,9 +18,9 @@ entries against your machine's context type at compile time.
20
18
 
21
19
  ## Properties
22
20
 
23
- | Property | Modifier | Type | Description | Inherited from | Defined in |
24
- | -------------------------------------------------- | ---------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
25
- | <a id="property-contextprops"></a> `contextProps?` | `readonly` | readonly `string`[] | Explicit allowlist of machine context field names to expose as prop slots. Each named field is merged into every spec element's `props` at view derivation time, filling any slot whose current value is `undefined`. Use `typedSpec<TContext>(...)` to constrain entries to `keyof TContext & string`. | - | [packages/play-actor/src/abstract-actor.ts:56](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L56) |
26
- | <a id="property-elements"></a> `elements` | `public` | `Record`\<`string`, `UIElement`\> | Flat map of elements by key | `Spec.elements` | - |
27
- | <a id="property-root"></a> `root` | `public` | `string` | Root element key | `Spec.root` | - |
28
- | <a id="property-state"></a> `state?` | `public` | `Record`\<`string`, `unknown`\> | Optional initial state to seed the state model. Components using statePath will read from / write to this state. | `Spec.state` | - |
21
+ | Property | Modifier | Type | Description | Inherited from | Defined in |
22
+ | ----------------------------------------- | ---------- | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
23
+ | <a id="property-elements"></a> `elements` | `public` | `Record`\<`string`, `UIElement`\> | Flat map of elements by key | `Spec.elements` | - |
24
+ | <a id="property-root"></a> `root` | `public` | `string` | Root element key | `Spec.root` | - |
25
+ | <a id="property-state"></a> `state?` | `public` | `Record`\<`string`, `unknown`\> | Optional initial state to seed the state model. Components using statePath will read from / write to this state. | `Spec.state` | - |
26
+ | <a id="property-viewkey"></a> `viewKey?` | `readonly` | `string` | Identity of the view this derived spec came from — set by `deriveCurrentView` from the meta entry the derivation actually selected. Providers key their store lifecycle on it: a changed `viewKey` reseeds the store; an unchanged one refreshes `/context` in place, preserving ephemeral view state. Never author this field in `meta.view`. | - | [packages/play-actor/src/abstract-actor.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L54) |
@@ -0,0 +1,11 @@
1
+ [API](../../../README.md) / [@xmachines/play-actor](../README.md) / ResolveViewStoreOptions
2
+
3
+ # Interface: ResolveViewStoreOptions
4
+
5
+ Defined in: [packages/play-actor/src/view-store-lifecycle.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/view-store-lifecycle.ts#L52)
6
+
7
+ ## Properties
8
+
9
+ | Property | Type | Description | Defined in |
10
+ | ------------------------------------------------------------------ | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
11
+ | <a id="property-refreshexternalstore"></a> `refreshExternalStore?` | `boolean` | Controlled mode only: refresh the external store's /context during this resolve (default true). Pass false where notifying store subscribers is not allowed at the call site (React's render path) and refresh from an effect instead. | [packages/play-actor/src/view-store-lifecycle.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/view-store-lifecycle.ts#L59) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: Routable
4
4
 
5
- Defined in: [packages/play-actor/src/abstract-actor.ts:32](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L32)
5
+ Defined in: [packages/play-actor/src/abstract-actor.ts:32](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L32)
6
6
 
7
7
  Optional capability: Routing support
8
8
 
@@ -10,5 +10,5 @@ Optional capability: Routing support
10
10
 
11
11
  | Property | Modifier | Type | Defined in |
12
12
  | ------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
13
- | <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | [packages/play-actor/src/abstract-actor.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L33) |
14
- | <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | [packages/play-actor/src/abstract-actor.ts:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L34) |
13
+ | <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | [packages/play-actor/src/abstract-actor.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L33) |
14
+ | <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | [packages/play-actor/src/abstract-actor.ts:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L34) |
@@ -0,0 +1,50 @@
1
+ [API](../../../README.md) / [@xmachines/play-actor](../README.md) / ViewStoreLifecycle
2
+
3
+ # Interface: ViewStoreLifecycle
4
+
5
+ Defined in: [packages/play-actor/src/view-store-lifecycle.ts:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/view-store-lifecycle.ts#L62)
6
+
7
+ ## Methods
8
+
9
+ ### reset()
10
+
11
+ ```ts
12
+ reset(): void;
13
+ ```
14
+
15
+ Defined in: [packages/play-actor/src/view-store-lifecycle.ts:79](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/view-store-lifecycle.ts#L79)
16
+
17
+ Drop everything (unmount/disconnect) — the next resolve reseeds.
18
+
19
+ #### Returns
20
+
21
+ `void`
22
+
23
+ ---
24
+
25
+ ### resolve()
26
+
27
+ ```ts
28
+ resolve(
29
+ actor,
30
+ view,
31
+ externalStore?,
32
+ options?): ViewStoreResolution;
33
+ ```
34
+
35
+ Defined in: [packages/play-actor/src/view-store-lifecycle.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/view-store-lifecycle.ts#L72)
36
+
37
+ Bring the store in line with an emission and return it (with its guard).
38
+
39
+ #### Parameters
40
+
41
+ | Parameter | Type | Description |
42
+ | ---------------- | ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
43
+ | `actor` | `unknown` | The actor the emission came from — a swap drops the kept store. |
44
+ | `view` | [`PlaySpec`](PlaySpec.md) | The derived view (non-null; a null emission is a GAP, not a new view — callers simply do not resolve on null, keeping the store). |
45
+ | `externalStore?` | `StateStore` | Controlled mode: the caller-owned store. |
46
+ | `options?` | [`ResolveViewStoreOptions`](ResolveViewStoreOptions.md) | See [ResolveViewStoreOptions](ResolveViewStoreOptions.md). |
47
+
48
+ #### Returns
49
+
50
+ [`ViewStoreResolution`](ViewStoreResolution.md)
@@ -0,0 +1,15 @@
1
+ [API](../../../README.md) / [@xmachines/play-actor](../README.md) / ViewStoreResolution
2
+
3
+ # Interface: ViewStoreResolution
4
+
5
+ Defined in: [packages/play-actor/src/view-store-lifecycle.ts:35](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/view-store-lifecycle.ts#L35)
6
+
7
+ What a resolve produced — see [ViewStoreLifecycle.resolve](ViewStoreLifecycle.md#resolve).
8
+
9
+ ## Properties
10
+
11
+ | Property | Type | Description | Defined in |
12
+ | ------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
13
+ | <a id="property-guardedstore"></a> `guardedStore` | `StateStore` | The store to hand children ($bindState, setState, chained set): writes under /context throw. One wrapper per underlying store — the identity is cached so `useSyncExternalStore`-style consumers stay stable. | [packages/play-actor/src/view-store-lifecycle.ts:43](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/view-store-lifecycle.ts#L43) |
14
+ | <a id="property-reseeded"></a> `reseeded` | `boolean` | True when this resolve created a fresh store (first resolve, viewKey change, per-emission fallback, actor swap). Providers that remount a subtree per store (Vue's storeKey) key on it. | [packages/play-actor/src/view-store-lifecycle.ts:49](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/view-store-lifecycle.ts#L49) |
15
+ | <a id="property-store"></a> `store` | `StateStore` | The UNGUARDED store — the machinery's own refresh reference. | [packages/play-actor/src/view-store-lifecycle.ts:37](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/view-store-lifecycle.ts#L37) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: Viewable
4
4
 
5
- Defined in: [packages/play-actor/src/abstract-actor.ts:104](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L104)
5
+ Defined in: [packages/play-actor/src/abstract-actor.ts:101](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L101)
6
6
 
7
7
  Actor capability for exposing renderable view state.
8
8
 
@@ -15,4 +15,4 @@ framework adapter.
15
15
 
16
16
  | Property | Modifier | Type | Description | Defined in |
17
17
  | ----------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
18
- | <a id="property-currentview"></a> `currentView` | `readonly` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<[`PlaySpec`](PlaySpec.md) \| `null`\> | Current view signal. Contains the json-render PlaySpec for the current machine state, or null when no view is active. Infrastructure renders view — Logic-Driven UI invariant. | [packages/play-actor/src/abstract-actor.ts:111](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-actor/src/abstract-actor.ts#L111) |
18
+ | <a id="property-currentview"></a> `currentView` | `readonly` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<[`PlaySpec`](PlaySpec.md) \| `null`\> | Current view signal. Contains the json-render PlaySpec for the current machine state, or null when no view is active. Infrastructure renders view — Logic-Driven UI invariant. | [packages/play-actor/src/abstract-actor.ts:108](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/abstract-actor.ts#L108) |
@@ -0,0 +1,15 @@
1
+ [API](../../../README.md) / [@xmachines/play-actor](../README.md) / CONTEXT\_STATE\_KEY
2
+
3
+ # Variable: CONTEXT\_STATE\_KEY
4
+
5
+ ```ts
6
+ const CONTEXT_STATE_KEY: "context" = "context";
7
+ ```
8
+
9
+ Defined in: [packages/play-actor/src/context-projection.ts:31](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-actor/src/context-projection.ts#L31)
10
+
11
+ The reserved top-level state key the projection materializes under.
12
+
13
+ A view's authored `spec.state` must not declare this key — when it does, the
14
+ projection is skipped for that view (the authored state wins) and a dev
15
+ warning is emitted. See [composePlayState](../functions/composePlayState.md).
@@ -4,8 +4,7 @@
4
4
 
5
5
  Vanilla DOM renderer for XMachines Play architecture with signal-driven rendering.
6
6
 
7
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
8
- [![Version](https://img.shields.io/badge/version-1.1.0-blue)](https://www.npmjs.com/package/@xmachines/play-dom)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-2.0.0-blue)](https://www.npmjs.com/package/@xmachines/play-dom)
9
8
 
10
9
  Part of the [XMachines Play monorepo](../../README.md).
11
10
 
@@ -18,7 +17,7 @@ pnpm add @xmachines/play-dom
18
17
  **Peer dependencies:**
19
18
 
20
19
  ```bash
21
- pnpm add xstate @xstate/store @xmachines/json-render-core @xmachines/json-render-xstate
20
+ pnpm add xstate @xstate/store @xmachines/json-render-core @xmachines/json-render-dom @xmachines/json-render-xstate
22
21
  ```
23
22
 
24
23
  ## Quick Start
@@ -351,10 +350,12 @@ Public API split into two layers:
351
350
  - [DefineRegistryResult](interfaces/DefineRegistryResult.md)
352
351
  - [DomRenderContext](interfaces/DomRenderContext.md)
353
352
  - [EventHandle](interfaces/EventHandle.md)
353
+ - [FieldValidationState](interfaces/FieldValidationState.md)
354
354
  - [MountOptions](interfaces/MountOptions.md)
355
355
  - [PlayDomOptions](interfaces/PlayDomOptions.md)
356
356
  - [RenderSpecOptions](interfaces/RenderSpecOptions.md)
357
357
  - [UIProviderOptions](interfaces/UIProviderOptions.md)
358
+ - [ValidationRegistry](interfaces/ValidationRegistry.md)
358
359
 
359
360
  ## Type Aliases
360
361
 
@@ -381,5 +382,6 @@ Public API split into two layers:
381
382
 
382
383
  - [createPlayUI](functions/createPlayUI.md)
383
384
  - [createRenderer](functions/createRenderer.md)
385
+ - [createValidationRegistry](functions/createValidationRegistry.md)
384
386
  - [defineRegistry](functions/defineRegistry.md)
385
387
  - [renderSpec](functions/renderSpec.md)
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: PlayRenderer
4
4
 
5
- Defined in: [packages/play-dom/src/PlayRenderer.ts:67](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-dom/src/PlayRenderer.ts#L67)
5
+ Defined in: [packages/play-dom/src/PlayRenderer.ts:68](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-dom/src/PlayRenderer.ts#L68)
6
6
 
7
7
  PlayRenderer connects an actor's `currentView` signal to the DOM renderer.
8
8
 
@@ -61,7 +61,7 @@ new PlayRenderer(
61
61
  options?): PlayRenderer;
62
62
  ```
63
63
 
64
- Defined in: [packages/play-dom/src/PlayRenderer.ts:102](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-dom/src/PlayRenderer.ts#L102)
64
+ Defined in: [packages/play-dom/src/PlayRenderer.ts:126](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-dom/src/PlayRenderer.ts#L126)
65
65
 
66
66
  #### Parameters
67
67
 
@@ -84,7 +84,7 @@ Defined in: [packages/play-dom/src/PlayRenderer.ts:102](https://gitlab.com/xmach
84
84
  connect(): void;
85
85
  ```
86
86
 
87
- Defined in: [packages/play-dom/src/PlayRenderer.ts:118](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-dom/src/PlayRenderer.ts#L118)
87
+ Defined in: [packages/play-dom/src/PlayRenderer.ts:142](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-dom/src/PlayRenderer.ts#L142)
88
88
 
89
89
  Start watching actor.currentView and render to container.
90
90
  Renders the initial view synchronously, then subscribes to signal changes.
@@ -106,7 +106,7 @@ change. Guard against this by auto-disconnecting first.
106
106
  disconnect(): void;
107
107
  ```
108
108
 
109
- Defined in: [packages/play-dom/src/PlayRenderer.ts:127](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-dom/src/PlayRenderer.ts#L127)
109
+ Defined in: [packages/play-dom/src/PlayRenderer.ts:151](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-dom/src/PlayRenderer.ts#L151)
110
110
 
111
111
  Stop watching and clear the container.
112
112
 
@@ -6,7 +6,7 @@
6
6
  function createPlayUI(registryResult, options?): MountFn;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-dom/src/create-play-ui.ts:93](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-dom/src/create-play-ui.ts#L93)
9
+ Defined in: [packages/play-dom/src/create-play-ui.ts:93](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-dom/src/create-play-ui.ts#L93)
10
10
 
11
11
  Create a batteries-included DOM renderer mount function.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function createRenderer<C>(catalog, componentMap): (actor, container, options?) => () => void;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-dom/src/create-renderer.ts:84](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-dom/src/create-renderer.ts#L84)
9
+ Defined in: [packages/play-dom/src/create-renderer.ts:84](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-dom/src/create-renderer.ts#L84)
10
10
 
11
11
  Create a reusable DOM renderer factory from a catalog and component map.
12
12
 
@@ -0,0 +1,22 @@
1
+ [API](../../../README.md) / [@xmachines/play-dom](../README.md) / createValidationRegistry
2
+
3
+ # Function: createValidationRegistry()
4
+
5
+ ```ts
6
+ function createValidationRegistry(store, customFunctions?): ValidationRegistry;
7
+ ```
8
+
9
+ Defined in: `@xmachines/json-render-dom`
10
+
11
+ Create a validation registry bound to `store`.
12
+
13
+ ## Parameters
14
+
15
+ | Parameter | Type | Description |
16
+ | ------------------ | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- |
17
+ | `store` | `StateStore` | Live state store; field values are read from its current snapshot on every `validate` call, so a validation sees writes made in the same handler. |
18
+ | `customFunctions?` | `Record`\<`string`, `ValidationFunction`\> | Catalog validation functions, keyed by check type. |
19
+
20
+ ## Returns
21
+
22
+ [`ValidationRegistry`](../interfaces/ValidationRegistry.md)
@@ -3,7 +3,7 @@
3
3
  # Function: defineRegistry()
4
4
 
5
5
  ```ts
6
- function defineRegistry<C>(_catalog, options): DefineRegistryResult;
6
+ function defineRegistry<C>(catalog, options): DefineRegistryResult;
7
7
  ```
8
8
 
9
9
  Defined in: `@xmachines/json-render-dom`
@@ -16,10 +16,10 @@ Defined in: `@xmachines/json-render-dom`
16
16
 
17
17
  ## Parameters
18
18
 
19
- | Parameter | Type |
20
- | ---------- | -------------------------------------------------------------------------- |
21
- | `_catalog` | `C` |
22
- | `options` | [`DefineRegistryOptions`](../type-aliases/DefineRegistryOptions.md)\<`C`\> |
19
+ | Parameter | Type |
20
+ | --------- | -------------------------------------------------------------------------- |
21
+ | `catalog` | `C` |
22
+ | `options` | [`DefineRegistryOptions`](../type-aliases/DefineRegistryOptions.md)\<`C`\> |
23
23
 
24
24
  ## Returns
25
25
 
@@ -13,11 +13,12 @@ Defined in: `@xmachines/json-render-dom`
13
13
 
14
14
  ## Properties
15
15
 
16
- | Property | Type | Description | Defined in |
17
- | ----------------------------------------- | --------------------------------------------- | -------------------------------------------------------------------------------- | ---------- |
18
- | <a id="property-bindings"></a> `bindings` | `Record`\<`string`, `string`\> \| `undefined` | Two-way binding paths resolved from `$bindState` / `$bindItem` prop expressions. | - |
19
- | <a id="property-children"></a> `children` | `Node`[] | Rendered child nodes from the spec's `children` list. | - |
20
- | <a id="property-ctx"></a> `ctx` | [`DomRenderContext`](DomRenderContext.md) | Low-level render context. | - |
21
- | <a id="property-emit"></a> `emit` | (`event`) => `void` | Dispatch a named event defined in the spec's `on` map. | - |
22
- | <a id="property-on"></a> `on` | (`event`) => [`EventHandle`](EventHandle.md) | Get an `EventHandle` for a named event from the spec's `on` map. | - |
23
- | <a id="property-props"></a> `props` | `InferComponentProps`\<`C`, `K`\> | Catalog-typed, store-resolved props for this component. | - |
16
+ | Property | Type | Description | Defined in |
17
+ | ----------------------------------------- | --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
18
+ | <a id="property-bindings"></a> `bindings` | `Record`\<`string`, `string`\> \| `undefined` | Two-way binding paths resolved from `$bindState` / `$bindItem` prop expressions. | - |
19
+ | <a id="property-children"></a> `children` | `Node`[] | Rendered child nodes from the spec's `children` list (the default slot). | - |
20
+ | <a id="property-ctx"></a> `ctx` | [`DomRenderContext`](DomRenderContext.md) | Low-level render context. | - |
21
+ | <a id="property-emit"></a> `emit` | (`event`) => `void` | Dispatch a named event defined in the spec's `on` map. | - |
22
+ | <a id="property-on"></a> `on` | (`event`) => [`EventHandle`](EventHandle.md) | Get an `EventHandle` for a named event from the spec's `on` map. | - |
23
+ | <a id="property-props"></a> `props` | `InferComponentProps`\<`C`, `K`\> | Catalog-typed, store-resolved props for this component. | - |
24
+ | <a id="property-slots"></a> `slots?` | `Record`\<`string`, `Node`[]\> | Rendered nodes per named slot from the spec's `slots` map, or `undefined` when the element fills no named slot. Mirrors `slots` in @xmachines/json-render-react's ComponentRenderProps. | - |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: CreatePlayUIOptions
4
4
 
5
- Defined in: [packages/play-dom/src/types.ts:67](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-dom/src/types.ts#L67)
5
+ Defined in: [packages/play-dom/src/types.ts:67](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-dom/src/types.ts#L67)
6
6
 
7
7
  Options for `createPlayUI()` — the batteries-included DOM factory.
8
8
 
@@ -26,7 +26,7 @@ createPlayUI
26
26
  | Property | Type | Description | Inherited from | Defined in |
27
27
  | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
28
28
  | <a id="property-directives"></a> `directives?` | `DirectiveDefinition`\<`ZodType`\<`unknown`, `unknown`, `$ZodTypeInternals`\<`unknown`, `unknown`\>\>\>[] | Custom directives — user-defined `$`-prefixed dynamic values that extend the spec expression language (e.g. `{ $format: "currency", value: ... }`). Each entry is a `DirectiveDefinition` built with `defineDirective` from `@xmachines/json-render-core`. The array is converted to a `DirectiveRegistry` once per render pass and forwarded to `resolveElementProps` via `PropResolutionContext.directives`. Built-in expressions (`$state`, `$cond`, etc.) always take precedence over custom directives. Mirrors the `directives` prop on `JSONUIProvider` / `JsonUIProvider` introduced in **Json-render** 0.19. **Example** `import { defineDirective, resolvePropValue } from "@xmachines/json-render-core"; import { z } from "zod"; const formatDirective = defineDirective({ name: "$format", description: "Locale-aware number formatting.", schema: z.object({ $format: z.enum(["number", "currency"]), value: z.unknown() }), resolve(value, ctx) { const resolved = resolvePropValue(value.value, ctx); return new Intl.NumberFormat().format(resolved as number); }, }); renderSpec(spec, store, registry, { directives: [formatDirective] });` | [`UIProviderOptions`](UIProviderOptions.md).[`directives`](UIProviderOptions.md#property-directives) | - |
29
- | <a id="property-fallback"></a> `fallback?` | `HTMLElement` \| `null` | Optional fallback element shown when `currentView` is `null` on **initial mount** only. The fallback is appended immediately after `mount()` if the container is empty at that moment (i.e. the actor's initial view is `null`). **Limitation:** If the actor's view transitions to `null` after mount, the container will be cleared but this fallback will NOT be re-appended. For dynamic fallback behavior (null view after non-null), use `PlayRenderer` directly and wrap the `actor.currentView` signal to inject fallback content. | - | [packages/play-dom/src/types.ts:79](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-dom/src/types.ts#L79) |
29
+ | <a id="property-fallback"></a> `fallback?` | `HTMLElement` \| `null` | Optional fallback element shown when `currentView` is `null` on **initial mount** only. The fallback is appended immediately after `mount()` if the container is empty at that moment (i.e. the actor's initial view is `null`). **Limitation:** If the actor's view transitions to `null` after mount, the container will be cleared but this fallback will NOT be re-appended. For dynamic fallback behavior (null view after non-null), use `PlayRenderer` directly and wrap the `actor.currentView` signal to inject fallback content. | - | [packages/play-dom/src/types.ts:79](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-dom/src/types.ts#L79) |
30
30
  | <a id="property-functions"></a> `functions?` | `Record`\<`string`, `ComputedFunction`\> | Named compute functions for `{ $computed: "name", args: {...} }` prop expressions. Each function receives the resolved `args` object and returns the computed value. Forwarded directly to `resolveElementProps` via `PropResolutionContext.functions`, matching the `FunctionsContext` provider in the framework renderers. Without this option, `$computed` expressions resolve to `undefined` (no throw). **Example** `renderSpec(spec, store, registry, { functions: { fullName: (args) => `${args.first} ${args.last}`, formatCurrency: (args) => new Intl.NumberFormat().format(args.amount as number), }, });` Mirrors the `functions` prop on `JSONUIProvider` / `JsonUIProvider`. | [`UIProviderOptions`](UIProviderOptions.md).[`functions`](UIProviderOptions.md#property-functions) | - |
31
31
  | <a id="property-navigate"></a> `navigate?` | (`path`) => `void` | Programmatic navigation function. Called automatically when an action binding resolves with `onSuccess: { navigate: "/path" }`. The resolved path string is passed as the sole argument. Mirrors the `navigate` prop in `ActionProvider` from the framework renderers, where it is captured in the `execute()` closure. Also available to component implementations directly via `ctx.ctx.navigate` for cases where navigation needs to be triggered outside of an action binding. **Example** `import { useNavigate } from "my-router"; const navigate = useNavigate(); renderSpec(spec, store, registry, { navigate });` Spec binding that triggers navigation: `{ "on": { "click": { "action": "doSomething", "onSuccess": { "navigate": "/dashboard" } } } }` | [`UIProviderOptions`](UIProviderOptions.md).[`navigate`](UIProviderOptions.md#property-navigate) | - |
32
32
  | <a id="property-onconfirm"></a> `onConfirm?` | [`ConfirmHandler`](../type-aliases/ConfirmHandler.md) | Confirmation hook for actions that declare `confirm` in their binding. Consulted by `emit()` before executing a confirm-gated action. Return (or resolve) `true` to execute, `false` to skip. Without this handler, confirm-gated actions are skipped with a `console.warn` — they never execute unconfirmed. See [ConfirmHandler](../type-aliases/ConfirmHandler.md) for the full contract. This is the headless equivalent of the `pendingConfirmation` / `confirmAction()` / `cancelAction()` flow in the framework adapters. | [`UIProviderOptions`](UIProviderOptions.md).[`onConfirm`](UIProviderOptions.md#property-onconfirm) | - |
@@ -19,10 +19,12 @@ Low-level render context passed to each `DomComponentRenderer`.
19
19
  | <a id="property-onconfirm"></a> `onConfirm?` | [`ConfirmHandler`](../type-aliases/ConfirmHandler.md) | Confirmation hook forwarded from `UIProviderOptions.onConfirm`. Consulted by `emit()` before executing an action binding that declares `confirm`. When absent, confirm-gated actions are skipped with a `console.warn` instead of executing unconfirmed. | - |
20
20
  | <a id="property-onrendererror"></a> `onRenderError?` | [`RenderErrorHandler`](../type-aliases/RenderErrorHandler.md) | Error handler forwarded from `UIProviderOptions.onRenderError`. Matches `RenderErrorHandler = (error: unknown, name: string) => void`. Called by `emit()` when an action handler rejects, with `(error, actionName)`. Also called by `renderSpec` when a component renderer throws, with `(error, elementType)`. When absent, both fall back to `console.error`. Component implementations may call this directly via `ctx.ctx.onRenderError` to surface errors through the application's central error channel. | - |
21
21
  | <a id="property-renderchildren"></a> `renderChildren` | (`keys`) => `Node`[] | Render a list of child element keys into DOM nodes. | - |
22
+ | <a id="property-renderslot"></a> `renderSlot` | (`slotName`) => `Node`[] | Render the children the element placed in a named slot (`element.slots`). Returns `[]` for a slot the element does not fill. Slot children render with the enclosing repeat scope, not once per item of this element's own `repeat`. | - |
22
23
  | <a id="property-repeatbasepath"></a> `repeatBasePath?` | `string` | Absolute JSON Pointer path to the current repeat item (e.g. "/todos/0"). Mirrors `repeatBasePath` in `PropResolutionContext`. | - |
23
24
  | <a id="property-repeatindex"></a> `repeatIndex?` | `number` | Current repeat array index when inside a repeat scope. Mirrors `repeatIndex` in `PropResolutionContext`. | - |
24
25
  | <a id="property-repeatitem"></a> `repeatItem?` | `unknown` | Current repeat item when inside a repeat scope. Mirrors `repeatItem` in `@xmachines/json-render-core`'s `PropResolutionContext`. | - |
25
26
  | <a id="property-send"></a> `send` | (`event`) => `void` | Dispatch an event (e.g. to an XState actor). | - |
26
27
  | <a id="property-spec"></a> `spec` | `Spec` | Full spec tree for this render pass. | - |
27
28
  | <a id="property-store"></a> `store` | `StateStore` | Live state store bound to `spec.state`. | - |
29
+ | <a id="property-validation"></a> `validation` | [`ValidationRegistry`](ValidationRegistry.md) | Field-validation registry for this tree. Components register their field's `ValidationConfig` here during render (`registerField`) and validate on change/blur (`validate`); the `validateForm` built-in validates every registered field. Mirrors the framework renderers' ValidationProvider. | - |
28
30
  | <a id="property-validationfunctions"></a> `validationFunctions?` | `Record`\<`string`, (`value`, `args?`) => `boolean`\> | Custom validation functions available to `runValidation` / `runValidationCheck`. Each function receives `(value, args?)` and returns a boolean. Mirrors `customFunctions` in `ValidationProvider` from framework renderers. Components that perform inline validation (e.g. form fields) should read this from `ctx.ctx.validationFunctions` and pass it as `customFunctions` to `runValidationCheck` / `runValidation` from `@xmachines/json-render-core`. | - |
@@ -0,0 +1,16 @@
1
+ [API](../../../README.md) / [@xmachines/play-dom](../README.md) / FieldValidationState
2
+
3
+ # Interface: FieldValidationState
4
+
5
+ Defined in: `@xmachines/json-render-dom`
6
+
7
+ Per-field validation state. Mirrors `FieldValidationState` in
8
+ @xmachines/json-render-react's ValidationProvider.
9
+
10
+ ## Properties
11
+
12
+ | Property | Type | Description | Defined in |
13
+ | ------------------------------------------- | ---------------------------- | ----------------------------------------------------------- | ---------- |
14
+ | <a id="property-result"></a> `result` | `ValidationResult` \| `null` | Result of the last validation, or `null` when only touched. | - |
15
+ | <a id="property-touched"></a> `touched` | `boolean` | The field has been interacted with. | - |
16
+ | <a id="property-validated"></a> `validated` | `boolean` | The field has been validated at least once. | - |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: MountOptions
4
4
 
5
- Defined in: [packages/play-dom/src/create-play-ui.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-dom/src/create-play-ui.ts#L48)
5
+ Defined in: [packages/play-dom/src/create-play-ui.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-dom/src/create-play-ui.ts#L48)
6
6
 
7
7
  Per-mount options passed to the `MountFn` returned by `createPlayUI`.
8
8
 
@@ -14,5 +14,5 @@ basis. Factory-level options (`functions`, `validationFunctions`, `navigate`,
14
14
 
15
15
  | Property | Type | Description | Defined in |
16
16
  | ---------------------------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
17
- | <a id="property-loading"></a> `loading?` | `boolean` | When `true`, suppresses missing-child warnings during streaming spec ingestion and exposes `ctx.ctx.loading` to component implementations. | [packages/play-dom/src/create-play-ui.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-dom/src/create-play-ui.ts#L59) |
18
- | <a id="property-store"></a> `store?` | `StateStore` | Optional external `StateStore` (controlled mode). When omitted, a fresh `@xstate/store` atom is created per view transition seeded from `spec.state`. | [packages/play-dom/src/create-play-ui.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.1.0/packages/play-dom/src/create-play-ui.ts#L54) |
17
+ | <a id="property-loading"></a> `loading?` | `boolean` | When `true`, suppresses missing-child warnings during streaming spec ingestion and exposes `ctx.ctx.loading` to component implementations. | [packages/play-dom/src/create-play-ui.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-dom/src/create-play-ui.ts#L59) |
18
+ | <a id="property-store"></a> `store?` | `StateStore` | Optional external `StateStore` (controlled mode). When omitted, a fresh `@xstate/store` atom is created per view transition seeded from `spec.state`. | [packages/play-dom/src/create-play-ui.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.0.0/packages/play-dom/src/create-play-ui.ts#L54) |