@xmachines/docs 6.1.0 → 8.0.0-next.1

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 (604) hide show
  1. package/README.md +5 -5
  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 +11 -11
  6. package/api/@xmachines/core/errors/classes/DisposeConflictError.md +11 -11
  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 +11 -11
  22. package/api/@xmachines/play/errors/classes/PlayError.md +12 -11
  23. package/api/@xmachines/play/index/functions/assertNonNullable.md +1 -1
  24. package/api/@xmachines/play/index/type-aliases/PlayEvent.md +4 -4
  25. package/api/@xmachines/play-actor/README.md +11 -3
  26. package/api/@xmachines/play-actor/interfaces/ActorEvent.md +4 -4
  27. package/api/@xmachines/play-actor/interfaces/PlayActor.md +6 -6
  28. package/api/@xmachines/play-atom/README.md +21 -7
  29. package/api/@xmachines/play-atom/functions/watchAtom.md +1 -1
  30. package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +4 -4
  31. package/api/@xmachines/play-atom/interfaces/Atom.md +6 -6
  32. package/api/@xmachines/play-atom/interfaces/AtomObserver.md +6 -6
  33. package/api/@xmachines/play-atom/interfaces/AtomOptions.md +4 -4
  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 +136 -50
  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 +5 -5
  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 +44 -6
  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 +5 -5
  71. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +16 -16
  72. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  73. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +10 -10
  74. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +9 -9
  75. package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +6 -6
  76. package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
  77. package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +6 -6
  78. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +5 -5
  79. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
  80. package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +8 -8
  81. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
  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 +6 -6
  89. package/api/@xmachines/play-pattern/interfaces/KeyValueCache.md +3 -3
  90. package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +5 -5
  91. package/api/@xmachines/play-pattern/interfaces/ParamPart.md +9 -9
  92. package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +4 -4
  93. package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +14 -14
  94. package/api/@xmachines/play-pattern/interfaces/PatternParam.md +6 -6
  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 +58 -19
  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 +8 -8
  109. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -6
  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 +7 -7
  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 +9 -9
  126. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +11 -11
  127. package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +6 -6
  128. package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +6 -6
  129. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +5 -5
  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 +87 -29
  135. package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +11 -11
  136. package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +12 -12
  137. package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +12 -12
  138. package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +12 -12
  139. package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +12 -12
  140. package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +12 -12
  141. package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +13 -13
  142. package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +11 -11
  143. package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +13 -13
  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 +5 -5
  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 +5 -5
  173. package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +6 -6
  174. package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +5 -5
  175. package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +9 -9
  176. package/api/@xmachines/play-router/index/interfaces/KeyValueCache.md +3 -3
  177. package/api/@xmachines/play-router/index/interfaces/LocationLike.md +5 -5
  178. package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +8 -8
  179. package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +10 -10
  180. package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +4 -4
  181. package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +14 -14
  182. package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +9 -9
  183. package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +11 -11
  184. package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +5 -5
  185. package/api/@xmachines/play-router/index/interfaces/ResolvedRoutePath.md +5 -5
  186. package/api/@xmachines/play-router/index/interfaces/Routable.md +5 -5
  187. package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +6 -6
  188. package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +10 -10
  189. package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +6 -6
  190. package/api/@xmachines/play-router/index/interfaces/RouteMapping.md +5 -5
  191. package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +5 -5
  192. package/api/@xmachines/play-router/index/interfaces/RouteNode.md +12 -12
  193. package/api/@xmachines/play-router/index/interfaces/RouteObject.md +7 -7
  194. package/api/@xmachines/play-router/index/interfaces/RouteTree.md +7 -7
  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 +8 -8
  198. package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +8 -8
  199. package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +7 -7
  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/README.md +5 -2
  209. package/api/@xmachines/play-router/xstate/functions/createRouteMap.md +2 -2
  210. package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +5 -5
  211. package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +1 -1
  212. package/api/@xmachines/play-router/xstate/functions/getRoutableRoutes.md +1 -1
  213. package/api/@xmachines/play-router/xstate/functions/getRouteMappings.md +1 -1
  214. package/api/@xmachines/play-router/xstate/functions/getTransitionReachableRoutes.md +7 -8
  215. package/api/@xmachines/play-router/xstate/functions/isRouteReachable.md +8 -9
  216. package/api/@xmachines/play-router/xstate/functions/machineToGraph.md +1 -1
  217. package/api/@xmachines/play-router/xstate/functions/routeExists.md +1 -1
  218. package/api/@xmachines/play-router/xstate/interfaces/Graph.md +26 -0
  219. package/api/@xmachines/play-router/xstate/interfaces/GraphEdge.md +22 -0
  220. package/api/@xmachines/play-router/xstate/interfaces/GraphNode.md +21 -0
  221. package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +6 -6
  222. package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +7 -7
  223. package/api/@xmachines/play-router/xstate/type-aliases/MachineGraph.md +4 -6
  224. package/api/@xmachines/play-solid/README.md +35 -11
  225. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  226. package/api/@xmachines/play-solid/functions/useBoundProp.md +8 -5
  227. package/api/@xmachines/play-solid/functions/useFieldValidation.md +6 -4
  228. package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
  229. package/api/@xmachines/play-solid/functions/useStateBinding.md +5 -3
  230. package/api/@xmachines/play-solid/functions/useStateValue.md +5 -3
  231. package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
  232. package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +13 -13
  233. package/api/@xmachines/play-solid/interfaces/RenderErrorInfo.md +16 -0
  234. package/api/@xmachines/play-solid/interfaces/RendererProps.md +7 -7
  235. package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +7 -7
  236. package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
  237. package/api/@xmachines/play-solid/type-aliases/OnRenderError.md +27 -0
  238. package/api/@xmachines/play-solid/type-aliases/RenderErrorKind.md +21 -0
  239. package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
  240. package/api/@xmachines/play-solid/variables/ActorProvider.md +17 -3
  241. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  242. package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
  243. package/api/@xmachines/play-solid-router/README.md +24 -10
  244. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  245. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +7 -7
  246. package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +1 -1
  247. package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +6 -6
  248. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +9 -9
  249. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +11 -11
  250. package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +6 -6
  251. package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +6 -6
  252. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +5 -5
  253. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  254. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  255. package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  256. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  257. package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +1 -1
  258. package/api/@xmachines/play-svelte/README.md +19 -11
  259. package/api/@xmachines/play-svelte/functions/defineRegistry.md +3 -4
  260. package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
  261. package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
  262. package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
  263. package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +12 -12
  264. package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +8 -8
  265. package/api/@xmachines/play-svelte/interfaces/DefineRegistryResult.md +15 -0
  266. package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +14 -14
  267. package/api/@xmachines/play-svelte/interfaces/RenderErrorInfo.md +16 -0
  268. package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +7 -7
  269. package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
  270. package/api/@xmachines/play-svelte/type-aliases/OnRenderError.md +27 -0
  271. package/api/@xmachines/play-svelte/type-aliases/RenderErrorKind.md +21 -0
  272. package/api/@xmachines/play-svelte-spa-router/README.md +14 -7
  273. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
  274. package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +7 -7
  275. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
  276. package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +5 -5
  277. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +10 -10
  278. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +9 -9
  279. package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +6 -6
  280. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +6 -6
  281. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +5 -5
  282. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
  283. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +8 -8
  284. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
  285. package/api/@xmachines/play-sveltekit-router/README.md +67 -14
  286. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
  287. package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +29 -19
  288. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
  289. package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +5 -5
  290. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +13 -16
  291. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +5 -5
  292. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +9 -9
  293. package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +6 -6
  294. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +6 -6
  295. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +5 -5
  296. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
  297. package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +8 -8
  298. package/api/@xmachines/play-sveltekit-router/interfaces/SvelteKitRouterBridgeOptions.md +25 -0
  299. package/api/@xmachines/play-sveltekit-router/type-aliases/ShallowNavigation.md +21 -0
  300. package/api/@xmachines/play-tanstack-react-router/README.md +36 -17
  301. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  302. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +7 -7
  303. package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +1 -1
  304. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  305. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +9 -9
  306. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +11 -11
  307. package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +6 -6
  308. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +6 -6
  309. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +5 -5
  310. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  311. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  312. package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  313. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  314. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +5 -5
  315. package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +1 -1
  316. package/api/@xmachines/play-tanstack-router/README.md +7 -4
  317. package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +7 -7
  318. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
  319. package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +5 -5
  320. package/api/@xmachines/play-tanstack-solid-router/README.md +50 -17
  321. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  322. package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +7 -7
  323. package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +1 -1
  324. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +9 -9
  325. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +11 -11
  326. package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +6 -6
  327. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +6 -6
  328. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +5 -5
  329. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  330. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +1 -1
  331. package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +1 -1
  332. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  333. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +5 -5
  334. package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +1 -1
  335. package/api/@xmachines/play-url/README.md +1 -1
  336. package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +12 -12
  337. package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +12 -12
  338. package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +13 -13
  339. package/api/@xmachines/play-url/index/functions/buildPath.md +1 -1
  340. package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
  341. package/api/@xmachines/play-url/index/functions/createLruCache.md +1 -1
  342. package/api/@xmachines/play-url/index/functions/getCandidates.md +1 -1
  343. package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +1 -1
  344. package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
  345. package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +1 -1
  346. package/api/@xmachines/play-url/index/functions/isDotSegment.md +1 -1
  347. package/api/@xmachines/play-url/index/functions/joinBasePath.md +1 -1
  348. package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
  349. package/api/@xmachines/play-url/index/functions/parsePattern.md +1 -1
  350. package/api/@xmachines/play-url/index/functions/pickOwnParams.md +1 -1
  351. package/api/@xmachines/play-url/index/functions/resolveBasePath.md +1 -1
  352. package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +1 -1
  353. package/api/@xmachines/play-url/index/functions/sanitizePathname.md +1 -1
  354. package/api/@xmachines/play-url/index/functions/splitLocation.md +1 -1
  355. package/api/@xmachines/play-url/index/functions/stripBasePath.md +1 -1
  356. package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +5 -5
  357. package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +5 -5
  358. package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +9 -9
  359. package/api/@xmachines/play-url/index/interfaces/GroupPart.md +6 -6
  360. package/api/@xmachines/play-url/index/interfaces/KeyValueCache.md +3 -3
  361. package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +5 -5
  362. package/api/@xmachines/play-url/index/interfaces/ParamPart.md +9 -9
  363. package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +4 -4
  364. package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +14 -14
  365. package/api/@xmachines/play-url/index/interfaces/PatternParam.md +6 -6
  366. package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +5 -5
  367. package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +7 -7
  368. package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +1 -1
  369. package/api/@xmachines/play-url/index/type-aliases/PathParams.md +1 -1
  370. package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +1 -1
  371. package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +1 -1
  372. package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +1 -1
  373. package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +3 -3
  374. package/api/@xmachines/play-url/index/variables/NO_BASE_PATH.md +1 -1
  375. package/api/@xmachines/play-url/index/variables/URLPattern.md +1 -1
  376. package/api/@xmachines/play-view/README.md +45 -19
  377. package/api/@xmachines/play-view/errors/README.md +1 -0
  378. package/api/@xmachines/play-view/errors/classes/InvalidViewOutletError.md +13 -13
  379. package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +12 -12
  380. package/api/@xmachines/play-view/errors/classes/ViewElementKeyCollisionError.md +181 -0
  381. package/api/@xmachines/play-view/index/README.md +10 -4
  382. package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +10 -9
  383. package/api/@xmachines/play-view/index/functions/bindStoreHandlers.md +34 -0
  384. package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
  385. package/api/@xmachines/play-view/index/functions/composeViews.md +8 -2
  386. package/api/@xmachines/play-view/index/functions/createActorProxy.md +39 -0
  387. package/api/@xmachines/play-view/index/functions/createRenderErrorBinding.md +35 -0
  388. package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
  389. package/api/@xmachines/play-view/index/functions/createViewSession.md +29 -0
  390. package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
  391. package/api/@xmachines/play-view/index/functions/forwardRenderError.md +45 -0
  392. package/api/@xmachines/play-view/index/functions/guardContextWrites.md +1 -1
  393. package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
  394. package/api/@xmachines/play-view/index/functions/reuseComposedState.md +1 -1
  395. package/api/@xmachines/play-view/index/functions/toAtomState.md +1 -1
  396. package/api/@xmachines/play-view/index/functions/typedSpec.md +1 -1
  397. package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +8 -8
  398. package/api/@xmachines/play-view/index/interfaces/BaseViewContextValue.md +7 -7
  399. package/api/@xmachines/play-view/index/interfaces/ComposedView.md +7 -7
  400. package/api/@xmachines/play-view/index/interfaces/HandlerFactory.md +19 -0
  401. package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +8 -8
  402. package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +5 -5
  403. package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +5 -5
  404. package/api/@xmachines/play-view/index/interfaces/ResolveViewStoreOptions.md +4 -4
  405. package/api/@xmachines/play-view/index/interfaces/ViewMeta.md +7 -7
  406. package/api/@xmachines/play-view/index/interfaces/ViewOutlet.md +5 -5
  407. package/api/@xmachines/play-view/index/interfaces/ViewSession.md +155 -0
  408. package/api/@xmachines/play-view/index/interfaces/ViewSessionOptions.md +12 -0
  409. package/api/@xmachines/play-view/index/interfaces/ViewSessionSnapshot.md +23 -0
  410. package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +22 -3
  411. package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +7 -6
  412. package/api/@xmachines/play-view/index/interfaces/ViewTree.md +6 -6
  413. package/api/@xmachines/play-view/index/interfaces/ViewTreeChild.md +5 -5
  414. package/api/@xmachines/play-view/index/interfaces/Viewable.md +4 -4
  415. package/api/@xmachines/play-view/index/type-aliases/StateUpdater.md +21 -0
  416. package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +1 -1
  417. package/api/@xmachines/play-view/index/variables/CONTEXT_STATE_KEY.md +1 -1
  418. package/api/@xmachines/play-vue/README.md +20 -15
  419. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  420. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  421. package/api/@xmachines/play-vue/functions/useBoundProp.md +10 -4
  422. package/api/@xmachines/play-vue/functions/useFieldValidation.md +12 -5
  423. package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
  424. package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +8 -8
  425. package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
  426. package/api/@xmachines/play-vue/interfaces/RenderErrorInfo.md +16 -0
  427. package/api/@xmachines/play-vue/interfaces/RendererProps.md +7 -7
  428. package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +7 -7
  429. package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
  430. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  431. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  432. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +4 -4
  433. package/api/@xmachines/play-vue/type-aliases/OnRenderError.md +27 -0
  434. package/api/@xmachines/play-vue/type-aliases/RenderErrorKind.md +21 -0
  435. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  436. package/api/@xmachines/play-vue/variables/Renderer.md +3 -3
  437. package/api/@xmachines/play-vue-router/README.md +18 -11
  438. package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +11 -11
  439. package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +11 -11
  440. package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +4 -4
  441. package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +7 -7
  442. package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +9 -9
  443. package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +6 -6
  444. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +6 -6
  445. package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +5 -5
  446. package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +3 -3
  447. package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +1 -1
  448. package/api/@xmachines/play-xstate/README.md +120 -57
  449. package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +11 -11
  450. package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +12 -12
  451. package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +11 -11
  452. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +12 -12
  453. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +12 -12
  454. package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +14 -14
  455. package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +13 -13
  456. package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +15 -15
  457. package/api/@xmachines/play-xstate/index/README.md +1 -1
  458. package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +201 -124
  459. package/api/@xmachines/play-xstate/index/functions/compose.md +4 -4
  460. package/api/@xmachines/play-xstate/index/functions/definePlayer.md +14 -10
  461. package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +6 -6
  462. package/api/@xmachines/play-xstate/index/interfaces/PlayerFactoryResumeOptions.md +4 -4
  463. package/api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md +9 -9
  464. package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +1 -1
  465. package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +1 -1
  466. package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +1 -1
  467. package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +1 -1
  468. package/api/@xmachines/play-xstate/with-routing/functions/deriveRoute.md +13 -5
  469. package/api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md +26 -13
  470. package/api/@xmachines/play-xstate/with-routing/functions/isAbsoluteRoute.md +1 -1
  471. package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +1 -1
  472. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteContext.md +8 -8
  473. package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +7 -7
  474. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +1 -1
  475. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +1 -1
  476. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMachineConfig.md +4 -4
  477. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +1 -1
  478. package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteStateNode.md +5 -5
  479. package/api/@xmachines/play-xstate/with-view/functions/withView.md +1 -1
  480. package/api/@xmachines/shared/README.md +1 -0
  481. package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +1 -1
  482. package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutput.md +1 -1
  483. package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutputFile.md +1 -1
  484. package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
  485. package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +1 -1
  486. package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
  487. package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +4 -4
  488. package/api/@xmachines/shared/vite-aliases/functions/xmTestTarget.md +1 -1
  489. package/api/@xmachines/shared/vite-aliases/type-aliases/XmTestTarget.md +1 -1
  490. package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +1 -1
  491. package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
  492. package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +6 -6
  493. package/contributing/architecture.md +100 -61
  494. package/contributing/configuration.md +44 -62
  495. package/contributing/deployment.md +131 -161
  496. package/contributing/development.md +34 -9
  497. package/contributing/migrating-to-play-atom.md +23 -5
  498. package/contributing/testing.md +64 -33
  499. package/examples/@xmachines/play-dom-demo/README.md +2 -2
  500. package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +11 -11
  501. package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +1 -1
  502. package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +1 -1
  503. package/examples/@xmachines/play-dom-demo/functions/initShell.md +1 -1
  504. package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
  505. package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
  506. package/examples/@xmachines/play-dom-demo/variables/Button.md +1 -1
  507. package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
  508. package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
  509. package/examples/@xmachines/play-dom-demo/variables/Field.md +1 -1
  510. package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
  511. package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
  512. package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +1 -1
  513. package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
  514. package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
  515. package/examples/@xmachines/play-dom-demo/variables/Panel.md +1 -1
  516. package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
  517. package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
  518. package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
  519. package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
  520. package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +17 -17
  521. package/examples/@xmachines/play-dom-router-demo/README.md +4 -3
  522. package/examples/@xmachines/play-react-demo/README.md +2 -2
  523. package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +11 -11
  524. package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
  525. package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
  526. package/examples/@xmachines/play-react-demo/variables/Button.md +1 -1
  527. package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
  528. package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
  529. package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +1 -1
  530. package/examples/@xmachines/play-react-demo/variables/Field.md +1 -1
  531. package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
  532. package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
  533. package/examples/@xmachines/play-react-demo/variables/NavBar.md +1 -1
  534. package/examples/@xmachines/play-react-demo/variables/NavBarView.md +1 -1
  535. package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
  536. package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
  537. package/examples/@xmachines/play-react-demo/variables/Panel.md +1 -1
  538. package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
  539. package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
  540. package/examples/@xmachines/play-react-demo/variables/Shell.md +1 -1
  541. package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
  542. package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
  543. package/examples/@xmachines/play-react-demo/variables/demoComponents.md +17 -17
  544. package/examples/@xmachines/play-react-router-demo/README.md +4 -3
  545. package/examples/@xmachines/play-solid-demo/README.md +3 -3
  546. package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +11 -11
  547. package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
  548. package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
  549. package/examples/@xmachines/play-solid-demo/variables/Button.md +1 -1
  550. package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
  551. package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
  552. package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +1 -1
  553. package/examples/@xmachines/play-solid-demo/variables/Field.md +1 -1
  554. package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
  555. package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
  556. package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
  557. package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +1 -1
  558. package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
  559. package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
  560. package/examples/@xmachines/play-solid-demo/variables/Panel.md +1 -1
  561. package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
  562. package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
  563. package/examples/@xmachines/play-solid-demo/variables/Shell.md +1 -1
  564. package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
  565. package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
  566. package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +17 -17
  567. package/examples/@xmachines/play-solid-router-demo/README.md +9 -3
  568. package/examples/@xmachines/play-svelte-demo/README.md +1 -1
  569. package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +11 -11
  570. package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +1 -1
  571. package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +1 -1
  572. package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +17 -17
  573. package/examples/@xmachines/play-svelte-spa-router-demo/README.md +1 -1
  574. package/examples/@xmachines/play-sveltekit-router-demo/README.md +1 -1
  575. package/examples/@xmachines/play-tanstack-react-router-demo/README.md +3 -2
  576. package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +9 -8
  577. package/examples/@xmachines/play-vue-demo/README.md +2 -2
  578. package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +11 -11
  579. package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +1 -1
  580. package/examples/@xmachines/play-vue-demo/variables/App.md +1 -1
  581. package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +1 -1
  582. package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +1 -1
  583. package/examples/@xmachines/play-vue-router-demo/README.md +3 -3
  584. package/examples/README.md +1 -1
  585. package/examples/basic-state-machine.md +19 -23
  586. package/examples/form-validation.md +60 -61
  587. package/examples/multi-router-integration.md +268 -147
  588. package/examples/routing-patterns.md +73 -43
  589. package/examples/traffic-light.md +24 -22
  590. package/guides/actor-model.md +38 -21
  591. package/guides/atoms.md +48 -8
  592. package/guides/getting-started.md +106 -62
  593. package/guides/inspector.md +103 -37
  594. package/guides/routing.md +7 -2
  595. package/guides/state-machines.md +106 -68
  596. package/guides/views.md +40 -18
  597. package/package.json +6 -6
  598. package/rfc/git.md +13 -5
  599. package/rfc/play.md +53 -31
  600. package/rfc/run.md +7 -4
  601. package/api/@xmachines/play-view/index/functions/createFailureLatch.md +0 -20
  602. package/api/@xmachines/play-view/index/functions/sameViewInputs.md +0 -25
  603. package/api/@xmachines/play-view/index/interfaces/FailureLatch.md +0 -60
  604. package/api/@xmachines/play-view/index/interfaces/ViewInputs.md +0 -19
