@xmachines/docs 1.0.0-beta.23 → 1.0.0-beta.25

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 (206) hide show
  1. package/api/@xmachines/play/README.md +1 -1
  2. package/api/@xmachines/play/classes/PlayError.md +4 -4
  3. package/api/@xmachines/play/type-aliases/PlayEvent.md +3 -3
  4. package/api/@xmachines/play-actor/README.md +2 -2
  5. package/api/@xmachines/play-actor/classes/AbstractActor.md +4 -4
  6. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
  7. package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
  8. package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +3 -3
  9. package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
  10. package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
  11. package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
  12. package/api/@xmachines/play-dom/functions/renderSpec.md +1 -1
  13. package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +7 -7
  14. package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +7 -7
  15. package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +3 -3
  16. package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +1 -1
  17. package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +1 -1
  18. package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
  19. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  20. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  21. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
  22. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
  23. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
  24. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
  25. package/api/@xmachines/play-react/README.md +1 -1
  26. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
  27. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  28. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  29. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
  30. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
  31. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +7 -7
  32. package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
  33. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  34. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +21 -21
  35. package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
  36. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +1 -1
  37. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
  38. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +7 -7
  39. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  40. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
  41. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +4 -4
  42. package/api/@xmachines/play-router/README.md +1 -1
  43. package/api/@xmachines/play-router/classes/BaseRouteMap.md +6 -4
  44. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +21 -21
  45. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  46. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  47. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  48. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  49. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  50. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  51. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  52. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  53. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  54. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  55. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  56. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  57. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  58. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  59. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  60. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  61. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  62. package/api/@xmachines/play-router/interfaces/BaseRouteMapping.md +3 -3
  63. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
  64. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
  65. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
  66. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +7 -7
  67. package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
  68. package/api/@xmachines/play-router/interfaces/RouteMap.md +4 -4
  69. package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
  70. package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
  71. package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
  72. package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
  73. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +6 -6
  74. package/api/@xmachines/play-router/interfaces/RouterBridge.md +4 -4
  75. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  76. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  77. package/api/@xmachines/play-signals/README.md +2 -2
  78. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  79. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  80. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  81. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  82. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  83. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  84. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  85. package/api/@xmachines/play-solid/README.md +1 -1
  86. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  87. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +7 -7
  88. package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
  89. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  90. package/api/@xmachines/play-solid-router/README.md +1 -1
  91. package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
  92. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +22 -22
  93. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
  94. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
  95. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +4 -4
  96. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +7 -7
  97. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  98. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
  99. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +4 -4
  100. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  101. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
  102. package/api/@xmachines/play-svelte/README.md +91 -0
  103. package/api/@xmachines/play-svelte/functions/defineRegistry.md +52 -0
  104. package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +27 -0
  105. package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +27 -0
  106. package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +22 -0
  107. package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +16 -0
  108. package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +7 -0
  109. package/api/@xmachines/play-svelte/variables/PlayRenderer.md +7 -0
  110. package/api/@xmachines/play-svelte/variables/getBoundProp.md +7 -0
  111. package/api/@xmachines/play-svelte-spa-router/README.md +53 -0
  112. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +150 -0
  113. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +19 -0
  114. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +19 -0
  115. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +16 -0
  116. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +119 -0
  117. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +12 -0
  118. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +104 -0
  119. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +9 -0
  120. package/api/@xmachines/play-svelte-spa-router-demo/README.md +23 -0
  121. package/api/@xmachines/play-sveltekit-router/README.md +53 -0
  122. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +115 -0
  123. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +19 -0
  124. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +19 -0
  125. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +12 -0
  126. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +119 -0
  127. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +12 -0
  128. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +104 -0
  129. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +9 -0
  130. package/api/@xmachines/play-sveltekit-router-demo/README.md +23 -0
  131. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
  132. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +21 -21
  133. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
  134. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  135. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
  136. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  137. package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +1 -1
  138. package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +1 -1
  139. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +7 -7
  140. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  141. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
  142. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  143. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +4 -4
  144. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  145. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +4 -4
  146. package/api/@xmachines/play-tanstack-solid-router/README.md +1 -1
  147. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
  148. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +22 -22
  149. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
  150. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
  151. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +7 -7
  152. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  153. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
  154. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +4 -4
  155. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  156. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  157. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +4 -4
  158. package/api/@xmachines/play-vue/README.md +1 -1
  159. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  160. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  161. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +5 -5
  162. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  163. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  164. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  165. package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
  166. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  167. package/api/@xmachines/play-vue-router/README.md +1 -1
  168. package/api/@xmachines/play-vue-router/classes/RouteMap.md +7 -7
  169. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +7 -7
  170. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +22 -22
  171. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  172. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +7 -7
  173. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +4 -4
  174. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +4 -4
  175. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  176. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  177. package/api/@xmachines/play-xstate/README.md +1 -1
  178. package/api/@xmachines/play-xstate/classes/PlayerActor.md +12 -12
  179. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
  180. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  181. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  182. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  183. package/api/@xmachines/play-xstate/functions/definePlayer.md +2 -2
  184. package/api/@xmachines/play-xstate/functions/deriveRoute.md +2 -2
  185. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  186. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
  187. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  188. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  189. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  190. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  191. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  192. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
  193. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
  194. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  195. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  196. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  197. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  198. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  199. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  200. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +2 -2
  201. package/api/@xmachines/shared/functions/xmAliases.md +1 -1
  202. package/api/README.md +5 -0
  203. package/api/llms.txt +3 -0
  204. package/examples/multi-router-integration.md +34 -6
  205. package/package.json +2 -2
  206. package/api/rfc/play.md +0 -447
