@xmachines/docs 1.0.0-beta.21 → 1.0.0-beta.22

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 (165) hide show
  1. package/api/@xmachines/play/classes/PlayError.md +4 -4
  2. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  3. package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -3
  4. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
  5. package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
  6. package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +3 -3
  7. package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
  8. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  9. package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
  10. package/api/@xmachines/play-dom/functions/renderSpec.md +1 -1
  11. package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +7 -7
  12. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +7 -7
  13. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +3 -3
  14. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +1 -1
  15. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +1 -1
  16. package/api/@xmachines/play-react/README.md +20 -0
  17. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
  18. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  19. package/api/@xmachines/play-react/functions/useSignalEffect.md +8 -1
  20. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
  21. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
  22. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +7 -6
  23. package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
  24. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  25. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +34 -21
  26. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  27. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +1 -1
  28. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  29. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +6 -6
  30. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  31. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  32. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  33. package/api/@xmachines/play-router/README.md +17 -0
  34. package/api/@xmachines/play-router/classes/BaseRouteMap.md +4 -4
  35. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +34 -21
  36. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  37. package/api/@xmachines/play-router/functions/connectRouter.md +1 -1
  38. package/api/@xmachines/play-router/functions/createBrowserHistory.md +6 -1
  39. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  40. package/api/@xmachines/play-router/functions/createRouter.md +1 -1
  41. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  42. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  43. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  44. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  45. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  46. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  47. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  48. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  49. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  50. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  51. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  52. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  53. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  54. package/api/@xmachines/play-router/interfaces/BaseRouteMapping.md +3 -3
  55. package/api/@xmachines/play-router/interfaces/BrowserHistory.md +14 -14
  56. package/api/@xmachines/play-router/interfaces/BrowserWindow.md +14 -14
  57. package/api/@xmachines/play-router/interfaces/ConnectRouterOptions.md +4 -4
  58. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
  59. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
  60. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +6 -6
  61. package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
  62. package/api/@xmachines/play-router/interfaces/RouteMap.md +4 -4
  63. package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
  64. package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
  65. package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
  66. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
  67. package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
  68. package/api/@xmachines/play-router/interfaces/VanillaRouter.md +4 -4
  69. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  70. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  71. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  72. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  73. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  74. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  75. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  76. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  77. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  78. package/api/@xmachines/play-solid/README.md +20 -0
  79. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  80. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +7 -6
  81. package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
  82. package/api/@xmachines/play-solid/variables/PlayRenderer.md +7 -1
  83. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  84. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +35 -22
  85. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
  86. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
  87. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -3
  88. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +6 -6
  89. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  90. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  91. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  92. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  93. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  94. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  95. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +34 -21
  96. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
  97. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  98. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  99. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  100. package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +1 -1
  101. package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +1 -1
  102. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +6 -6
  103. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  104. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  105. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  106. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  107. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  108. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +4 -4
  109. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  110. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +35 -22
  111. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
  112. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
  113. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +6 -6
  114. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  115. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  116. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  117. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  118. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  119. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +4 -4
  120. package/api/@xmachines/play-vue/README.md +20 -0
  121. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  122. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  123. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +5 -5
  124. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  125. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  126. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  127. package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
  128. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  129. package/api/@xmachines/play-vue-router/classes/RouteMap.md +7 -7
  130. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +7 -7
  131. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +35 -22
  132. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  133. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +6 -6
  134. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +4 -4
  135. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  136. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  137. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  138. package/api/@xmachines/play-xstate/README.md +13 -1
  139. package/api/@xmachines/play-xstate/classes/PlayerActor.md +13 -13
  140. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
  141. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  142. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  143. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  144. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  145. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  146. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  147. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
  148. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  149. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  150. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  151. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  152. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  153. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
  154. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
  155. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  156. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  157. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  158. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  159. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  160. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  161. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +2 -2
  162. package/api/@xmachines/shared/functions/xmAliases.md +1 -1
  163. package/api/rfc/play.md +1 -1
  164. package/package.json +2 -2
  165. package/rfc/play.md +1 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: PlayError
4
4
 
