@xmachines/docs 6.1.0 → 7.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 (595) 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 +1 -1
  4. package/api/@xmachines/core/cache/interfaces/KeyValueCache.md +3 -3
  5. package/api/@xmachines/core/errors/classes/BaseError.md +4 -4
  6. package/api/@xmachines/core/errors/classes/DisposeConflictError.md +4 -4
  7. package/api/@xmachines/core/utils/functions/asDisposable.md +2 -2
  8. package/api/@xmachines/core/utils/functions/createNullRecord.md +1 -1
  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 +1 -1
  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 +4 -4
  22. package/api/@xmachines/play/errors/classes/PlayError.md +5 -4
  23. package/api/@xmachines/play/index/functions/assertNonNullable.md +1 -1
  24. package/api/@xmachines/play/index/type-aliases/PlayEvent.md +2 -2
  25. package/api/@xmachines/play-actor/README.md +9 -1
  26. package/api/@xmachines/play-actor/interfaces/ActorEvent.md +2 -2
  27. package/api/@xmachines/play-actor/interfaces/PlayActor.md +3 -3
  28. package/api/@xmachines/play-atom/README.md +16 -4
  29. package/api/@xmachines/play-atom/functions/watchAtom.md +1 -1
  30. package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +2 -2
  31. package/api/@xmachines/play-atom/interfaces/Atom.md +6 -6
  32. package/api/@xmachines/play-atom/interfaces/AtomObserver.md +4 -4
  33. package/api/@xmachines/play-atom/interfaces/AtomOptions.md +2 -2
  34. package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +2 -2
  35. package/api/@xmachines/play-atom/interfaces/BaseAtom.md +4 -4
  36. package/api/@xmachines/play-atom/interfaces/CreateAtom.md +3 -3
  37. package/api/@xmachines/play-atom/interfaces/Readable.md +4 -4
  38. package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +4 -4
  39. package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +1 -1
  40. package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +1 -1
  41. package/api/@xmachines/play-atom/variables/createAsyncAtom.md +1 -1
  42. package/api/@xmachines/play-atom/variables/createAtom.md +1 -1
  43. package/api/@xmachines/play-atom/variables/createWritableAtom.md +1 -1
  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 +1 -1
  48. package/api/@xmachines/play-dom/functions/renderSpec.md +3 -2
  49. package/api/@xmachines/play-dom/interfaces/ComponentContext.md +9 -9
  50. package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +15 -14
  51. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +26 -20
  52. package/api/@xmachines/play-dom/interfaces/MountOptions.md +3 -3
  53. package/api/@xmachines/play-dom/interfaces/PassOptions.md +14 -0
  54. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +18 -17
  55. package/api/@xmachines/play-dom/interfaces/RenderErrorInfo.md +16 -0
  56. package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +17 -15
  57. package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +9 -8
  58. package/api/@xmachines/play-dom/interfaces/ValidationRegistry.md +14 -11
  59. package/api/@xmachines/play-dom/type-aliases/ConfirmHandler.md +9 -10
  60. package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +4 -3
  61. package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
  62. package/api/@xmachines/play-dom/type-aliases/OnRenderError.md +27 -0
  63. package/api/@xmachines/play-dom/type-aliases/RenderErrorKind.md +21 -0
  64. package/api/@xmachines/play-dom-router/README.md +41 -5
  65. package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +7 -7
  66. package/api/@xmachines/play-dom-router/classes/RouteMap.md +4 -4
  67. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  68. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  69. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  70. package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +3 -3
  71. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
  72. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
  73. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +8 -8
  74. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +7 -7
  75. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +4 -4
  76. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  77. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +4 -4
  78. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
  79. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  80. package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +6 -6
  81. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
  82. package/api/@xmachines/play-pattern/README.md +1 -1
  83. package/api/@xmachines/play-pattern/functions/buildPath.md +1 -1
  84. package/api/@xmachines/play-pattern/functions/createLruCache.md +1 -1
  85. package/api/@xmachines/play-pattern/functions/getIndexKey.md +1 -1
  86. package/api/@xmachines/play-pattern/functions/isDotSegment.md +1 -1
  87. package/api/@xmachines/play-pattern/functions/parsePattern.md +1 -1
  88. package/api/@xmachines/play-pattern/interfaces/GroupPart.md +4 -4
  89. package/api/@xmachines/play-pattern/interfaces/KeyValueCache.md +3 -3
  90. package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +3 -3
  91. package/api/@xmachines/play-pattern/interfaces/ParamPart.md +7 -7
  92. package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +2 -2
  93. package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +12 -12
  94. package/api/@xmachines/play-pattern/interfaces/PatternParam.md +4 -4
  95. package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +1 -1
  96. package/api/@xmachines/play-pattern/type-aliases/PathParams.md +1 -1
  97. package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +1 -1
  98. package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +1 -1
  99. package/api/@xmachines/play-react/README.md +57 -18
  100. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +6 -6
  101. package/api/@xmachines/play-react/functions/defineRegistry.md +1 -1
  102. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  103. package/api/@xmachines/play-react/functions/useAtomEffect.md +1 -1
  104. package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
  105. package/api/@xmachines/play-react/interfaces/ActionProviderProps.md +5 -5
  106. package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +11 -11
  107. package/api/@xmachines/play-react/interfaces/DefineRegistryResult.md +15 -0
  108. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +6 -6
  109. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +4 -4
  110. package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +13 -13
  111. package/api/@xmachines/play-react/interfaces/RenderErrorInfo.md +16 -0
  112. package/api/@xmachines/play-react/interfaces/RendererProps.md +7 -7
  113. package/api/@xmachines/play-react/interfaces/ViewContextValue.md +5 -5
  114. package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
  115. package/api/@xmachines/play-react/type-aliases/OnRenderError.md +27 -0
  116. package/api/@xmachines/play-react/type-aliases/RenderErrorKind.md +21 -0
  117. package/api/@xmachines/play-react/variables/ActorProvider.md +14 -4
  118. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  119. package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
  120. package/api/@xmachines/play-react-router/README.md +26 -5
  121. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +7 -7
  122. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  123. package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +1 -1
  124. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  125. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +7 -7
  126. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +9 -9
  127. package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +4 -4
  128. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +4 -4
  129. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  130. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  131. package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  132. package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  133. package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +1 -1
  134. package/api/@xmachines/play-router/README.md +73 -16
  135. package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +4 -4
  136. package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +5 -5
  137. package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +5 -5
  138. package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +5 -5
  139. package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +5 -5
  140. package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +5 -5
  141. package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +6 -6
  142. package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +4 -4
  143. package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +6 -6
  144. package/api/@xmachines/play-router/index/classes/RouteMap.md +4 -4
  145. package/api/@xmachines/play-router/index/classes/RouterBridgeBase.md +7 -7
  146. package/api/@xmachines/play-router/index/functions/buildPlayRouteEvent.md +1 -1
  147. package/api/@xmachines/play-router/index/functions/buildRouteTree.md +1 -1
  148. package/api/@xmachines/play-router/index/functions/cleanFrameworkParams.md +1 -1
  149. package/api/@xmachines/play-router/index/functions/createLruCache.md +1 -1
  150. package/api/@xmachines/play-router/index/functions/createRouteMapFromTree.md +1 -1
  151. package/api/@xmachines/play-router/index/functions/createRouterConnection.md +1 -1
  152. package/api/@xmachines/play-router/index/functions/detectDuplicateRoutes.md +1 -1
  153. package/api/@xmachines/play-router/index/functions/extractQuery.md +1 -1
  154. package/api/@xmachines/play-router/index/functions/extractRouteParams.md +1 -1
  155. package/api/@xmachines/play-router/index/functions/findRouteById.md +1 -1
  156. package/api/@xmachines/play-router/index/functions/findRouteByPath.md +1 -1
  157. package/api/@xmachines/play-router/index/functions/isMountableBridge.md +1 -1
  158. package/api/@xmachines/play-router/index/functions/joinBasePath.md +1 -1
  159. package/api/@xmachines/play-router/index/functions/mountKey.md +1 -1
  160. package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +1 -1
  161. package/api/@xmachines/play-router/index/functions/openProviderBridge.md +3 -3
  162. package/api/@xmachines/play-router/index/functions/parsePattern.md +1 -1
  163. package/api/@xmachines/play-router/index/functions/pickOwnParams.md +1 -1
  164. package/api/@xmachines/play-router/index/functions/repointProviderBridge.md +1 -1
  165. package/api/@xmachines/play-router/index/functions/resolveBasePath.md +1 -1
  166. package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +1 -1
  167. package/api/@xmachines/play-router/index/functions/sanitizePathname.md +1 -1
  168. package/api/@xmachines/play-router/index/functions/splitLocation.md +1 -1
  169. package/api/@xmachines/play-router/index/functions/stripBasePath.md +1 -1
  170. package/api/@xmachines/play-router/index/functions/validateRouteFormat.md +1 -1
  171. package/api/@xmachines/play-router/index/functions/validateStateExists.md +1 -1
  172. package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +3 -3
  173. package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +4 -4
  174. package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +3 -3
  175. package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +7 -7
  176. package/api/@xmachines/play-router/index/interfaces/KeyValueCache.md +3 -3
  177. package/api/@xmachines/play-router/index/interfaces/LocationLike.md +3 -3
  178. package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +6 -6
  179. package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +8 -8
  180. package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +2 -2
  181. package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +12 -12
  182. package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +7 -7
  183. package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +9 -9
  184. package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +3 -3
  185. package/api/@xmachines/play-router/index/interfaces/ResolvedRoutePath.md +3 -3
  186. package/api/@xmachines/play-router/index/interfaces/Routable.md +3 -3
  187. package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +4 -4
  188. package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +8 -8
  189. package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +4 -4
  190. package/api/@xmachines/play-router/index/interfaces/RouteMapping.md +3 -3
  191. package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +3 -3
  192. package/api/@xmachines/play-router/index/interfaces/RouteNode.md +10 -10
  193. package/api/@xmachines/play-router/index/interfaces/RouteObject.md +5 -5
  194. package/api/@xmachines/play-router/index/interfaces/RouteTree.md +5 -5
  195. package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +3 -3
  196. package/api/@xmachines/play-router/index/interfaces/RouterBridge.md +3 -3
  197. package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +6 -6
  198. package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +6 -6
  199. package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +5 -5
  200. package/api/@xmachines/play-router/index/interfaces/WindowLike.md +3 -3
  201. package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  202. package/api/@xmachines/play-router/index/type-aliases/RouteData.md +1 -1
  203. package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +1 -1
  204. package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +1 -1
  205. package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +3 -3
  206. package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +1 -1
  207. package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +1 -1
  208. package/api/@xmachines/play-router/xstate/functions/createRouteMap.md +1 -1
  209. package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +1 -1
  210. package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +1 -1
  211. package/api/@xmachines/play-router/xstate/functions/getRoutableRoutes.md +1 -1
  212. package/api/@xmachines/play-router/xstate/functions/getRouteMappings.md +1 -1
  213. package/api/@xmachines/play-router/xstate/functions/getTransitionReachableRoutes.md +1 -1
  214. package/api/@xmachines/play-router/xstate/functions/isRouteReachable.md +1 -1
  215. package/api/@xmachines/play-router/xstate/functions/machineToGraph.md +1 -1
  216. package/api/@xmachines/play-router/xstate/functions/routeExists.md +1 -1
  217. package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +3 -3
  218. package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +5 -5
  219. package/api/@xmachines/play-router/xstate/type-aliases/MachineGraph.md +1 -1
  220. package/api/@xmachines/play-solid/README.md +35 -11
  221. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  222. package/api/@xmachines/play-solid/functions/useBoundProp.md +8 -5
  223. package/api/@xmachines/play-solid/functions/useFieldValidation.md +6 -4
  224. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  225. package/api/@xmachines/play-solid/functions/useStateBinding.md +5 -3
  226. package/api/@xmachines/play-solid/functions/useStateValue.md +5 -3
  227. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
  228. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
  229. package/api/@xmachines/play-solid/interfaces/RenderErrorInfo.md +16 -0
  230. package/api/@xmachines/play-solid/interfaces/RendererProps.md +7 -7
  231. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +5 -5
  232. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  233. package/api/@xmachines/play-solid/type-aliases/OnRenderError.md +27 -0
  234. package/api/@xmachines/play-solid/type-aliases/RenderErrorKind.md +21 -0
  235. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  236. package/api/@xmachines/play-solid/variables/ActorProvider.md +17 -3
  237. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  238. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  239. package/api/@xmachines/play-solid-router/README.md +21 -5
  240. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  241. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +7 -7
  242. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +1 -1
  243. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +3 -3
  244. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +7 -7
  245. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +9 -9
  246. package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +4 -4
  247. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +4 -4
  248. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  249. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  250. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  251. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  252. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  253. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +1 -1
  254. package/api/@xmachines/play-svelte/README.md +18 -10
  255. package/api/@xmachines/play-svelte/functions/defineRegistry.md +3 -4
  256. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  257. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  258. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  259. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +12 -12
  260. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +8 -8
  261. package/api/@xmachines/play-svelte/interfaces/DefineRegistryResult.md +15 -0
  262. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +14 -14
  263. package/api/@xmachines/play-svelte/interfaces/RenderErrorInfo.md +16 -0
  264. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +5 -5
  265. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  266. package/api/@xmachines/play-svelte/type-aliases/OnRenderError.md +27 -0
  267. package/api/@xmachines/play-svelte/type-aliases/RenderErrorKind.md +21 -0
  268. package/api/@xmachines/play-svelte-spa-router/README.md +9 -5
  269. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  270. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +7 -7
  271. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  272. package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +3 -3
  273. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +8 -8
  274. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +7 -7
  275. package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +4 -4
  276. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +4 -4
  277. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
  278. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  279. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +6 -6
  280. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  281. package/api/@xmachines/play-sveltekit-router/README.md +65 -13
  282. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  283. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +29 -19
  284. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  285. package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +3 -3
  286. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +13 -16
  287. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
  288. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +7 -7
  289. package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +4 -4
  290. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +4 -4
  291. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
  292. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  293. package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +6 -6
  294. package/api/@xmachines/play-sveltekit-router/interfaces/SvelteKitRouterBridgeOptions.md +25 -0
  295. package/api/@xmachines/play-sveltekit-router/type-aliases/ShallowNavigation.md +21 -0
  296. package/api/@xmachines/play-tanstack-react-router/README.md +34 -16
  297. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  298. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +7 -7
  299. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +1 -1
  300. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  301. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +7 -7
  302. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +9 -9
  303. package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +4 -4
  304. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +4 -4
  305. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  306. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  307. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  308. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  309. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  310. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +5 -5
  311. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +1 -1
  312. package/api/@xmachines/play-tanstack-router/README.md +5 -3
  313. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +7 -7
  314. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  315. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +5 -5
  316. package/api/@xmachines/play-tanstack-solid-router/README.md +45 -11
  317. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  318. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +7 -7
  319. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +1 -1
  320. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +7 -7
  321. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +9 -9
  322. package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +4 -4
  323. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +4 -4
  324. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  325. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  326. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  327. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  328. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  329. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +5 -5
  330. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +1 -1
  331. package/api/@xmachines/play-url/README.md +1 -1
  332. package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +5 -5
  333. package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +5 -5
  334. package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +6 -6
  335. package/api/@xmachines/play-url/index/functions/buildPath.md +1 -1
  336. package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
  337. package/api/@xmachines/play-url/index/functions/createLruCache.md +1 -1
  338. package/api/@xmachines/play-url/index/functions/getCandidates.md +1 -1
  339. package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +1 -1
  340. package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
  341. package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +1 -1
  342. package/api/@xmachines/play-url/index/functions/isDotSegment.md +1 -1
  343. package/api/@xmachines/play-url/index/functions/joinBasePath.md +1 -1
  344. package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
  345. package/api/@xmachines/play-url/index/functions/parsePattern.md +1 -1
  346. package/api/@xmachines/play-url/index/functions/pickOwnParams.md +1 -1
  347. package/api/@xmachines/play-url/index/functions/resolveBasePath.md +1 -1
  348. package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +1 -1
  349. package/api/@xmachines/play-url/index/functions/sanitizePathname.md +1 -1
  350. package/api/@xmachines/play-url/index/functions/splitLocation.md +1 -1
  351. package/api/@xmachines/play-url/index/functions/stripBasePath.md +1 -1
  352. package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +3 -3
  353. package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +3 -3
  354. package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +7 -7
  355. package/api/@xmachines/play-url/index/interfaces/GroupPart.md +4 -4
  356. package/api/@xmachines/play-url/index/interfaces/KeyValueCache.md +3 -3
  357. package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +3 -3
  358. package/api/@xmachines/play-url/index/interfaces/ParamPart.md +7 -7
  359. package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +2 -2
  360. package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +12 -12
  361. package/api/@xmachines/play-url/index/interfaces/PatternParam.md +4 -4
  362. package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +3 -3
  363. package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +5 -5
  364. package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +1 -1
  365. package/api/@xmachines/play-url/index/type-aliases/PathParams.md +1 -1
  366. package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +1 -1
  367. package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +1 -1
  368. package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +1 -1
  369. package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +3 -3
  370. package/api/@xmachines/play-url/index/variables/NO_BASE_PATH.md +1 -1
  371. package/api/@xmachines/play-url/index/variables/URLPattern.md +1 -1
  372. package/api/@xmachines/play-view/README.md +45 -19
  373. package/api/@xmachines/play-view/errors/README.md +1 -0
  374. package/api/@xmachines/play-view/errors/classes/InvalidViewOutletError.md +6 -6
  375. package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +5 -5
  376. package/api/@xmachines/play-view/errors/classes/ViewElementKeyCollisionError.md +181 -0
  377. package/api/@xmachines/play-view/index/README.md +10 -4
  378. package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +10 -9
  379. package/api/@xmachines/play-view/index/functions/bindStoreHandlers.md +34 -0
  380. package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
  381. package/api/@xmachines/play-view/index/functions/composeViews.md +8 -2
  382. package/api/@xmachines/play-view/index/functions/createActorProxy.md +39 -0
  383. package/api/@xmachines/play-view/index/functions/createRenderErrorBinding.md +35 -0
  384. package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
  385. package/api/@xmachines/play-view/index/functions/createViewSession.md +29 -0
  386. package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
  387. package/api/@xmachines/play-view/index/functions/forwardRenderError.md +45 -0
  388. package/api/@xmachines/play-view/index/functions/guardContextWrites.md +1 -1
  389. package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
  390. package/api/@xmachines/play-view/index/functions/reuseComposedState.md +1 -1
  391. package/api/@xmachines/play-view/index/functions/toAtomState.md +1 -1
  392. package/api/@xmachines/play-view/index/functions/typedSpec.md +1 -1
  393. package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +8 -8
  394. package/api/@xmachines/play-view/index/interfaces/BaseViewContextValue.md +5 -5
  395. package/api/@xmachines/play-view/index/interfaces/ComposedView.md +5 -5
  396. package/api/@xmachines/play-view/index/interfaces/HandlerFactory.md +19 -0
  397. package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +3 -3
  398. package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +5 -5
  399. package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +5 -5
  400. package/api/@xmachines/play-view/index/interfaces/ResolveViewStoreOptions.md +2 -2
  401. package/api/@xmachines/play-view/index/interfaces/ViewMeta.md +2 -2
  402. package/api/@xmachines/play-view/index/interfaces/ViewOutlet.md +3 -3
  403. package/api/@xmachines/play-view/index/interfaces/ViewSession.md +155 -0
  404. package/api/@xmachines/play-view/index/interfaces/ViewSessionOptions.md +12 -0
  405. package/api/@xmachines/play-view/index/interfaces/ViewSessionSnapshot.md +23 -0
  406. package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +22 -3
  407. package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +7 -6
  408. package/api/@xmachines/play-view/index/interfaces/ViewTree.md +4 -4
  409. package/api/@xmachines/play-view/index/interfaces/ViewTreeChild.md +3 -3
  410. package/api/@xmachines/play-view/index/interfaces/Viewable.md +2 -2
  411. package/api/@xmachines/play-view/index/type-aliases/StateUpdater.md +21 -0
  412. package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +1 -1
  413. package/api/@xmachines/play-view/index/variables/CONTEXT_STATE_KEY.md +1 -1
  414. package/api/@xmachines/play-vue/README.md +20 -15
  415. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  416. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  417. package/api/@xmachines/play-vue/functions/useBoundProp.md +10 -4
  418. package/api/@xmachines/play-vue/functions/useFieldValidation.md +12 -5
  419. package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
  420. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +8 -8
  421. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
  422. package/api/@xmachines/play-vue/interfaces/RenderErrorInfo.md +16 -0
  423. package/api/@xmachines/play-vue/interfaces/RendererProps.md +7 -7
  424. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +5 -5
  425. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  426. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  427. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  428. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  429. package/api/@xmachines/play-vue/type-aliases/OnRenderError.md +27 -0
  430. package/api/@xmachines/play-vue/type-aliases/RenderErrorKind.md +21 -0
  431. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  432. package/api/@xmachines/play-vue/variables/Renderer.md +3 -3
  433. package/api/@xmachines/play-vue-router/README.md +18 -11
  434. package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +4 -4
  435. package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +4 -4
  436. package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +4 -4
  437. package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +7 -7
  438. package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +7 -7
  439. package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +4 -4
  440. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +4 -4
  441. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +3 -3
  442. package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +3 -3
  443. package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +1 -1
  444. package/api/@xmachines/play-xstate/README.md +64 -12
  445. package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +4 -4
  446. package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +5 -5
  447. package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +4 -4
  448. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +5 -5
  449. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +5 -5
  450. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +7 -7
  451. package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +6 -6
  452. package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +6 -6
  453. package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +10 -10
  454. package/api/@xmachines/play-xstate/index/functions/compose.md +4 -4
  455. package/api/@xmachines/play-xstate/index/functions/definePlayer.md +2 -2
  456. package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +4 -4
  457. package/api/@xmachines/play-xstate/index/interfaces/PlayerFactoryResumeOptions.md +2 -2
  458. package/api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md +7 -7
  459. package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +1 -1
  460. package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +1 -1
  461. package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +1 -1
  462. package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +1 -1
  463. package/api/@xmachines/play-xstate/with-routing/functions/deriveRoute.md +1 -1
  464. package/api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md +1 -1
  465. package/api/@xmachines/play-xstate/with-routing/functions/isAbsoluteRoute.md +1 -1
  466. package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +1 -1
  467. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteContext.md +5 -5
  468. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +5 -5
  469. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +1 -1
  470. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +1 -1
  471. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMachineConfig.md +4 -4
  472. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +1 -1
  473. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteStateNode.md +5 -5
  474. package/api/@xmachines/play-xstate/with-view/functions/withView.md +1 -1
  475. package/api/@xmachines/shared/README.md +1 -0
  476. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  477. package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutput.md +1 -1
  478. package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutputFile.md +1 -1
  479. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  480. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  481. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  482. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +2 -2
  483. package/api/@xmachines/shared/vite-aliases/functions/xmTestTarget.md +1 -1
  484. package/api/@xmachines/shared/vite-aliases/type-aliases/XmTestTarget.md +1 -1
  485. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  486. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  487. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +4 -4
  488. package/contributing/architecture.md +88 -53
  489. package/contributing/configuration.md +20 -12
  490. package/contributing/deployment.md +3 -3
  491. package/contributing/development.md +28 -3
  492. package/contributing/migrating-to-play-atom.md +10 -4
  493. package/contributing/testing.md +64 -33
  494. package/examples/@xmachines/play-dom-demo/README.md +2 -2
  495. package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +9 -9
  496. package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +1 -1
  497. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
  498. package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
  499. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
  500. package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
  501. package/examples/@xmachines/play-dom-demo/variables/Button.md +1 -1
  502. package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
  503. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
  504. package/examples/@xmachines/play-dom-demo/variables/Field.md +1 -1
  505. package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
  506. package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
  507. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
  508. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
  509. package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
  510. package/examples/@xmachines/play-dom-demo/variables/Panel.md +1 -1
  511. package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
  512. package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
  513. package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
  514. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
  515. package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +15 -15
  516. package/examples/@xmachines/play-dom-router-demo/README.md +4 -3
  517. package/examples/@xmachines/play-react-demo/README.md +2 -2
  518. package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +9 -9
  519. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
  520. package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
  521. package/examples/@xmachines/play-react-demo/variables/Button.md +1 -1
  522. package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
  523. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
  524. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
  525. package/examples/@xmachines/play-react-demo/variables/Field.md +1 -1
  526. package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
  527. package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
  528. package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
  529. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
  530. package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
  531. package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
  532. package/examples/@xmachines/play-react-demo/variables/Panel.md +1 -1
  533. package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
  534. package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
  535. package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
  536. package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
  537. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
  538. package/examples/@xmachines/play-react-demo/variables/demoComponents.md +15 -15
  539. package/examples/@xmachines/play-react-router-demo/README.md +4 -3
  540. package/examples/@xmachines/play-solid-demo/README.md +3 -3
  541. package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +9 -9
  542. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
  543. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  544. package/examples/@xmachines/play-solid-demo/variables/Button.md +1 -1
  545. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  546. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  547. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
  548. package/examples/@xmachines/play-solid-demo/variables/Field.md +1 -1
  549. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  550. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  551. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
  552. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
  553. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  554. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  555. package/examples/@xmachines/play-solid-demo/variables/Panel.md +1 -1
  556. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  557. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  558. package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
  559. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  560. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
  561. package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +15 -15
  562. package/examples/@xmachines/play-solid-router-demo/README.md +9 -3
  563. package/examples/@xmachines/play-svelte-demo/README.md +1 -1
  564. package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +9 -9
  565. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
  566. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
  567. package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +15 -15
  568. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +1 -1
  569. package/examples/@xmachines/play-sveltekit-router-demo/README.md +1 -1
  570. package/examples/@xmachines/play-tanstack-react-router-demo/README.md +3 -2
  571. package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +9 -8
  572. package/examples/@xmachines/play-vue-demo/README.md +2 -2
  573. package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +9 -9
  574. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
  575. package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
  576. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +1 -1
  577. package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +1 -1
  578. package/examples/@xmachines/play-vue-router-demo/README.md +3 -3
  579. package/examples/form-validation.md +17 -13
  580. package/examples/multi-router-integration.md +268 -147
  581. package/examples/routing-patterns.md +43 -8
  582. package/examples/traffic-light.md +6 -2
  583. package/guides/actor-model.md +37 -19
  584. package/guides/atoms.md +48 -8
  585. package/guides/getting-started.md +63 -13
  586. package/guides/inspector.md +71 -11
  587. package/guides/routing.md +4 -1
  588. package/guides/state-machines.md +35 -13
  589. package/guides/views.md +34 -14
  590. package/package.json +6 -6
  591. package/rfc/play.md +31 -13
  592. package/api/@xmachines/play-view/index/functions/createFailureLatch.md +0 -20
  593. package/api/@xmachines/play-view/index/functions/sameViewInputs.md +0 -25
  594. package/api/@xmachines/play-view/index/interfaces/FailureLatch.md +0 -60
  595. package/api/@xmachines/play-view/index/interfaces/ViewInputs.md +0 -19
