@xmachines/docs 6.1.0 → 7.1.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 (810) hide show
  1. package/README.md +4 -4
  2. package/api/@xmachines/core/README.md +7 -2
  3. package/api/@xmachines/core/cache/functions/createLruCache.md +7 -7
  4. package/api/@xmachines/core/cache/interfaces/KeyValueCache.md +6 -6
  5. package/api/@xmachines/core/errors/classes/BaseError.md +15 -23
  6. package/api/@xmachines/core/errors/classes/DisposeConflictError.md +11 -11
  7. package/api/@xmachines/core/utils/functions/asDisposable.md +9 -9
  8. package/api/@xmachines/core/utils/functions/createNullRecord.md +4 -4
  9. package/api/@xmachines/core/utils/functions/createWarnOnce.md +1 -1
  10. package/api/@xmachines/core/utils/functions/describeValue.md +1 -1
  11. package/api/@xmachines/core/utils/functions/isError.md +1 -1
  12. package/api/@xmachines/core/utils/functions/isThenable.md +4 -4
  13. package/api/@xmachines/core/utils/functions/releaseQuietly.md +1 -1
  14. package/api/@xmachines/core/utils/functions/rethrowLater.md +1 -1
  15. package/api/@xmachines/core/utils/functions/safeString.md +1 -1
  16. package/api/@xmachines/core/utils/functions/shallowEqualExcept.md +1 -1
  17. package/api/@xmachines/core/utils/type-aliases/DisposeKey.md +1 -1
  18. package/api/@xmachines/core/utils/type-aliases/DisposeMember.md +1 -1
  19. package/api/@xmachines/core/utils/variables/DISPOSE.md +1 -1
  20. package/api/@xmachines/play/README.md +10 -5
  21. package/api/@xmachines/play/errors/classes/NonNullableError.md +11 -11
  22. package/api/@xmachines/play/errors/classes/PlayError.md +12 -11
  23. package/api/@xmachines/play/index/functions/assertNonNullable.md +4 -4
  24. package/api/@xmachines/play/index/type-aliases/PlayEvent.md +9 -9
  25. package/api/@xmachines/play-actor/README.md +12 -2
  26. package/api/@xmachines/play-actor/interfaces/ActorEvent.md +4 -4
  27. package/api/@xmachines/play-actor/interfaces/PlayActor.md +9 -9
  28. package/api/@xmachines/play-atom/README.md +16 -4
  29. package/api/@xmachines/play-atom/functions/watchAtom.md +4 -4
  30. package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +4 -4
  31. package/api/@xmachines/play-atom/interfaces/Atom.md +9 -9
  32. package/api/@xmachines/play-atom/interfaces/AtomObserver.md +9 -9
  33. package/api/@xmachines/play-atom/interfaces/AtomOptions.md +7 -7
  34. package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +2 -2
  35. package/api/@xmachines/play-atom/interfaces/BaseAtom.md +7 -7
  36. package/api/@xmachines/play-atom/interfaces/CreateAtom.md +9 -9
  37. package/api/@xmachines/play-atom/interfaces/Readable.md +7 -7
  38. package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +7 -7
  39. package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +1 -1
  40. package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +5 -5
  41. package/api/@xmachines/play-atom/variables/createAsyncAtom.md +4 -4
  42. package/api/@xmachines/play-atom/variables/createAtom.md +1 -1
  43. package/api/@xmachines/play-atom/variables/createWritableAtom.md +4 -4
  44. package/api/@xmachines/play-dom/README.md +131 -48
  45. package/api/@xmachines/play-dom/classes/PlayRenderer.md +12 -12
  46. package/api/@xmachines/play-dom/functions/createPlayUI.md +5 -5
  47. package/api/@xmachines/play-dom/functions/createRenderer.md +4 -4
  48. package/api/@xmachines/play-dom/functions/defineRegistry.md +3 -3
  49. package/api/@xmachines/play-dom/functions/renderSpec.md +3 -2
  50. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +13 -13
  51. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +17 -15
  52. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +26 -20
  53. package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -5
  54. package/api/@xmachines/play-dom/interfaces/PassOptions.md +14 -0
  55. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +18 -17
  56. package/api/@xmachines/play-dom/interfaces/RenderErrorInfo.md +16 -0
  57. package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +17 -15
  58. package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +9 -8
  59. package/api/@xmachines/play-dom/interfaces/ValidationRegistry.md +14 -11
  60. package/api/@xmachines/play-dom/type-aliases/ActionFn.md +4 -4
  61. package/api/@xmachines/play-dom/type-aliases/Actions.md +3 -3
  62. package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +4 -4
  63. package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +3 -3
  64. package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +4 -4
  65. package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +3 -3
  66. package/api/@xmachines/play-dom/type-aliases/ConfirmHandler.md +9 -10
  67. package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +10 -9
  68. package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
  69. package/api/@xmachines/play-dom/type-aliases/OnRenderError.md +27 -0
  70. package/api/@xmachines/play-dom/type-aliases/RenderErrorKind.md +21 -0
  71. package/api/@xmachines/play-dom-router/README.md +41 -5
  72. package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +7 -7
  73. package/api/@xmachines/play-dom-router/classes/RouteMap.md +5 -5
  74. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  75. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  76. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  77. package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +5 -5
  78. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +16 -16
  79. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  80. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +10 -10
  81. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +9 -9
  82. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +6 -6
  83. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  84. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +6 -6
  85. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +5 -5
  86. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  87. package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +8 -8
  88. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
  89. package/api/@xmachines/play-pattern/README.md +1 -1
  90. package/api/@xmachines/play-pattern/functions/buildPath.md +2 -2
  91. package/api/@xmachines/play-pattern/functions/createLruCache.md +7 -7
  92. package/api/@xmachines/play-pattern/functions/getIndexKey.md +1 -1
  93. package/api/@xmachines/play-pattern/functions/isDotSegment.md +1 -1
  94. package/api/@xmachines/play-pattern/functions/parsePattern.md +1 -1
  95. package/api/@xmachines/play-pattern/interfaces/GroupPart.md +6 -6
  96. package/api/@xmachines/play-pattern/interfaces/KeyValueCache.md +6 -6
  97. package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +5 -5
  98. package/api/@xmachines/play-pattern/interfaces/ParamPart.md +9 -9
  99. package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +4 -4
  100. package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +14 -14
  101. package/api/@xmachines/play-pattern/interfaces/PatternParam.md +6 -6
  102. package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +1 -1
  103. package/api/@xmachines/play-pattern/type-aliases/PathParams.md +1 -1
  104. package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +1 -1
  105. package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +1 -1
  106. package/api/@xmachines/play-react/README.md +57 -18
  107. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +36 -75
  108. package/api/@xmachines/play-react/functions/defineRegistry.md +4 -4
  109. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  110. package/api/@xmachines/play-react/functions/useAtomEffect.md +2 -2
  111. package/api/@xmachines/play-react/functions/useBoundProp.md +3 -3
  112. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  113. package/api/@xmachines/play-react/interfaces/ActionProviderProps.md +5 -5
  114. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +11 -11
  115. package/api/@xmachines/play-react/interfaces/ComponentContext.md +4 -4
  116. package/api/@xmachines/play-react/interfaces/DefineRegistryResult.md +15 -0
  117. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +8 -8
  118. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -6
  119. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +15 -14
  120. package/api/@xmachines/play-react/interfaces/RenderErrorInfo.md +16 -0
  121. package/api/@xmachines/play-react/interfaces/RendererProps.md +7 -7
  122. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +7 -7
  123. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
  124. package/api/@xmachines/play-react/type-aliases/ComponentFn.md +4 -4
  125. package/api/@xmachines/play-react/type-aliases/OnRenderError.md +27 -0
  126. package/api/@xmachines/play-react/type-aliases/RenderErrorKind.md +21 -0
  127. package/api/@xmachines/play-react/variables/ActorProvider.md +14 -4
  128. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  129. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  130. package/api/@xmachines/play-react-router/README.md +27 -6
  131. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +7 -7
  132. package/api/@xmachines/play-react-router/classes/RouteMap.md +5 -5
  133. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +5 -5
  134. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  135. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +9 -9
  136. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +14 -14
  137. package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +6 -6
  138. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +6 -6
  139. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +5 -5
  140. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  141. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
  142. package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  143. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +4 -4
  144. package/api/@xmachines/play-router/README.md +73 -16
  145. package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +11 -11
  146. package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +12 -12
  147. package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +12 -12
  148. package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +12 -12
  149. package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +12 -12
  150. package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +12 -12
  151. package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +13 -13
  152. package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +11 -11
  153. package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +13 -13
  154. package/api/@xmachines/play-router/index/classes/RouteMap.md +5 -5
  155. package/api/@xmachines/play-router/index/classes/RouterBridgeBase.md +14 -14
  156. package/api/@xmachines/play-router/index/functions/buildPlayRouteEvent.md +1 -1
  157. package/api/@xmachines/play-router/index/functions/buildRouteTree.md +4 -4
  158. package/api/@xmachines/play-router/index/functions/cleanFrameworkParams.md +1 -1
  159. package/api/@xmachines/play-router/index/functions/createLruCache.md +7 -7
  160. package/api/@xmachines/play-router/index/functions/createRouteMapFromTree.md +1 -1
  161. package/api/@xmachines/play-router/index/functions/createRouterConnection.md +1 -1
  162. package/api/@xmachines/play-router/index/functions/detectDuplicateRoutes.md +1 -1
  163. package/api/@xmachines/play-router/index/functions/extractQuery.md +1 -1
  164. package/api/@xmachines/play-router/index/functions/extractRouteParams.md +1 -1
  165. package/api/@xmachines/play-router/index/functions/findRouteById.md +1 -1
  166. package/api/@xmachines/play-router/index/functions/findRouteByPath.md +1 -1
  167. package/api/@xmachines/play-router/index/functions/isMountableBridge.md +1 -1
  168. package/api/@xmachines/play-router/index/functions/joinBasePath.md +1 -1
  169. package/api/@xmachines/play-router/index/functions/mountKey.md +1 -1
  170. package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +1 -1
  171. package/api/@xmachines/play-router/index/functions/openProviderBridge.md +9 -9
  172. package/api/@xmachines/play-router/index/functions/parsePattern.md +1 -1
  173. package/api/@xmachines/play-router/index/functions/pickOwnParams.md +6 -6
  174. package/api/@xmachines/play-router/index/functions/repointProviderBridge.md +1 -1
  175. package/api/@xmachines/play-router/index/functions/resolveBasePath.md +1 -1
  176. package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +1 -1
  177. package/api/@xmachines/play-router/index/functions/sanitizePathname.md +1 -1
  178. package/api/@xmachines/play-router/index/functions/splitLocation.md +1 -1
  179. package/api/@xmachines/play-router/index/functions/stripBasePath.md +1 -1
  180. package/api/@xmachines/play-router/index/functions/validateRouteFormat.md +1 -1
  181. package/api/@xmachines/play-router/index/functions/validateStateExists.md +1 -1
  182. package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +5 -5
  183. package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +6 -6
  184. package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +5 -5
  185. package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +9 -9
  186. package/api/@xmachines/play-router/index/interfaces/KeyValueCache.md +6 -6
  187. package/api/@xmachines/play-router/index/interfaces/LocationLike.md +5 -5
  188. package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +8 -8
  189. package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +14 -14
  190. package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +4 -4
  191. package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +14 -14
  192. package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +9 -9
  193. package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +16 -16
  194. package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +5 -5
  195. package/api/@xmachines/play-router/index/interfaces/ResolvedRoutePath.md +5 -5
  196. package/api/@xmachines/play-router/index/interfaces/Routable.md +5 -5
  197. package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +6 -6
  198. package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +10 -10
  199. package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +6 -6
  200. package/api/@xmachines/play-router/index/interfaces/RouteMapping.md +5 -5
  201. package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +5 -5
  202. package/api/@xmachines/play-router/index/interfaces/RouteNode.md +12 -12
  203. package/api/@xmachines/play-router/index/interfaces/RouteObject.md +7 -7
  204. package/api/@xmachines/play-router/index/interfaces/RouteTree.md +10 -10
  205. package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +3 -3
  206. package/api/@xmachines/play-router/index/interfaces/RouterBridge.md +3 -3
  207. package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +10 -9
  208. package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +8 -8
  209. package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +7 -7
  210. package/api/@xmachines/play-router/index/interfaces/WindowLike.md +3 -3
  211. package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +6 -6
  212. package/api/@xmachines/play-router/index/type-aliases/RouteData.md +1 -1
  213. package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +1 -1
  214. package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +1 -1
  215. package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +3 -3
  216. package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +1 -1
  217. package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +1 -1
  218. package/api/@xmachines/play-router/xstate/functions/createRouteMap.md +1 -1
  219. package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +1 -1
  220. package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +1 -1
  221. package/api/@xmachines/play-router/xstate/functions/getRoutableRoutes.md +1 -1
  222. package/api/@xmachines/play-router/xstate/functions/getRouteMappings.md +1 -1
  223. package/api/@xmachines/play-router/xstate/functions/getTransitionReachableRoutes.md +1 -1
  224. package/api/@xmachines/play-router/xstate/functions/isRouteReachable.md +1 -1
  225. package/api/@xmachines/play-router/xstate/functions/machineToGraph.md +1 -1
  226. package/api/@xmachines/play-router/xstate/functions/routeExists.md +1 -1
  227. package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +5 -5
  228. package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +7 -7
  229. package/api/@xmachines/play-router/xstate/type-aliases/MachineGraph.md +1 -1
  230. package/api/@xmachines/play-solid/README.md +35 -11
  231. package/api/@xmachines/play-solid/functions/defineRegistry.md +3 -3
  232. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  233. package/api/@xmachines/play-solid/functions/useBoundProp.md +11 -8
  234. package/api/@xmachines/play-solid/functions/useFieldValidation.md +6 -4
  235. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  236. package/api/@xmachines/play-solid/functions/useStateBinding.md +8 -6
  237. package/api/@xmachines/play-solid/functions/useStateValue.md +8 -6
  238. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
  239. package/api/@xmachines/play-solid/interfaces/ComponentContext.md +4 -4
  240. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +15 -14
  241. package/api/@xmachines/play-solid/interfaces/RenderErrorInfo.md +16 -0
  242. package/api/@xmachines/play-solid/interfaces/RendererProps.md +7 -7
  243. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +7 -7
  244. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  245. package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +4 -4
  246. package/api/@xmachines/play-solid/type-aliases/OnRenderError.md +27 -0
  247. package/api/@xmachines/play-solid/type-aliases/RenderErrorKind.md +21 -0
  248. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  249. package/api/@xmachines/play-solid/variables/ActorProvider.md +17 -3
  250. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  251. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  252. package/api/@xmachines/play-solid-router/README.md +22 -6
  253. package/api/@xmachines/play-solid-router/classes/RouteMap.md +5 -5
  254. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +7 -7
  255. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +5 -5
  256. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +9 -9
  257. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +9 -9
  258. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +14 -14
  259. package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +6 -6
  260. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +6 -6
  261. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +5 -5
  262. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  263. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
  264. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  265. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  266. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +4 -4
  267. package/api/@xmachines/play-svelte/README.md +18 -10
  268. package/api/@xmachines/play-svelte/functions/defineRegistry.md +6 -7
  269. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  270. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  271. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  272. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +12 -12
  273. package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +13 -13
  274. package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +14 -14
  275. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +11 -11
  276. package/api/@xmachines/play-svelte/interfaces/DefineRegistryResult.md +15 -0
  277. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +14 -14
  278. package/api/@xmachines/play-svelte/interfaces/RenderErrorInfo.md +16 -0
  279. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +7 -7
  280. package/api/@xmachines/play-svelte/type-aliases/ActionFn.md +4 -4
  281. package/api/@xmachines/play-svelte/type-aliases/Actions.md +3 -3
  282. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  283. package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +4 -4
  284. package/api/@xmachines/play-svelte/type-aliases/OnRenderError.md +27 -0
  285. package/api/@xmachines/play-svelte/type-aliases/RenderErrorKind.md +21 -0
  286. package/api/@xmachines/play-svelte-spa-router/README.md +9 -5
  287. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +5 -5
  288. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +8 -8
  289. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  290. package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +5 -5
  291. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +10 -10
  292. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +9 -9
  293. package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +6 -6
  294. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +6 -6
  295. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +5 -5
  296. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  297. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +8 -8
  298. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  299. package/api/@xmachines/play-sveltekit-router/README.md +65 -13
  300. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +5 -5
  301. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +29 -19
  302. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  303. package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +5 -5
  304. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +13 -16
  305. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +5 -5
  306. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +9 -9
  307. package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +6 -6
  308. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +6 -6
  309. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +5 -5
  310. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  311. package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +8 -8
  312. package/api/@xmachines/play-sveltekit-router/interfaces/SvelteKitRouterBridgeOptions.md +25 -0
  313. package/api/@xmachines/play-sveltekit-router/type-aliases/ShallowNavigation.md +21 -0
  314. package/api/@xmachines/play-tanstack-react-router/README.md +34 -16
  315. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +5 -5
  316. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +7 -7
  317. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +5 -5
  318. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  319. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +9 -9
  320. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +14 -14
  321. package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +6 -6
  322. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +6 -6
  323. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +5 -5
  324. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  325. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
  326. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  327. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  328. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +9 -9
  329. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +4 -4
  330. package/api/@xmachines/play-tanstack-router/README.md +5 -3
  331. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +7 -7
  332. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  333. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +9 -9
  334. package/api/@xmachines/play-tanstack-solid-router/README.md +45 -11
  335. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +5 -5
  336. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +7 -7
  337. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +5 -5
  338. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +9 -9
  339. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +14 -14
  340. package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +6 -6
  341. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +6 -6
  342. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +5 -5
  343. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  344. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
  345. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
  346. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  347. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +9 -9
  348. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +4 -4
  349. package/api/@xmachines/play-url/README.md +1 -1
  350. package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +12 -12
  351. package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +12 -12
  352. package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +13 -13
  353. package/api/@xmachines/play-url/index/functions/buildPath.md +2 -2
  354. package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
  355. package/api/@xmachines/play-url/index/functions/createLruCache.md +7 -7
  356. package/api/@xmachines/play-url/index/functions/getCandidates.md +4 -4
  357. package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +5 -5
  358. package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
  359. package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +1 -1
  360. package/api/@xmachines/play-url/index/functions/isDotSegment.md +1 -1
  361. package/api/@xmachines/play-url/index/functions/joinBasePath.md +1 -1
  362. package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
  363. package/api/@xmachines/play-url/index/functions/parsePattern.md +1 -1
  364. package/api/@xmachines/play-url/index/functions/pickOwnParams.md +6 -6
  365. package/api/@xmachines/play-url/index/functions/resolveBasePath.md +1 -1
  366. package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +1 -1
  367. package/api/@xmachines/play-url/index/functions/sanitizePathname.md +1 -1
  368. package/api/@xmachines/play-url/index/functions/splitLocation.md +1 -1
  369. package/api/@xmachines/play-url/index/functions/stripBasePath.md +1 -1
  370. package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +5 -5
  371. package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +5 -5
  372. package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +9 -9
  373. package/api/@xmachines/play-url/index/interfaces/GroupPart.md +6 -6
  374. package/api/@xmachines/play-url/index/interfaces/KeyValueCache.md +6 -6
  375. package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +5 -5
  376. package/api/@xmachines/play-url/index/interfaces/ParamPart.md +9 -9
  377. package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +4 -4
  378. package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +14 -14
  379. package/api/@xmachines/play-url/index/interfaces/PatternParam.md +6 -6
  380. package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +5 -5
  381. package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +7 -7
  382. package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +1 -1
  383. package/api/@xmachines/play-url/index/type-aliases/PathParams.md +1 -1
  384. package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +1 -1
  385. package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +1 -1
  386. package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +2 -2
  387. package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +3 -3
  388. package/api/@xmachines/play-url/index/variables/NO_BASE_PATH.md +1 -1
  389. package/api/@xmachines/play-url/index/variables/URLPattern.md +1 -1
  390. package/api/@xmachines/play-view/README.md +45 -19
  391. package/api/@xmachines/play-view/errors/README.md +1 -0
  392. package/api/@xmachines/play-view/errors/classes/InvalidViewOutletError.md +13 -13
  393. package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +12 -12
  394. package/api/@xmachines/play-view/errors/classes/ViewElementKeyCollisionError.md +181 -0
  395. package/api/@xmachines/play-view/index/README.md +10 -4
  396. package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +13 -12
  397. package/api/@xmachines/play-view/index/functions/bindStoreHandlers.md +34 -0
  398. package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
  399. package/api/@xmachines/play-view/index/functions/composeViews.md +8 -2
  400. package/api/@xmachines/play-view/index/functions/createActorProxy.md +39 -0
  401. package/api/@xmachines/play-view/index/functions/createRenderErrorBinding.md +35 -0
  402. package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
  403. package/api/@xmachines/play-view/index/functions/createViewSession.md +29 -0
  404. package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
  405. package/api/@xmachines/play-view/index/functions/forwardRenderError.md +45 -0
  406. package/api/@xmachines/play-view/index/functions/guardContextWrites.md +1 -1
  407. package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
  408. package/api/@xmachines/play-view/index/functions/reuseComposedState.md +1 -1
  409. package/api/@xmachines/play-view/index/functions/toAtomState.md +1 -1
  410. package/api/@xmachines/play-view/index/functions/typedSpec.md +1 -1
  411. package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +12 -12
  412. package/api/@xmachines/play-view/index/interfaces/BaseViewContextValue.md +10 -10
  413. package/api/@xmachines/play-view/index/interfaces/ComposedView.md +7 -7
  414. package/api/@xmachines/play-view/index/interfaces/HandlerFactory.md +19 -0
  415. package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +8 -8
  416. package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +5 -5
  417. package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +5 -5
  418. package/api/@xmachines/play-view/index/interfaces/ResolveViewStoreOptions.md +4 -4
  419. package/api/@xmachines/play-view/index/interfaces/ViewMeta.md +7 -7
  420. package/api/@xmachines/play-view/index/interfaces/ViewOutlet.md +5 -5
  421. package/api/@xmachines/play-view/index/interfaces/ViewSession.md +155 -0
  422. package/api/@xmachines/play-view/index/interfaces/ViewSessionOptions.md +12 -0
  423. package/api/@xmachines/play-view/index/interfaces/ViewSessionSnapshot.md +23 -0
  424. package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +22 -3
  425. package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +7 -6
  426. package/api/@xmachines/play-view/index/interfaces/ViewTree.md +6 -6
  427. package/api/@xmachines/play-view/index/interfaces/ViewTreeChild.md +5 -5
  428. package/api/@xmachines/play-view/index/interfaces/Viewable.md +4 -4
  429. package/api/@xmachines/play-view/index/type-aliases/StateUpdater.md +21 -0
  430. package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +5 -5
  431. package/api/@xmachines/play-view/index/variables/CONTEXT_STATE_KEY.md +1 -1
  432. package/api/@xmachines/play-vue/README.md +20 -15
  433. package/api/@xmachines/play-vue/functions/defineRegistry.md +4 -4
  434. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  435. package/api/@xmachines/play-vue/functions/useBoundProp.md +13 -7
  436. package/api/@xmachines/play-vue/functions/useFieldValidation.md +12 -5
  437. package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
  438. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +8 -8
  439. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +4 -4
  440. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
  441. package/api/@xmachines/play-vue/interfaces/RenderErrorInfo.md +16 -0
  442. package/api/@xmachines/play-vue/interfaces/RendererProps.md +7 -7
  443. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +7 -7
  444. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  445. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +5 -5
  446. package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +4 -4
  447. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +4 -4
  448. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +9 -9
  449. package/api/@xmachines/play-vue/type-aliases/OnRenderError.md +27 -0
  450. package/api/@xmachines/play-vue/type-aliases/RenderErrorKind.md +21 -0
  451. package/api/@xmachines/play-vue/variables/ActionProvider.md +35 -54
  452. package/api/@xmachines/play-vue/variables/PlayRenderer.md +4 -2
  453. package/api/@xmachines/play-vue/variables/Renderer.md +61 -78
  454. package/api/@xmachines/play-vue/variables/StateProvider.md +44 -63
  455. package/api/@xmachines/play-vue/variables/ValidationProvider.md +26 -45
  456. package/api/@xmachines/play-vue/variables/VisibilityProvider.md +17 -30
  457. package/api/@xmachines/play-vue-router/README.md +19 -12
  458. package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +11 -11
  459. package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +11 -11
  460. package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +5 -5
  461. package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +7 -7
  462. package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +9 -9
  463. package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +6 -6
  464. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +6 -6
  465. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +5 -5
  466. package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +3 -3
  467. package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +90 -105
  468. package/api/@xmachines/play-xstate/README.md +64 -12
  469. package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +11 -11
  470. package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +12 -12
  471. package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +11 -11
  472. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +13 -13
  473. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +13 -13
  474. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +14 -14
  475. package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +13 -13
  476. package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +13 -13
  477. package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +44 -68
  478. package/api/@xmachines/play-xstate/index/functions/compose.md +22 -22
  479. package/api/@xmachines/play-xstate/index/functions/definePlayer.md +9 -9
  480. package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +10 -10
  481. package/api/@xmachines/play-xstate/index/interfaces/PlayerFactoryResumeOptions.md +7 -7
  482. package/api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md +12 -12
  483. package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +5 -5
  484. package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +6 -6
  485. package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +5 -5
  486. package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +2 -2
  487. package/api/@xmachines/play-xstate/with-routing/functions/deriveRoute.md +1 -1
  488. package/api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md +4 -4
  489. package/api/@xmachines/play-xstate/with-routing/functions/isAbsoluteRoute.md +1 -1
  490. package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +4 -4
  491. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteContext.md +7 -7
  492. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +7 -7
  493. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +1 -1
  494. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +1 -1
  495. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMachineConfig.md +7 -7
  496. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +1 -1
  497. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteStateNode.md +10 -10
  498. package/api/@xmachines/play-xstate/with-view/functions/withView.md +4 -4
  499. package/api/@xmachines/shared/README.md +4 -3
  500. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +2 -2
  501. package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutput.md +1 -1
  502. package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutputFile.md +1 -1
  503. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  504. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +4 -4
  505. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  506. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +4 -4
  507. package/api/@xmachines/shared/vite-aliases/functions/xmTestTarget.md +2 -2
  508. package/api/@xmachines/shared/vite-aliases/type-aliases/XmTestTarget.md +1 -1
  509. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +2 -2
  510. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  511. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +6 -6
  512. package/contributing/architecture.md +88 -53
  513. package/contributing/configuration.md +44 -62
  514. package/contributing/deployment.md +131 -161
  515. package/contributing/development.md +33 -8
  516. package/contributing/migrating-to-play-atom.md +10 -4
  517. package/contributing/testing.md +67 -34
  518. package/examples/@xmachines/play-dom-gallery-demo/README.md +127 -0
  519. package/examples/@xmachines/play-dom-gallery-demo/functions/createConfirmDialog.md +33 -0
  520. package/examples/@xmachines/play-dom-gallery-demo/functions/createDebugPanel.md +31 -0
  521. package/examples/@xmachines/play-dom-gallery-demo/functions/initApp.md +22 -0
  522. package/examples/@xmachines/play-dom-gallery-demo/functions/initShell.md +33 -0
  523. package/examples/@xmachines/play-dom-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
  524. package/examples/@xmachines/play-dom-gallery-demo/interfaces/GalleryRuntime.md +14 -0
  525. package/examples/@xmachines/play-dom-gallery-demo/interfaces/ShellOptions.md +18 -0
  526. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/AuthCatalog.md +9 -0
  527. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/DonutCatalog.md +9 -0
  528. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/FetchCatalog.md +9 -0
  529. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/FlightCatalog.md +9 -0
  530. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/GalleryActor.md +20 -0
  531. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/GallerySlug.md +18 -0
  532. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/KitCatalog.md +16 -0
  533. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
  534. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
  535. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
  536. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
  537. package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
  538. package/examples/@xmachines/play-dom-gallery-demo/variables/Button.md +12 -0
  539. package/examples/@xmachines/play-dom-gallery-demo/variables/Field.md +30 -0
  540. package/examples/@xmachines/play-dom-gallery-demo/variables/Page.md +16 -0
  541. package/examples/@xmachines/play-dom-gallery-demo/variables/Panel.md +15 -0
  542. package/examples/@xmachines/play-dom-gallery-demo/variables/Text.md +15 -0
  543. package/examples/@xmachines/play-dom-gallery-demo/variables/authCatalog.md +126 -0
  544. package/examples/@xmachines/play-dom-gallery-demo/variables/demoComponents.md +21 -0
  545. package/examples/@xmachines/play-dom-gallery-demo/variables/donutCatalog.md +135 -0
  546. package/examples/@xmachines/play-dom-gallery-demo/variables/fetchCatalog.md +119 -0
  547. package/examples/@xmachines/play-dom-gallery-demo/variables/flightCatalog.md +146 -0
  548. package/examples/@xmachines/play-dom-gallery-demo/variables/galleryMachines.md +11 -0
  549. package/examples/@xmachines/play-dom-gallery-demo/variables/stopwatchCatalog.md +119 -0
  550. package/examples/@xmachines/play-dom-gallery-demo/variables/temperatureCatalog.md +122 -0
  551. package/examples/@xmachines/play-dom-gallery-demo/variables/ticTacToeCatalog.md +119 -0
  552. package/examples/@xmachines/{play-dom-demo/variables/authCatalog.md → play-dom-gallery-demo/variables/todoMvcCatalog.md} +36 -82
  553. package/examples/@xmachines/play-dom-gallery-demo/variables/triviaCatalog.md +129 -0
  554. package/examples/@xmachines/play-dom-router-demo/README.md +41 -33
  555. package/examples/@xmachines/play-dom-router-donut-demo/README.md +78 -0
  556. package/examples/@xmachines/play-dom-router-flight-demo/README.md +76 -0
  557. package/examples/@xmachines/play-dom-router-todomvc-demo/README.md +76 -0
  558. package/examples/@xmachines/play-dom-router-trivia-demo/README.md +76 -0
  559. package/examples/@xmachines/play-react-gallery-demo/README.md +123 -0
  560. package/examples/@xmachines/play-react-gallery-demo/functions/App.md +13 -0
  561. package/examples/@xmachines/play-react-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
  562. package/examples/@xmachines/play-react-gallery-demo/interfaces/GalleryRuntime.md +14 -0
  563. package/examples/@xmachines/play-react-gallery-demo/type-aliases/AuthCatalog.md +9 -0
  564. package/examples/@xmachines/play-react-gallery-demo/type-aliases/DonutCatalog.md +9 -0
  565. package/examples/@xmachines/play-react-gallery-demo/type-aliases/FetchCatalog.md +9 -0
  566. package/examples/@xmachines/play-react-gallery-demo/type-aliases/FlightCatalog.md +9 -0
  567. package/examples/@xmachines/play-react-gallery-demo/type-aliases/GalleryActor.md +20 -0
  568. package/examples/@xmachines/play-react-gallery-demo/type-aliases/GallerySlug.md +18 -0
  569. package/examples/@xmachines/play-react-gallery-demo/type-aliases/KitCatalog.md +16 -0
  570. package/examples/@xmachines/play-react-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
  571. package/examples/@xmachines/play-react-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
  572. package/examples/@xmachines/play-react-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
  573. package/examples/@xmachines/play-react-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
  574. package/examples/@xmachines/play-react-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
  575. package/examples/@xmachines/play-react-gallery-demo/variables/Button.md +12 -0
  576. package/examples/@xmachines/play-react-gallery-demo/variables/DebugPanel.md +21 -0
  577. package/examples/@xmachines/play-react-gallery-demo/variables/Field.md +24 -0
  578. package/examples/@xmachines/play-react-gallery-demo/variables/Page.md +14 -0
  579. package/examples/@xmachines/play-react-gallery-demo/variables/Panel.md +15 -0
  580. package/examples/@xmachines/play-react-gallery-demo/variables/Shell.md +26 -0
  581. package/examples/@xmachines/play-react-gallery-demo/variables/Text.md +15 -0
  582. package/examples/@xmachines/play-react-gallery-demo/variables/authCatalog.md +126 -0
  583. package/examples/@xmachines/play-react-gallery-demo/variables/demoComponents.md +21 -0
  584. package/examples/@xmachines/play-react-gallery-demo/variables/donutCatalog.md +135 -0
  585. package/examples/@xmachines/play-react-gallery-demo/variables/fetchCatalog.md +119 -0
  586. package/examples/@xmachines/play-react-gallery-demo/variables/flightCatalog.md +146 -0
  587. package/examples/@xmachines/play-react-gallery-demo/variables/galleryMachines.md +11 -0
  588. package/examples/@xmachines/play-react-gallery-demo/variables/stopwatchCatalog.md +119 -0
  589. package/examples/@xmachines/play-react-gallery-demo/variables/temperatureCatalog.md +122 -0
  590. package/examples/@xmachines/play-react-gallery-demo/variables/ticTacToeCatalog.md +119 -0
  591. package/examples/@xmachines/{play-vue-demo/variables/authCatalog.md → play-react-gallery-demo/variables/todoMvcCatalog.md} +36 -82
  592. package/examples/@xmachines/play-react-gallery-demo/variables/triviaCatalog.md +129 -0
  593. package/examples/@xmachines/play-react-router-demo/README.md +21 -9
  594. package/examples/@xmachines/play-react-router-donut-demo/README.md +85 -0
  595. package/examples/@xmachines/play-react-router-flight-demo/README.md +74 -0
  596. package/examples/@xmachines/play-react-router-todomvc-demo/README.md +74 -0
  597. package/examples/@xmachines/play-react-router-trivia-demo/README.md +74 -0
  598. package/examples/@xmachines/play-solid-gallery-demo/README.md +123 -0
  599. package/examples/@xmachines/play-solid-gallery-demo/functions/App.md +13 -0
  600. package/examples/@xmachines/play-solid-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
  601. package/examples/@xmachines/play-solid-gallery-demo/interfaces/GalleryRuntime.md +14 -0
  602. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/AuthCatalog.md +9 -0
  603. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/DonutCatalog.md +9 -0
  604. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/FetchCatalog.md +9 -0
  605. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/FlightCatalog.md +9 -0
  606. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/GalleryActor.md +20 -0
  607. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/GallerySlug.md +18 -0
  608. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/KitCatalog.md +16 -0
  609. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
  610. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
  611. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
  612. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
  613. package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
  614. package/examples/@xmachines/play-solid-gallery-demo/variables/Button.md +11 -0
  615. package/examples/@xmachines/play-solid-gallery-demo/variables/DebugPanel.md +22 -0
  616. package/examples/@xmachines/play-solid-gallery-demo/variables/Field.md +11 -0
  617. package/examples/@xmachines/play-solid-gallery-demo/variables/Page.md +11 -0
  618. package/examples/@xmachines/play-solid-gallery-demo/variables/Panel.md +11 -0
  619. package/examples/@xmachines/play-solid-gallery-demo/variables/Shell.md +26 -0
  620. package/examples/@xmachines/play-solid-gallery-demo/variables/Text.md +11 -0
  621. package/examples/@xmachines/play-solid-gallery-demo/variables/authCatalog.md +126 -0
  622. package/examples/@xmachines/play-solid-gallery-demo/variables/demoComponents.md +21 -0
  623. package/examples/@xmachines/play-solid-gallery-demo/variables/donutCatalog.md +135 -0
  624. package/examples/@xmachines/play-solid-gallery-demo/variables/fetchCatalog.md +119 -0
  625. package/examples/@xmachines/play-solid-gallery-demo/variables/flightCatalog.md +146 -0
  626. package/examples/@xmachines/play-solid-gallery-demo/variables/galleryMachines.md +11 -0
  627. package/examples/@xmachines/play-solid-gallery-demo/variables/stopwatchCatalog.md +119 -0
  628. package/examples/@xmachines/play-solid-gallery-demo/variables/temperatureCatalog.md +122 -0
  629. package/examples/@xmachines/play-solid-gallery-demo/variables/ticTacToeCatalog.md +119 -0
  630. package/examples/@xmachines/{play-react-demo/variables/authCatalog.md → play-solid-gallery-demo/variables/todoMvcCatalog.md} +36 -82
  631. package/examples/@xmachines/play-solid-gallery-demo/variables/triviaCatalog.md +129 -0
  632. package/examples/@xmachines/play-solid-router-demo/README.md +17 -9
  633. package/examples/@xmachines/play-solid-router-donut-demo/README.md +86 -0
  634. package/examples/@xmachines/play-solid-router-flight-demo/README.md +75 -0
  635. package/examples/@xmachines/play-solid-router-todomvc-demo/README.md +75 -0
  636. package/examples/@xmachines/play-solid-router-trivia-demo/README.md +75 -0
  637. package/examples/@xmachines/play-svelte-gallery-demo/README.md +130 -0
  638. package/examples/@xmachines/play-svelte-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
  639. package/examples/@xmachines/play-svelte-gallery-demo/interfaces/GalleryRuntime.md +14 -0
  640. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/App.md +9 -0
  641. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/AuthCatalog.md +9 -0
  642. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/DonutCatalog.md +9 -0
  643. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/FetchCatalog.md +9 -0
  644. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/FlightCatalog.md +9 -0
  645. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/GalleryActor.md +20 -0
  646. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/GallerySlug.md +18 -0
  647. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/KitCatalog.md +16 -0
  648. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
  649. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
  650. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
  651. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
  652. package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
  653. package/examples/@xmachines/play-svelte-gallery-demo/variables/App.md +9 -0
  654. package/examples/@xmachines/play-svelte-gallery-demo/variables/authCatalog.md +126 -0
  655. package/examples/@xmachines/play-svelte-gallery-demo/variables/demoComponents.md +21 -0
  656. package/examples/@xmachines/play-svelte-gallery-demo/variables/donutCatalog.md +135 -0
  657. package/examples/@xmachines/play-svelte-gallery-demo/variables/fetchCatalog.md +119 -0
  658. package/examples/@xmachines/play-svelte-gallery-demo/variables/flightCatalog.md +146 -0
  659. package/examples/@xmachines/play-svelte-gallery-demo/variables/galleryMachines.md +11 -0
  660. package/examples/@xmachines/play-svelte-gallery-demo/variables/stopwatchCatalog.md +119 -0
  661. package/examples/@xmachines/play-svelte-gallery-demo/variables/temperatureCatalog.md +122 -0
  662. package/examples/@xmachines/play-svelte-gallery-demo/variables/ticTacToeCatalog.md +119 -0
  663. package/examples/@xmachines/{play-solid-demo/variables/authCatalog.md → play-svelte-gallery-demo/variables/todoMvcCatalog.md} +36 -82
  664. package/examples/@xmachines/play-svelte-gallery-demo/variables/triviaCatalog.md +129 -0
  665. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +9 -9
  666. package/examples/@xmachines/play-svelte-spa-router-donut-demo/README.md +77 -0
  667. package/examples/@xmachines/play-svelte-spa-router-flight-demo/README.md +76 -0
  668. package/examples/@xmachines/play-svelte-spa-router-todomvc-demo/README.md +76 -0
  669. package/examples/@xmachines/play-svelte-spa-router-trivia-demo/README.md +76 -0
  670. package/examples/@xmachines/play-sveltekit-router-demo/README.md +9 -9
  671. package/examples/@xmachines/play-sveltekit-router-donut-demo/README.md +103 -0
  672. package/examples/@xmachines/play-sveltekit-router-flight-demo/README.md +86 -0
  673. package/examples/@xmachines/play-sveltekit-router-todomvc-demo/README.md +86 -0
  674. package/examples/@xmachines/play-sveltekit-router-trivia-demo/README.md +86 -0
  675. package/examples/@xmachines/play-tanstack-react-router-demo/README.md +22 -16
  676. package/examples/@xmachines/play-tanstack-react-router-donut-demo/README.md +78 -0
  677. package/examples/@xmachines/play-tanstack-react-router-flight-demo/README.md +74 -0
  678. package/examples/@xmachines/play-tanstack-react-router-todomvc-demo/README.md +74 -0
  679. package/examples/@xmachines/play-tanstack-react-router-trivia-demo/README.md +74 -0
  680. package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +25 -17
  681. package/examples/@xmachines/play-tanstack-solid-router-donut-demo/README.md +91 -0
  682. package/examples/@xmachines/play-tanstack-solid-router-flight-demo/README.md +80 -0
  683. package/examples/@xmachines/play-tanstack-solid-router-todomvc-demo/README.md +80 -0
  684. package/examples/@xmachines/play-tanstack-solid-router-trivia-demo/README.md +80 -0
  685. package/examples/@xmachines/play-vue-gallery-demo/README.md +120 -0
  686. package/examples/@xmachines/play-vue-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
  687. package/examples/@xmachines/play-vue-gallery-demo/interfaces/GalleryRuntime.md +14 -0
  688. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/AuthCatalog.md +9 -0
  689. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/DonutCatalog.md +9 -0
  690. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/FetchCatalog.md +9 -0
  691. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/FlightCatalog.md +9 -0
  692. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/GalleryActor.md +20 -0
  693. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/GallerySlug.md +18 -0
  694. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/KitCatalog.md +16 -0
  695. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
  696. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
  697. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
  698. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
  699. package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
  700. package/examples/@xmachines/play-vue-gallery-demo/variables/App.md +11 -0
  701. package/examples/@xmachines/play-vue-gallery-demo/variables/authCatalog.md +126 -0
  702. package/examples/@xmachines/play-vue-gallery-demo/variables/demoComponents.md +11 -0
  703. package/examples/@xmachines/play-vue-gallery-demo/variables/donutCatalog.md +135 -0
  704. package/examples/@xmachines/play-vue-gallery-demo/variables/fetchCatalog.md +119 -0
  705. package/examples/@xmachines/play-vue-gallery-demo/variables/flightCatalog.md +146 -0
  706. package/examples/@xmachines/play-vue-gallery-demo/variables/galleryMachines.md +11 -0
  707. package/examples/@xmachines/play-vue-gallery-demo/variables/stopwatchCatalog.md +119 -0
  708. package/examples/@xmachines/play-vue-gallery-demo/variables/temperatureCatalog.md +122 -0
  709. package/examples/@xmachines/play-vue-gallery-demo/variables/ticTacToeCatalog.md +119 -0
  710. package/examples/@xmachines/play-vue-gallery-demo/variables/todoMvcCatalog.md +151 -0
  711. package/examples/@xmachines/play-vue-gallery-demo/variables/triviaCatalog.md +129 -0
  712. package/examples/@xmachines/play-vue-router-demo/README.md +17 -11
  713. package/examples/@xmachines/play-vue-router-donut-demo/README.md +78 -0
  714. package/examples/@xmachines/play-vue-router-flight-demo/README.md +76 -0
  715. package/examples/@xmachines/play-vue-router-todomvc-demo/README.md +76 -0
  716. package/examples/@xmachines/play-vue-router-trivia-demo/README.md +76 -0
  717. package/examples/README.md +44 -6
  718. package/examples/form-validation.md +17 -13
  719. package/examples/multi-router-integration.md +268 -147
  720. package/examples/routing-patterns.md +46 -9
  721. package/examples/traffic-light.md +6 -2
  722. package/examples/xstate-example-ports.md +106 -0
  723. package/guides/actor-model.md +37 -19
  724. package/guides/atoms.md +48 -8
  725. package/guides/getting-started.md +66 -14
  726. package/guides/inspector.md +74 -14
  727. package/guides/routing.md +4 -1
  728. package/guides/state-machines.md +35 -13
  729. package/guides/views.md +34 -14
  730. package/package.json +6 -6
  731. package/rfc/play.md +31 -13
  732. package/api/@xmachines/play-view/index/functions/createFailureLatch.md +0 -20
  733. package/api/@xmachines/play-view/index/functions/sameViewInputs.md +0 -25
  734. package/api/@xmachines/play-view/index/interfaces/FailureLatch.md +0 -60
  735. package/api/@xmachines/play-view/index/interfaces/ViewInputs.md +0 -19
  736. package/examples/@xmachines/play-dom-demo/README.md +0 -162
  737. package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +0 -35
  738. package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +0 -27
  739. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +0 -24
  740. package/examples/@xmachines/play-dom-demo/functions/initShell.md +0 -25
  741. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +0 -9
  742. package/examples/@xmachines/play-dom-demo/variables/About.md +0 -12
  743. package/examples/@xmachines/play-dom-demo/variables/Button.md +0 -12
  744. package/examples/@xmachines/play-dom-demo/variables/Contact.md +0 -12
  745. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +0 -13
  746. package/examples/@xmachines/play-dom-demo/variables/Field.md +0 -19
  747. package/examples/@xmachines/play-dom-demo/variables/Home.md +0 -13
  748. package/examples/@xmachines/play-dom-demo/variables/Login.md +0 -13
  749. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +0 -16
  750. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +0 -13
  751. package/examples/@xmachines/play-dom-demo/variables/Overview.md +0 -13
  752. package/examples/@xmachines/play-dom-demo/variables/Panel.md +0 -14
  753. package/examples/@xmachines/play-dom-demo/variables/Profile.md +0 -13
  754. package/examples/@xmachines/play-dom-demo/variables/Settings.md +0 -13
  755. package/examples/@xmachines/play-dom-demo/variables/Stats.md +0 -13
  756. package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +0 -30
  757. package/examples/@xmachines/play-react-demo/README.md +0 -163
  758. package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +0 -35
  759. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +0 -9
  760. package/examples/@xmachines/play-react-demo/variables/About.md +0 -14
  761. package/examples/@xmachines/play-react-demo/variables/Button.md +0 -12
  762. package/examples/@xmachines/play-react-demo/variables/Contact.md +0 -14
  763. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +0 -15
  764. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +0 -16
  765. package/examples/@xmachines/play-react-demo/variables/Field.md +0 -18
  766. package/examples/@xmachines/play-react-demo/variables/Home.md +0 -14
  767. package/examples/@xmachines/play-react-demo/variables/Login.md +0 -16
  768. package/examples/@xmachines/play-react-demo/variables/NavBar.md +0 -16
  769. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +0 -15
  770. package/examples/@xmachines/play-react-demo/variables/Navigation.md +0 -14
  771. package/examples/@xmachines/play-react-demo/variables/Overview.md +0 -14
  772. package/examples/@xmachines/play-react-demo/variables/Panel.md +0 -15
  773. package/examples/@xmachines/play-react-demo/variables/Profile.md +0 -14
  774. package/examples/@xmachines/play-react-demo/variables/Settings.md +0 -14
  775. package/examples/@xmachines/play-react-demo/variables/Shell.md +0 -19
  776. package/examples/@xmachines/play-react-demo/variables/Stats.md +0 -14
  777. package/examples/@xmachines/play-react-demo/variables/demoComponents.md +0 -30
  778. package/examples/@xmachines/play-solid-demo/README.md +0 -163
  779. package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +0 -35
  780. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +0 -9
  781. package/examples/@xmachines/play-solid-demo/variables/About.md +0 -9
  782. package/examples/@xmachines/play-solid-demo/variables/Button.md +0 -11
  783. package/examples/@xmachines/play-solid-demo/variables/Contact.md +0 -9
  784. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +0 -9
  785. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +0 -17
  786. package/examples/@xmachines/play-solid-demo/variables/Field.md +0 -11
  787. package/examples/@xmachines/play-solid-demo/variables/Home.md +0 -9
  788. package/examples/@xmachines/play-solid-demo/variables/Login.md +0 -9
  789. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +0 -11
  790. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +0 -15
  791. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +0 -9
  792. package/examples/@xmachines/play-solid-demo/variables/Overview.md +0 -9
  793. package/examples/@xmachines/play-solid-demo/variables/Panel.md +0 -11
  794. package/examples/@xmachines/play-solid-demo/variables/Profile.md +0 -9
  795. package/examples/@xmachines/play-solid-demo/variables/Settings.md +0 -9
  796. package/examples/@xmachines/play-solid-demo/variables/Shell.md +0 -18
  797. package/examples/@xmachines/play-solid-demo/variables/Stats.md +0 -9
  798. package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +0 -30
  799. package/examples/@xmachines/play-svelte-demo/README.md +0 -137
  800. package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +0 -35
  801. package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +0 -9
  802. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +0 -9
  803. package/examples/@xmachines/play-svelte-demo/variables/App.md +0 -9
  804. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +0 -197
  805. package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +0 -30
  806. package/examples/@xmachines/play-vue-demo/README.md +0 -159
  807. package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +0 -35
  808. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +0 -9
  809. package/examples/@xmachines/play-vue-demo/variables/App.md +0 -9
  810. package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +0 -11