5
- Defined in: [packages/play/src/errors.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play/src/errors.ts#L63)
5
+ Defined in: [packages/play/src/errors.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play/src/errors.ts#L63)
6
6
 
7
7
  Base class for all typed runtime errors thrown by `@xmachines/*` packages.
8
8
 
@@ -82,7 +82,7 @@ new PlayError(
82
82
  options?): PlayError;
83
83
  ```
84
84
 
85
- Defined in: [packages/play/src/errors.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play/src/errors.ts#L82)
85
+ Defined in: [packages/play/src/errors.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play/src/errors.ts#L82)
86
86
 
87
87
  #### Parameters
88
88
 
@@ -108,10 +108,10 @@ Error.constructor;
108
108
  | Property | Modifier | Type | Description | Inherited from | Defined in |
109
109
  | ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
110
110
  | <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | `Error.cause` | - |
111
- | <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable error identifier. Error codes follow the `PLAY_<PACKAGE>_<DESCRIPTION>` naming convention and are guaranteed stable across patch and minor releases within a major version. Never match on `.message` — always match on `.code` or the subclass. | - | [packages/play/src/errors.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play/src/errors.ts#L74) |
111
+ | <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable error identifier. Error codes follow the `PLAY_<PACKAGE>_<DESCRIPTION>` naming convention and are guaranteed stable across patch and minor releases within a major version. Never match on `.message` — always match on `.code` or the subclass. | - | [packages/play/src/errors.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play/src/errors.ts#L74) |
112
112
  | <a id="property-message"></a> `message` | `public` | `string` | - | `Error.message` | - |
113
113
  | <a id="property-name"></a> `name` | `public` | `string` | - | `Error.name` | - |
114
- | <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or module that threw this error (e.g. `"RouterBridgeBase"`). | - | [packages/play/src/errors.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play/src/errors.ts#L65) |
114
+ | <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or module that threw this error (e.g. `"RouterBridgeBase"`). | - | [packages/play/src/errors.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play/src/errors.ts#L65) |
115
115
  | <a id="property-stack"></a> `stack?` | `public` | `string` | - | `Error.stack` | - |
116
116
  | <a id="property-stacktracelimit"></a> `stackTraceLimit` | `static` | `number` | The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured _after_ the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. | `Error.stackTraceLimit` | - |
117
117
 
@@ -6,7 +6,7 @@
6
6
  type PlayEvent<TPayload> = object & TPayload;
7
7
  ```
8
8
 
9
- Defined in: [packages/play/src/types.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play/src/types.ts#L69)
9
+ Defined in: [packages/play/src/types.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play/src/types.ts#L69)
10
10
 
11
11
  Generic event type for Play Architecture
12
12
 
@@ -34,7 +34,7 @@ Robot, and other state machine libraries.
34
34
 
35
35
  | Name | Type | Defined in |
36
36
  | ------ | -------- | -------------------------------------------------------------------------------------------------------------------------------- |
37
- | `type` | `string` | [packages/play/src/types.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play/src/types.ts#L70) |
37
+ | `type` | `string` | [packages/play/src/types.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play/src/types.ts#L70) |
38
38
 
39
39
  ## Type Parameters
40
40
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Abstract Class: AbstractActor\<TLogic, TEvent\>
4
4
 
5
- Defined in: [packages/play-actor/src/abstract-actor.ts:231](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-actor/src/abstract-actor.ts#L231)
5
+ Defined in: [packages/play-actor/src/abstract-actor.ts:231](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-actor/src/abstract-actor.ts#L231)
6
6
 
7
7
  Abstract base class for Play Architecture actors.
8
8
 
@@ -115,7 +115,7 @@ Actor<TLogic>.constructor
115
115
  | <a id="property-ref"></a> `ref` | `public` | [`ActorRef`](https://www.jsdocs.io/package/xstate#ActorRef)\<[`SnapshotFrom`](https://www.jsdocs.io/package/xstate#SnapshotFrom)\<`TLogic`\>, [`EventFromLogic`](https://www.jsdocs.io/package/xstate#EventFromLogic)\<`TLogic`\>, [`EmittedFrom`](https://www.jsdocs.io/package/xstate#EmittedFrom)\<`TLogic`\>\> | - | `Actor.ref` | - |
116
116
  | <a id="property-sessionid"></a> `sessionId` | `public` | `string` | The globally unique process ID for this invocation. | `Actor.sessionId` | - |
117
117
  | <a id="property-src"></a> `src` | `public` | \| `string` \| [`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic) | - | `Actor.src` | - |
118
- | <a id="property-state"></a> `state` | `abstract` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<`unknown`\> | Reactive snapshot of current actor state. Typed as `Signal.State<unknown>` at the abstract level; concrete implementations narrow this to the actual snapshot type (e.g., `Signal.State<AnyMachineSnapshot>` in `@xmachines/play-xstate`'s `PlayerActor`). Infrastructure observes this signal to react to state changes without directly coupling to the Actor's internal state machine implementation. **Example** `// Infrastructure observes state signal const watcher = new Signal.subtle.Watcher(() => { console.log('Actor state changed:', actor.state.get()); }); watcher.watch(actor.state);` | - | [packages/play-actor/src/abstract-actor.ts:254](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-actor/src/abstract-actor.ts#L254) |
118
+ | <a id="property-state"></a> `state` | `abstract` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<`unknown`\> | Reactive snapshot of current actor state. Typed as `Signal.State<unknown>` at the abstract level; concrete implementations narrow this to the actual snapshot type (e.g., `Signal.State<AnyMachineSnapshot>` in `@xmachines/play-xstate`'s `PlayerActor`). Infrastructure observes this signal to react to state changes without directly coupling to the Actor's internal state machine implementation. **Example** `// Infrastructure observes state signal const watcher = new Signal.subtle.Watcher(() => { console.log('Actor state changed:', actor.state.get()); }); watcher.watch(actor.state);` | - | [packages/play-actor/src/abstract-actor.ts:254](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-actor/src/abstract-actor.ts#L254) |
119
119
  | <a id="property-system"></a> `system` | `public` | [`AnyActorSystem`](https://www.jsdocs.io/package/xstate#AnyActorSystem) | The system to which this actor belongs. | `Actor.system` | - |
120
120
  | <a id="property-systemid"></a> `systemId` | `public` | `string` \| `undefined` | - | `Actor.systemId` | - |
121
121
 
@@ -276,7 +276,7 @@ Actor.select;
276
276
  abstract send(event): void;
277
277
  ```
278
278
 
279
- Defined in: [packages/play-actor/src/abstract-actor.ts:278](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-actor/src/abstract-actor.ts#L278)
279
+ Defined in: [packages/play-actor/src/abstract-actor.ts:278](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-actor/src/abstract-actor.ts#L278)
280
280
 
281
281
  Send event to Actor
282
282
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: PlaySpec
4
4
 
5
- Defined in: [packages/play-actor/src/abstract-actor.ts:112](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-actor/src/abstract-actor.ts#L112)
5
+ Defined in: [packages/play-actor/src/abstract-actor.ts:112](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-actor/src/abstract-actor.ts#L112)
6
6
 
7
7
  XMachines extension of `@json-render/core` `Spec`.
8
8
 
@@ -31,7 +31,7 @@ spec: {
31
31
 
32
32
  | Property | Type | Description | Inherited from | Defined in |
33
33
  | -------------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
34
- | <a id="property-contextprops"></a> `contextProps?` | `string`[] | Explicit allowlist of machine context field names to expose as prop slots. Each named field is merged into every spec element's `props` at view derivation time, filling any slot whose current value is `undefined`. `null` and `undefined` context values are skipped. URL route params (from `context.routeParams`) take priority over `contextProps` values; explicit non-`undefined` spec props always take priority over both. | - | [packages/play-actor/src/abstract-actor.ts:122](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-actor/src/abstract-actor.ts#L122) |
34
+ | <a id="property-contextprops"></a> `contextProps?` | `string`[] | Explicit allowlist of machine context field names to expose as prop slots. Each named field is merged into every spec element's `props` at view derivation time, filling any slot whose current value is `undefined`. `null` and `undefined` context values are skipped. URL route params (from `context.routeParams`) take priority over `contextProps` values; explicit non-`undefined` spec props always take priority over both. | - | [packages/play-actor/src/abstract-actor.ts:122](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-actor/src/abstract-actor.ts#L122) |
35
35
  | <a id="property-elements"></a> `elements` | `Record`\<`string`, `UIElement`\> | Flat map of elements by key | `Spec.elements` | - |
36
36
  | <a id="property-root"></a> `root` | `string` | Root element key | `Spec.root` | - |
37
37
  | <a id="property-state"></a> `state?` | `Record`\<`string`, `unknown`\> | Optional initial state to seed the state model. Components using statePath will read from / write to this state. | `Spec.state` | - |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: Routable
4
4
 
5
- Defined in: [packages/play-actor/src/abstract-actor.ts:42](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-actor/src/abstract-actor.ts#L42)
5
+ Defined in: [packages/play-actor/src/abstract-actor.ts:42](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-actor/src/abstract-actor.ts#L42)
6
6
 
7
7
  Optional capability: Routing support
8
8
 
@@ -26,5 +26,5 @@ function connectRouter<T extends AbstractActor & Routable>(actor: T) {
26
26
 
27
27
  | Property | Modifier | Type | Description | Defined in |
28
28
  | ------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
29
- | <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | Current route signal Computed signal derived from state machine. Infrastructure observes to sync browser URL. Invariant: Passive Infrastructure - Infrastructure reflects route, never decides. **Example** `const watcher = new Signal.subtle.Watcher(() => { const route = actor.currentRoute.get(); console.log('Route changed:', route); }); watcher.watch(actor.currentRoute);` | [packages/play-actor/src/abstract-actor.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-actor/src/abstract-actor.ts#L59) |
30
- | <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | The route derived from the machine's **initial** state — fixed at construction and never changes, even after `start()` with a restored snapshot. Router bridges use this to distinguish a deep-link (browser URL differs from the initial route because the user navigated there) from a restore (browser is at the machine's default starting URL while the actor was restored to a different route from a snapshot). `null` when the machine's initial state has no `meta.route`. | [packages/play-actor/src/abstract-actor.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-actor/src/abstract-actor.ts#L71) |
29
+ | <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | Current route signal Computed signal derived from state machine. Infrastructure observes to sync browser URL. Invariant: Passive Infrastructure - Infrastructure reflects route, never decides. **Example** `const watcher = new Signal.subtle.Watcher(() => { const route = actor.currentRoute.get(); console.log('Route changed:', route); }); watcher.watch(actor.currentRoute);` | [packages/play-actor/src/abstract-actor.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-actor/src/abstract-actor.ts#L59) |
30
+ | <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | The route derived from the machine's **initial** state — fixed at construction and never changes, even after `start()` with a restored snapshot. Router bridges use this to distinguish a deep-link (browser URL differs from the initial route because the user navigated there) from a restore (browser is at the machine's default starting URL while the actor was restored to a different route from a snapshot). `null` when the machine's initial state has no `meta.route`. | [packages/play-actor/src/abstract-actor.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-actor/src/abstract-actor.ts#L71) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: ViewMetadata
4
4
 
5
- Defined in: [packages/play-actor/src/abstract-actor.ts:131](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-actor/src/abstract-actor.ts#L131)
5
+ Defined in: [packages/play-actor/src/abstract-actor.ts:131](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-actor/src/abstract-actor.ts#L131)
6
6
 
7
7
  View metadata for rendering
8
8
 
@@ -13,5 +13,5 @@ Used by PlayRenderer to dynamically render UI based on actor state.
13
13
 
14
14
  | Property | Type | Description | Defined in |
15
15
  | ------------------------------------------- | ------------------------- | --------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
16
- | <a id="property-component"></a> `component` | `string` | Root element type name (for diagnostics and component resolution) | [packages/play-actor/src/abstract-actor.ts:133](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-actor/src/abstract-actor.ts#L133) |
17
- | <a id="property-spec"></a> `spec` | [`PlaySpec`](PlaySpec.md) | XMachines view spec — extends `@json-render/core` Spec with `contextProps` for explicit context field exposure. | [packages/play-actor/src/abstract-actor.ts:138](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-actor/src/abstract-actor.ts#L138) |
16
+ | <a id="property-component"></a> `component` | `string` | Root element type name (for diagnostics and component resolution) | [packages/play-actor/src/abstract-actor.ts:133](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-actor/src/abstract-actor.ts#L133) |
17
+ | <a id="property-spec"></a> `spec` | [`PlaySpec`](PlaySpec.md) | XMachines view spec — extends `@json-render/core` Spec with `contextProps` for explicit context field exposure. | [packages/play-actor/src/abstract-actor.ts:138](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-actor/src/abstract-actor.ts#L138) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: Viewable
4
4
 
5
- Defined in: [packages/play-actor/src/abstract-actor.ts:150](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-actor/src/abstract-actor.ts#L150)
5
+ Defined in: [packages/play-actor/src/abstract-actor.ts:150](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-actor/src/abstract-actor.ts#L150)
6
6
 
7
7
  Actor capability for exposing renderable view state.
8
8
 
@@ -16,4 +16,4 @@ passed to PlayRenderer, not stored on the actor.
16
16
 
17
17
  | Property | Modifier | Type | Description | Defined in |
18
18
  | ----------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
19
- | <a id="property-currentview"></a> `currentView` | `readonly` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<[`ViewMetadata`](ViewMetadata.md) \| `null`\> | Current view signal State signal containing view.component and view.spec from meta.view. Infrastructure renders view. Invariant: Logic-Driven UI - View structure is defined by business logic, not JSX. **Example** `const watcher = new Signal.subtle.Watcher(() => { const view = actor.currentView.get(); console.log('View changed:', view.component, view.spec); }); watcher.watch(actor.currentView);` | [packages/play-actor/src/abstract-actor.ts:167](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-actor/src/abstract-actor.ts#L167) |
19
+ | <a id="property-currentview"></a> `currentView` | `readonly` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<[`ViewMetadata`](ViewMetadata.md) \| `null`\> | Current view signal State signal containing view.component and view.spec from meta.view. Infrastructure renders view. Invariant: Logic-Driven UI - View structure is defined by business logic, not JSX. **Example** `const watcher = new Signal.subtle.Watcher(() => { const view = actor.currentView.get(); console.log('View changed:', view.component, view.spec); }); watcher.watch(actor.currentView);` | [packages/play-actor/src/abstract-actor.ts:167](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-actor/src/abstract-actor.ts#L167) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: PlayRenderer
4
4
 
5
- Defined in: [PlayRenderer.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/PlayRenderer.ts#L39)
5
+ Defined in: [PlayRenderer.ts:39](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/PlayRenderer.ts#L39)
6
6
 
7
7
  PlayRenderer connects an actor's currentView signal to the DOM renderer.
8
8
 
@@ -34,7 +34,7 @@ new PlayRenderer(
34
34
  options?): PlayRenderer;
35
35
  ```
36
36
 
37
- Defined in: [PlayRenderer.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/PlayRenderer.ts#L51)
37
+ Defined in: [PlayRenderer.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/PlayRenderer.ts#L51)
38
38
 
39
39
  #### Parameters
40
40
 
@@ -57,7 +57,7 @@ Defined in: [PlayRenderer.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/bl
57
57
  connect(): void;
58
58
  ```
59
59
 
60
- Defined in: [PlayRenderer.ts:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/PlayRenderer.ts#L62)
60
+ Defined in: [PlayRenderer.ts:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/PlayRenderer.ts#L62)
61
61
 
62
62
  Start watching actor.currentView and render to container.
63
63
  Renders the initial view synchronously, then subscribes to signal changes.
@@ -74,7 +74,7 @@ Renders the initial view synchronously, then subscribes to signal changes.
74
74
  disconnect(): void;
75
75
  ```
76
76
 
77
- Defined in: [PlayRenderer.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/PlayRenderer.ts#L70)
77
+ Defined in: [PlayRenderer.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/PlayRenderer.ts#L70)
78
78
 
79
79
  Stop watching and clear the container.
80
80
 
@@ -6,7 +6,7 @@
6
6
  function connectRenderer(options): () => void;
7
7
  ```
8
8
 
9
- Defined in: [connect-renderer.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/connect-renderer.ts#L46)
9
+ Defined in: [connect-renderer.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/connect-renderer.ts#L46)
10
10
 
11
11
  Connect a signal-driven DOM renderer to an actor's currentView signal.
12
12
 
@@ -6,7 +6,7 @@
6
6
  function renderSpec(spec, store, registry, send, actor, actorActions): Node | null;
7
7
  ```
8
8
 
9
- Defined in: [dom-renderer.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/dom-renderer.ts#L26)
9
+ Defined in: [dom-renderer.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/dom-renderer.ts#L26)
10
10
 
11
11
  Render a Spec tree into DOM nodes using the provided DomRegistry.
12
12
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: ConnectRendererOptions
4
4
 
5
- Defined in: [types.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L63)
5
+ Defined in: [types.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L63)
6
6
 
7
7
  Options for connectRenderer() — backward compat API.
8
8
 
@@ -10,9 +10,9 @@ Options for connectRenderer() — backward compat API.
10
10
 
11
11
  | Property | Type | Description | Defined in |
12
12
  | ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
13
- | <a id="property-actions"></a> `actions?` | `Record`\<`string`, `string`\> | Map of json-render actionName → XState event type | [types.ts:77](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L77) |
14
- | <a id="property-actor"></a> `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Viewable`](../../play-actor/interfaces/Viewable.md) | Actor instance with currentView signal (requires Viewable capability) | [types.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L65) |
15
- | <a id="property-container"></a> `container` | `HTMLElement` | Container element to render into | [types.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L71) |
16
- | <a id="property-fallback"></a> `fallback?` | `HTMLElement` \| `null` | Optional element shown when currentView is null (defaults to nothing — clears container) | [types.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L74) |
17
- | <a id="property-registry"></a> `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | Registry of component renderers — replaces old `components` map | [types.ts:68](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L68) |
18
- | <a id="property-store"></a> `store?` | `StateStore` | Optional external StateStore (e.g. from `xstateStoreStateStore` in @json-render/xstate). When provided, PlayRenderer operates in controlled mode — spec.state is ignored. When omitted, a fresh @xstate/store atom is created internally per view transition. | [types.ts:84](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L84) |
13
+ | <a id="property-actions"></a> `actions?` | `Record`\<`string`, `string`\> | Map of json-render actionName → XState event type | [types.ts:77](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L77) |
14
+ | <a id="property-actor"></a> `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Viewable`](../../play-actor/interfaces/Viewable.md) | Actor instance with currentView signal (requires Viewable capability) | [types.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L65) |
15
+ | <a id="property-container"></a> `container` | `HTMLElement` | Container element to render into | [types.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L71) |
16
+ | <a id="property-fallback"></a> `fallback?` | `HTMLElement` \| `null` | Optional element shown when currentView is null (defaults to nothing — clears container) | [types.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L74) |
17
+ | <a id="property-registry"></a> `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | Registry of component renderers — replaces old `components` map | [types.ts:68](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L68) |
18
+ | <a id="property-store"></a> `store?` | `StateStore` | Optional external StateStore (e.g. from `xstateStoreStateStore` in @json-render/xstate). When provided, PlayRenderer operates in controlled mode — spec.state is ignored. When omitted, a fresh @xstate/store atom is created internally per view transition. | [types.ts:84](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L84) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: DomRenderContext
4
4
 
5
- Defined in: [types.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L14)
5
+ Defined in: [types.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L14)
6
6
 
7
7
  Context passed to each DomComponentRenderer when rendering an element.
8
8
 
@@ -10,9 +10,9 @@ Context passed to each DomComponentRenderer when rendering an element.
10
10
 
11
11
  | Property | Type | Description | Defined in |
12
12
  | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
13
- | <a id="property-actor"></a> `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Viewable`](../../play-actor/interfaces/Viewable.md) | Raw actor — access from any DOM component for state reading, complex events, lifecycle | [types.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L22) |
14
- | <a id="property-actoractions"></a> `actorActions` | `Record`\<`string`, `string`\> | Map of json-render action names → XState event types | [types.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L24) |
15
- | <a id="property-renderchildren"></a> `renderChildren` | (`keys`) => `Node`[] | Recursively render child elements by key | [types.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L26) |
16
- | <a id="property-send"></a> `send` | (`event`) => `void` | Send an event to the actor | [types.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L20) |
17
- | <a id="property-spec"></a> `spec` | `Spec` | Full spec tree | [types.ts:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L16) |
18
- | <a id="property-store"></a> `store` | `StateStore` | State store bound to spec.state | [types.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L18) |
13
+ | <a id="property-actor"></a> `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Viewable`](../../play-actor/interfaces/Viewable.md) | Raw actor — access from any DOM component for state reading, complex events, lifecycle | [types.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L22) |
14
+ | <a id="property-actoractions"></a> `actorActions` | `Record`\<`string`, `string`\> | Map of json-render action names → XState event types | [types.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L24) |
15
+ | <a id="property-renderchildren"></a> `renderChildren` | (`keys`) => `Node`[] | Recursively render child elements by key | [types.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L26) |
16
+ | <a id="property-send"></a> `send` | (`event`) => `void` | Send an event to the actor | [types.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L20) |
17
+ | <a id="property-spec"></a> `spec` | `Spec` | Full spec tree | [types.ts:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L16) |
18
+ | <a id="property-store"></a> `store` | `StateStore` | State store bound to spec.state | [types.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L18) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: PlayDomOptions
4
4
 
5
- Defined in: [types.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L46)
5
+ Defined in: [types.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L46)
6
6
 
7
7
  Options for PlayRenderer.
8
8
 
@@ -10,5 +10,5 @@ Options for PlayRenderer.
10
10
 
11
11
  | Property | Type | Description | Defined in |
12
12
  | ---------------------------------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
13
- | <a id="property-actions"></a> `actions?` | `Record`\<`string`, `string`\> | Map of json-render actionName → XState event type | [types.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L48) |
14
- | <a id="property-store"></a> `store?` | `StateStore` | Optional external StateStore (e.g. from `xstateStoreStateStore` in @json-render/xstate). When provided, PlayRenderer operates in controlled mode — spec.state is ignored and this store is the single source of truth for UI state (form values, etc.). When omitted, a fresh @xstate/store atom is created internally per view transition, seeded from spec.state. | [types.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L57) |
13
+ | <a id="property-actions"></a> `actions?` | `Record`\<`string`, `string`\> | Map of json-render actionName → XState event type | [types.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L48) |
14
+ | <a id="property-store"></a> `store?` | `StateStore` | Optional external StateStore (e.g. from `xstateStoreStateStore` in @json-render/xstate). When provided, PlayRenderer operates in controlled mode — spec.state is ignored and this store is the single source of truth for UI state (form values, etc.). When omitted, a fresh @xstate/store atom is created internally per view transition, seeded from spec.state. | [types.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L57) |
@@ -6,7 +6,7 @@
6
6
  type DomComponentRenderer = (element, ctx) => HTMLElement | Text | null;
7
7
  ```
8
8
 
9
- Defined in: [types.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L33)
9
+ Defined in: [types.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L33)
10
10
 
11
11
  Pure DOM component renderer — receives a UIElement + context and returns a DOM node.
12
12
  No framework required. Return null for unknown/unsupported elements.
@@ -6,6 +6,6 @@
6
6
  type DomRegistry = Record<string, DomComponentRenderer>;
7
7
  ```
8
8
 
9
- Defined in: [types.ts:41](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-dom/src/types.ts#L41)
9
+ Defined in: [types.ts:41](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-dom/src/types.ts#L41)
10
10
 
11
11
  Registry of component renderers keyed by element type.
@@ -29,6 +29,10 @@ npm install @json-render/react @json-render/core # peer deps
29
29
  npm install @json-render/xstate @xstate/store # store integration
30
30
  ```
31
31
 
32
+ In this monorepo, the root install applies a `patch-package` patch to `@json-render/react`
33
+ so `defineRegistry(..., { onRenderError })` can intercept inner element-boundary errors
34
+ without muting console output.
35
+
32
36
  ## Current Exports
33
37
 
34
38
  - `PlayRenderer` — main renderer component
@@ -189,6 +193,9 @@ Main component. Subscribes to `actor.currentView` and renders the spec.
189
193
 
190
194
  **`registry`** — Built with `defineRegistry(catalog, { components, actions })` from `@xmachines/play-react`.
191
195
 
196
+ `defineRegistry` also accepts `onRenderError(error, elementType)`, which receives errors
197
+ caught by `@json-render/react`'s inner element boundary before the default logger is used.
198
+
192
199
  **`actions`** — Maps json-render action names (from spec `on` bindings) to XState event type strings. Values are type-checked against `EventFromLogic<TLogic>["type"]` when `TLogic` is specified:
193
200
 
194
201
  ```tsx
@@ -215,6 +222,19 @@ const store: StateStore = xstateStoreStateStore({ atom: createAtom({ username: "
215
222
  <PlayRenderer actor={actor} registry={registry} store={store} actions={{ login: "auth.login" }} />;
216
223
  ```
217
224
 
225
+ **Inner render errors** — You can intercept catalog component render failures without
226
+ overriding the outer `PlayErrorBoundary`:
227
+
228
+ ```tsx
229
+ const { registry } = defineRegistry(catalog, {
230
+ components: { Login, Dashboard },
231
+ actions: { login: async () => {}, logout: async () => {} },
232
+ onRenderError(error, elementType) {
233
+ reportExpectedRenderError(error, elementType);
234
+ },
235
+ });
236
+ ```
237
+
218
238
  **`fallback`** — Shown when `actor.currentView.get()` is `null` (machine in a no-view state, or during initialisation).
219
239
 
220
240
  ---
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Class: PlayErrorBoundary
4
4
 
5
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-react/src/PlayErrorBoundary.tsx#L53)
5
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-react/src/PlayErrorBoundary.tsx#L53)
6
6
 
7
7
  React class component error boundary for catching catalog component render errors.
8
8
 
@@ -36,7 +36,7 @@ Per CONS-14: Class component pattern works with all React versions (18 and 19).
36
36
  new PlayErrorBoundary(props): PlayErrorBoundary;
37
37
  ```
38
38
 
39
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-react/src/PlayErrorBoundary.tsx#L57)
39
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-react/src/PlayErrorBoundary.tsx#L57)
40
40
 
41
41
  #### Parameters
42
42
 
@@ -75,7 +75,7 @@ React.Component<
75
75
  componentDidCatch(error, info): void;
76
76
  ```
77
77
 
78
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-react/src/PlayErrorBoundary.tsx#L66)
78
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:66](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-react/src/PlayErrorBoundary.tsx#L66)
79
79
 
80
80
  Catches exceptions generated in descendant components. Unhandled exceptions will cause
81
81
  the entire component tree to unmount.
@@ -359,7 +359,7 @@ React.Component.getSnapshotBeforeUpdate;
359
359
  render(): ReactNode;
360
360
  ```
361
361
 
362
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-react/src/PlayErrorBoundary.tsx#L70)
362
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-react/src/PlayErrorBoundary.tsx#L70)
363
363
 
364
364
  #### Returns
365
365
 
@@ -578,7 +578,7 @@ React.Component.UNSAFE_componentWillUpdate;
578
578
  static getDerivedStateFromError(error): PlayErrorBoundaryState;
579
579
  ```
580
580
 
581
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-react/src/PlayErrorBoundary.tsx#L62)
581
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:62](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-react/src/PlayErrorBoundary.tsx#L62)
582
582
 
583
583
  #### Parameters
584
584
 
@@ -6,7 +6,7 @@
6
6
  function useActor(): PlayActor;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/src/useActor.ts:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-react/src/useActor.ts#L30)
9
+ Defined in: [packages/play-react/src/useActor.ts:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-react/src/useActor.ts#L30)
10
10
 
11
11
  ## Returns
12
12
 
@@ -6,7 +6,7 @@
6
6
  function useSignalEffect(callback): void;
7
7
  ```
8
8
 
9
- Defined in: [packages/play-react/src/useSignalEffect.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-react/src/useSignalEffect.ts#L65)
9
+ Defined in: [packages/play-react/src/useSignalEffect.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-react/src/useSignalEffect.ts#L71)
10
10
 
11
11
  React hook that subscribes to signal changes and runs effect callback
12
12
 
@@ -66,3 +66,10 @@ update via state change.
66
66
  **Implementation note:** We wrap the callback in Signal.Computed because
67
67
  Signal.subtle.Watcher cannot automatically track arbitrary function calls.
68
68
  The Computed handles dependency tracking, and the Watcher monitors it.
69
+
70
+ **Memory safety (Phase 29):**
71
+
72
+ - `disposed` flag prevents post-cleanup callback execution: if cleanup is
73
+ called before a pending microtask fires, the microtask returns early.
74
+ - `needsEnqueue` guard dedups rapid synchronous signal changes: only one
75
+ microtask is ever queued per batch of synchronous mutations.
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: PlayErrorBoundaryProps
4
4
 
5
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-react/src/PlayErrorBoundary.tsx#L14)
5
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-react/src/PlayErrorBoundary.tsx#L14)
6
6
 
7
7
  Props for PlayErrorBoundary
8
8
 
@@ -10,6 +10,6 @@ Props for PlayErrorBoundary
10
10
 
11
11
  | Property | Type | Description | Defined in |
12
12
  | ------------------------------------------ | --------------------------- | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
13
- | <a id="property-children"></a> `children` | `ReactNode` | Child components to render | [packages/play-react/src/PlayErrorBoundary.tsx:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-react/src/PlayErrorBoundary.tsx#L18) |
14
- | <a id="property-fallback"></a> `fallback?` | `ReactNode` | Fallback UI to render when a child component throws. Defaults to null. | [packages/play-react/src/PlayErrorBoundary.tsx:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-react/src/PlayErrorBoundary.tsx#L16) |
15
- | <a id="property-onerror"></a> `onError?` | (`error`, `info`) => `void` | Optional error handler callback — forwards errors to observability tools (Sentry, etc.) | [packages/play-react/src/PlayErrorBoundary.tsx:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-react/src/PlayErrorBoundary.tsx#L20) |
13
+ | <a id="property-children"></a> `children` | `ReactNode` | Child components to render | [packages/play-react/src/PlayErrorBoundary.tsx:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-react/src/PlayErrorBoundary.tsx#L18) |
14
+ | <a id="property-fallback"></a> `fallback?` | `ReactNode` | Fallback UI to render when a child component throws. Defaults to null. | [packages/play-react/src/PlayErrorBoundary.tsx:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-react/src/PlayErrorBoundary.tsx#L16) |
15
+ | <a id="property-onerror"></a> `onError?` | (`error`, `info`) => `void` | Optional error handler callback — forwards errors to observability tools (Sentry, etc.) | [packages/play-react/src/PlayErrorBoundary.tsx:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-react/src/PlayErrorBoundary.tsx#L20) |
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Interface: PlayErrorBoundaryState
4
4
 
5
- Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-react/src/PlayErrorBoundary.tsx#L28)
5
+ Defined in: [packages/play-react/src/PlayErrorBoundary.tsx:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-react/src/PlayErrorBoundary.tsx#L28)
6
6
 
7
7
  Internal state shape for PlayErrorBoundary
8
8
 
@@ -10,5 +10,5 @@ Internal state shape for PlayErrorBoundary
10
10
 
11
11
  | Property | Type | Defined in |
12
12
  | ----------------------------------------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
13
- | <a id="property-error"></a> `error` | `Error` \| `null` | [packages/play-react/src/PlayErrorBoundary.tsx:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-react/src/PlayErrorBoundary.tsx#L30) |
14
- | <a id="property-haserror"></a> `hasError` | `boolean` | [packages/play-react/src/PlayErrorBoundary.tsx:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.21/packages/play-react/src/PlayErrorBoundary.tsx#L29) |
13
+ | <a id="property-error"></a> `error` | `Error` \| `null` | [packages/play-react/src/PlayErrorBoundary.tsx:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-react/src/PlayErrorBoundary.tsx#L30) |
14
+ | <a id="property-haserror"></a> `hasError` | `boolean` | [packages/play-react/src/PlayErrorBoundary.tsx:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.22/packages/play-react/src/PlayErrorBoundary.tsx#L29) |