@@ -8,14 +8,17 @@ Registry of validated fields for one rendered tree.
8
8
 
9
9
  ## Properties
10
10
 
11
- | Property | Modifier | Type | Description | Defined in |
12
- | ------------------------------------------------------- | ---------- | ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
13
- | <a id="property-clear"></a> `clear` | `public` | (`path`) => `void` | Forget a field's recorded state; the registration itself survives. | - |
14
- | <a id="property-customfunctions"></a> `customFunctions` | `readonly` | `Record`\<`string`, `ValidationFunction`\> | Custom validation functions available to every check. | - |
15
- | <a id="property-fieldstates"></a> `fieldStates` | `readonly` | `Record`\<`string`, [`FieldValidationState`](FieldValidationState.md)\> | Validation state by field state path. | - |
16
- | <a id="property-registerfield"></a> `registerField` | `public` | (`path`, `config`) => `void` | Register (or update) a field's validation config. Called by component implementations during render, normally via `ctx.validation`. Registrations are reference-counted per path: two elements bound to the same state path each hold one, so one of them going away does not un-validate the other. | - |
17
- | <a id="property-releasefield"></a> `releaseField` | `public` | (`path`) => `void` | Drop one reference to a field's registration, keeping its recorded state. The registration itself goes away once the last reference is released. This is what the render context's per-element cleanup calls: an element instance releases its registrations when it unmounts or before it re-renders, and `fieldStates` survives — matching the framework ValidationProvider, whose field states outlive a re-render. | - |
18
- | <a id="property-touch"></a> `touch` | `public` | (`path`) => `void` | Mark a field as interacted with, without validating it. | - |
19
- | <a id="property-unregisterfield"></a> `unregisterField` | `public` | (`path`) => `void` | Drop a field's registration entirely, references and recorded state. | - |
20
- | <a id="property-validate"></a> `validate` | `public` | (`path`, `config?`) => `ValidationResult` | Validate one field against the live store snapshot and record the result. Uses the field's registered config unless one is passed explicitly. | - |
21
- | <a id="property-validateall"></a> `validateAll` | `public` | () => `boolean` | Validate every registered field. Returns true when all are valid. | - |
11
+ | Property | Modifier | Type | Description | Defined in |
12
+ | ------------------------------------------------------- | ---------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
13
+ | <a id="property-clear"></a> `clear` | `public` | (`path`) => `void` | Forget a field's recorded state; the registration itself survives. | - |
14
+ | <a id="property-customfunctions"></a> `customFunctions` | `readonly` | `Record`\<`string`, `ValidationFunction`\> | Custom validation functions available to every check. | - |
15
+ | <a id="property-dropreleased"></a> `dropReleased?` | `public` | () => `void` | End a pass. The registry forgets the state of each field whose last registration went away and that did not register again. It also forgets the state of a field that only new owners hold now: an element that goes and another element that registers the path in the same pass start the field fresh, as in the framework renderers, whatever the order of the two. What a new owner wrote in the pass stays, as if the field started fresh at the change: a `touch` of the new owner gives no result of the old one. A write of the old owner in the pass goes. An owner that registers again in place keeps the state. The fresh start comes when the pass ends. A component of the new element that reads `fieldStates` while it renders in that pass still reads the state of the old element. The incremental renderer then renders it again (see `onFreshPaths`), as React renders it again after the unmount of the old one. A caller that does not mark its passes with `startPass` calls it when a pass ends, for example a host that renders with `renderSpec` alone on a registry of its own. The incremental renderer and a host that uses `startPass` end a pass with the function that `startPass` returns, and not with this. The registry counts the passes by these calls, or by `startPass`: an owner that came to the path in an earlier pass is an owner from before the pass. Without the calls, no owner is from before, and the state of a field stays with its path. | - |
16
+ | <a id="property-fieldstates"></a> `fieldStates` | `readonly` | `Readonly`\<`Record`\<`string`, `ReadonlyFieldValidationState`\>\> | Validation state by field state path. The registry gives the same object until a state changes, as the state of react does. The object and each state in it are shared by every reader, so they are read-only at each level: the registry of this package freezes the object, each state, and the result of each state with its errors and its checks. | - |
17
+ | <a id="property-onfreshpaths"></a> `onFreshPaths?` | `public` | (`listener`) => () => `void` | Call `listener` with the paths whose state changed: a pass that started a field fresh for a new element that took over the path, or a write of the state, such as a `touch` or a `validateAll`. Each renderer of the registry renders the elements that hold such a path again, so they show the state of now, as React renders a component again when the state of its provider changes. A write in a pass reaches the listeners when the pass ends, and a write between two passes at once. The writes of one `validateAll` reach them together. The registry calls the listeners after the outermost pass ends, and it holds each one weakly: the caller keeps its listener while it needs the calls. An error of a listener goes to `reportError`, and the other listeners still run. Returns the function that stops the calls. | - |
18
+ | <a id="property-registerfield"></a> `registerField` | `public` | (`path`, `config`, `owner?`) => `void` | Register (or update) a field's validation config. Called by component implementations during render, normally via `ctx.validation`. Registrations are reference-counted per path: two elements bound to the same state path each hold one, so one of them going away does not un-validate the other. `owner` names the element instance that registers. For a registration through `ctx.validation`, the renderer gives the element, its type, its repeat rows, the keys and the types of the elements above it, and the named slot that holds it. Registrations that name no owner count as one owner. See [ValidationRegistry.dropReleased](#property-dropreleased) for what it changes. | - |
19
+ | <a id="property-releasefield"></a> `releaseField` | `public` | (`path`, `owner?`) => `void` | Drop one reference to a field's registration. The registration goes away once the last reference is released, and [ValidationRegistry.dropReleased](#property-dropreleased) forgets its state, unless the field registers again first. Until then `fieldStates` keeps the state, so an element that renders before the field in the same pass still reads it. This is what the render context's per-element cleanup calls: an element instance releases its registrations when it unmounts or before it re-renders. An element that renders again in place registers again in the same pass, so its state survives — matching the framework ValidationProvider, whose field states outlive a re-render and go at the last unregister. `owner` is the owner that [ValidationRegistry.registerField](#property-registerfield) got. | - |
20
+ | <a id="property-startpass"></a> `startPass?` | `public` | (`options?`) => () => `void` | Start a pass, and return the function that ends it. The incremental renderer calls it before each pass, and a host that renders with `renderSpec` before its render. A pass of a renderer that starts inside a pass ends with the outer one. A pass of the host that starts inside a pass commits the passes that run when it ends, as react commits a nested `flushSync` when it returns, and a call of the host after it sees that commit. An owner that comes to a path between two passes, for example through a late read of the children of a component, then comes before the next pass. A caller that does not call it ends and counts each pass with `dropReleased` alone, and inside a pass `dropReleased` does nothing. All the callers of one registry follow the same rule: after the first `startPass`, `dropReleased` does nothing, and the registry warns one time. An outermost pass that starts before the join of the outermost pass before it ends joins that pass, as react joins the updates of one commit. The `batch` of the pass before sets how long its join lasts (see [PassOptions](PassOptions.md)): to the next microtask for a store write, and to the end of the task, also after an `await`, for a new spec. A write of a field state, a `clear`, or a field that registers between the two passes ends the join. A write of a field state or a `clear` before the commit point of a store write does not: it is part of that commit (see the pass of a store write below). The renderers of one registry that react to one write of the store, or that a host hands new specs in one task, then run one pass. A field that moves from one renderer to the other starts fresh, whatever the order of the two. A pass that a handler of a pass queued is a new pass, as an update that a commit schedules is a new commit: its caller gives `join: false`. The incremental renderer marks the pass of a store write and the pass of a new spec. React commits a store write and a new spec after the handler that gives them, so the registry holds the effects of such a pass on the fields, a release, a new config and a fresh start, until its commit point: the next microtask, the next pass that does not join it, the bindings of a `watch`, or a field that registers between two passes. The commit point of a store write ends the join, so a pass after it starts a new commit. The commit point of a new spec keeps the join to the end of the task (see [PassOptions](PassOptions.md)). The renderer shows the store writes of the task at the commit point, in one render, as react renders the writes of one handler in one render. The commit point then does the work of the commit, it runs the effects that the components of the commit gave `ctx.effect` and the checks of the watches, and it renders the holders of the commit again, before its microtask ends. React ends the commit of a synchronous update in its microtask in the same way: it runs the effects of the commit before the renders that its layout effects start. The checks of the watches run after the effects, as react runs the effect of a child before the watch of its parent. The watches of one change see one commit. Their writes and the writes of those effects make one commit after them, and the commit point shows its store writes before its microtask ends, as react renders a store write of an effect at the end of the flush of the effects. A watch compares the store of its commit, from before the effects: when an effect writes a watched path, the watch sees the change at the commit point of that write. A `touch`, a `validate`, a `clear` or a `validateAll` before the commit point sees the fields of before the write, as in react. A write of a field state between two passes renders the holders of its path, and the registry holds the effects of that render in the same way. The incremental renderer renders them at the commit point when a store write of it waits, in the one render of its store writes, as react renders them after the handler. A render of a holder for its new config, which the end of such a pass starts, waits with it. The end of a pass of the host shows the store writes that wait, as `flushSync` of react renders the updates that wait, and it commits them with the passes that it joins. A call of the host inside such a pass sees the fields of the last commit, as a call inside the callback of `flushSync` of react does. This also holds after a store write before the pass: the end of the pass shows and commits that write too. The end of a pass of the host then runs the effects of its commit, as `flushSync` of react does: the effects that the components of the incremental renderer gave `ctx.effect`, also in a render before the pass, and then the checks of the watches. It commits their writes, and it runs the effects of those writes in the same way. The end of an outermost pass of the host ends its join, so a later pass starts a new commit. | - |
21
+ | <a id="property-touch"></a> `touch` | `public` | (`path`, `owner?`) => `void` | Mark a field as interacted with, without validating it. `owner` names the element that touches it, as for `registerField`. | - |
22
+ | <a id="property-unregisterfield"></a> `unregisterField` | `public` | (`path`) => `void` | Drop a field's registration entirely, references and recorded state. | - |
23
+ | <a id="property-validate"></a> `validate` | `public` | (`path`, `config?`, `owner?`) => `ReadonlyValidationResult` | Validate one field against the live store snapshot and record the result. Uses the field's registered config unless one is passed explicitly. `owner` names the element that validates, as for `registerField`. The result is the result of the state of the field, which every reader of `fieldStates` shares, so it is read-only at each level: the registry of this package freezes it. | - |
24
+ | <a id="property-validateall"></a> `validateAll` | `public` | () => `boolean` | Validate every registered field. Returns true when all are valid. The listeners of `onFreshPaths` hear of the new states one time, when the last field is validated, so no holder renders in the loop. | - |
@@ -10,16 +10,15 @@ Defined in: `@xmachines/json-render-dom`
10
10
 
11
11
  Hook consulted before executing an action binding that declares `confirm`.
12
12
 
13
- The DOM renderer is headless, so instead of the framework adapters'
14
- `pendingConfirmation` state (which a dialog component resolves via
15
- `confirmAction()` / `cancelAction()`), @xmachines/json-render-dom exposes a single async
16
- callback: return (or resolve) `true` to execute the action, `false` to
17
- skip it. The confirmation flow — `window.confirm`, a custom dialog, or a
18
- test stub — is entirely the host's responsibility.
19
-
20
- If no `ConfirmHandler` is configured, confirm-gated actions do NOT execute;
21
- a `console.warn` is emitted instead. This matches the framework adapters,
22
- where a pending confirmation that is never resolved never runs the handler.
13
+ With this hook, the host owns the confirmation flow — `window.confirm`, a
14
+ custom dialog, or a test stub: return (or resolve) `true` to execute the
15
+ action, `false` to skip it.
16
+
17
+ Without it, the renderer works as the framework renderers do: the binding
18
+ waits as the pending confirmation of the tree, which a component reads and
19
+ answers through `ctx.confirmation`, and the default confirm dialog shows it
20
+ (`createConfirmDialog`; turn it off with the `confirmDialog: false`
21
+ option). A cancel runs nothing and throws nothing.
23
22
 
24
23
  ## Parameters
25
24
 
@@ -16,9 +16,10 @@ fully typed. When the catalog declares actions, `actions` is required; otherwise
16
16
 
17
17
  ## Type Declaration
18
18
 
19
- | Name | Type | Description | Defined in |
20
- | ------------- | -------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
21
- | `components?` | [`ComponentRegistry`](ComponentRegistry.md)\<`C`\> | Catalog-typed component implementations. If omitted, all elements fall through to the `fallback` renderer (if provided) or return `null` — the container will be empty. | - |
19
+ | Name | Type | Description | Defined in |
20
+ | ---------------- | -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
21
+ | `components?` | [`ComponentRegistry`](ComponentRegistry.md)\<`C`\> | Catalog-typed component implementations. If omitted, all elements fall through to the `fallback` renderer (if provided) or return `null` — the container will be empty. | - |
22
+ | `onRenderError?` | [`OnRenderError`](OnRenderError.md) | The error handler of the registry, as in the framework renderers. `defineRegistry` puts it on the registry as a property that is not enumerable. The `onRenderError` option of `renderSpec` and of the incremental renderer takes its place. | - |
22
23
 
23
24
  ## Type Parameters
24
25
 
@@ -6,7 +6,7 @@
6
6
  type MountFn = (actor, container, options?) => () => void;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-dom/src/create-play-ui.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-dom/src/create-play-ui.ts#L82)
9
+ Defined in: [packages/play-dom/src/create-play-ui.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-dom/src/create-play-ui.ts#L82)
10
10
 
11
11
  The mount function that `createPlayUI` returns.
12
12
 
@@ -0,0 +1,27 @@
1
+ [API](../../../README.md) / [@xmachines/play-dom](../README.md) / OnRenderError
2
+
3
+ # Type Alias: OnRenderError
4
+
5
+ ```ts
6
+ type OnRenderError = (error, name, info) => void;
7
+ ```
8
+
9
+ Defined in: `@xmachines/json-render-core`
10
+
11
+ The `onRenderError` handler of a renderer.
12
+
13
+ The second argument stays as it was: the element type for a failure of an
14
+ element, or the action name for a failed chain. `info` tells them apart. A
15
+ handler with two parameters is still a valid handler.
16
+
17
+ ## Parameters
18
+
19
+ | Parameter | Type |
20
+ | --------- | ----------------------------------------------------- |
21
+ | `error` | `unknown` |
22
+ | `name` | `string` |
23
+ | `info` | [`RenderErrorInfo`](../interfaces/RenderErrorInfo.md) |
24
+
25
+ ## Returns
26
+
27
+ `void`
@@ -0,0 +1,21 @@
1
+ [API](../../../README.md) / [@xmachines/play-dom](../README.md) / RenderErrorKind
2
+
3
+ # Type Alias: RenderErrorKind
4
+
5
+ ```ts
6
+ type RenderErrorKind = "element" | "props" | "visible" | "action" | "watch" | "root";
7
+ ```
8
+
9
+ Defined in: `@xmachines/json-render-core`
10
+
11
+ The place where a failure occurred.
12
+
13
+ - `element`: the component threw while it rendered, in an effect or a
14
+ lifecycle hook, or in a callback that it calls in those phases.
15
+ - `props`: a prop expression of an element threw (`$computed`, a directive).
16
+ - `visible`: the `visible` condition of an element threw.
17
+ - `action`: an `on` chain failed: a handler that throws or rejects, a
18
+ built-in action, a store that refuses a write, or `validateForm`.
19
+ - `watch`: a `watch` chain failed.
20
+ - `root`: the root (its component, props or `visible`) failed, so the
21
+ renderer shows nothing.
@@ -4,7 +4,7 @@
4
4
 
5
5
  **Vanilla DOM router (Browser History API) for XMachines Play Architecture.**
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-6.1.0-blue)](https://www.npmjs.com/package/@xmachines/play-dom-router)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-7.0.0-blue)](https://www.npmjs.com/package/@xmachines/play-dom-router)
8
8
 
9
9
  This framework-agnostic router integration keeps the `currentRoute` atom of a Play actor and the `window.history` API of the browser in step. It needs no framework. It implements the same [`RouterBridgeBase`](../play-router/README.md) pattern as every other router adapter in the XMachines ecosystem.
10
10
 
@@ -50,7 +50,7 @@ reach [`@xmachines/play-router/xstate`](../play-router/README.md), which holds `
50
50
 
51
51
  A history that you inject for a test or for SSR is a plain object. `subscribe` returns a plain function:
52
52
 
53
- ```typescript
53
+ ```typescript fragment
54
54
  import type { BrowserHistory } from "@xmachines/play-dom-router";
55
55
 
56
56
  const history: BrowserHistory = {
@@ -124,6 +124,8 @@ function teardown(): void {
124
124
  This function wraps `window.history`, and it gives you a history interface with a subscription. It patches `pushState` and `replaceState`. Therefore the wrapper also detects a navigation from the code, not only a `popstate` event from the BACK or FORWARD button.
125
125
 
126
126
  ```typescript
127
+ import { createBrowserHistory } from "@xmachines/play-dom-router";
128
+
127
129
  const history = createBrowserHistory({ window });
128
130
 
129
131
  // Subscribe to URL changes
@@ -164,7 +166,14 @@ The interface accepts `window`, a JSDOM window, or every other object that imple
164
166
  This function creates a `VanillaRouter` around a `history` and a `routeTree`. Its setup flow is the same as the setup flow of TanStack Router.
165
167
 
166
168
  ```typescript
167
- // routeTree and history from the Quick Start above
169
+ import { createBrowserHistory, createRouter } from "@xmachines/play-dom-router";
170
+ import { extractMachineRoutes } from "@xmachines/play-router/xstate";
171
+ import type { AnyStateMachine } from "xstate";
172
+
173
+ declare const machine: AnyStateMachine; // the machine of the Quick Start above
174
+
175
+ const routeTree = extractMachineRoutes(machine);
176
+ const history = createBrowserHistory({ window });
168
177
  const router = createRouter({ routeTree, history });
169
178
  // router.history — the BrowserHistory instance
170
179
  // router.routeTree — for structure reference
@@ -175,7 +184,14 @@ Or let a scope release it, which also releases the history on an exception. Publ
175
184
 
176
185
  ```typescript
177
186
  import { asDisposable } from "@xmachines/core/utils";
187
+ import { createBrowserHistory, createRouter } from "@xmachines/play-dom-router";
188
+ import { extractMachineRoutes } from "@xmachines/play-router/xstate";
189
+ import type { AnyStateMachine } from "xstate";
190
+
191
+ declare const machine: AnyStateMachine; // the machine of the Quick Start above
178
192
 
193
+ const routeTree = extractMachineRoutes(machine);
194
+ const history = createBrowserHistory({ window });
179
195
  const plain = createRouter({ routeTree, history });
180
196
  using router = asDisposable(plain, () => plain.destroy());
181
197
  ```
@@ -195,6 +211,17 @@ This function connects a history to a `Routable` actor. It does all the work in
195
211
  - Returns a cleanup function that disconnects the bridge.
196
212
 
197
213
  ```typescript
214
+ import {
215
+ connectRouter,
216
+ type RoutableActor,
217
+ type RouteLookupContract,
218
+ type VanillaRouter,
219
+ } from "@xmachines/play-dom-router";
220
+
221
+ declare const actor: RoutableActor;
222
+ declare const router: VanillaRouter;
223
+ declare const routeMap: RouteLookupContract;
224
+
198
225
  const disconnect = connectRouter({
199
226
  actor, // RoutableActor — an actor of the `PlayActor` contract that adds `Routable` satisfies this structurally
200
227
  router, // the router from createRouter(), or any { history }
@@ -229,8 +256,17 @@ The bridge accepts every object that implements this structural interface. A `Ro
229
256
  This package re-exports it never: the barrel names no state machine. The function builds a bidirectional `RouteMap` from an XState machine:
230
257
 
231
258
  ```typescript
259
+ import { createMachine } from "xstate";
232
260
  import { createRouteMap } from "@xmachines/play-router/xstate";
233
- // machine from the Quick Start above (states carry meta.route)
261
+
262
+ // A machine whose states carry meta.route, as in the Quick Start above
263
+ const machine = createMachine({
264
+ id: "app",
265
+ initial: "dashboard",
266
+ states: {
267
+ dashboard: { id: "dashboard", meta: { route: "/dashboard" } },
268
+ },
269
+ });
234
270
  const routeMap = createRouteMap(machine);
235
271
  routeMap.getStateIdByPath("/dashboard"); // "dashboard"
236
272
  routeMap.getPathByStateId("dashboard"); // "/dashboard"
@@ -241,7 +277,7 @@ routeMap.getPathByStateId("dashboard"); // "/dashboard"
241
277
  The bridge-first data flow:
242
278
 
243
279
  1. `connectRouter` creates a `DomRouterBridge`, which extends `RouterBridgeBase`, and calls `bridge.connect()`.
244
- 2. On connect, `RouterBridgeBase` does the first synchronization. If the browser URL is different from the actor route, the bridge sends a `play.route` event. If the actor route is different and the browser is at the initial route of the machine (a restore), the actor wins, and the bridge updates the history.
280
+ 2. On connect, `RouterBridgeBase` does the first synchronization. If the browser URL is different from the actor route, the bridge sends a `play.route` event. If the actor route is different and the browser is at the initial URL of the machine, with the same path and the same query (a restore), the actor wins, and the bridge updates the history. A query of the browser at the initial path makes a deep link, and the router wins.
245
281
  3. Each actor route change, through the `currentRoute` Atom, calls `history.push(path)`.
246
282
  4. Each browser URL change (a `popstate` event, or a patched `pushState` or `replaceState` call) calls `syncActorFromRouter(pathname, search)`, which sends a `play.route` event.
247
283
  5. The `isProcessingNavigation` flag in `RouterBridgeBase` stops a circular update.
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: DomRouterBridge
4
4
 
5
- Defined in: [play-dom-router/src/dom-router-bridge.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-dom-router/src/dom-router-bridge.ts#L27)
5
+ Defined in: [play-dom-router/src/dom-router-bridge.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-dom-router/src/dom-router-bridge.ts#L27)
6
6
 
7
7
  The DOM router bridge — it puts a BrowserHistory from `createBrowserHistory`
8
8
  behind the `RouterBridgeBase` protocol.
@@ -42,7 +42,7 @@ new DomRouterBridge(
42
42
  ): DomRouterBridge;
43
43
  ```
44
44
 
45
- Defined in: [play-dom-router/src/dom-router-bridge.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-dom-router/src/dom-router-bridge.ts#L40)
45
+ Defined in: [play-dom-router/src/dom-router-bridge.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-dom-router/src/dom-router-bridge.ts#L40)
46
46
 
47
47
  #### Parameters
48
48
 
@@ -71,7 +71,7 @@ Defined in: [play-dom-router/src/dom-router-bridge.ts:40](https://gitlab.com/xma
71
71
  get basePath(): string;
72
72
  ```
73
73
 
74
- Defined in: [play-router/src/router-bridge-base.ts:282](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-router/src/router-bridge-base.ts#L282)
74
+ Defined in: [play-router/src/router-bridge-base.ts:282](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-router/src/router-bridge-base.ts#L282)
75
75
 
76
76
  The resolved URL prefix that the machine of this bridge is mounted under, or `""`
77
77
  when the machine owns the complete router.
@@ -96,7 +96,7 @@ The resolved URL prefix of the mount, or `""` when the machine owns the complete
96
96
  get basePathParams(): Readonly<Record<string, string>>;
97
97
  ```
98
98
 
99
- Defined in: [play-router/src/router-bridge-base.ts:311](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-router/src/router-bridge-base.ts#L311)
99
+ Defined in: [play-router/src/router-bridge-base.ts:311](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-router/src/router-bridge-base.ts#L311)
100
100
 
101
101
  The resolved values of the `:param` segments of the mount, or `{}` for a prefix
102
102
  without a param.
@@ -147,7 +147,7 @@ mount while the machine stays on the same route, and no event goes out.
147
147
  connect(): void;
148
148
  ```
149
149
 
150
- Defined in: [play-router/src/router-bridge-base.ts:533](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-router/src/router-bridge-base.ts#L533)
150
+ Defined in: [play-router/src/router-bridge-base.ts:533](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-router/src/router-bridge-base.ts#L533)
151
151
 
152
152
  Connects the router bridge to the Actor.
153
153
 
@@ -181,7 +181,7 @@ An adapter that needs a different behavior of the first synchronization override
181
181
  disconnect(): void;
182
182
  ```
183
183
 
184
- Defined in: [play-router/src/router-bridge-base.ts:791](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-router/src/router-bridge-base.ts#L791)
184
+ Defined in: [play-router/src/router-bridge-base.ts:795](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-router/src/router-bridge-base.ts#L795)
185
185
 
186
186
  Disconnects the router bridge from the Actor.
187
187
 
@@ -204,7 +204,7 @@ framework.
204
204
  setBasePath(basePath?, basePathParams?): void;
205
205
  ```
206
206
 
207
- Defined in: [play-router/src/router-bridge-base.ts:351](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-router/src/router-bridge-base.ts#L351)
207
+ Defined in: [play-router/src/router-bridge-base.ts:351](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-router/src/router-bridge-base.ts#L351)
208
208
 
209
209
  Moves the machine to a different mount point, while it stays connected.
210
210
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: RouteMap
4
4
 
5
- Defined in: [play-router/src/base-route-map.ts:176](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-router/src/base-route-map.ts#L176)
5
+ Defined in: [play-router/src/base-route-map.ts:176](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-router/src/base-route-map.ts#L176)
6
6
 
7
7
  The shared base class of the route map for both directions.
8
8
 
@@ -64,7 +64,7 @@ map.getPathByStateId("missing"); // null
64
64
  new RouteMap(mappings, options?): RouteMap;
65
65
  ```
66
66
 
67
- Defined in: [play-router/src/base-route-map.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-router/src/base-route-map.ts#L209)
67
+ Defined in: [play-router/src/base-route-map.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-router/src/base-route-map.ts#L209)
68
68
 
69
69
  Builds a route map from an array of the mappings between a state ID and a path.
70
70
 
@@ -92,7 +92,7 @@ candidates is therefore efficient.
92
92
  getPathByStateId(stateId): string | null;
93
93
  ```
94
94
 
95
- Defined in: [play-router/src/base-route-map.ts:322](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-router/src/base-route-map.ts#L322)
95
+ Defined in: [play-router/src/base-route-map.ts:322](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-router/src/base-route-map.ts#L322)
96
96
 
97
97
  Returns the path pattern of a state ID.
98
98
 
@@ -128,7 +128,7 @@ map.getPathByStateId("missing"); // null
128
128
  getStateIdByPath(path): string | null;
129
129
  ```
130
130
 
131
- Defined in: [play-router/src/base-route-map.ts:277](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-router/src/base-route-map.ts#L277)
131
+ Defined in: [play-router/src/base-route-map.ts:277](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-router/src/base-route-map.ts#L277)
132
132
 
133
133
  Resolves a URL path to its state ID.
134
134
 
@@ -6,7 +6,7 @@
6
6
  function connectRouter(options): RouterConnection;
7
7
  ```
8
8
 
9
- Defined in: [play-dom-router/src/connect-router.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-dom-router/src/connect-router.ts#L64)
9
+ Defined in: [play-dom-router/src/connect-router.ts:64](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-dom-router/src/connect-router.ts#L64)
10
10
 
11
11
  Connects the vanilla router to an actor. This is a pure browser integration.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function createBrowserHistory(options): BrowserHistory;
7
7
  ```
8
8
 
9
- Defined in: [play-dom-router/src/create-browser-history.ts:137](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-dom-router/src/create-browser-history.ts#L137)
9
+ Defined in: [play-dom-router/src/create-browser-history.ts:137](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-dom-router/src/create-browser-history.ts#L137)
10
10
 
11
11
  Creates a browser history that wraps window.history
12
12
 
@@ -6,7 +6,7 @@
6
6
  function createRouter(options): VanillaRouter;
7
7
  ```
8
8
 
9
- Defined in: [play-dom-router/src/create-router.ts:79](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-dom-router/src/create-router.ts#L79)
9
+ Defined in: [play-dom-router/src/create-router.ts:79](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-dom-router/src/create-router.ts#L79)
10
10
 
11
11
  Creates the vanilla router for a framework-agnostic routing.
12
12
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: BasePathOptions
4
4
 
5
- Defined in: [play-url/src/base-path.ts:49](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-url/src/base-path.ts#L49)
5
+ Defined in: [play-url/src/base-path.ts:49](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-url/src/base-path.ts#L49)
6
6
 
7
7
  The base-path options that every router bridge, `connectRouter` function, and
8
8
  `PlayRouterProvider` component accepts.
@@ -24,5 +24,5 @@ connectRouter({
24
24
 
25
25
  | Property | Modifier | Type | Description | Defined in |
26
26
  | ------------------------------------------------------ | ---------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- |
27
- | <a id="property-basepath"></a> `basePath?` | `readonly` | `string` | The URL prefix that the routes of the machine hang off, for example `"/admin"` or `"/:machineId/play"`. A `:param` segment is a declarative convenience, so that a host keeps ONE string that mirrors its own route config. Every `:param` must have a value in [BasePathOptions.basePathParams](ConnectRouterOptions.md#property-basepathparams), because the bridge writes a real URL. An optional segment (`:param?`) and a wildcard (`*`) are therefore refused: neither of them resolves to one concrete prefix. An absent value, `""`, and `"/"` all mean "no prefix". | [play-url/src/base-path.ts:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-url/src/base-path.ts#L62) |
28
- | <a id="property-basepathparams"></a> `basePathParams?` | `readonly` | `Record`\<`string`, `string` \| `number`\> | The values of the `:param` segments of [BasePathOptions.basePath](ConnectRouterOptions.md#property-basepath). These values belong to the HOST, which wrote the prefix and resolved them, so they travel in NO `play.route` event: the machine is authoritative over its own params, and `event.params` holds what the pattern of the machine declares, and nothing else. A param of the host that shares a name with one of the machine can therefore shadow it never. A host reads them back from `bridge.basePathParams`, where they cannot go stale. A machine that needs the identity of its host takes it through the `input` of the actor, where that identity decides WHICH machine runs. | [play-url/src/base-path.ts:76](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-url/src/base-path.ts#L76) |
27
+ | <a id="property-basepath"></a> `basePath?` | `readonly` | `string` | The URL prefix that the routes of the machine hang off, for example `"/admin"` or `"/:machineId/play"`. A `:param` segment is a declarative convenience, so that a host keeps ONE string that mirrors its own route config. Every `:param` must have a value in [BasePathOptions.basePathParams](ConnectRouterOptions.md#property-basepathparams), because the bridge writes a real URL. An optional segment (`:param?`) and a wildcard (`*`) are therefore refused: neither of them resolves to one concrete prefix. An absent value, `""`, and `"/"` all mean "no prefix". | [play-url/src/base-path.ts:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-url/src/base-path.ts#L62) |
28
+ | <a id="property-basepathparams"></a> `basePathParams?` | `readonly` | `Record`\<`string`, `string` \| `number`\> | The values of the `:param` segments of [BasePathOptions.basePath](ConnectRouterOptions.md#property-basepath). These values belong to the HOST, which wrote the prefix and resolved them, so they travel in NO `play.route` event: the machine is authoritative over its own params, and `event.params` holds what the pattern of the machine declares, and nothing else. A param of the host that shares a name with one of the machine can therefore shadow it never. A host reads them back from `bridge.basePathParams`, where they cannot go stale. A machine that needs the identity of its host takes it through the `input` of the actor, where that identity decides WHICH machine runs. | [play-url/src/base-path.ts:76](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v7.0.0/packages/play-url/src/base-path.ts#L76) |