@@ -102,13 +102,13 @@ The test suite relies on TypeScript path aliases that resolve to source files. I
102
102
 
103
103
  #### TypeScript errors about missing types after adding a dependency
104
104
 
105
- Run `pnpm install --frozen-lockfile` again to ensure all types are installed. If you added a workspace-local dependency, also add the correct `references` entry in the package's `tsconfig.base.json`.
105
+ Run `pnpm install --frozen-lockfile` again to ensure all types are installed. If you added a workspace-local dependency, declare it in the `package.json` of the package with a `workspace:*` range. The root `tsconfig.json` holds the build order, and `tests/tsconfig-reference-graph.test.ts` fails when that order misses the new edge.
106
106
 
107
107
  #### Lint errors about import extensions
108
108
 
109
109
  All TypeScript imports must end with `.js`, even for `.ts` source files:
110
110
 
111
- ```typescript
111
+ ```typescript fragment
112
112
  // ✅ Correct
113
113
  import { PlayError } from "./errors.js";
114
114
 
@@ -154,9 +154,11 @@ All packages are ES modules (`"type": "module"`). Use `.js` extensions in all Ty
154
154
  Every XMachines application needs these six packages plus XState:
155
155
 
156
156
  ```bash
157
- pnpm add xstate @xmachines/play-xstate @xmachines/play-actor @xmachines/play-atom @xmachines/play @xmachines/core @xmachines/json-render-core
157
+ pnpm add xstate @xmachines/play-xstate @xmachines/play-actor @xmachines/play-atom @xmachines/play @xmachines/core @xmachines/json-render-core@0.21.0-xm.6
158
158
  ```