@@ -4,7 +4,7 @@
4
4
 
5
5
  Vanilla DOM renderer for XMachines Play architecture with atom-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-6.1.0-blue)](https://www.npmjs.com/package/@xmachines/play-dom)
7
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Version](https://img.shields.io/badge/version-8.0.0--next.1-blue)](https://www.npmjs.com/package/@xmachines/play-dom)
8
8
 
9
9
  ## Installation
10
10
 
@@ -15,9 +15,11 @@ pnpm add @xmachines/play-dom
15
15
  **Peer dependencies:**
16
16
 
17
17
  ```bash
18
- pnpm add @xmachines/core @xmachines/play @xmachines/play-atom @xstate/store @xmachines/json-render-core @xmachines/json-render-dom @xmachines/json-render-xstate
18
+ pnpm add @xmachines/core @xmachines/play @xmachines/play-atom @xstate/store@^5.0.0-alpha.8 @xmachines/json-render-core@0.21.0-xm.7 @xmachines/json-render-dom@0.21.0-xm.7 @xmachines/json-render-xstate@0.21.0-xm.7
19
19
  ```
20
20
 
21
+ The json-render packages are exact peers: install the version that this release names, `0.21.0-xm.7`.
22
+
21
23
  [`@xmachines/play`](../play/README.md) is the peer of [`@xmachines/play-view`](../play-view/README.md), which this package depends on. Install ONE copy of it.
22
24
 
23
25
  `@xstate/store` is the peer of [`@xmachines/play-atom`](../play-atom/README.md), and not of this
@@ -31,9 +33,10 @@ import { createRenderer, schema } from "@xmachines/play-dom";
31
33
  import { definePlayer, compose, PlayerActor } from "@xmachines/play-xstate";
32
34
  import { withView } from "@xmachines/play-xstate/view";
33
35
  import { defineCatalog } from "@xmachines/json-render-core";
34
- import { createMachine } from "xstate";
36
+ import { createMachine, types } from "xstate";
35
37
  import { z } from "zod";
36
38
  import type { ComponentFn } from "@xmachines/play-dom";
39
+ import type { ViewMeta } from "@xmachines/play-view";
37
40
 
38
41
  // 1. Define a catalog
39
42
  const catalog = defineCatalog(schema, {
@@ -68,10 +71,12 @@ const mount = createRenderer(catalog, { Home, Login });
68
71
 
69
72
  // 4. Create and start an actor — states carry meta.view specs naming catalog components
70
73
  const machine = createMachine({
74
+ // XState 6 types the `meta` of each state from `schemas.meta`.
75
+ schemas: { meta: types<{ view?: ViewMeta }>() },
71
76
  initial: "home",
72
77
  states: {
73
78
  home: {
74
- on: { "goto.login": "login" },
79
+ on: { "goto.login": { target: "login" } },
75
80
  meta: {
76
81
  view: {
77
82
  root: "root",
@@ -106,7 +111,7 @@ disconnect();
106
111
 
107
112
  `createRenderer` is the simplest integration path. Call it one time at module scope, with your catalog and your component map. Then call the `mount` function that it returns, one time for each pair of an actor and a container.
108
113
 
109
- ```typescript
114
+ ```typescript fragment
110
115
  import { createRenderer, schema } from "@xmachines/play-dom";
111
116
  import { defineCatalog } from "@xmachines/json-render-core";
112
117
 
@@ -124,9 +129,9 @@ disconnect();
124
129
 
125
130
  Use `createPlayUI` when you need a render error handler, a fallback element, a navigation integration, a computed function, or a custom check. Use it also when your code needs the `registryResult` value, for example for `executeAction`.
126
131
 
127
- The factory holds the factory options (`functions`, `validationFunctions`, `navigate`, `onRenderError`, `onError`, and `fallback`) from the moment of its creation, and it applies them on every `mount()` call. Give the mount options (`store` and `loading`) to `mount()` itself.
132
+ The factory holds the factory options (`functions`, `directives`, `validationFunctions`, `navigate`, `onConfirm`, `confirmDialog`, `onRenderError`, `onError`, and `fallback`) from the moment of its creation, and it applies them on every `mount()` call. Give the mount options (`store` and `loading`) to `mount()` itself.
128
133
 
129
- ```typescript
134
+ ```typescript fragment
130
135
  import { defineRegistry, createPlayUI, schema } from "@xmachines/play-dom";
131
136
  import { defineCatalog } from "@xmachines/json-render-core";
132
137
 
@@ -161,12 +166,14 @@ disconnect();
161
166
  Use `PlayRenderer` directly when you need the explicit `connect()` and `disconnect()` control, or when you integrate the renderer into a system that controls its life itself.
162
167
 
163
168
  ```typescript
164
- import { PlayRenderer, defineRegistry, schema } from "@xmachines/play-dom";
169
+ import { PlayRenderer, type DefineRegistryResult } from "@xmachines/play-dom";
170
+ import type { ViewActor } from "@xmachines/play-view";
165
171
 
166
- // catalog, actor from the Quick Start; components/actions as in the createPlayUI example
167
- const registryResult = defineRegistry(catalog, { components, actions });
172
+ declare const actor: ViewActor; // the actor of the Quick Start
173
+ // The result of defineRegistry(catalog, { components, actions }), as in the createPlayUI example
174
+ declare const registryResult: DefineRegistryResult;
168
175
 
169
- // container: your mount element, e.g. document.getElementById("app")!
176
+ const container = document.getElementById("app")!;
170
177
  const renderer = new PlayRenderer(container, actor, registryResult.registry, { registryResult });
171
178
 
172
179
  renderer.connect();
@@ -174,16 +181,21 @@ renderer.connect();
174
181
  renderer.disconnect();
175
182
  ```
176
183
 
177
- **Controlled store mode.** Give the renderer an external `StateStore`. The renderer then shares the state with the other parts of your application:
184
+ **Controlled store mode.** Give the renderer an external `StateStore`. The renderer then shares the state with the other parts of your application. The tree lives as long as the store, so a new `viewKey` updates the tree in place, as the framework renderers do:
178
185
 
179
186
  ```typescript
187
+ import { PlayRenderer, type DefineRegistryResult } from "@xmachines/play-dom";
180
188
  import { createAtom } from "@xmachines/play-atom";
181
189
  import { xstateStoreStateStore } from "@xmachines/json-render-xstate";
190
+ import type { ViewActor } from "@xmachines/play-view";
191
+
192
+ declare const actor: ViewActor; // the actor of the Quick Start
193
+ declare const registryResult: DefineRegistryResult; // from the previous example
182
194
 
183
195
  const atom = createAtom<Record<string, unknown>>({ username: "" });
184
196
  const store = xstateStoreStateStore({ atom });
185
197
 
186
- // container, actor, registryResult from the previous example
198
+ const container = document.getElementById("app")!;
187
199
  const renderer = new PlayRenderer(container, actor, registryResult.registry, {
188
200
  registryResult,
189
201
  store,
@@ -200,6 +212,10 @@ Every entry point (`createPlayUI` and `PlayRenderer`) accepts the same UI-provid
200
212
  This option permits a dynamic prop value of the form `{ "$computed": "name", "args": {...} }` in a spec. Each function receives the resolved `args` object, and it returns the computed value.
201
213
 
202
214
  ```typescript
215
+ import { createPlayUI, type DefineRegistryResult } from "@xmachines/play-dom";
216
+
217
+ declare const registryResult: DefineRegistryResult; // from defineRegistry(catalog, ...)
218
+
203
219
  const mount = createPlayUI(registryResult, {
204
220
  functions: {
205
221
  fullName: (args) => `${args.first} ${args.last}`,
@@ -217,7 +233,12 @@ This option gives the named check functions for a field check inside a component
217
233
  The DOM renderer has no `ValidationProvider` tree, and in this it is different from the framework renderers. Each component must call the check itself, with `runValidationCheck` or `runValidation` from `@xmachines/json-render-core`. Give `ctx.ctx.validationFunctions` to the call as `customFunctions`.
218
234
 
219
235
  ```typescript
220
- import { runValidationCheck } from "@xmachines/json-render-core";
236
+ import { createPlayUI, schema } from "@xmachines/play-dom";
237
+ import type { ComponentFn, DefineRegistryResult } from "@xmachines/play-dom";
238
+ import { defineCatalog, runValidationCheck } from "@xmachines/json-render-core";
239
+ import { z } from "zod";
240
+
241
+ declare const registryResult: DefineRegistryResult; // from defineRegistry(catalog, ...)
221
242
 
222
243
  const mount = createPlayUI(registryResult, {
223
244
  validationFunctions: {
@@ -226,12 +247,17 @@ const mount = createPlayUI(registryResult, {
226
247
  },
227
248
  });
228
249
 
229
- // Inside a ComponentFn (catalog from the Quick Start):
230
- const Login: ComponentFn<typeof catalog, "Login"> = ({ ctx }) => {
250
+ const catalog = defineCatalog(schema, {
251
+ components: { Login: { props: z.object({ title: z.string() }) } },
252
+ actions: {},
253
+ });
254
+
255
+ // Inside a ComponentFn:
256
+ const Login: ComponentFn<typeof catalog, "Login"> = (ctx) => {
231
257
  const someValue = 42; // the value to validate, e.g. read from an input
232
258
  const result = runValidationCheck(
233
259
  { type: "isEven", message: "must be even" },
234
- { value: someValue, stateModel: {}, customFunctions: ctx.ctx.validationFunctions },
260
+ { value: someValue, stateModel: {}, customFunctions: ctx.ctx.validationFunctions ?? {} },
235
261
  );
236
262
  // result.valid, result.message
237
263
  return null;
@@ -243,7 +269,13 @@ const Login: ComponentFn<typeof catalog, "Login"> = ({ ctx }) => {
243
269
  The renderer calls this callback when an action binding resolves with `onSuccess: { navigate: "/path" }`. The callback receives the resolved path string as its only argument. Use it with every router:
244
270
 
245
271
  ```typescript
272
+ import { createPlayUI, type DefineRegistryResult } from "@xmachines/play-dom";
273
+
274
+ declare const registryResult: DefineRegistryResult; // from defineRegistry(catalog, ...)
275
+
246
276
  // React Router / TanStack Router / any push-based router:
277
+ declare const myRouter: { push(path: string): void };
278
+
247
279
  const mount = createPlayUI(registryResult, {
248
280
  navigate: (path) => myRouter.push(path),
249
281
  });
@@ -266,26 +298,53 @@ With a spec binding:
266
298
 
267
299
  A component implementation can also read the function at `ctx.ctx.navigate`. Use this when a navigation must start outside an action binding.
268
300
 
301
+ ### `onConfirm` and `confirmDialog` — the bindings with `confirm`
302
+
303
+ An action binding with a `confirm` field waits for the user. Without `onConfirm`, the default confirm dialog of `@xmachines/json-render-dom` shows the binding on `document.body`, as the `ConfirmDialog` of the framework renderers does. The action runs when the user confirms, and a cancel runs nothing and throws nothing. `disconnect()` and a new view cancel a confirmation that waits.
304
+
305
+ - Give `onConfirm` to decide each binding in your own code. It receives the confirm config and the resolved action, and it returns `true`, or a promise of `true`, to run the action.
306
+ - Give `confirmDialog: false` to turn the default dialog off. The binding then waits for a component of your catalog, which reads and answers it through `ctx.ctx.confirmation`.
307
+
308
+ ```typescript
309
+ import { createPlayUI, type DefineRegistryResult } from "@xmachines/play-dom";
310
+
311
+ declare const registryResult: DefineRegistryResult; // from defineRegistry(catalog, ...)
312
+
313
+ const mount = createPlayUI(registryResult, {
314
+ onConfirm: (confirm) => window.confirm(`${confirm.title}\n${confirm.message}`),
315
+ });
316
+ ```
317
+
269
318
  ### `onRenderError` — unified error handler
270
319
 
271
- The handler receives `(error, name)` for three different classes of error:
320
+ The inner renderer calls the handler with `(error, name, info)` one time for each failure that it reports. `info.kind` names the failure:
321
+
322
+ - **`"element"`** — a `ComponentFn` below the root throws, or an effect of it throws. `name` is the catalog component name, for example `"Home"`. The element shows nothing until a new version of it arrives.
323
+ - **`"props"` and `"visible"`** — a prop expression or the `visible` condition of a child throws. The boundary of the parent shows nothing, and `name` is the type of the parent.
324
+ - **`"action"` and `"watch"`** — an `on` chain or a `watch` chain fails, for example an `ActionFn` that throws or rejects. `name` is the catalog action name, for example `"submitForm"`. The chain stops, and the element stays.
325
+ - **`"root"`** — the component, a prop, or the `visible` condition of the root throws. No view stays on the screen, so `PlayRenderer` also contains the failure as a failure of the view: see [`onError`](#onerror-the-failure-of-a-complete-rebuild).
272
326
 
273
- - **A component render error** — a `ComponentFn` throws synchronously during `renderSpec`. `name` is then the catalog component name, for example `"Home"`.
274
- - **An action handler rejection on the emit path** — an `ActionFn` throws, or it returns a rejected promise, during `emit()`. `name` is then the catalog action name, for example `"submitForm"`.
275
- - **An action handler rejection on the watch path** — an `ActionFn` rejects during a `watch` binding callback. `name` is then the catalog action name.
327
+ `info.key` and `info.type` name the element, and `info.action` names the action of a chain. A handler with the two parameters `(error, name)` stays valid.
276
328
 
277
329
  ```typescript
330
+ import { createPlayUI, type DefineRegistryResult } from "@xmachines/play-dom";
331
+
332
+ declare const registryResult: DefineRegistryResult; // from defineRegistry(catalog, ...)
333
+
334
+ // Sentry: your error tracking client
335
+ declare const Sentry: { captureException(error: unknown, context?: object): void };
336
+
278
337
  const mount = createPlayUI(registryResult, {
279
- onRenderError: (err, name) => {
338
+ onRenderError: (err, name, info) => {
280
339
  // Route to your application's error tracking
281
- Sentry.captureException(err, { extra: { name } });
340
+ Sentry.captureException(err, { extra: { name, kind: info.kind, key: info.key } });
282
341
  },
283
342
  });
284
343
  ```
285
344
 
286
- The order of the arguments is the same as in the `RenderErrorHandler` type of `@xmachines/json-render-core`: **the error first, the name second**. The framework renderers (`@xmachines/json-render-solid` and `@xmachines/json-render-react`) use the same order.
345
+ The type is `OnRenderError` of `@xmachines/json-render-core`, and this package exports it with `RenderErrorInfo` and `RenderErrorKind`. The framework renderers use the same handler, and they contain a failure of the root in the same way.
287
346
 
288
- Without `onRenderError`, the renderer writes all three types of error to `console.error`, then stops them. No exception goes to the caller, and no promise rejection stays unhandled.
347
+ Without `onRenderError`, the renderer reads the handler that `defineRegistry(catalog, { onRenderError })` put on the registry. Without that handler too, it writes one `console.error` line for each failure, such as `[json-render] element error in <Home> "home":`, and then the error. No exception goes to the caller, and no promise rejection stays unhandled. A failure of the root gets no such line: the containment reports it to `onError`, or to its own console line. A handler that throws gives its error to `reportError` of the page one time.
289
348
 
290
349
  ### The renderer contains a failed rebuild
291
350
 
@@ -303,6 +362,11 @@ a framework is not an option that a caller turns off. play-dom follows the same
303
362
 
304
363
  ```typescript
305
364
  import { rethrowLater } from "@xmachines/core/utils";
365
+ import { createPlayUI, type DefineRegistryResult } from "@xmachines/play-dom";
366
+
367
+ declare const registryResult: DefineRegistryResult; // from defineRegistry(catalog, ...)
368
+
369
+ declare function reportToSentry(error: unknown): void; // your error tracking
306
370
 
307
371
  const mount = createPlayUI(registryResult, {
308
372
  onError: (err) => {
@@ -316,13 +380,13 @@ A throw that leaves the handler itself reaches no caller. The renderer contains
316
380
  writes it to `console.error`, exactly as the four framework renderers do. The five hold
317
381
  this one rule, so a host learns it one time and writes the same handler for each of them.
318
382
 
319
- ### `onError` — the failure of a complete rebuild
383
+ ### `onError`: the failure of a complete rebuild
320
384
 
321
- `onRenderError` covers one element: the inner renderer contains a render error of a component, and a rejection of an action handler, per element, and the rebuild continues. Some failures escape that boundary — a `$computed` function that throws during the resolution of a prop, for example — and they abort the complete rebuild.
385
+ `onRenderError` covers one element: the inner renderer contains a render error of a component below the root, and a rejection of an action handler, per element, and the rest of the view stays. A failure of the ROOT leaves no view: its component throws, or a `$computed` function throws during the resolution of a prop of the root, for example. The resolution of the store of the view can fail too, when an accessor of `spec.state` throws.
322
386
 
323
- `onError` receives such a failure. The renderer contains it with this option and without it: it resets the state of the failed rebuild, so that the next emission makes a complete render again, and it clears the container. `connect()` renders the first view synchronously, and a bad initial view does not make `connect()` throw.
387
+ `onError` receives such a failure, one time. A failure of the root reaches `onRenderError` too, with `info.kind` `"root"`, so a host that sends both handlers to one tool skips that kind in one of them. The renderer contains the failure with this option and without it: it resets the state of the failed rebuild, so that the next emission makes a complete render again, and it clears the container. `connect()` renders the first view synchronously, and a bad initial view does not make `connect()` throw.
324
388
 
325
- A write of the store takes the same path. The renderer resolves the props of every element that the write touched, so a `$computed` function that throws on the new state aborts that render too. The renderer contains such a failure as well, and the action handler that wrote the state receives no exception.
389
+ A write of the store takes the same path. The renderer shows a write at its commit point, a microtask after the write, and it resolves the props of every element that the write touched there. A `$computed` function of the root that throws on the new state fails the root. The renderer contains such a failure as well, and the action handler that wrote the state receives no exception.
326
390
 
327
391
  The second parameter is the **reset**, for a retry that the host starts. It renders the view that the actor holds at the moment of the call, so a retry cannot rewind the screen to the view that failed. A reset that the host calls from inside the handler does nothing, because no input changed between the two attempts, and a reset after the provider goes away does nothing. The five renderers hold the same three rules.
328
392
 
@@ -331,6 +395,12 @@ A reset of `PlayRenderer` belongs to ONE connection. `connect()` starts a connec
331
395
  A fourth rule holds in all five: each of them CONTAINS a handler that throws, and writes the throw to `console.error`. A host that must escalate raises the failure from a task of its own, as the section above shows.
332
396
 
333
397
  ```typescript
398
+ import { createPlayUI, type DefineRegistryResult } from "@xmachines/play-dom";
399
+
400
+ declare const registryResult: DefineRegistryResult; // from defineRegistry(catalog, ...)
401
+
402
+ declare function reportToSentry(error: unknown): void; // your error tracking
403
+
334
404
  const mount = createPlayUI(registryResult, {
335
405
  onError: (err) => reportToSentry(err),
336
406
  fallback: document.getElementById("crashed")!,
@@ -345,16 +415,26 @@ const mount = createPlayUI(registryResult, {
345
415
 
346
416
  **A `fallback` producer that throws is contained too — on a null view and after a failed rebuild alike — and it reports to `console.error` and NOT to `onError`.** After a failed rebuild the renderer calls the producer from inside the containment of the view, so a second trip through `onError` would report the failure of your fallback as a failure of the view. The container stays empty, and the renderer renders the next view that works.
347
417
 
348
- A component implementation can also read the handler at `ctx.ctx.onRenderError`. A component therefore sends its own internal errors through the same channel:
418
+ A component implementation can also read the handler at `ctx.ctx.onRenderError`. A component therefore sends its own internal errors through the same channel, with the `info` of the failure:
349
419
 
350
420
  ```typescript
351
- // catalog from the Quick Start; doSomethingRisky: your render logic that may throw
352
- const Home: ComponentFn<typeof catalog, "Home"> = ({ ctx }) => {
421
+ import { schema, type ComponentFn } from "@xmachines/play-dom";
422
+ import { defineCatalog } from "@xmachines/json-render-core";
423
+ import { z } from "zod";
424
+
425
+ const catalog = defineCatalog(schema, {
426
+ components: { Home: { props: z.object({ title: z.string() }) } },
427
+ actions: {},
428
+ });
429
+
430
+ declare function doSomethingRisky(): HTMLElement; // your render logic that may throw
431
+
432
+ const Home: ComponentFn<typeof catalog, "Home"> = (ctx) => {
353
433
  try {
354
434
  const el = doSomethingRisky();
355
435
  return el;
356
436
  } catch (err) {
357
- ctx.ctx.onRenderError?.(err, "Home");
437
+ ctx.ctx.onRenderError?.(err, "Home", { kind: "element", type: "Home" });
358
438
  return null;
359
439
  }
360
440
  };
@@ -375,30 +455,32 @@ const Home: ComponentFn<typeof catalog, "Home"> = ({ ctx }) => {
375
455
 
376
456
  ### Key Types
377
457
 
378
- | Type | Description |
379
- | ------------------------ | ---------------------------------------------------------------------------------------------------------------- |
380
- | `ComponentFn<C, K>` | Catalog-typed component function — returns `HTMLElement \| Text \| null` |
381
- | `ComponentContext<C, K>` | The context of each component: `props`, `children`, `emit`, `on`, `bindings`, and `ctx` |
382
- | `ActionFn<C, K>` | Catalog-typed action function — receives `(params, setState, state)` |
383
- | `EventHandle` | The handle that `on(eventName)` returns. It has `emit()`, `shouldPreventDefault`, and `bound` |
384
- | `SetState` | State updater: `(prev => next) => void` |
385
- | `DefineRegistryResult` | The result of `defineRegistry`. It has `registry`, `handlers`, and `executeAction` |
386
- | `PlayDomOptions` | Options for `PlayRenderer` — extends `UIProviderOptions`, adds `fallback` and `onError` |
387
- | `CreatePlayUIOptions` | Options for `createPlayUI` — extends `UIProviderOptions`, adds `fallback` and `onError` |
388
- | `MountOptions` | Per-mount options for `MountFn`: `store`, `loading` |
389
- | `MountFn` | The mount: `(actor, container, options?) → () => void`. `createPlayUI` returns one, and a consumer may write one |
390
- | `UIProviderOptions` | Shared options: `functions`, `validationFunctions`, `navigate`, `onRenderError` |
391
- | `BaseComponentProps<P>` | Catalog-agnostic component props for shared component libraries |
392
- | `DomRegistry` | Raw registry type: `Record<string, DomComponentRenderer>` |
393
- | `DomSchema` | Type of the `schema` export |
458
+ | Type | Description |
459
+ | ------------------------ | --------------------------------------------------------------------------------------------------------------------------- |
460
+ | `ComponentFn<C, K>` | Catalog-typed component function — returns `HTMLElement \| Text \| null` |
461
+ | `ComponentContext<C, K>` | The context of each component: `props`, `children`, `emit`, `on`, `bindings`, and `ctx` |
462
+ | `ActionFn<C, K>` | Catalog-typed action function — receives `(params, setState, state)` |
463
+ | `EventHandle` | The handle that `on(eventName)` returns. It has `emit()`, `shouldPreventDefault`, and `bound` |
464
+ | `SetState` | State updater: `(prev => next) => void` |
465
+ | `DefineRegistryResult` | The result of `defineRegistry`. It has `registry`, `handlers`, and `executeAction` |
466
+ | `PlayDomOptions` | Options for `PlayRenderer` — extends `UIProviderOptions`, adds `fallback` and `onError` |
467
+ | `CreatePlayUIOptions` | Options for `createPlayUI` — extends `UIProviderOptions`, adds `fallback` and `onError` |
468
+ | `MountOptions` | Per-mount options for `MountFn`: `store`, `loading` |
469
+ | `MountFn` | The mount: `(actor, container, options?) → () => void`. `createPlayUI` returns one, and a consumer may write one |
470
+ | `UIProviderOptions` | Shared options: `functions`, `directives`, `validationFunctions`, `navigate`, `onRenderError`, `onConfirm`, `confirmDialog` |
471
+ | `OnRenderError` | The `(error, name, info)` handler of `onRenderError`. `RenderErrorInfo` and `RenderErrorKind` type its `info` |
472
+ | `BaseComponentProps<P>` | Catalog-agnostic component props for shared component libraries |
473
+ | `DomRegistry` | Raw registry type: `Record<string, DomComponentRenderer>` |
474
+ | `DomSchema` | Type of the `schema` export |
394
475
 
395
476
  ## Rendering Behavior
396
477
 
397
478
  - **The first render is synchronous** — the renderer fills the container before `connect()` returns.
398
479
  - **An atom-driven render waits for a microtask** — `watchAtom` puts each update on the next tick of the microtask queue.
399
480
  - **A null view** clears the container, and the renderer then shows the `fallback` element when you give one. It shows it for every null view, and not for the first mount only — the four framework providers hold the same rule for their placeholder content.
481
+ - **A store write shows at its commit point** — the inner renderer renders the writes of one task together, in a microtask after the first write. Code that reads the DOM right after a write waits for that microtask.
400
482
  - **A second `connect()` is safe** — a `connect()` call on a connected renderer disconnects it first.
401
- - **`disconnect()` clears the container** and cancels every atom watcher and store watcher.
483
+ - **`disconnect()` clears the container** and cancels every atom watcher and store watcher. It also stops a store write that waits for its commit point, and it cancels a confirmation that waits.
402
484
 
403
485
  @xmachines/play-dom — the vanilla DOM renderer of the XMachines Play architecture.
404
486
 
@@ -439,7 +521,9 @@ The public API has two layers:
439
521
  - [EventHandle](interfaces/EventHandle.md)
440
522
  - [FieldValidationState](interfaces/FieldValidationState.md)
441
523
  - [MountOptions](interfaces/MountOptions.md)
524
+ - [PassOptions](interfaces/PassOptions.md)
442
525
  - [PlayDomOptions](interfaces/PlayDomOptions.md)
526
+ - [RenderErrorInfo](interfaces/RenderErrorInfo.md)
443
527
  - [RenderSpecOptions](interfaces/RenderSpecOptions.md)
444
528
  - [UIProviderOptions](interfaces/UIProviderOptions.md)
445
529
  - [ValidationRegistry](interfaces/ValidationRegistry.md)
@@ -458,7 +542,9 @@ The public API has two layers:
458
542
  - [DomRegistry](type-aliases/DomRegistry.md)
459
543
  - [DomSchema](type-aliases/DomSchema.md)
460
544
  - [MountFn](type-aliases/MountFn.md)
545
+ - [OnRenderError](type-aliases/OnRenderError.md)
461
546
  - [RenderErrorHandler](type-aliases/RenderErrorHandler.md)
547
+ - [RenderErrorKind](type-aliases/RenderErrorKind.md)
462
548
  - [SetState](type-aliases/SetState.md)
463
549
 
464
550
  ## Variables
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: PlayRenderer
4
4
 
5
- Defined in: [packages/play-dom/src/PlayRenderer.ts:127](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-dom/src/PlayRenderer.ts#L127)
5
+ Defined in: [packages/play-dom/src/PlayRenderer.ts:133](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v8.0.0-next.1/packages/play-dom/src/PlayRenderer.ts#L133)
6
6
 
7
7
  PlayRenderer connects the `currentView` atom of an actor to the DOM renderer.
8
8
 
@@ -17,7 +17,7 @@ Every option of `PlayDomOptions`, which extends `UIProviderOptions`, goes into
17
17
  - `directives` — your own dynamic values with a `$` prefix, from `defineDirective`. The renderer resolves them with the props
18
18
  - `validationFunctions` — your own check functions. They are available at `ctx.ctx.validationFunctions`
19
19
  - `navigate` — the navigation callback. The renderer calls it for an `onSuccess: { navigate: "..." }` action binding
20
- - `onRenderError` — the renderer calls it with `(error, name)` for a component render error and for an action handler rejection
20
+ - `onRenderError` — the renderer calls it with `(error, name, info)` for each failure that the inner renderer reports
21
21
 
22
22
  **The preferred use, with `registryResult`:**
23
23
 
@@ -64,16 +64,16 @@ new PlayRenderer(
64
64
  ): PlayRenderer;
65
65
  ```
66
66
 
67
- Defined in: [packages/play-dom/src/PlayRenderer.ts:232](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-dom/src/PlayRenderer.ts#L232)
67
+ Defined in: [packages/play-dom/src/PlayRenderer.ts:246](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v8.0.0-next.1/packages/play-dom/src/PlayRenderer.ts#L246)
68
68
 
69
69
  #### Parameters
70
70
 
71
- | Parameter | Type | Description |
72
- | ----------- | -------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
73
- | `container` | `HTMLElement` | The `HTMLElement` to render into. Each view transition clears it and fills it again. |
74
- | `actor` | [`ViewActor`](../../play-view/index/type-aliases/ViewActor.md) | The actor with the `currentView` atom. It must implement `Viewable`. |
75
- | `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | The map of the component renderers, usually `registryResult.registry` from `defineRegistry`. |
76
- | `options` | [`PlayDomOptions`](../interfaces/PlayDomOptions.md) | The configuration. See [PlayDomOptions](../interfaces/PlayDomOptions.md): - `registryResult` — it connects `setState` and `state` of the xstate store for you. - `store` — an external `StateStore`, which is the controlled mode. It replaces the values of `spec.state`. - `loading` — the flag of the streaming mode. It stops each warning about an absent child. - `functions` — the named compute functions of a `$computed` prop expression. - `directives` — your own dynamic values with a `$` prefix. The renderer resolves them with the props. - `validationFunctions` — your own check functions. They are available at `ctx.ctx.validationFunctions`. - `navigate` — the navigation callback. The renderer calls it for `onSuccess: { navigate: "..." }`. - `onRenderError` — the `(error, name)` handler of a component render error and of an action handler rejection. It stops the `console.error` fallback. - `onError` — the `(error, reset)` handler of a failure of a complete rebuild. The renderer contains such a failure always, and this option says where the report goes. - `fallback` — the element to show for every null view, and after a contained failure. |
71
+ | Parameter | Type | Description |
72
+ | ----------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
73
+ | `container` | `HTMLElement` | The `HTMLElement` to render into. Each view transition clears it and fills it again. |
74
+ | `actor` | [`ViewActor`](../../play-view/index/type-aliases/ViewActor.md) | The actor with the `currentView` atom. It must implement `Viewable`. |
75
+ | `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | The map of the component renderers, usually `registryResult.registry` from `defineRegistry`. |
76
+ | `options` | [`PlayDomOptions`](../interfaces/PlayDomOptions.md) | The configuration. See [PlayDomOptions](../interfaces/PlayDomOptions.md): - `registryResult` — it connects `setState` and `state` of the xstate store for you. - `store` — an external `StateStore`, which is the controlled mode. It replaces the values of `spec.state`. - `loading` — the flag of the streaming mode. It stops each warning about an absent child. - `functions` — the named compute functions of a `$computed` prop expression. - `directives` — your own dynamic values with a `$` prefix. The renderer resolves them with the props. - `validationFunctions` — your own check functions. They are available at `ctx.ctx.validationFunctions`. - `navigate` — the navigation callback. The renderer calls it for `onSuccess: { navigate: "..." }`. - `onRenderError` — the `(error, name, info)` handler of each failure that the inner renderer reports. It stops the `[json-render]` console line. - `onError` — the `(error, reset)` handler of a failure of the view: a failure of the root, or of a complete rebuild. The renderer contains such a failure always, and this option says where the report goes. - `fallback` — the element to show for every null view, and after a contained failure. |
77
77
 
78
78
  #### Returns
79
79
 
@@ -87,13 +87,13 @@ Defined in: [packages/play-dom/src/PlayRenderer.ts:232](https://gitlab.com/xmach
87
87
  connect(): void;
88
88
  ```
89
89
 
90
- Defined in: [packages/play-dom/src/PlayRenderer.ts:248](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-dom/src/PlayRenderer.ts#L248)
90
+ Defined in: [packages/play-dom/src/PlayRenderer.ts:262](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v8.0.0-next.1/packages/play-dom/src/PlayRenderer.ts#L262)
91
91
 
92
92
  Starts the watch of actor.currentView, and renders into the container.
93
93
  It renders the first view synchronously, then it subscribes to the atom changes.
94
94
 
95
95
  A `connect()` call on a connected renderer, where a `disconnect()` call did not
96
- follow the previous `connect()`, installs a second `watchAtom` subscription.
96
+ follow the previous `connect()`, installs a second subscription of the view.
97
97
  Each view change then renders two times. Therefore this method disconnects the
98
98
  renderer first.
99
99
 
@@ -109,7 +109,7 @@ renderer first.
109
109
  disconnect(): void;
110
110
  ```
111
111
 
112
- Defined in: [packages/play-dom/src/PlayRenderer.ts:292](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-dom/src/PlayRenderer.ts#L292)
112
+ Defined in: [packages/play-dom/src/PlayRenderer.ts:292](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v8.0.0-next.1/packages/play-dom/src/PlayRenderer.ts#L292)
113
113
 
114
114
  Stops the watch and clears the container.
115
115
 
@@ -6,7 +6,7 @@
6
6
  function createPlayUI(registryResult, options?): MountFn;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-dom/src/create-play-ui.ts:110](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-dom/src/create-play-ui.ts#L110)
9
+ Defined in: [packages/play-dom/src/create-play-ui.ts:112](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v8.0.0-next.1/packages/play-dom/src/create-play-ui.ts#L112)
10
10
 
11
11
  Creates the mount function of the complete DOM renderer.
12
12
 
@@ -16,10 +16,10 @@ and a container.
16
16
 
17
17
  ## Parameters
18
18
 
19
- | Parameter | Type | Description |
20
- | ---------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
21
- | `registryResult` | [`DefineRegistryResult`](../interfaces/DefineRegistryResult.md) | The result of `defineRegistry()`. It gives the registry and the factory of the handlers, which it builds late. |
22
- | `options` | [`CreatePlayUIOptions`](../interfaces/CreatePlayUIOptions.md) | The factory configuration. See [CreatePlayUIOptions](../interfaces/CreatePlayUIOptions.md): - `functions` — the named compute functions of a `$computed` prop expression. - `directives` — your own dynamic values with a `$` prefix. The renderer resolves them with the props. - `validationFunctions` — your own check functions. They are available at `ctx.ctx.validationFunctions`. - `navigate` — the navigation callback. The renderer calls it for `onSuccess: { navigate: "..." }`. - `onRenderError` — the `(error, name)` handler of a component render error and of an action handler rejection. - `onError` — the `(error, reset)` handler of a failure of a complete rebuild. The renderer contains such a failure always, and this option says where the report goes. - `fallback` — the content to show when the view of the actor is `null`, and after a contained failure of a rebuild. Give a FUNCTION when the factory mounts more than one time, so that each renderer owns its own element. |
19
+ | Parameter | Type | Description |
20
+ | ---------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
21
+ | `registryResult` | [`DefineRegistryResult`](../interfaces/DefineRegistryResult.md) | The result of `defineRegistry()`. It gives the registry and the factory of the handlers, which it builds late. |
22
+ | `options` | [`CreatePlayUIOptions`](../interfaces/CreatePlayUIOptions.md) | The factory configuration. See [CreatePlayUIOptions](../interfaces/CreatePlayUIOptions.md): - `functions` — the named compute functions of a `$computed` prop expression. - `directives` — your own dynamic values with a `$` prefix. The renderer resolves them with the props. - `validationFunctions` — your own check functions. They are available at `ctx.ctx.validationFunctions`. - `navigate` — the navigation callback. The renderer calls it for `onSuccess: { navigate: "..." }`. - `onRenderError` — the `(error, name, info)` handler of each failure that the inner renderer reports. - `onConfirm` — the hook that decides each binding with `confirm`. Without it, the default confirm dialog shows the binding. - `confirmDialog` — `false` turns the default confirm dialog off. The binding then waits for `ctx.confirmation`. - `onError` — the `(error, reset)` handler of a failure of a complete rebuild. The renderer contains such a failure always, and this option says where the report goes. - `fallback` — the content to show when the view of the actor is `null`, and after a contained failure of a rebuild. Give a FUNCTION when the factory mounts more than one time, so that each renderer owns its own element. |
23
23
 
24
24
  ## Returns
25
25
 
@@ -6,7 +6,7 @@
6
6
  function createRenderer<C>(catalog, componentMap): (actor, container, options?) => () => void;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-dom/src/create-renderer.ts:87](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-dom/src/create-renderer.ts#L87)
9
+ Defined in: [packages/play-dom/src/create-renderer.ts:87](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v8.0.0-next.1/packages/play-dom/src/create-renderer.ts#L87)
10
10
 
11
11
  Creates a DOM renderer factory from a catalog and a component map. You can use
12
12
  the factory more than one time.
@@ -30,8 +30,9 @@ built by `defineRegistry` — this function only orchestrates the traversal.
30
30
 
31
31
  `Node` \| `null`
32
32
 
33
- The root DOM `Node`, or `null` if the root is invisible
34
- or has no registered renderer.
33
+ The root DOM `Node`, or `null` if the root is invisible,
34
+ has no registered renderer, or fails. A failure goes to
35
+ `onRenderError`, or to `console.error`.
35
36
 
36
37
  ## Remarks
37
38
 
@@ -13,12 +13,12 @@ Defined in: `@xmachines/json-render-dom`
13
13
 
14
14
  ## Properties
15
15
 
16
- | Property | Type | Description | Defined in |
17
- | ----------------------------------------- | --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
18
- | <a id="property-bindings"></a> `bindings` | `Record`\<`string`, `string`\> \| `undefined` | Two-way binding paths resolved from `$bindState` / `$bindItem` prop expressions. | - |
19
- | <a id="property-children"></a> `children` | `Node`[] | Rendered child nodes from the spec's `children` list (the default slot). | - |
20
- | <a id="property-ctx"></a> `ctx` | [`DomRenderContext`](DomRenderContext.md) | Low-level render context. | - |
21
- | <a id="property-emit"></a> `emit` | (`event`) => `void` | Dispatch a named event defined in the spec's `on` map. | - |
22
- | <a id="property-on"></a> `on` | (`event`) => [`EventHandle`](EventHandle.md) | Get an `EventHandle` for a named event from the spec's `on` map. | - |
23
- | <a id="property-props"></a> `props` | `InferComponentProps`\<`C`, `K`\> | Catalog-typed, store-resolved props for this component. | - |
24
- | <a id="property-slots"></a> `slots?` | `Record`\<`string`, `Node`[]\> | Rendered nodes per named slot from the spec's `slots` map, or `undefined` when the element fills no named slot. Mirrors `slots` in @xmachines/json-render-react's ComponentRenderProps. | - |
16
+ | Property | Type | Description | Defined in |
17
+ | ----------------------------------------- | --------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
18
+ | <a id="property-bindings"></a> `bindings` | `Record`\<`string`, `string`\> \| `undefined` | Two-way binding paths resolved from `$bindState` / `$bindItem` prop expressions. | - |
19
+ | <a id="property-children"></a> `children` | `Node`[] | The child nodes of the spec's `children` list (the default slot). A getter: the children render at the first read, one time. A child that the component never reads does not mount, and a parameter that destructures `children` reads it at once. | - |
20
+ | <a id="property-ctx"></a> `ctx` | [`DomRenderContext`](DomRenderContext.md) | Low-level render context. | - |
21
+ | <a id="property-emit"></a> `emit` | (`event`) => `void` | Dispatch a named event defined in the spec's `on` map. | - |
22
+ | <a id="property-on"></a> `on` | (`event`) => [`EventHandle`](EventHandle.md) | Get an `EventHandle` for a named event from the spec's `on` map. | - |
23
+ | <a id="property-props"></a> `props` | `InferComponentProps`\<`C`, `K`\> | Catalog-typed, store-resolved props for this component. | - |
24
+ | <a id="property-slots"></a> `slots?` | `Record`\<`string`, `Node`[]\> | The nodes of each named slot of the spec's `slots` map, or `undefined` when the element fills no named slot. Each slot is a getter that renders at its first read, as `children` does. Mirrors `slots` in @xmachines/json-render-react's ComponentRenderProps. | - |