@@ -0,0 +1,22 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte](../README.md) / PlayRendererProps
2
+
3
+ # Interface: PlayRendererProps\<TLogic\>
4
+
5
+ Defined in: [packages/play-svelte/src/types.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte/src/types.ts#L13)
6
+
7
+ ## Type Parameters
8
+
9
+ | Type Parameter | Default type |
10
+ | ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
11
+ | `TLogic` _extends_ [`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic) | [`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic) |
12
+
13
+ ## Properties
14
+
15
+ | Property | Type | Description | Defined in |
16
+ | ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
17
+ | <a id="property-actions"></a> `actions?` | `object` | - | [packages/play-svelte/src/types.ts:17](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte/src/types.ts#L17) |
18
+ | <a id="property-actor"></a> `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<`TLogic`, [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Viewable`](../../play-actor/interfaces/Viewable.md) | - | [packages/play-svelte/src/types.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte/src/types.ts#L14) |
19
+ | <a id="property-fallback"></a> `fallback?` | `Snippet`\<\[\]\> | Svelte snippet rendered when currentView is null (no active view). Also shown when a catalog component throws during render. | [packages/play-svelte/src/types.ts:22](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte/src/types.ts#L22) |
20
+ | <a id="property-onerror"></a> `onError?` | (`error`) => `void` | Called when a catalog component throws during render. | [packages/play-svelte/src/types.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte/src/types.ts#L26) |
21
+ | <a id="property-registry"></a> `registry` | `ComponentRegistry` | - | [packages/play-svelte/src/types.ts:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte/src/types.ts#L15) |
22
+ | <a id="property-store"></a> `store?` | `StateStore` | - | [packages/play-svelte/src/types.ts:16](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte/src/types.ts#L16) |
@@ -0,0 +1,16 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte](../README.md) / ComponentFn
2
+
3
+ # Type Alias: ComponentFn\<C, K\>
4
+
5
+ ```ts
6
+ type ComponentFn<C, K> = Component<BaseComponentProps<InferComponentProps<C, K>>>;
7
+ ```
8
+
9
+ Component render function type for Svelte
10
+
11
+ ## Type Parameters
12
+
13
+ | Type Parameter |
14
+ | --------------------------------------------------- |
15
+ | `C` _extends_ `Catalog` |
16
+ | `K` _extends_ keyof `InferCatalogComponents`\<`C`\> |
@@ -0,0 +1,7 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte](../README.md) / PlayRenderer
2
+
3
+ # Type Alias: PlayRenderer
4
+
5
+ ```ts
6
+ type PlayRenderer = SvelteComponent;
7
+ ```
@@ -0,0 +1,7 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte](../README.md) / PlayRenderer
2
+
3
+ # Variable: PlayRenderer
4
+
5
+ ```ts
6
+ const PlayRenderer: LegacyComponentType;
7
+ ```
@@ -0,0 +1,7 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte](../README.md) / getBoundProp
2
+
3
+ # Variable: getBoundProp
4
+
5
+ ```ts
6
+ getBoundProp: any;
7
+ ```
@@ -0,0 +1,53 @@
1
+ [Documentation](../../README.md) / @xmachines/play-svelte-spa-router
2
+
3
+ # @xmachines/play-svelte-spa-router
4
+
5
+ Svelte SPA adapter for XMachines Play.
6
+
7
+ This package keeps a Play actor's route state aligned with `svelte-spa-router` hash navigation. It is a direct adapter, not a shared router-core layer.
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ npm install @xmachines/play-svelte-spa-router svelte svelte-spa-router
13
+ ```
14
+
15
+ ## Quick start
16
+
17
+ ```ts
18
+ import { connectRouter, createRouteMap } from "@xmachines/play-svelte-spa-router";
19
+
20
+ const routeMap = createRouteMap(machine);
21
+ const disconnect = connectRouter({ actor, routeMap });
22
+ ```
23
+
24
+ ## API
25
+
26
+ - `createRouteMap(machine)` builds the adapter's `RouteMap` from Play route metadata.
27
+ - `connectRouter({ actor, routeMap })` syncs hash navigation with `actor.currentRoute`.
28
+
29
+ ## Notes
30
+
31
+ - Hash changes are handled locally in this package.
32
+ - The adapter uses the shared Play router helpers for route resolution and event formatting.
33
+ - Actor routes may be either state IDs or resolved paths; the adapter normalizes both before pushing hash navigation.
34
+
35
+ ## Classes
36
+
37
+ - [RouteMap](classes/RouteMap.md)
38
+
39
+ ## Interfaces
40
+
41
+ - [ConnectRouterOptions](interfaces/ConnectRouterOptions.md)
42
+ - [PlayRouteEvent](interfaces/PlayRouteEvent.md)
43
+ - [RouteMapping](interfaces/RouteMapping.md)
44
+ - [RouterBridge](interfaces/RouterBridge.md)
45
+
46
+ ## Type Aliases
47
+
48
+ - [RoutableActor](type-aliases/RoutableActor.md)
49
+
50
+ ## Functions
51
+
52
+ - [connectRouter](functions/connectRouter.md)
53
+ - [createRouteMap](functions/createRouteMap.md)
@@ -0,0 +1,150 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / RouteMap
2
+
3
+ # Class: RouteMap
4
+
5
+ Defined in: [play-svelte-spa-router/src/route-map.ts:3](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/route-map.ts#L3)
6
+
7
+ Shared bidirectional route map base class.
8
+
9
+ All framework adapter `RouteMap` classes extend this — they add no logic of their
10
+ own and inherit the full public API from here.
11
+
12
+ **Lookup strategy:**
13
+
14
+ - Static paths (no `:param`) → O(1) `Map` lookup
15
+ - Dynamic paths → O(k) bucket-indexed scan using `URLPattern`, where `k` is the number
16
+ of routes sharing the same first path segment
17
+ - Results are cached after the first match
18
+
19
+ **Pattern syntax** (`:param` / `:param?`):
20
+
21
+ - `:param` — required segment, matches exactly one non-`/` segment
22
+ - `:param?` — optional segment, matches zero or one non-`/` segment
23
+
24
+ ## Example
25
+
26
+ ```typescript
27
+ import { BaseRouteMap } from "@xmachines/play-router";
28
+
29
+ const map = new BaseRouteMap([
30
+ { stateId: "home", path: "/" },
31
+ { stateId: "profile", path: "/profile/:userId" },
32
+ { stateId: "settings", path: "/settings/:section?" },
33
+ ]);
34
+
35
+ map.getStateIdByPath("/"); // "home"
36
+ map.getStateIdByPath("/profile/123"); // "profile"
37
+ map.getStateIdByPath("/settings"); // "settings"
38
+ map.getStateIdByPath("/unknown"); // null
39
+
40
+ map.getPathByStateId("profile"); // "/profile/:userId"
41
+ map.getPathByStateId("missing"); // null
42
+ ```
43
+
44
+ ## Extends
45
+
46
+ - [`BaseRouteMap`](../../play-router/classes/BaseRouteMap.md)
47
+
48
+ ## Constructors
49
+
50
+ ### Constructor
51
+
52
+ ```ts
53
+ new RouteMap(mappings): RouteMap;
54
+ ```
55
+
56
+ Defined in: play-router/dist/base-route-map.d.ts:82
57
+
58
+ Build a route map from an array of state ID ↔ path mappings.
59
+
60
+ Static paths (no `:param`) are indexed in an O(1) `Map`.
61
+ Parameterized paths are compiled to `URLPattern` and grouped into first-segment
62
+ buckets for efficient candidate selection.
63
+
64
+ #### Parameters
65
+
66
+ | Parameter | Type | Description |
67
+ | ---------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------- |
68
+ | `mappings` | [`BaseRouteMapping`](../../play-router/interfaces/BaseRouteMapping.md)[] | Array of `{ stateId, path }` entries. Order determines priority when multiple patterns could match the same path. |
69
+
70
+ #### Returns
71
+
72
+ `RouteMap`
73
+
74
+ #### Inherited from
75
+
76
+ [`BaseRouteMap`](../../play-router/classes/BaseRouteMap.md).[`constructor`](../../play-router/classes/BaseRouteMap.md#constructor)
77
+
78
+ ## Methods
79
+
80
+ ### getPathByStateId()
81
+
82
+ ```ts
83
+ getPathByStateId(stateId): string | null;
84
+ ```
85
+
86
+ Defined in: play-router/dist/base-route-map.d.ts:112
87
+
88
+ Look up the path pattern registered for a state ID.
89
+
90
+ #### Parameters
91
+
92
+ | Parameter | Type | Description |
93
+ | --------- | -------- | --------------------------------------------------------- |
94
+ | `stateId` | `string` | State machine state ID (e.g., `"profile"`, `"#settings"`) |
95
+
96
+ #### Returns
97
+
98
+ `string` \| `null`
99
+
100
+ The registered path pattern, or `null` if the state ID is unknown
101
+
102
+ #### Example
103
+
104
+ ```typescript
105
+ map.getPathByStateId("profile"); // "/profile/:userId"
106
+ map.getPathByStateId("missing"); // null
107
+ ```
108
+
109
+ #### Inherited from
110
+
111
+ [`BaseRouteMap`](../../play-router/classes/BaseRouteMap.md).[`getPathByStateId`](../../play-router/classes/BaseRouteMap.md#getpathbystateid)
112
+
113
+ ---
114
+
115
+ ### getStateIdByPath()
116
+
117
+ ```ts
118
+ getStateIdByPath(path): string | null;
119
+ ```
120
+
121
+ Defined in: play-router/dist/base-route-map.d.ts:99
122
+
123
+ Resolve a URL path to its mapped state ID.
124
+
125
+ Strips query strings and hash fragments before matching. Tries an O(1) exact
126
+ lookup first, then falls back to bucket-indexed pattern matching. Results are
127
+ cached after the first pattern match.
128
+
129
+ #### Parameters
130
+
131
+ | Parameter | Type | Description |
132
+ | --------- | -------- | ------------------------------------------------------------------------------ |
133
+ | `path` | `string` | URL pathname, optionally including query/hash (e.g., `"/profile/123?ref=nav"`) |
134
+
135
+ #### Returns
136
+
137
+ `string` \| `null`
138
+
139
+ The mapped state ID, or `null` if no route matches
140
+
141
+ #### Example
142
+
143
+ ```typescript
144
+ map.getStateIdByPath("/profile/123"); // "profile"
145
+ map.getStateIdByPath("/unknown"); // null
146
+ ```
147
+
148
+ #### Inherited from
149
+
150
+ [`BaseRouteMap`](../../play-router/classes/BaseRouteMap.md).[`getStateIdByPath`](../../play-router/classes/BaseRouteMap.md#getstateidbypath)
@@ -0,0 +1,19 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / connectRouter
2
+
3
+ # Function: connectRouter()
4
+
5
+ ```ts
6
+ function connectRouter(options): () => void;
7
+ ```
8
+
9
+ Defined in: [play-svelte-spa-router/src/connect-router.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/connect-router.ts#L46)
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Type |
14
+ | --------- | --------------------------------------------------------------- |
15
+ | `options` | [`ConnectRouterOptions`](../interfaces/ConnectRouterOptions.md) |
16
+
17
+ ## Returns
18
+
19
+ () => `void`
@@ -0,0 +1,19 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / createRouteMap
2
+
3
+ # Function: createRouteMap()
4
+
5
+ ```ts
6
+ function createRouteMap(machine): RouteMap;
7
+ ```
8
+
9
+ Defined in: [play-svelte-spa-router/src/create-route-map.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/create-route-map.ts#L5)
10
+
11
+ ## Parameters
12
+
13
+ | Parameter | Type |
14
+ | --------- | ------------------------------------------------------------------------- |
15
+ | `machine` | [`AnyStateMachine`](https://www.jsdocs.io/package/xstate#AnyStateMachine) |
16
+
17
+ ## Returns
18
+
19
+ [`RouteMap`](../classes/RouteMap.md)
@@ -0,0 +1,16 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / ConnectRouterOptions
2
+
3
+ # Interface: ConnectRouterOptions
4
+
5
+ Defined in: [play-svelte-spa-router/src/connect-router.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/connect-router.ts#L12)
6
+
7
+ @xmachines/play-svelte-spa-router
8
+
9
+ Svelte SPA router adapter for XMachines Play architecture.
10
+
11
+ ## Properties
12
+
13
+ | Property | Modifier | Type | Defined in |
14
+ | ----------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
15
+ | <a id="property-actor"></a> `actor` | `readonly` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Routable`](../../play-actor/interfaces/Routable.md) | [play-svelte-spa-router/src/connect-router.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/connect-router.ts#L13) |
16
+ | <a id="property-routemap"></a> `routeMap` | `readonly` | [`RouteMap`](../classes/RouteMap.md) | [play-svelte-spa-router/src/connect-router.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/connect-router.ts#L14) |
@@ -0,0 +1,119 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / PlayRouteEvent
2
+
3
+ # Interface: PlayRouteEvent
4
+
5
+ Defined in: play-router/dist/types.d.ts:207
6
+
7
+ Enhanced routing event with parameter and query support
8
+
9
+ Unified routing event used throughout the Play architecture. Supports parameter-aware
10
+ navigation patterns (e.g., `/profile/:userId`) for dynamic route segments.
11
+
12
+ **Architectural Context:** Implements **Passive Infrastructure (INV-04)** by representing
13
+ user navigation intent that the Actor evaluates through guards. Infrastructure proposes
14
+ via `play.route` events, Actor decides via state machine transitions.
15
+
16
+ **Browser Navigation Flow:**
17
+
18
+ 1. Browser fires `popstate`
19
+ 2. Router adapter resolves URL to route target
20
+ 3. Adapter sends `PlayRouteEvent` to Actor
21
+ 4. Actor validates transition via state machine guards
22
+
23
+ ## Param
24
+
25
+ Event discriminator (always "play.route")
26
+
27
+ ## Param
28
+
29
+ Target state ID with # prefix (e.g., '#home', '#profile')
30
+
31
+ ## Param
32
+
33
+ Merged path + query parameters (path parameters win conflicts)
34
+
35
+ ## Param
36
+
37
+ Query parameters only (isolated from path params)
38
+
39
+ ## Param
40
+
41
+ Full URLPattern match result for debugging/observability (optional)
42
+
43
+ ## Examples
44
+
45
+ Combining base and routing events
46
+
47
+ ```typescript
48
+ import type { PlayEvent } from "@xmachines/play";
49
+ import type { PlayRouteEvent } from "@xmachines/play-router";
50
+
51
+ type AppEvent = PlayEvent | PlayRouteEvent;
52
+ ```
53
+
54
+ Basic navigation to a route
55
+
56
+ ```typescript
57
+ import type { PlayRouteEvent } from "@xmachines/play-router";
58
+
59
+ const event: PlayRouteEvent = {
60
+ type: "play.route",
61
+ to: "#home",
62
+ };
63
+ actor.send(event);
64
+ ```
65
+
66
+ Navigation with route parameters
67
+
68
+ ```typescript
69
+ import type { PlayRouteEvent } from "@xmachines/play-router";
70
+
71
+ const event: PlayRouteEvent = {
72
+ type: "play.route",
73
+ to: "#profile",
74
+ params: { userId: "123" },
75
+ };
76
+ actor.send(event);
77
+ // Resolves to route: /profile/123
78
+ ```
79
+
80
+ Navigation with query parameters
81
+
82
+ ```typescript
83
+ import type { PlayRouteEvent } from "@xmachines/play-router";
84
+
85
+ const event: PlayRouteEvent = {
86
+ type: "play.route",
87
+ to: "#settings",
88
+ params: { section: "profile" }, // Merged: path + query
89
+ query: { tab: "security" }, // Query-only
90
+ };
91
+ actor.send(event);
92
+ // Resolves to route: /settings/profile?tab=security
93
+ ```
94
+
95
+ ## See
96
+
97
+ [Play RFC](../../../../rfc/play.md)
98
+
99
+ ## Remarks
100
+
101
+ Use `play.route` when you need parameter-aware navigation with the `route: {}`
102
+ config pattern on your state machine nodes. The `match` field exposes the full
103
+ URLPatternResult for advanced use cases (debugging, pattern analysis).
104
+
105
+ ## Indexable
106
+
107
+ ```ts
108
+ [key: string]: unknown
109
+ ```
110
+
111
+ ## Properties
112
+
113
+ | Property | Modifier | Type | Defined in |
114
+ | -------------------------------------- | ---------- | ------------------------------ | ------------------------------- |
115
+ | <a id="property-match"></a> `match?` | `readonly` | `unknown` | play-router/dist/types.d.ts:212 |
116
+ | <a id="property-params"></a> `params?` | `readonly` | `Record`\<`string`, `string`\> | play-router/dist/types.d.ts:210 |
117
+ | <a id="property-query"></a> `query?` | `readonly` | `Record`\<`string`, `string`\> | play-router/dist/types.d.ts:211 |
118
+ | <a id="property-to"></a> `to` | `readonly` | `string` | play-router/dist/types.d.ts:209 |
119
+ | <a id="property-type"></a> `type` | `readonly` | `"play.route"` | play-router/dist/types.d.ts:208 |
@@ -0,0 +1,12 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / RouteMapping
2
+
3
+ # Interface: RouteMapping
4
+
5
+ Defined in: [play-svelte-spa-router/src/types.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/types.ts#L6)
6
+
7
+ ## Properties
8
+
9
+ | Property | Modifier | Type | Defined in |
10
+ | --------------------------------------- | ---------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
11
+ | <a id="property-path"></a> `path` | `readonly` | `string` | [play-svelte-spa-router/src/types.ts:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/types.ts#L8) |
12
+ | <a id="property-stateid"></a> `stateId` | `readonly` | `string` | [play-svelte-spa-router/src/types.ts:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/types.ts#L7) |
@@ -0,0 +1,104 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / RouterBridge
2
+
3
+ # Interface: RouterBridge
4
+
5
+ Defined in: play-router/dist/types.d.ts:254
6
+
7
+ RouterBridge interface for runtime infrastructure adapters
8
+
9
+ Defines the lifecycle connection between Infrastructure (e.g., TanStack Router) and
10
+ the Actor. Infrastructure "bridges" to the Actor by observing its signals and
11
+ managing its own lifecycle accordingly.
12
+
13
+ **Architectural Context:** Implements **Passive Infrastructure (INV-04)** by establishing
14
+ a unidirectional observation pattern. Infrastructure connects to observe Actor signals
15
+ (currentRoute, currentView, state) and reflects changes without making state decisions.
16
+
17
+ ## Example
18
+
19
+ TanStack Router bridge implementation
20
+
21
+ ```typescript
22
+ import type { RouterBridge } from "@xmachines/play-router";
23
+ import { Signal } from "@xmachines/play-signals";
24
+
25
+ class TanStackRouterBridge implements RouterBridge {
26
+ private watcher: Signal.Watcher | null = null;
27
+
28
+ async connect(): Promise<void> {
29
+ // Start observing actor.currentRoute signal
30
+ this.watcher = new Signal.subtle.Watcher(() => {
31
+ const route = actor.currentRoute.get();
32
+ if (route) router.navigate(route);
33
+ });
34
+ this.watcher.watch(actor.currentRoute);
35
+ }
36
+
37
+ async disconnect(): Promise<void> {
38
+ // Stop observing, cleanup watchers
39
+ this.watcher?.unwatch(actor.currentRoute);
40
+ this.watcher = null;
41
+ }
42
+ }
43
+ ```
44
+
45
+ ## See
46
+
47
+ [Play RFC](../../../../rfc/play.md) - Invariant INV-04
48
+
49
+ ## Methods
50
+
51
+ ### connect()
52
+
53
+ ```ts
54
+ connect(): void | Promise<void>;
55
+ ```
56
+
57
+ Defined in: play-router/dist/types.d.ts:270
58
+
59
+ Connect the router bridge to the Actor
60
+
61
+ Called when Infrastructure should begin observing Actor signals and
62
+ synchronizing its state (e.g., browser URL) with Actor state.
63
+
64
+ #### Returns
65
+
66
+ `void` \| `Promise`\<`void`\>
67
+
68
+ Promise that resolves when connection is established, or void for synchronous connection
69
+
70
+ #### Example
71
+
72
+ ```typescript
73
+ const bridge: RouterBridge = createBridge(actor, router);
74
+ await bridge.connect();
75
+ // Bridge now observing actor.currentRoute signal
76
+ ```
77
+
78
+ ---
79
+
80
+ ### disconnect()
81
+
82
+ ```ts
83
+ disconnect(): void | Promise<void>;
84
+ ```
85
+
86
+ Defined in: play-router/dist/types.d.ts:285
87
+
88
+ Disconnect the router bridge from the Actor
89
+
90
+ Called when Infrastructure should stop observing and clean up resources
91
+ (e.g., signal watchers, event listeners).
92
+
93
+ #### Returns
94
+
95
+ `void` \| `Promise`\<`void`\>
96
+
97
+ Promise that resolves when disconnection is complete, or void for synchronous disconnection
98
+
99
+ #### Example
100
+
101
+ ```typescript
102
+ await bridge.disconnect();
103
+ // Bridge stopped observing, resources cleaned up
104
+ ```
@@ -0,0 +1,9 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / RoutableActor
2
+
3
+ # Type Alias: RoutableActor
4
+
5
+ ```ts
6
+ type RoutableActor = AbstractActor<AnyActorLogic> & Routable;
7
+ ```
8
+
9
+ Defined in: [play-svelte-spa-router/src/types.ts:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.25/packages/play-svelte-spa-router/src/types.ts#L11)
@@ -0,0 +1,23 @@
1
+ [Documentation](../../README.md) / @xmachines/play-svelte-spa-router-demo
2
+
3
+ # @xmachines/play-svelte-spa-router demo
4
+
5
+ Compact browser demo for the Svelte SPA router adapter.
6
+
7
+ ## Imports
8
+
9
+ - `@xmachines/play-svelte` for the Svelte renderer and registry helpers
10
+ - `@xmachines/play-svelte-spa-router` for hash-based URL ↔ actor sync
11
+
12
+ ## Commands
13
+
14
+ ```bash
15
+ npm run dev -w @xmachines/play-svelte-spa-router-demo
16
+ npm run build -w @xmachines/play-svelte-spa-router-demo
17
+ npm run test:browser -w @xmachines/play-svelte-spa-router-demo
18
+ ```
19
+
20
+ ## What it proves
21
+
22
+ - Clicking a navigation control updates the rendered view
23
+ - Browser back/forward restores the route and view
@@ -0,0 +1,53 @@
1
+ [Documentation](../../README.md) / @xmachines/play-sveltekit-router
2
+
3
+ # @xmachines/play-sveltekit-router
4
+
5
+ Thin SvelteKit adapter for XMachines Play.
6
+
7
+ ## What it does
8
+
9
+ - Keeps `actor.currentRoute` and SvelteKit navigation in sync.
10
+ - Exposes a local `RouteMap` plus `createRouteMap(machine)` helper.
11
+ - Stays direct, with no shared `@xmachines/play-svelte-router` abstraction.
12
+ - Extracts route params and query values when browser navigation enters through SvelteKit.
13
+
14
+ ## Usage
15
+
16
+ ```ts
17
+ import { connectRouter, createRouteMap } from "@xmachines/play-sveltekit-router";
18
+
19
+ const routeMap = createRouteMap(machine);
20
+ const disconnect = connectRouter({ actor, routeMap });
21
+
22
+ onDestroy(disconnect);
23
+ ```
24
+
25
+ ## Notes
26
+
27
+ - `connectRouter()` returns a cleanup function. Call it during teardown to stop syncing actor updates.
28
+ - Actor routes may be either state IDs or resolved paths; the adapter normalizes both.
29
+ - Incoming SvelteKit paths are converted into `play.route` events with extracted `params` and `query`.
30
+
31
+ ## Route map
32
+
33
+ `createRouteMap(machine)` reads route metadata from the machine and builds a Play route map for SvelteKit paths.
34
+
35
+ ## Classes
36
+
37
+ - [RouteMap](classes/RouteMap.md)
38
+
39
+ ## Interfaces
40
+
41
+ - [ConnectRouterOptions](interfaces/ConnectRouterOptions.md)
42
+ - [PlayRouteEvent](interfaces/PlayRouteEvent.md)
43
+ - [RouteMapping](interfaces/RouteMapping.md)
44
+ - [RouterBridge](interfaces/RouterBridge.md)
45
+
46
+ ## Type Aliases
47
+
48
+ - [RoutableActor](type-aliases/RoutableActor.md)
49
+
50
+ ## Functions
51
+
52
+ - [connectRouter](functions/connectRouter.md)
53
+ - [createRouteMap](functions/createRouteMap.md)