159
159
 
160
+ The json-render packages are exact peers: install the version that this release names, `0.21.0-xm.6`.
161
+
160
162
  | Package | Role |
161
163
  | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
162
164
  | `xstate` | XState v5 state machine engine (peer dependency) |
@@ -208,7 +210,6 @@ const appSetup = setup({
208
210
  types: {
209
211
  context: {} as { count: number },
210
212
  events: {} as { type: "toggle" },
211
- input: {} as undefined,
212
213
  },
213
214
  });
214
215
 
@@ -272,6 +273,10 @@ release:
272
273
 
273
274
  ```typescript
274
275
  import { watchAtom } from "@xmachines/play-atom";
276
+ import type { PlayerActor } from "@xmachines/play-xstate";
277
+ import type { AnyStateMachine } from "xstate";
278
+
279
+ declare const actor: PlayerActor<AnyStateMachine>; // the actor of the example above
275
280
 
276
281
  const stop = watchAtom(actor.state, (snapshot) => {
277
282
  console.log("the machine is now:", snapshot.value);
@@ -324,8 +329,9 @@ const appSetup = setup({
324
329
  query: Record<string, string>;
325
330
  },
326
331
  events: {} as
327
- PlayRouteEvent | { type: "auth.login"; username: string } | { type: "auth.logout" },
328
- input: {} as undefined,
332
+ | PlayRouteEvent
333
+ | { type: "auth.login"; username: string }
334
+ | { type: "auth.logout" },
329
335
  },
330
336
  });
331
337
 
@@ -412,16 +418,27 @@ Used with framework-integrated routers like TanStack Router. All three props (`a
412
418
 
