@xmachines/docs 2.2.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/README.md +1 -1
  2. package/api/@xmachines/play/README.md +74 -7
  3. package/api/@xmachines/play/classes/NonNullableError.md +4 -4
  4. package/api/@xmachines/play/classes/PlayError.md +4 -4
  5. package/api/@xmachines/play/functions/asCleanup.md +78 -0
  6. package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
  7. package/api/@xmachines/play/type-aliases/Cleanup.md +38 -0
  8. package/api/@xmachines/play/type-aliases/DisposeKey.md +32 -0
  9. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  10. package/api/@xmachines/play/variables/DISPOSE.md +34 -0
  11. package/api/@xmachines/play-actor/README.md +8 -1
  12. package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -3
  13. package/api/@xmachines/play-actor/functions/attachRenderErrorHandler.md +1 -1
  14. package/api/@xmachines/play-actor/functions/composePlayState.md +1 -1
  15. package/api/@xmachines/play-actor/functions/createFailureLatch.md +20 -0
  16. package/api/@xmachines/play-actor/functions/createReportGuard.md +26 -0
  17. package/api/@xmachines/play-actor/functions/createViewStoreLifecycle.md +1 -1
  18. package/api/@xmachines/play-actor/functions/guardContextWrites.md +1 -1
  19. package/api/@xmachines/play-actor/functions/refreshContextSubtree.md +1 -1
  20. package/api/@xmachines/play-actor/functions/reuseComposedState.md +1 -1
  21. package/api/@xmachines/play-actor/functions/sameViewInputs.md +25 -0
  22. package/api/@xmachines/play-actor/functions/shallowEqualExcept.md +1 -1
  23. package/api/@xmachines/play-actor/functions/toAtomState.md +1 -1
  24. package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
  25. package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +5 -5
  26. package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +5 -5
  27. package/api/@xmachines/play-actor/interfaces/FailureLatch.md +59 -0
  28. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
  29. package/api/@xmachines/play-actor/interfaces/ReportGuard.md +92 -0
  30. package/api/@xmachines/play-actor/interfaces/ReportGuardMessages.md +18 -0
  31. package/api/@xmachines/play-actor/interfaces/ResolveViewStoreOptions.md +2 -2
  32. package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
  33. package/api/@xmachines/play-actor/interfaces/ViewInputs.md +19 -0
  34. package/api/@xmachines/play-actor/interfaces/ViewStoreLifecycle.md +3 -3
  35. package/api/@xmachines/play-actor/interfaces/ViewStoreResolution.md +4 -4
  36. package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
  37. package/api/@xmachines/play-actor/variables/CONTEXT_STATE_KEY.md +1 -1
  38. package/api/@xmachines/play-dom/README.md +84 -16
  39. package/api/@xmachines/play-dom/classes/PlayRenderer.md +10 -10
  40. package/api/@xmachines/play-dom/functions/createPlayUI.md +8 -8
  41. package/api/@xmachines/play-dom/functions/createRenderer.md +3 -3
  42. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +17 -11
  43. package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -4
  44. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +14 -12
  45. package/api/@xmachines/play-dom/type-aliases/Cleanup.md +38 -0
  46. package/api/@xmachines/play-dom/type-aliases/DisposablePlayUI.md +36 -0
  47. package/api/@xmachines/play-dom/type-aliases/MountFn.md +6 -1
  48. package/api/@xmachines/play-dom-router/README.md +44 -18
  49. package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +7 -7
  50. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  51. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +3 -3
  52. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +1 -1
  53. package/api/@xmachines/play-dom-router/functions/createRouter.md +20 -8
  54. package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +3 -3
  55. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +27 -17
  56. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  57. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +6 -6
  58. package/api/@xmachines/play-dom-router/interfaces/DisposableBrowserHistory.md +262 -0
  59. package/api/@xmachines/play-dom-router/interfaces/DisposableVanillaRouter.md +80 -0
  60. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +6 -6
  61. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +4 -4
  62. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  63. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
  64. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +2 -2
  65. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  66. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  67. package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +35 -6
  68. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +26 -5
  69. package/api/@xmachines/play-dom-router/type-aliases/Cleanup.md +38 -0
  70. package/api/@xmachines/play-dom-router/variables/DISPOSE.md +34 -0
  71. package/api/@xmachines/play-react/README.md +2 -2
  72. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +42 -7
  73. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  74. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  75. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  76. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +10 -10
  77. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +8 -6
  78. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -5
  79. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +13 -13
  80. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
  81. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
  82. package/api/@xmachines/play-react/type-aliases/PlayRendererProps.md +1 -1
  83. package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
  84. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  85. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  86. package/api/@xmachines/play-react-router/README.md +1 -1
  87. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +7 -7
  88. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  89. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +1 -1
  90. package/api/@xmachines/play-react-router/functions/createRouteMap.md +1 -1
  91. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  92. package/api/@xmachines/play-react-router/interfaces/PlayActor.md +5 -5
  93. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +6 -6
  94. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +7 -7
  95. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +2 -2
  96. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  97. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  98. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  99. package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  100. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +1 -1
  101. package/api/@xmachines/play-router/README.md +13 -2
  102. package/api/@xmachines/play-router/classes/RouteMap.md +4 -4
  103. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +7 -7
  104. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  105. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  106. package/api/@xmachines/play-router/functions/cleanFrameworkParams.md +1 -1
  107. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  108. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +1 -1
  109. package/api/@xmachines/play-router/functions/createRouterConnection.md +1 -1
  110. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  111. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  112. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  113. package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
  114. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  115. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  116. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  117. package/api/@xmachines/play-router/functions/getPatternParamNames.md +1 -1
  118. package/api/@xmachines/play-router/functions/getRequiredPatternParamNames.md +1 -1
  119. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  120. package/api/@xmachines/play-router/functions/getRouteMappings.md +1 -1
  121. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  122. package/api/@xmachines/play-router/functions/isMountableBridge.md +1 -1
  123. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  124. package/api/@xmachines/play-router/functions/joinBasePath.md +1 -1
  125. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  126. package/api/@xmachines/play-router/functions/mountKey.md +1 -1
  127. package/api/@xmachines/play-router/functions/normalizeBasePath.md +1 -1
  128. package/api/@xmachines/play-router/functions/openProviderBridge.md +5 -5
  129. package/api/@xmachines/play-router/functions/pickOwnParams.md +1 -1
  130. package/api/@xmachines/play-router/functions/repointProviderBridge.md +1 -1
  131. package/api/@xmachines/play-router/functions/resolveBasePath.md +1 -1
  132. package/api/@xmachines/play-router/functions/resolveFrameworkParams.md +1 -1
  133. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  134. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  135. package/api/@xmachines/play-router/functions/stripBasePath.md +1 -1
  136. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  137. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  138. package/api/@xmachines/play-router/interfaces/BasePathOptions.md +5 -5
  139. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +6 -6
  140. package/api/@xmachines/play-router/interfaces/FrameworkParamsSource.md +8 -8
  141. package/api/@xmachines/play-router/interfaces/LocationLike.md +5 -5
  142. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +5 -5
  143. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +7 -7
  144. package/api/@xmachines/play-router/interfaces/MountableRouterBridge.md +8 -8
  145. package/api/@xmachines/play-router/interfaces/OpenProviderBridgeArgs.md +8 -8
  146. package/api/@xmachines/play-router/interfaces/PlayActor.md +7 -7
  147. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +8 -8
  148. package/api/@xmachines/play-router/interfaces/PlayRouterProviderBaseProps.md +9 -9
  149. package/api/@xmachines/play-router/interfaces/ResolvedBasePath.md +5 -5
  150. package/api/@xmachines/play-router/interfaces/ResolvedRoutePath.md +5 -5
  151. package/api/@xmachines/play-router/interfaces/RoutableActor.md +6 -6
  152. package/api/@xmachines/play-router/interfaces/RouteInfo.md +10 -10
  153. package/api/@xmachines/play-router/interfaces/RouteMapOptions.md +4 -4
  154. package/api/@xmachines/play-router/interfaces/RouteMapping.md +5 -5
  155. package/api/@xmachines/play-router/interfaces/RouteMatch.md +5 -5
  156. package/api/@xmachines/play-router/interfaces/RouteNode.md +12 -12
  157. package/api/@xmachines/play-router/interfaces/RouteObject.md +4 -4
  158. package/api/@xmachines/play-router/interfaces/RouteTree.md +7 -7
  159. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  160. package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
  161. package/api/@xmachines/play-router/interfaces/RouterConnection.md +37 -8
  162. package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
  163. package/api/@xmachines/play-router/type-aliases/BaseRouteMapping.md +1 -1
  164. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  165. package/api/@xmachines/play-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  166. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  167. package/api/@xmachines/play-router/variables/DISPOSE.md +34 -0
  168. package/api/@xmachines/play-router/variables/NO_BASE_PATH.md +1 -1
  169. package/api/@xmachines/play-signals/README.md +4 -2
  170. package/api/@xmachines/play-signals/functions/watchSignal.md +27 -4
  171. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  172. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  173. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  174. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  175. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  176. package/api/@xmachines/play-signals/type-aliases/Cleanup.md +38 -0
  177. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  178. package/api/@xmachines/play-solid/README.md +23 -5
  179. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  180. package/api/@xmachines/play-solid/functions/usePlayView.md +14 -1
  181. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
  182. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
  183. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +13 -5
  184. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  185. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  186. package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
  187. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  188. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  189. package/api/@xmachines/play-solid-router/README.md +1 -1
  190. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  191. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +8 -8
  192. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +1 -1
  193. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
  194. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -3
  195. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +5 -5
  196. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +6 -6
  197. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +7 -7
  198. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +2 -2
  199. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  200. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  201. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  202. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  203. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  204. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  205. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +1 -1
  206. package/api/@xmachines/play-svelte/README.md +3 -3
  207. package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
  208. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  209. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +7 -1
  210. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  211. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +10 -10
  212. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +4 -4
  213. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +13 -13
  214. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
  215. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  216. package/api/@xmachines/play-svelte-spa-router/README.md +1 -1
  217. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  218. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +7 -7
  219. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  220. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +1 -1
  221. package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +3 -3
  222. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +6 -6
  223. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +6 -6
  224. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +2 -2
  225. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  226. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  227. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +35 -6
  228. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  229. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
  230. package/api/@xmachines/play-sveltekit-router/README.md +1 -1
  231. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  232. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +7 -7
  233. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  234. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +1 -1
  235. package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +3 -3
  236. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +6 -6
  237. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  238. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +6 -6
  239. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +2 -2
  240. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  241. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  242. package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +35 -6
  243. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
  244. package/api/@xmachines/play-tanstack-react-router/README.md +1 -1
  245. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  246. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +7 -7
  247. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +1 -1
  248. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  249. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  250. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  251. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayActor.md +5 -5
  252. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +6 -6
  253. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +7 -7
  254. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +2 -2
  255. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  256. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  257. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  258. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  259. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  260. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  261. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +5 -5
  262. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +1 -1
  263. package/api/@xmachines/play-tanstack-router/README.md +1 -1
  264. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +7 -7
  265. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  266. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +5 -5
  267. package/api/@xmachines/play-tanstack-solid-router/README.md +1 -1
  268. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  269. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +8 -8
  270. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +1 -1
  271. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
  272. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayActor.md +5 -5
  273. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +6 -6
  274. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +7 -7
  275. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +2 -2
  276. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  277. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  278. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  279. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  280. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  281. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  282. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +5 -5
  283. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +1 -1
  284. package/api/@xmachines/play-vue/README.md +34 -12
  285. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  286. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  287. package/api/@xmachines/play-vue/functions/usePlayView.md +6 -1
  288. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +12 -7
  289. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +15 -10
  290. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
  291. package/api/@xmachines/play-vue/interfaces/VisibilityProviderProps.md +1 -1
  292. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  293. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  294. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  295. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  296. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  297. package/api/@xmachines/play-vue/variables/getPlayViewContext.md +6 -1
  298. package/api/@xmachines/play-vue-router/README.md +1 -1
  299. package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
  300. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +8 -8
  301. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  302. package/api/@xmachines/play-vue-router/interfaces/PlayActor.md +5 -5
  303. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +6 -6
  304. package/api/@xmachines/play-vue-router/interfaces/RouteMapOptions.md +2 -2
  305. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
  306. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  307. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  308. package/api/@xmachines/play-vue-router/type-aliases/VueRouteMap.md +1 -1
  309. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  310. package/api/@xmachines/play-vue-router/variables/VueRouteMap.md +1 -1
  311. package/api/@xmachines/play-xstate/README.md +19 -2
  312. package/api/@xmachines/play-xstate/classes/PlayerActor.md +53 -17
  313. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
  314. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  315. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  316. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  317. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  318. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  319. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  320. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
  321. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  322. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  323. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  324. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  325. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  326. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +7 -7
  327. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
  328. package/api/@xmachines/play-xstate/interfaces/RouteObject.md +2 -2
  329. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  330. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  331. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  332. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  333. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  334. package/api/@xmachines/play-xstate/type-aliases/RouteMetadata.md +1 -1
  335. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  336. package/api/@xmachines/play-xstate/variables/DISPOSE.md +34 -0
  337. package/api/@xmachines/shared/README.md +1 -1
  338. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  339. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  340. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  341. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  342. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
  343. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  344. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  345. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
  346. package/contributing/architecture.md +5 -1
  347. package/contributing/configuration.md +59 -17
  348. package/contributing/development.md +50 -28
  349. package/contributing/testing.md +3 -3
  350. package/guides/getting-started.md +7 -7
  351. package/guides/signals.md +43 -0
  352. package/package.json +1 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouteLookupContract
4
4
 
5
- Defined in: [play-dom-router/src/connect-router.ts:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-dom-router/src/connect-router.ts#L16)
5
+ Defined in: [play-dom-router/src/connect-router.ts:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/connect-router.ts#L16)
6
6
 
7
7
  The structural route lookup interface that [connectRouter](../functions/connectRouter.md) accepts.
8
8
 
@@ -21,7 +21,7 @@ that holds one form only still resolves the path.
21
21
  getPathByStateId(id): string | null | undefined;
22
22
  ```
23
23
 
24
- Defined in: [play-dom-router/src/connect-router.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-dom-router/src/connect-router.ts#L18)
24
+ Defined in: [play-dom-router/src/connect-router.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/connect-router.ts#L18)
25
25
 
26
26
  #### Parameters
27
27
 
@@ -41,7 +41,7 @@ Defined in: [play-dom-router/src/connect-router.ts:18](https://gitlab.com/xmachi
41
41
  getStateIdByPath(path): string | null | undefined;
42
42
  ```
43
43
 
44
- Defined in: [play-dom-router/src/connect-router.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-dom-router/src/connect-router.ts#L17)
44
+ Defined in: [play-dom-router/src/connect-router.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/connect-router.ts#L17)
45
45
 
46
46
  #### Parameters
47
47
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouteMap
4
4
 
5
- Defined in: [play-router/src/base-route-map.ts:105](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L105)
5
+ Defined in: [play-router/src/base-route-map.ts:105](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/base-route-map.ts#L105)
6
6
 
7
7
  The shared base class of the route map for both directions.
8
8
 
@@ -58,7 +58,7 @@ map.getPathByStateId("missing"); // null
58
58
  getPathByStateId(stateId): string | null;
59
59
  ```
60
60
 
61
- Defined in: [play-router/src/base-route-map.ts:229](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L229)
61
+ Defined in: [play-router/src/base-route-map.ts:229](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/base-route-map.ts#L229)
62
62
 
63
63
  Returns the path pattern of a state ID.
64
64
 
@@ -94,7 +94,7 @@ map.getPathByStateId("missing"); // null
94
94
  getStateIdByPath(path): string | null;
95
95
  ```
96
96
 
97
- Defined in: [play-router/src/base-route-map.ts:189](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L189)
97
+ Defined in: [play-router/src/base-route-map.ts:189](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/base-route-map.ts#L189)
98
98
 
99
99
  Resolves a URL path to its state ID.
100
100
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouteMapOptions
4
4
 
5
- Defined in: [play-router/src/create-route-map.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/create-route-map.ts#L9)
5
+ Defined in: [play-router/src/create-route-map.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/create-route-map.ts#L9)
6
6
 
7
7
  The options of `createRouteMap` and of `createRouteMapFromTree`.
8
8
 
@@ -10,4 +10,4 @@ The options of `createRouteMap` and of `createRouteMapFromTree`.
10
10
 
11
11
  | Property | Type | Description | Defined in |
12
12
  | -------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
13
- | <a id="property-cachesize"></a> `cacheSize?` | `number` | The maximum number of the resolved parameterized path lookups in the cache. `RouteMap.getStateIdByPath()` resolves a parameterized pattern, for example `/profile/:userId`, with URLPattern on each call. The map keeps each path of a frequent visit in an LRU cache, and a later lookup of that path is therefore O(1). Raise this value for an application with a large set of parameterized routes, or with a high frequency of the navigation. The default is `500`. | [play-router/src/create-route-map.ts:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/create-route-map.ts#L21) |
13
+ | <a id="property-cachesize"></a> `cacheSize?` | `number` | The maximum number of the resolved parameterized path lookups in the cache. `RouteMap.getStateIdByPath()` resolves a parameterized pattern, for example `/profile/:userId`, with URLPattern on each call. The map keeps each path of a frequent visit in an LRU cache, and a later lookup of that path is therefore O(1). Raise this value for an application with a large set of parameterized routes, or with a high frequency of the navigation. The default is `500`. | [play-router/src/create-route-map.ts:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/create-route-map.ts#L21) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouteMapping
4
4
 
5
- Defined in: [play-router/src/base-route-map.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L54)
5
+ Defined in: [play-router/src/base-route-map.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/base-route-map.ts#L54)
6
6
 
7
7
  One entry of the map between a state ID and a path.
8
8
 
@@ -24,5 +24,5 @@ const optionalMapping: RouteMapping = { stateId: "settings", path: "/settings/:s
24
24
 
25
25
  | Property | Modifier | Type | Description | Defined in |
26
26
  | --------------------------------------- | ---------- | -------- | ------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
27
- | <a id="property-path"></a> `path` | `readonly` | `string` | The pattern of the URL path, for example `"/"`, `"/profile/:userId"`, or `"/settings/:section?"` | [play-router/src/base-route-map.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L58) |
28
- | <a id="property-stateid"></a> `stateId` | `readonly` | `string` | The state ID of the state machine, for example `"home"` or `"#profile"` | [play-router/src/base-route-map.ts:56](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/base-route-map.ts#L56) |
27
+ | <a id="property-path"></a> `path` | `readonly` | `string` | The pattern of the URL path, for example `"/"`, `"/profile/:userId"`, or `"/settings/:section?"` | [play-router/src/base-route-map.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/base-route-map.ts#L58) |
28
+ | <a id="property-stateid"></a> `stateId` | `readonly` | `string` | The state ID of the state machine, for example `"home"` or `"#profile"` | [play-router/src/base-route-map.ts:56](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/base-route-map.ts#L56) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouterBridge
4
4
 
5
- Defined in: [play-router/src/types.ts:359](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L359)
5
+ Defined in: [play-router/src/types.ts:359](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L359)
6
6
 
7
7
  The RouterBridge interface of a runtime infrastructure adapter
8
8
 
@@ -56,7 +56,7 @@ class MyRouterBridge implements RouterBridge {
56
56
  connect(): void | Promise<void>;
57
57
  ```
58
58
 
59
- Defined in: [play-router/src/types.ts:376](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L376)
59
+ Defined in: [play-router/src/types.ts:376](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L376)
60
60
 
61
61
  Connects the router bridge to the Actor
62
62
 
@@ -86,7 +86,7 @@ await bridge.connect();
86
86
  disconnect(): void | Promise<void>;
87
87
  ```
88
88
 
89
- Defined in: [play-router/src/types.ts:392](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/types.ts#L392)
89
+ Defined in: [play-router/src/types.ts:392](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/types.ts#L392)
90
90
 
91
91
  Disconnects the router bridge from the Actor
92
92
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: RouterConnection()
4
4
 
5
- Defined in: [play-router/src/provider-lifecycle.ts:263](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L263)
5
+ Defined in: [play-router/src/provider-lifecycle.ts:265](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L265)
6
6
 
7
7
  What `connectRouter` of an adapter returns.
8
8
 
@@ -21,7 +21,7 @@ stale.
21
21
  RouterConnection(): void;
22
22
  ```
23
23
 
24
- Defined in: [play-router/src/provider-lifecycle.ts:265](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L265)
24
+ Defined in: [play-router/src/provider-lifecycle.ts:267](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L267)
25
25
 
26
26
  Stops the synchronization. The same call as [RouterConnection.disconnect](#disconnect).
27
27
 
@@ -33,18 +33,47 @@ Stops the synchronization. The same call as [RouterConnection.disconnect](#disco
33
33
 
34
34
  | Property | Modifier | Type | Description | Defined in |
35
35
  | ----------------------------------------------------- | ---------- | -------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
36
- | <a id="property-basepath"></a> `basePath` | `readonly` | `string` | The resolved prefix of the mount, or `""` when the machine owns the whole router. | [play-router/src/provider-lifecycle.ts:269](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L269) |
37
- | <a id="property-basepathparams"></a> `basePathParams` | `readonly` | `Readonly`\<`Record`\<`string`, `string`\>\> | The values of the `:param` segments of the mount. They travel in no event. | [play-router/src/provider-lifecycle.ts:271](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L271) |
36
+ | <a id="property-basepath"></a> `basePath` | `readonly` | `string` | The resolved prefix of the mount, or `""` when the machine owns the whole router. | [play-router/src/provider-lifecycle.ts:288](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L288) |
37
+ | <a id="property-basepathparams"></a> `basePathParams` | `readonly` | `Readonly`\<`Record`\<`string`, `string`\>\> | The values of the `:param` segments of the mount. They travel in no event. | [play-router/src/provider-lifecycle.ts:290](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L290) |
38
38
 
39
39
  ## Methods
40
40
 
41
+ ### \[dispose\]()
42
+
43
+ ```ts
44
+ dispose: void;
45
+ ```
46
+
47
+ Defined in: [play-router/src/provider-lifecycle.ts:286](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L286)
48
+
49
+ Stops the synchronization when the scope of a `using` declaration ends.
50
+
51
+ This value IS the release of `connectRouter`, and all eight router adapters return
52
+ it, so it carries the protocol of `@xmachines/play` like every other release of the
53
+ ecosystem:
54
+
55
+ ```ts
56
+ {
57
+ using connection = connectRouter({ actor, router, routeMap });
58
+ // disconnect() runs at the end of the scope, and after an exception too
59
+ }
60
+ ```
61
+
62
+ The release is [RouterConnection.disconnect](#disconnect), which is idempotent.
63
+
64
+ #### Returns
65
+
66
+ `void`
67
+
68
+ ---
69
+
41
70
  ### disconnect()
42
71
 
43
72
  ```ts
44
73
  disconnect(): void;
45
74
  ```
46
75
 
47
- Defined in: [play-router/src/provider-lifecycle.ts:267](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L267)
76
+ Defined in: [play-router/src/provider-lifecycle.ts:269](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L269)
48
77
 
49
78
  Stops the synchronization.
50
79
 
@@ -60,7 +89,7 @@ Stops the synchronization.
60
89
  setBasePath(basePath?, basePathParams?): void;
61
90
  ```
62
91
 
63
- Defined in: [play-router/src/provider-lifecycle.ts:273](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-router/src/provider-lifecycle.ts#L273)
92
+ Defined in: [play-router/src/provider-lifecycle.ts:292](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-router/src/provider-lifecycle.ts#L292)
64
93
 
65
94
  Moves the mount of the live bridge, with no teardown.
66
95
 
@@ -1,15 +1,36 @@
1
1
  [API](../../../README.md) / [@xmachines/play-dom-router](../README.md) / VanillaRouter
2
2
 
3
- # Interface: VanillaRouter
3
+ # Interface: VanillaRouter\<History\>
4
4
 
5
- Defined in: [play-dom-router/src/create-router.ts:4](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-dom-router/src/create-router.ts#L4)
5
+ Defined in: [play-dom-router/src/create-router.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-router.ts#L17)
6
+
7
+ The router that [createRouter](../functions/createRouter.md) builds.
8
+
9
+ The type parameter carries the history of the CALLER. `createBrowserHistory` gives a
10
+ `DisposableBrowserHistory` back, and a bare `VanillaRouter` would widen it to
11
+ `BrowserHistory` — so `using stop = router.history.subscribe(fn)` would refuse to
12
+ compile through the very path the README documents. A test double that hands a plain
13
+ function back stays a plain `BrowserHistory`, because the parameter says what it says.
14
+
15
+ The default keeps `VanillaRouter` usable with no argument, which is what
16
+ `connect-router.ts` writes.
17
+
18
+ ## Extended by
19
+
20
+ - [`DisposableVanillaRouter`](DisposableVanillaRouter.md)
21
+
22
+ ## Type Parameters
23
+
24
+ | Type Parameter | Default type |
25
+ | --------------------------------------------------------- | ------------------------------------- |
26
+ | `History` _extends_ [`BrowserHistory`](BrowserHistory.md) | [`BrowserHistory`](BrowserHistory.md) |
6
27
 
7
28
  ## Properties
8
29
 
9
30
  | Property | Modifier | Type | Description | Defined in |
10
31
  | ------------------------------------------- | ---------- | -------------------------------------------------------- | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
11
- | <a id="property-history"></a> `history` | `readonly` | [`BrowserHistory`](BrowserHistory.md) | The history instance | [play-dom-router/src/create-router.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-dom-router/src/create-router.ts#L8) |
12
- | <a id="property-routetree"></a> `routeTree` | `readonly` | [`RouteTree`](../../play-router/interfaces/RouteTree.md) | The route tree, as a reference to the structure | [play-dom-router/src/create-router.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-dom-router/src/create-router.ts#L13) |
32
+ | <a id="property-history"></a> `history` | `readonly` | `History` | The history instance | [play-dom-router/src/create-router.ts:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-router.ts#L21) |
33
+ | <a id="property-routetree"></a> `routeTree` | `readonly` | [`RouteTree`](../../play-router/interfaces/RouteTree.md) | The route tree, as a reference to the structure | [play-dom-router/src/create-router.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-router.ts#L26) |
13
34
 
14
35
  ## Methods
15
36
 
@@ -19,7 +40,7 @@ Defined in: [play-dom-router/src/create-router.ts:4](https://gitlab.com/xmachin-
19
40
  destroy(): void;
20
41
  ```
21
42
 
22
- Defined in: [play-dom-router/src/create-router.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-dom-router/src/create-router.ts#L18)
43
+ Defined in: [play-dom-router/src/create-router.ts:31](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-dom-router/src/create-router.ts#L31)
23
44
 
24
45
  Cleans up
25
46
 
@@ -0,0 +1,38 @@
1
+ [API](../../../README.md) / [@xmachines/play-dom-router](../README.md) / Cleanup
2
+
3
+ # Type Alias: Cleanup
4
+
5
+ ```ts
6
+ type Cleanup = () => void & { [Key in DisposeKey]: () => void };
7
+ ```
8
+
9
+ Defined in: [play/src/disposable.ts:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play/src/disposable.ts#L66)
10
+
11
+ The release of a subscription. A caller runs it, or a scope releases it.
12
+
13
+ The type is a function AND a `Disposable`, so one value serves both forms. A caller
14
+ that holds the release in a field and runs it from a teardown keeps that code. A
15
+ caller inside one scope writes `using` and writes no teardown at all:
16
+
17
+ ```ts
18
+ // The explicit form. It stays correct.
19
+ const stop = watchSignal(count, render);
20
+ stop();
21
+
22
+ // The scoped form. The scope releases it, and an exception releases it too.
23
+ {
24
+ using stop = watchSignal(count, render);
25
+ render(count.get());
26
+ }
27
+ ```
28
+
29
+ `using` needs Node 24 or a browser with Explicit Resource Management, and it needs
30
+ `"lib": ["ESNext"]` of the consumer. The publishable packages build at
31
+ `target: "esnext"` and pass the syntax through, so the bundler of the consumer decides
32
+ how to emit it. The `Cleanup` VALUE needs neither: a runtime without `Symbol.dispose`
33
+ still calls it as a function, and a consumer that declares a lower `lib` still reads
34
+ the type. See [DisposeKey](../../play/type-aliases/DisposeKey.md) for the second half of that.
35
+
36
+ ## See
37
+
38
+ [Play RFC](../../../../rfc/play.md)
@@ -0,0 +1,34 @@
1
+ [API](../../../README.md) / [@xmachines/play-dom-router](../README.md) / DISPOSE
2
+
3
+ # Variable: DISPOSE
4
+
5
+ ```ts
6
+ const DISPOSE: DisposeKey;
7
+ ```
8
+
9
+ Defined in: [play/src/disposable.ts:94](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play/src/disposable.ts#L94)
10
+
11
+ The key that a release is stored under.
12
+
13
+ `Symbol.dispose` where the runtime has it, and `Symbol.for("Symbol.dispose")` where it
14
+ does not. This is not a convenience — it is the difference between a `using` that
15
+ releases and one that raises.
16
+
17
+ A bundler that downlevels `using` for a target below Chrome 134 emits a helper that
18
+ reads `object[Symbol.dispose || Symbol.for("Symbol.dispose")]`. A release stored under
19
+ a bare `[Symbol.dispose]` lands on the string key `"undefined"` in that runtime,
20
+ because the well-known symbol is absent and the computed key takes the value
21
+ `undefined`. The helper then looks up the registered symbol, finds nothing, and throws
22
+ `TypeError: Object is not disposable`. Storing under the same fallback closes the gap.
23
+
24
+ The type assertion states what the fallback IS. `Symbol.for` returns a plain `symbol`,
25
+ TypeScript declares `Symbol.dispose` as a `unique symbol`, and no expression produces
26
+ a `unique symbol` other than the declaration itself.
27
+
28
+ This binding resolves ONE time, when the module evaluates. [asCleanup](../../play/functions/asCleanup.md) therefore
29
+ reads `Symbol.dispose` again at each call and stores the release under both keys, so a
30
+ polyfill that installs the well-known symbol after this module evaluates still finds
31
+ the release. A class or an object literal that writes `[DISPOSE]()` has no such second
32
+ chance: it carries the key that existed when it was defined. Install an Explicit
33
+ Resource Management polyfill before the first import of `@xmachines/play`, which is the
34
+ ordinary contract of a polyfill.
@@ -4,7 +4,7 @@
4
4
 
5
5
  React renderer for XMachines Play architecture with signal-driven rendering.
6
6
 
7
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-2.2.0-blue)](https://www.npmjs.com/package/@xmachines/play-react)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-3.0.0-blue)](https://www.npmjs.com/package/@xmachines/play-react)
8
8
 
9
9
  ## Installation
10
10
 
@@ -23,7 +23,7 @@ Supported versions:
23
23
  - `react` / `react-dom`: `^18.0.0 || ^19.0.0`
24
24
  - `xstate`: `^5.31.0`
25
25
  - `@xstate/store`: `^3.17.0`
26
- - `@xmachines/json-render-*`: `^0.20.0-xm.2`
26
+ - `@xmachines/json-render-*`: `^0.20.0-xm.4`
27
27
 
28
28
  ## Usage
29
29
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: PlayErrorBoundary
4
4
 
5
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-react/src/PlayErrorBoundary.tsx#L54)
5
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:99](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/PlayErrorBoundary.tsx#L99)
6
6
 
7
7
  The React class component that catches a render error of a catalog component.
8
8
 
@@ -37,7 +37,7 @@ CONS-14: the class component pattern works with every React version, 18 and 19.
37
37
  new PlayErrorBoundary(props): PlayErrorBoundary;
38
38
  ```
39
39
 
40
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-react/src/PlayErrorBoundary.tsx#L58)
40
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:103](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/PlayErrorBoundary.tsx#L103)
41
41
 
42
42
  #### Parameters
43
43
 
@@ -76,7 +76,7 @@ React.Component<
76
76
  componentDidCatch(error, info): void;
77
77
  ```
78
78
 
79
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:67](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-react/src/PlayErrorBoundary.tsx#L67)
79
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:135](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/PlayErrorBoundary.tsx#L135)
80
80
 
81
81
  Catches exceptions generated in descendant components. Unhandled exceptions will cause
82
82
  the entire component tree to unmount.
@@ -376,7 +376,7 @@ React.Component.getSnapshotBeforeUpdate;
376
376
  render(): ReactNode;
377
377
  ```
378
378
 
379
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-react/src/PlayErrorBoundary.tsx#L71)
379
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:139](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/PlayErrorBoundary.tsx#L139)
380
380
 
381
381
  #### Returns
382
382
 
@@ -602,10 +602,10 @@ React.Component.UNSAFE_componentWillUpdate;
602
602
  ### getDerivedStateFromError()
603
603
 
604
604
  ```ts
605
- static getDerivedStateFromError(error): PlayErrorBoundaryState;
605
+ static getDerivedStateFromError(error): Pick<PlayErrorBoundaryState, "hasError" | "error">;
606
606
  ```
607
607
 
608
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-react/src/PlayErrorBoundary.tsx#L63)
608
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:108](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/PlayErrorBoundary.tsx#L108)
609
609
 
610
610
  #### Parameters
611
611
 
@@ -615,4 +615,39 @@ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:63](https://gitlab.co
615
615
 
616
616
  #### Returns
617
617
 
618
- [`PlayErrorBoundaryState`](../interfaces/PlayErrorBoundaryState.md)
618
+ `Pick`\<[`PlayErrorBoundaryState`](../interfaces/PlayErrorBoundaryState.md), `"hasError"` \| `"error"`\>
619
+
620
+ ---
621
+
622
+ ### getDerivedStateFromProps()
623
+
624
+ ```ts
625
+ static getDerivedStateFromProps(props, state):
626
+ | Partial<PlayErrorBoundaryState>
627
+ | null;
628
+ ```
629
+
630
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:126](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/PlayErrorBoundary.tsx#L126)
631
+
632
+ Clears the error state after a change of `resetKey`.
633
+
634
+ React runs this method before every render, and it runs it also on the render that
635
+ follows a catch. The two values are equal on that render, because the props carry
636
+ no change yet. Therefore the method keeps the fallback there, and it clears the
637
+ state only on the next render that brings a new key.
638
+
639
+ `state.resetKey` is the key of the last COMMIT. React commits the state of a class
640
+ with the commit, so a render that React throws away writes none, and a hidden tree
641
+ that React renders with no commit writes none either.
642
+
643
+ #### Parameters
644
+
645
+ | Parameter | Type |
646
+ | --------- | ------------------------------------------------------------------- |
647
+ | `props` | [`PlayErrorBoundaryProps`](../interfaces/PlayErrorBoundaryProps.md) |
648
+ | `state` | [`PlayErrorBoundaryState`](../interfaces/PlayErrorBoundaryState.md) |
649
+
650
+ #### Returns
651
+
652
+ \| `Partial`\<[`PlayErrorBoundaryState`](../interfaces/PlayErrorBoundaryState.md)\>
653
+ \| `null`
@@ -6,7 +6,7 @@
6
6
  function useActor(): AnyPlayActor;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/src/useActor.ts:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-react/src/useActor.ts#L34)
9
+ Defined in: [packages/play-react/src/useActor.ts:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/useActor.ts#L34)
10
10
 
11
11
  ## Returns
12
12
 
@@ -6,7 +6,7 @@
6
6
  function usePlayView(): ViewContextValue;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/src/ActorProvider.tsx:94](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-react/src/ActorProvider.tsx#L94)
9
+ Defined in: [packages/play-react/src/ActorProvider.tsx:150](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/ActorProvider.tsx#L150)
10
10
 
11
11
  The hook that gives the current view spec, the handlers, and the registry.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function useSignalEffect(callback, deps?): void;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/src/useSignalEffect.ts:81](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-react/src/useSignalEffect.ts#L81)
9
+ Defined in: [packages/play-react/src/useSignalEffect.ts:81](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/useSignalEffect.ts#L81)
10
10
 
11
11
  The React hook that subscribes to the signal changes and runs an effect callback
12
12
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: ActorProviderProps
4
4
 
5
- Defined in: [packages/play-react/src/ActorProvider.tsx:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-react/src/ActorProvider.tsx#L53)
5
+ Defined in: [packages/play-react/src/ActorProvider.tsx:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/ActorProvider.tsx#L59)
6
6
 
7
7
  The props of the ActorProvider component.
8
8
 
@@ -16,12 +16,12 @@ The props of the ActorProvider component.
16
16
 
17
17
  ## Properties
18
18
 
19
- | Property | Type | Description | Inherited from | Defined in |
20
- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
21
- | <a id="property-actor"></a> `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Viewable`](../../play-actor/interfaces/Viewable.md) | The actor instance with the currentView signal. It requires the Viewable capability. | [`BaseActorProviderProps`](../../play-actor/interfaces/BaseActorProviderProps.md).[`actor`](../../play-actor/interfaces/BaseActorProviderProps.md#property-actor) | [packages/play-actor/src/abstract-actor.ts:163](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-actor/src/abstract-actor.ts#L163) |
22
- | <a id="property-children"></a> `children` | `ReactNode` | The child components to render inside the provider tree | - | [packages/play-react/src/ActorProvider.tsx:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-react/src/ActorProvider.tsx#L59) |
23
- | <a id="property-fallback"></a> `fallback?` | `ReactNode` | The component to show when currentView is null, or when a catalog component throws. This prop is optional | - | [packages/play-react/src/ActorProvider.tsx:55](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-react/src/ActorProvider.tsx#L55) |
24
- | <a id="property-onerror"></a> `onError?` | (`error`, `info`) => `void` | The optional error handler. The provider calls it when a catalog component throws during a render | - | [packages/play-react/src/ActorProvider.tsx:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-react/src/ActorProvider.tsx#L57) |
25
- | <a id="property-onrendererror"></a> `onRenderError?` | [`RenderErrorHandler`](../type-aliases/RenderErrorHandler.md) | The provider calls it when one catalog component throws during a render. This handler replaces every onRenderError of defineRegistry. | [`BaseActorProviderProps`](../../play-actor/interfaces/BaseActorProviderProps.md).[`onRenderError`](../../play-actor/interfaces/BaseActorProviderProps.md#property-onrendererror) | [packages/play-actor/src/abstract-actor.ts:177](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-actor/src/abstract-actor.ts#L177) |
26
- | <a id="property-registryresult"></a> `registryResult` | `DefineRegistryResult` | The complete result of defineRegistry(). It holds the component registry and the factory of the action handlers. | [`BaseActorProviderProps`](../../play-actor/interfaces/BaseActorProviderProps.md).[`registryResult`](../../play-actor/interfaces/BaseActorProviderProps.md#property-registryresult) | [packages/play-actor/src/abstract-actor.ts:165](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-actor/src/abstract-actor.ts#L165) |
27
- | <a id="property-store"></a> `store?` | `StateStore` | The optional external StateStore, which is the controlled mode. With this option, the provider ignores spec.state, and this store is the single source of truth. Without it, the provider makes a new @xstate/store atom for each view transition, with the values of spec.state. | [`BaseActorProviderProps`](../../play-actor/interfaces/BaseActorProviderProps.md).[`store`](../../play-actor/interfaces/BaseActorProviderProps.md#property-store) | [packages/play-actor/src/abstract-actor.ts:172](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-actor/src/abstract-actor.ts#L172) |
19
+ | Property | Type | Description | Inherited from | Defined in |
20
+ | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
21
+ | <a id="property-actor"></a> `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Viewable`](../../play-actor/interfaces/Viewable.md) | The actor instance with the currentView signal. It requires the Viewable capability. | [`BaseActorProviderProps`](../../play-actor/interfaces/BaseActorProviderProps.md).[`actor`](../../play-actor/interfaces/BaseActorProviderProps.md#property-actor) | [packages/play-actor/src/abstract-actor.ts:163](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-actor/src/abstract-actor.ts#L163) |
22
+ | <a id="property-children"></a> `children` | `ReactNode` | The child components to render inside the provider tree | - | [packages/play-react/src/ActorProvider.tsx:98](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/ActorProvider.tsx#L98) |
23
+ | <a id="property-fallback"></a> `fallback?` | `ReactNode` | The component to show when currentView is null, or when a catalog component throws. This prop is optional | - | [packages/play-react/src/ActorProvider.tsx:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/ActorProvider.tsx#L61) |
24
+ | <a id="property-onerror"></a> `onError?` | (`error`, `info`, `reset`) => `void` | The optional error handler. The provider calls it when a descendant throws during a render. While the error is active, the provider renders the `fallback` instead of its children. The provider clears the error on the next view emission (when `currentView` changes), so a view transition retries the render. Element-level catalog component throws are caught upstream by the per-element boundary of @json-render, and reported through `onRenderError`. This boundary is the outer net for everything else. The THIRD parameter is the reset, for a retry that the host starts — a "Retry" button of its own. It sits after `info`, and not in the second place that the four other renderers use, because `React.ErrorInfo` holds that place already and a move would break every handler that reads `info.componentStack`. The reset clears the contained error and renders again. It renders the view that the actor holds at the MOMENT OF THE CALL, so a host that keeps the callback cannot rewind the screen to the view that failed. A reset that the host calls from inside this handler does nothing, because no input changed between the two attempts, and a reset after the provider is unmounted does nothing. The five renderers hold the same three rules. **A handler that THROWS reaches no caller.** The provider contains that throw, and it writes the throw to `console.error`. This handler runs inside `componentDidCatch`, so a throw that left it would reach the boundary ABOVE this provider, and React can then unmount the complete root — which is the failure that this boundary contained. Report a failure from this handler. To ESCALATE one, raise it from a task of your own — `queueMicrotask(() => { throw error; })` — which reaches the global handler of the page and leaves the containment whole. The five renderers hold this one rule. | - | [packages/play-react/src/ActorProvider.tsx:96](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/ActorProvider.tsx#L96) |
25
+ | <a id="property-onrendererror"></a> `onRenderError?` | [`RenderErrorHandler`](../type-aliases/RenderErrorHandler.md) | The provider calls it when one catalog component throws during a render. This handler replaces every onRenderError of defineRegistry. | [`BaseActorProviderProps`](../../play-actor/interfaces/BaseActorProviderProps.md).[`onRenderError`](../../play-actor/interfaces/BaseActorProviderProps.md#property-onrendererror) | [packages/play-actor/src/abstract-actor.ts:177](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-actor/src/abstract-actor.ts#L177) |
26
+ | <a id="property-registryresult"></a> `registryResult` | `DefineRegistryResult` | The complete result of defineRegistry(). It holds the component registry and the factory of the action handlers. | [`BaseActorProviderProps`](../../play-actor/interfaces/BaseActorProviderProps.md).[`registryResult`](../../play-actor/interfaces/BaseActorProviderProps.md#property-registryresult) | [packages/play-actor/src/abstract-actor.ts:165](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-actor/src/abstract-actor.ts#L165) |
27
+ | <a id="property-store"></a> `store?` | `StateStore` | The optional external StateStore, which is the controlled mode. With this option, the provider ignores spec.state, and this store is the single source of truth. Without it, the provider makes a new @xstate/store atom for each view transition, with the values of spec.state. | [`BaseActorProviderProps`](../../play-actor/interfaces/BaseActorProviderProps.md).[`store`](../../play-actor/interfaces/BaseActorProviderProps.md#property-store) | [packages/play-actor/src/abstract-actor.ts:172](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-actor/src/abstract-actor.ts#L172) |
@@ -2,14 +2,16 @@
2
2
 
3
3
  # Interface: PlayErrorBoundaryProps
4
4
 
5
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-react/src/PlayErrorBoundary.tsx#L14)
5
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/PlayErrorBoundary.tsx#L14)
6
6
 
7
7
  The props of PlayErrorBoundary
8
8
 
9
9
  ## Properties
10
10
 
11
- | Property | Type | Description | Defined in |
12
- | ------------------------------------------ | --------------------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
13
- | <a id="property-children"></a> `children` | `ReactNode` | The child components to render | [packages/play-react/src/PlayErrorBoundary.tsx:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-react/src/PlayErrorBoundary.tsx#L18) |
14
- | <a id="property-fallback"></a> `fallback?` | `ReactNode` | The fallback UI to render when a child component throws. The default is null. | [packages/play-react/src/PlayErrorBoundary.tsx:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-react/src/PlayErrorBoundary.tsx#L16) |
15
- | <a id="property-onerror"></a> `onError?` | (`error`, `info`) => `void` | The optional error handler. It sends each error to an observability tool, such as Sentry | [packages/play-react/src/PlayErrorBoundary.tsx:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v2.2.0/packages/play-react/src/PlayErrorBoundary.tsx#L20) |
11
+ | Property | Type | Description | Defined in |
12
+ | ------------------------------------------------------ | --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
13
+ | <a id="property-children"></a> `children` | `ReactNode` | The child components to render | [packages/play-react/src/PlayErrorBoundary.tsx:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/PlayErrorBoundary.tsx#L18) |
14
+ | <a id="property-fallback"></a> `fallback?` | `ReactNode` | The fallback UI to render when a child component throws. The default is null. | [packages/play-react/src/PlayErrorBoundary.tsx:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/PlayErrorBoundary.tsx#L16) |
15
+ | <a id="property-onerror"></a> `onError?` | (`error`, `info`) => `void` | The optional error handler. It sends each error to an observability tool, such as Sentry | [packages/play-react/src/PlayErrorBoundary.tsx:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/PlayErrorBoundary.tsx#L20) |
16
+ | <a id="property-resetkey"></a> `resetKey?` | `unknown` | The reset key. The boundary clears its error state when this value changes, and it renders the children again. ActorProvider gives it the current view. A view transition therefore retries the render. Without the key the boundary holds the fallback for the complete life of the provider: the user sends a recovery event, the actor moves to a healthy view, and the screen keeps the fallback. **The boundary compares the value by IDENTITY (`Object.is`) by default.** Give a stable reference. An inline object literal — `resetKey={{ view }}` — is a new value on every render, so the boundary clears its caught error before each one, renders the children that threw, catches again, and calls `onError` again. Hold the value where it survives a render, and build a new one only when an input moves. [PlayErrorBoundaryProps.resetKeyEquals](#property-resetkeyequals) takes the identity rule away, and a caller that gives one needs no stable reference at all. | [packages/play-react/src/PlayErrorBoundary.tsx:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/PlayErrorBoundary.tsx#L39) |
17
+ | <a id="property-resetkeyequals"></a> `resetKeyEquals?` | (`previous`, `next`) => `boolean` | The comparison of two reset keys. The default is `Object.is`. The boundary clears its error where this function answers `false`. A caller that builds a key of several inputs therefore compares those INPUTS, and it owes the boundary no stable reference for the key that carries them. That is what `ActorProvider` gives. A key of the three view inputs and the retry nonce holds no identity of its own across renders — React makes no promise to keep a `useMemo`, and a ref that the render writes survives a render that React throws away, which the documentation of React forbids for that reason. With a comparison of the fields, a key that carries the same inputs is the same key, whichever render built it. The state of this class is the key of the last COMMIT: React commits the state of a class with the commit, so a render that React discards writes none. The comparison therefore reads the committed key on one side every time. | [packages/play-react/src/PlayErrorBoundary.tsx:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v3.0.0/packages/play-react/src/PlayErrorBoundary.tsx#L63) |