413
419
  ```tsx
414
420
  // React + TanStack Router example
415
- import { useMemo, useEffect } from "react";
421
+ import { useMemo, useEffect, type ReactNode } from "react";
416
422
  import { createRouter, createRootRoute } from "@tanstack/react-router";
417
423
  import { PlayRouterProvider, createRouteMapFromTree } from "@xmachines/play-tanstack-react-router";
418
424
  import { extractMachineRoutes } from "@xmachines/play-router/xstate";
425
+ import { compose, definePlayer, PlayerActor } from "@xmachines/play-xstate";
426
+ import { withRouting } from "@xmachines/play-xstate/routing";
427
+ import type { AnyStateMachine } from "xstate";
428
+
429
+ declare const appMachine: AnyStateMachine; // the machine of "Adding Routing"
430
+ declare function Shell(props: { actor: typeof actor }): ReactNode; // your layout
431
+
419
432
  // Build OUTSIDE of JSX — must be stable references
420
433
  const routeTree = extractMachineRoutes(appMachine);
421
434
  const routeMap = createRouteMapFromTree(routeTree);
422
435
  const router = createRouter({ routeTree: createRootRoute() });
423
436
 
424
437
  // Actor also created outside the component (or memoized inside)
438
+ const createPlayer = definePlayer({
439
+ machine: appMachine,
440
+ actor: compose(PlayerActor, withRouting),
441
+ });
425
442
  const actor = createPlayer();
426
443
  actor.start();
427
444
 
@@ -448,12 +465,21 @@ Used with framework-agnostic or server-rendered routers. `connectRouter` handles
448
465
  import { createBrowserHistory, createRouter, connectRouter } from "@xmachines/play-dom-router";
449
466
  import { createRouteMapFromTree } from "@xmachines/play-router";
450
467
  import { extractMachineRoutes } from "@xmachines/play-router/xstate";
468
+ import { compose, definePlayer, PlayerActor } from "@xmachines/play-xstate";
469
+ import { withRouting } from "@xmachines/play-xstate/routing";
470
+ import type { AnyStateMachine } from "xstate";
471
+
472
+ declare const appMachine: AnyStateMachine; // the machine of "Adding Routing"
451
473
 
452
474
  const routeTree = extractMachineRoutes(appMachine);
453
475
  const routeMap = createRouteMapFromTree(routeTree);
454
476
  const history = createBrowserHistory({ window });
455
477
  const router = createRouter({ routeTree, history });
456
478
 
479
+ const createPlayer = definePlayer({
480
+ machine: appMachine,
481
+ actor: compose(PlayerActor, withRouting),
482
+ });
457
483
  const actor = createPlayer();
458
484
  actor.start();
459
485
 
@@ -483,6 +509,10 @@ import { PlayUIProvider, PlayRenderer, defineRegistry } from "@xmachines/play-re
483
509
  import { defineCatalog } from "@xmachines/json-render-core";
484
510
  import { schema } from "@xmachines/play-react";
485
511
  import { z } from "zod";
512
+ import type { ViewActor } from "@xmachines/play-view";
513
+
514
+ type AuthEvent = { type: "auth.login"; username: string } | { type: "auth.logout" };
515
+ declare const actor: ViewActor<unknown, AuthEvent>; // your actor, composed with `withView`
486
516
 
487
517
  const catalog = defineCatalog(schema, {
488
518
  components: {
@@ -501,7 +531,9 @@ const registryResult = defineRegistry(catalog, {
501
531
  Login: ({ on }) => <button onClick={() => on("submit").emit()}>Log in</button>,
502
532
  },
503
533
  actions: {
504
- login: async ({ username }) => actor.send({ type: "auth.login", username }),
534
+ login: async (params) => {
535
+ if (params) actor.send({ type: "auth.login", username: params.username });
536
+ },
505
537
  logout: async () => actor.send({ type: "auth.logout" }),
506
538
  },
507
539
  });
@@ -548,7 +580,9 @@ function App() {
548
580
  Login: { template: `<button @click="on('submit').emit()">Log in</button>` },
549
581
  },
550
582
  actions: {
551
- login: async ({ username }) => actor.send({ type: "auth.login", username }),
583
+ login: async (params) => {
584
+ if (params) actor.send({ type: "auth.login", username: params.username });
585
+ },
552
586
  logout: async () => actor.send({ type: "auth.logout" }),
553
587
  },
554
588
  });
@@ -562,6 +596,10 @@ import { PlayUIProvider, PlayRenderer, defineRegistry } from "@xmachines/play-so
562
596
  import { defineCatalog } from "@xmachines/json-render-core";
563
597
  import { schema } from "@xmachines/play-solid";
564
598
  import { z } from "zod";
599
+ import type { ViewActor } from "@xmachines/play-view";
600
+
601
+ type AuthEvent = { type: "auth.login"; username: string } | { type: "auth.logout" };
602
+ declare const actor: ViewActor<unknown, AuthEvent>; // your actor, composed with `withView`
565
603
 
566
604
  const catalog = defineCatalog(schema, {
567
605
  components: {
@@ -580,7 +618,9 @@ const registryResult = defineRegistry(catalog, {
580
618
  Login: ({ on }) => <button onClick={() => on("submit").emit()}>Log in</button>,
581
619
  },
582
620
  actions: {
583
- login: async ({ username }) => actor.send({ type: "auth.login", username }),
621
+ login: async (params) => {
622
+ if (params) actor.send({ type: "auth.login", username: params.username });
623
+ },
584
624
  logout: async () => actor.send({ type: "auth.logout" }),
585
625
  },
586
626
  });
@@ -601,6 +641,10 @@ import { createPlayUI, defineRegistry, schema } from "@xmachines/play-dom";
601
641
  import { defineCatalog } from "@xmachines/json-render-core";
602
642
  import { z } from "zod";
603
643
  import type { ComponentFn } from "@xmachines/play-dom";
644
+ import type { ViewActor } from "@xmachines/play-view";
645
+
646
+ type AuthEvent = { type: "auth.login"; username: string } | { type: "auth.logout" };
647
+ declare const actor: ViewActor<unknown, AuthEvent>; // your actor, composed with `withView`
604
648
 
605
649
  const catalog = defineCatalog(schema, {
606
650
  components: {
@@ -631,7 +675,9 @@ const Login: ComponentFn<typeof catalog, "Login"> = ({ on }) => {
631
675
  const registryResult = defineRegistry(catalog, {
632
676
  components: { Home, Login },
633
677
  actions: {
634
- login: async ({ username }) => actor.send({ type: "auth.login", username }),
678
+ login: async (params) => {
679
+ if (params) actor.send({ type: "auth.login", username: params.username });
680
+ },
635
681
  logout: async () => actor.send({ type: "auth.logout" }),
636
682
  },
637
683
  });
@@ -658,7 +704,7 @@ nothing is needed — the generated transitions assign `event.query` to context
658
704
  on every navigation. A machine that handles `play.route` by hand must do that
659
705
  assignment itself:
660
706
 
661
- ```typescript
707
+ ```typescript fragment
662
708
  on: {
663
709
  "play.route": {
664
710
  actions: assign({
@@ -675,7 +721,7 @@ on: {
675
721
 
676
722
  **Fix:** Every state with `meta.route` must declare an explicit `id`:
677
723
 
678
- ```typescript
724
+ ```typescript fragment
679
725
  // ❌ Missing id
680
726
  home: { meta: { route: "/" } }
681
727
 
@@ -690,6 +736,12 @@ home: { id: "home", meta: { route: "/" } }
690
736
  **Fix:** Always call `actor.start()` before `actor.send()`:
691
737
 
692
738
  ```typescript
739
+ import { definePlayer } from "@xmachines/play-xstate";
740
+ import type { AnyStateMachine } from "xstate";
741
+
742
+ declare const machine: AnyStateMachine; // your machine
743
+
744
+ const createPlayer = definePlayer({ machine });
693
745
  const actor = createPlayer();
694
746
  actor.start(); // required before any send()
695
747
  actor.send({ type: "toggle" });
@@ -701,7 +753,7 @@ actor.send({ type: "toggle" });
701
753
 
702
754
  **Fix:** Construct stable references outside JSX or memoize them:
703
755
 
704
- ```typescript
756
+ ```typescript fragment
705
757
  // ✅ Built outside the component
706
758
  const routeTree = extractMachineRoutes(appMachine);
707
759
  const routeMap = createRouteMapFromTree(routeTree);
@@ -27,7 +27,9 @@ Create an inspector and hand its `inspect` observer to [`definePlayer`](../api/@
27
27
  ```typescript
28
28
  import { createBrowserInspector } from "@statelyai/inspect";
29
29
  import { definePlayer } from "@xmachines/play-xstate";
30
- import { appMachine } from "./machine.js";
30
+ import type { AnyStateMachine } from "xstate";
31
+
32
+ declare const appMachine: AnyStateMachine; // your machine
31
33
 
32
34
  const { inspect } = createBrowserInspector();
33
35
 
@@ -45,6 +47,12 @@ actor.start();
45
47
  That is the whole integration. [`PlayerOptions.inspect`](../api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md) is forwarded verbatim to XState's `createActor`, so anything XState accepts there is accepted here — a function, or an observer object with a `next` method:
46
48
 
47
49
  ```typescript
50
+ import { definePlayer } from "@xmachines/play-xstate";
51
+ import type { AnyStateMachine, InspectionEvent } from "xstate";
52
+
53
+ declare const machine: AnyStateMachine; // your machine
54
+ declare const sink: { write(event: InspectionEvent): void }; // your log
55
+
48
56
  // Function form — the common case
49
57
  definePlayer({ machine, options: { inspect: (event) => console.log(event.type) } });
50
58
 
@@ -61,6 +69,13 @@ Two properties of the attachment point matter in practice.
61
69
  **It is configured on the factory, not on the instance.** `definePlayer({ machine, options })` returns a factory; `options.inspect` belongs to that configuration, and every actor the factory creates reports to the same observer. The factory's per-call options bag carries `snapshot` for restoring persisted state and nothing else — there is no per-instance `inspect` override. When one factory produces several live actors (multi-user scenarios, SSR, tests), demultiplex the stream by root instead:
62
70
 
63
71
  ```typescript
72
+ import { definePlayer } from "@xmachines/play-xstate";
73
+ import type { AnyStateMachine, InspectionEvent } from "xstate";
74
+
75
+ declare const machine: AnyStateMachine; // your machine
76
+
77
+ const inspect = (event: InspectionEvent) => console.log(event.type);
78
+
64
79
  const createPlayer = definePlayer({ machine, options: { inspect } });
65
80
 
66
81
  const alice = createPlayer({ userId: "alice" });
@@ -87,7 +102,7 @@ The event types are XState's: `@xstate.actor` when an actor registers, `@xstate.
87
102
 
88
103
  `@xstate.actor` fires from _inside_ the actor's constructor. The `actorRef` it carries is a real `PlayerActor`, but a mid-construction one: `state`, `currentRoute`, `currentView` and `initialRoute` do not exist yet, and reading them there throws — XState itself refuses to read a snapshot in that window.
89
104
 
90
- ```typescript
105
+ ```typescript fragment
91
106
  const inspect = (event: InspectionEvent) => {
92
107
  if (event.type === "@xstate.actor") {
93
108
  // ❌ throws — the atoms are not assigned yet
@@ -109,11 +124,17 @@ Capture the reference during construction if you need it, and read the atoms fro
109
124
  An inspector that is only created when the user asks for it — a dev-tools toggle, a keyboard shortcut, a debug panel button — cannot be passed to `definePlayer`, which ran at module scope long before the click. Pass a forwarding function instead, so the attachment point is fixed at factory time while the destination stays swappable:
110
125
 
111
126
  ```typescript
112
- let current: ((event: InspectionEvent) => void) | undefined;
127
+ import { createBrowserInspector } from "@statelyai/inspect";
128
+ import { definePlayer } from "@xmachines/play-xstate";
129
+ import type { AnyStateMachine, InspectionEvent, Observer } from "xstate";
130
+
131
+ declare const appMachine: AnyStateMachine; // your machine
132
+
133
+ let current: Observer<InspectionEvent> | undefined;
113
134
 
114
135
  const createPlayer = definePlayer({
115
136
  machine: appMachine,
116
- options: { inspect: (event) => current?.(event) },
137
+ options: { inspect: (event) => current?.next?.(event) },
117
138
  });
118
139
 
119
140
  // Later, from a click handler
@@ -135,6 +156,10 @@ There is a catch worth knowing before you ship it: events that arrive while `cur
135
156
 
136
157
  ```typescript
137
158
  import { createWebSocketInspector } from "@statelyai/inspect";
159
+ import { definePlayer } from "@xmachines/play-xstate";
160
+ import type { AnyStateMachine } from "xstate";
161
+
162
+ declare const appMachine: AnyStateMachine; // your machine
138
163
 
139
164
  const { inspect } = createWebSocketInspector({ url: "ws://localhost:8080" });
140
165
 
@@ -147,30 +172,57 @@ Both transports consume the identical `options.inspect` observer, so switching b
147
172
 
148
173
  ## Trying it in the demos
149
174
 
150
- Every demo in this repository — all five renderer demos and all eight router demos — wires the inspector the same way, so any of them can be used to see the flow end to end:
175
+ Every demo in this repository — the five renderer galleries and every router demo — wires the inspector the same way, so any of them can be used to see the flow end to end:
151
176
 
152
177
  ```bash
153
- pnpm --filter @xmachines/play-react-demo run dev
178
+ pnpm --filter @xmachines/play-react-gallery-demo run dev
154
179
  ```
155
180
 
156
- Click **Show Inspector** in the debug panel at the bottom of the page. The inspector opens in its own window with the machine already drawn and the session's history replayed, and it keeps updating as you log in, navigate, and log out.
181
+ Click **Show Inspector** in the debug panel at the bottom of the page. The inspector opens in its own window with the machine already drawn and the session's history replayed, and it keeps updating as you use the machine that you opened in the gallery.
157
182
 
158
- The demos share one controller, `createDemoInspector()` from `@xmachines/play-actor-shared`, which each demo passes straight through to `definePlayer`:
183
+ The demos share one controller, `createDemoInspector()`, which each demo passes straight through to `definePlayer`. The controller lives in a private package of this repository, so you cannot install it. The block below shows the same wiring with the public API. It keeps each event from the creation of the actor, and it replays the events when the user opens the inspector:
159
184
 
160
185
  ```typescript
161
- const inspector = createDemoInspector();
186
+ import { createBrowserInspector } from "@statelyai/inspect";
187
+ import { definePlayer } from "@xmachines/play-xstate";
188
+ import type { AnyStateMachine, InspectionEvent, Observer } from "xstate";
189
+
190
+ declare const appMachine: AnyStateMachine; // your machine
191
+
192
+ const buffer: InspectionEvent[] = [];
193
+ let current: Observer<InspectionEvent> | undefined;
162
194
 
163
195
  const actor = definePlayer({
164
- machine: authMachine,
165
- options: { inspect: inspector.inspect },
196
+ machine: appMachine,
197
+ options: {
198
+ inspect: (event) => {
199
+ if (current) {
200
+ current.next?.(event);
201
+ return;
202
+ }
203
+ // Keep the last 500 events while nobody opens the inspector. A long session drops
204
+ // its oldest events, also the registration of the root actor, and the inspector
205
+ // then has no machine to draw. The demo controller pins each registration for
206
+ // that reason, and it costs more code.
207
+ buffer.push(event);
208
+ if (buffer.length > 500) buffer.shift();
209
+ },
210
+ },
166
211
  })();
167
212
  actor.start();
168
213
 
169
- // The debug panel's button
170
- <button onClick={() => inspector.show()}>Show Inspector</button>;
214
+ // The click handler of the "Show Inspector" button of the debug panel
215
+ export function showInspector() {
216
+ if (current) return;
217
+ // The inspector holds these events until its window connects, and it drops the oldest
218
+ // past `maxDeferredEvents`. The limit leaves room for the events of the handshake, so
219
+ // the inspector keeps every event of the replay.
220
+ current = createBrowserInspector({ maxDeferredEvents: 1000 }).inspect;
221
+ for (const event of buffer.splice(0)) current.next?.(event);
222
+ }
171
223
  ```
172
224
 
173
- The controller answers the late-opening problem from the previous section: it buffers serialized events from actor creation, pins the registration of every live root so it can never roll out of the bounded buffer, and flushes those buffers when the inspector window completes its handshake. Several machines can be alive together — one for each document a host has open — and the handshake replays each of them. That is a demo trade-off rather than a general recommendation — every transition pays serialization whether or not anyone ever opens the inspector — but it is what makes the button work at any point in a session. The shared package's own README, at `packages/play-actor/examples/shared/README.md` in this repository, documents the design in full.
225
+ The demo controller answers the late-opening problem from the previous section: it buffers serialized events from actor creation, pins the registration of every live root so it can never roll out of the bounded buffer, and flushes those buffers when the inspector window completes its handshake. Several machines can be alive together — one for each document a host has open — and the handshake replays each of them. That is a demo trade-off rather than a general recommendation — every transition pays serialization whether or not anyone ever opens the inspector — but it is what makes the button work at any point in a session. The shared package's own README, at `packages/play-actor/examples/shared/README.md` in this repository, documents the design in full.
174
226
 
175
227
  ---
176
228
 
@@ -179,6 +231,14 @@ The controller answers the late-opening problem from the previous section: it bu
179
231
  **Cost.** Inspection serializes events. A `console.log` observer is cheap; a browser inspector posting every transition, and any buffering scheme layered on top, is not. Gate the inspector behind a development-only branch, and prefer letting the bundler drop it entirely:
180
232
 
181
233
  ```typescript
234
+ /// <reference types="vite/client" />
235
+ import { createBrowserInspector } from "@statelyai/inspect";
236
+ import { definePlayer } from "@xmachines/play-xstate";
237
+ import type { AnyStateMachine } from "xstate";
238
+
239
+ declare const appMachine: AnyStateMachine; // your machine
240
+
241
+ // `import.meta.env.DEV` is the development flag of Vite
182
242
  const options = import.meta.env.DEV ? { inspect: createBrowserInspector().inspect } : {};
183
243
 
184
244
  const createPlayer = definePlayer({ machine: appMachine, options });
package/guides/routing.md CHANGED
@@ -55,8 +55,11 @@ A **modifier** follows a param, a wildcard or a group:
55
55
  | `*` | zero or more | matches |
56
56
 
57
57
  ```ts
58
+ import { createMachine } from "xstate";
59
+
58
60
  const machine = createMachine({
59
61
  id: "app",
62
+ initial: "home",
60
63
  states: {
61
64
  home: { meta: { route: "/" } },
62
65
  profile: { meta: { route: "/profile/:userId" } },
@@ -184,7 +187,7 @@ CAUTION: a parallel state loses the position of its other regions when it is the
184
187
 
185
188
  A state whose navigation must re-enter the domain too declares the flag for itself. Here the root runs its `exit` and `entry` actions on each navigation to `dashboard`:
186
189
 
187
- ```ts
190
+ ```ts fragment
188
191
  states: {
189
192
  dashboard: { meta: { route: { path: "/dashboard", reenter: true } } },
190
193
  },
@@ -33,7 +33,6 @@ const authSetup = setup({
33
33
  types: {
34
34
  context: {} as { username: string | null },
35
35
  events: {} as { type: "auth.login"; username: string } | { type: "auth.logout" },
36
- input: {} as undefined,
37
36
  },
38
37
  });
39
38
 
@@ -47,7 +46,8 @@ const authMachine = authSetup.createMachine({
47
46
  "auth.login": {
48
47
  target: "authenticated",
49
48
  actions: authSetup.assign({
50
- username: ({ event }) => event.username,
49
+ username: ({ event }) =>
50
+ event.type === "auth.login" ? event.username : null,
51
51
  }),
52
52
  },
53
53
  },
@@ -78,6 +78,7 @@ XMachines extends XState's `meta` field on each state node. This is where routin
78
78
 
79
79
  ```typescript
80
80
  import { typedSpec } from "@xmachines/play-view";
81
+ import { setup } from "xstate";
81
82
 
82
83
  const appMachine = setup({/* ... */}).createMachine({
83
84
  id: "app",
@@ -126,6 +127,8 @@ const appMachine = setup({/* ... */}).createMachine({
126
127
 
127
128
  The machine's whole context is available to every view through the **`/context` projection**: the derived spec's `state` carries `context: <machine context>`. Specs read it with ordinary state expressions — `{ $state: "/context/username" }` in props, `visible` conditions, or `repeat.statePath`. The subtree is **read-only**: context changes only through machine events, and a `$bindState`/`setState` write under `/context` throws. URL data lives at its own paths (`/context/params/…`, `/context/query/…`, written into context by `formatPlayRouteTransitions`), so a URL param can never shadow a machine-owned field. When validating specs with tools like `validateSpec`, validate the **derived** view (`actor.currentView.get()`) — its `state` honestly describes the store contents — not the raw `meta.view`. A context change re-emits the view with the same `viewKey`; providers respond by refreshing `/context` in the live store, not by remounting the UI.
128
129
 
130
+ **Give each state its own id, and do not use an array index as an id.** XState does not check that the ids of the states are unique, and a repeated id makes a `#id` target name two states. XMachines keys the route, the view and its store on the id of a state, so two states that share an id share one route entry, one store, and one key. An array index is a whole number from 0 to 2³² − 2 with no leading zero, such as `"42"`. JavaScript lists such a key first in every object that is keyed on ids, so the route of its state loses its place in the branch. [`@xmachines/play-xstate`](../api/@xmachines/play-xstate/README.md) writes one warning for each machine that breaks these rules.
131
+
129
132
  **The machine is the single source of truth for both routing and views.** There is no separate route configuration file. There is no switch statement in a component deciding what to render based on the URL. The state machine encodes all of that.
130
133
 
131
134
  ### A layout and its pages: `outlets`
@@ -133,6 +136,11 @@ The machine's whole context is available to every view through the **`/context`
133
136
  Without outlets, the deepest active state that declares a view wins, and a view on a parent state stays off the screen. Declare `outlets` in the view of the parent to show the parent view AND the view of its active child. Each outlet names an element of the parent view, and the view of the child goes into that element:
134
137
 
135
138
  ```typescript
139
+ import { typedSpec, type ViewMeta } from "@xmachines/play-view";
140
+ import { setup } from "xstate";
141
+
142
+ declare const menuView: ViewMeta, homeView: ViewMeta, searchView: ViewMeta; // your views
143
+
136
144
  const shell = typedSpec({
137
145
  root: "shell",
138
146
  state: { collapsed: false },
@@ -166,11 +174,11 @@ const appMachine = setup({/* ... */}).createMachine({
166
174
  - **The key of an outlet** is the key of a child state in `states`, or `"*"` for each active child that has no outlet of its own. A child with neither stays off the screen.
167
175
  - **A compound state** fills one outlet with its active child. **A parallel state** fills one outlet for each region, in the order of `states`.
168
176
  - **`slot`** names a named slot of the element. Omit it to append the child view to the `children` of the element. The component of the element renders the slot, as the renderer of your framework describes.
169
- - **The view of a child** is the deepest view in its active subtree, and a child view can declare `outlets` of its own for a nested layout. A parallel state without outlets shows the region of the URL when that region has a view, and its first region that has a view otherwise.
177
+ - **The view of a child** is the deepest view in its active subtree, and a child view can declare `outlets` of its own for a nested layout. A parallel state without outlets shows the region of the routes when that region has a view, and its first region that has a view otherwise. The region of the routes keeps the screen while it sits in a state without a route of its own.
170
178
 
171
179
  The derived spec holds the elements of every composed view. The keys of the outer view stay as you wrote them, and each key of a child view gets the id of its state as a prefix, for example `app.page.search/root`, so two views never collide.
172
180
 
173
- The `viewKey` of a composed view is the id of the outermost state that declares `outlets`. A change of the page therefore keeps the store of the layout: the `collapsed` value in the example above does not change. The first time that a page shows, the provider writes the keys of its authored `state` that the store does not hold. A page that comes back finds the values that it left. All the pages of one layout share one store, so two pages that declare the same key share one value: give each page its own keys. When two composed views declare the same state key, the outer view wins, and the library writes a warning.
181
+ The `viewKey` of a composed view is the id of the outermost state that declares `outlets`. A change of the page therefore keeps the store of the layout: the `collapsed` value in the example above does not change. The first time that a page shows, the provider writes the keys of its authored `state` that the store does not hold. A page that comes back finds the values that it left. All the pages of one layout share one store, so two pages that declare the same key share one value: give each page its own keys. When two composed views declare the same state key, the outer view wins. The library writes one warning for each layout that names every key that two of its views declare, also for two pages that are never on the screen together.
174
182
 
175
183
  An outlet that names an element that its view does not hold throws `InvalidViewOutletError`. The actor reports it through its `onError` option, and it keeps the last good view.
176
184
 
@@ -198,7 +206,7 @@ A URL path has one hierarchy, and it cannot hold the branches of two regions. Ke
198
206
 
199
207
  For routing to work, the machine must respond to `play.route` events (sent by router bridges when the user navigates). Writing these transitions by hand is mechanical:
200
208
 
201
- ```typescript
209
+ ```typescript fragment
202
210
  // Without formatPlayRouteTransitions — verbose and repetitive
203
211
  states: {
204
212
  home: {
@@ -218,6 +226,7 @@ states: {
218
226
 
219
227
  ```typescript
220
228
  import { formatPlayRouteTransitions } from "@xmachines/play-xstate/routing";
229
+ import { setup } from "xstate";
221
230
 
222
231
  const appMachine = setup({/* ... */}).createMachine(
223
232
  formatPlayRouteTransitions({
@@ -234,7 +243,7 @@ const appMachine = setup({/* ... */}).createMachine(
234
243
 
235
244
  [`formatPlayRouteTransitions`](../api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md) inspects all state nodes with a `meta.route` and generates the corresponding `play.route` guard transitions. The machine's context must include `params` and `query` fields (populated by the router bridge when params or query strings are present):
236
245
 
237
- ```typescript
246
+ ```typescript fragment
238
247
  types: {
239
248
  context: {} as {
240
249
  params: Record<string, string>;
@@ -252,7 +261,12 @@ types: {
252
261
  Guards are the mechanism by which the actor controls whether a transition occurs. They are pure functions of `{ context, event }` that return a boolean.
253
262
 
254
263
  ```typescript
264
+ import { setup } from "xstate";
265
+
255
266
  const authSetup = setup({
267
+ types: {
268
+ context: {} as { isAuthenticated: boolean; role: "user" | "admin" },
269
+ },
256
270
  guards: {
257
271
  isAuthenticated: ({ context }) => context.isAuthenticated,
258
272
  isAdmin: ({ context }) => context.role === "admin",
@@ -280,7 +294,7 @@ Each combinator resolves a guard NAME against the `guards` of `setup()`, so a na
280
294
 
281
295
  Context is the machine's persistent data store. It survives transitions and can be read and updated by actions:
282
296
 
283
- ```typescript
297
+ ```typescript fragment
284
298
  // Context is defined in setup({ types })
285
299
  types: {
286
300
  context: {} as {
@@ -307,22 +321,30 @@ Context is accessed in guards, actions, and when computing routes or views. It i
307
321
  A snapshot is a point-in-time serialisation of the machine's current state and context. XState produces snapshots in a JSON-compatible format:
308
322
 
309
323
  ```typescript
324
+ import { definePlayer } from "@xmachines/play-xstate";
325
+ import type { AnyStateMachine } from "xstate";
326
+
327
+ declare const machine: AnyStateMachine; // your machine
328
+
329
+ const createPlayer = definePlayer({ machine });
330
+ const actor = createPlayer();
331
+ actor.start();
332
+
310
333
  const snapshot = actor.getSnapshot();
311
334
  // snapshot.value → current state node name, e.g. "dashboard"
312
335
  // snapshot.context → current context object
313
336
 
314
- // Stop and serialize
337
+ // Serialize and stop
338
+ const saved = JSON.stringify(actor.getPersistedSnapshot());
315
339
  actor.stop();
316
- const saved = JSON.stringify(snapshot);
317
340
 
318
341
  // Restore
319
- const restored = JSON.parse(saved);
320
- const actor = createPlayer(undefined, { snapshot: restored });
321
- actor.start();
342
+ const restored = createPlayer(undefined, { snapshot: JSON.parse(saved) });
343
+ restored.start();
322
344
  // Actor resumes from where it left off
323
345
  ```
324
346
 
325
- [`definePlayer`](../api/@xmachines/play-xstate/index/functions/definePlayer.md) accepts an optional `restore` argument for this purpose. Restoration is useful for server-side rendering (hydrate with the server's snapshot), session persistence (resume after page reload), and testing (start from a known mid-flow state).
347
+ The factory that [`definePlayer`](../api/@xmachines/play-xstate/index/functions/definePlayer.md) returns accepts an optional second argument, `{ snapshot }`, for this purpose. Serialize the result of `getPersistedSnapshot()`, and not of `getSnapshot()`: XState restores from the persisted form. Restoration is useful for server-side rendering (hydrate with the server's snapshot), session persistence (resume after page reload), and testing (start from a known mid-flow state).
326
348
 
327
349
  ---
328
350