@xmachines/docs 1.0.0-beta.24 → 1.0.0-beta.26

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 (250) hide show
  1. package/api/@xmachines/play/classes/PlayError.md +10 -4
  2. package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
  3. package/api/@xmachines/play-actor/README.md +4 -0
  4. package/api/@xmachines/play-actor/classes/AbstractActor.md +49 -92
  5. package/api/@xmachines/play-actor/functions/typedSpec.md +57 -0
  6. package/api/@xmachines/play-actor/interfaces/PlaySpec.md +9 -18
  7. package/api/@xmachines/play-actor/interfaces/Routable.md +5 -21
  8. package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +6 -6
  9. package/api/@xmachines/play-actor/interfaces/Viewable.md +5 -6
  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/README.md +10 -0
  19. package/api/@xmachines/play-dom-router/functions/connectRouter.md +18 -46
  20. package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
  21. package/api/@xmachines/play-dom-router/functions/createRouteMap.md +38 -0
  22. package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
  23. package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +16 -16
  24. package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
  25. package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +6 -6
  26. package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +119 -0
  27. package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +114 -0
  28. package/api/@xmachines/play-dom-router/interfaces/RouteMapLike.md +50 -0
  29. package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +27 -0
  30. package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +104 -0
  31. package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
  32. package/api/@xmachines/play-dom-router/type-aliases/RoutableActor.md +9 -0
  33. package/api/@xmachines/play-react/README.md +4 -4
  34. package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +31 -5
  35. package/api/@xmachines/play-react/functions/defineRegistry.md +2 -0
  36. package/api/@xmachines/play-react/functions/useActor.md +1 -1
  37. package/api/@xmachines/play-react/functions/useBoundProp.md +2 -0
  38. package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
  39. package/api/@xmachines/play-react/functions/useStateBinding.md +2 -0
  40. package/api/@xmachines/play-react/interfaces/ComponentContext.md +2 -0
  41. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
  42. package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
  43. package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +7 -7
  44. package/api/@xmachines/play-react/type-aliases/ComponentFn.md +2 -0
  45. package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
  46. package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
  47. package/api/@xmachines/play-react-router/README.md +5 -1
  48. package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +102 -25
  49. package/api/@xmachines/play-react-router/classes/RouteMap.md +17 -33
  50. package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +8 -1
  51. package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +21 -11
  52. package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +8 -8
  53. package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +7 -7
  54. package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +18 -8
  55. package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
  56. package/api/@xmachines/play-router/README.md +42 -5
  57. package/api/@xmachines/play-router/classes/BaseRouteMap.md +12 -17
  58. package/api/@xmachines/play-router/classes/RouterBridgeBase.md +100 -25
  59. package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
  60. package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
  61. package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
  62. package/api/@xmachines/play-router/functions/createRouteMapFromMachine.md +38 -0
  63. package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +45 -0
  64. package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
  65. package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
  66. package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
  67. package/api/@xmachines/play-router/functions/extractRouteParams.md +46 -0
  68. package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
  69. package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
  70. package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
  71. package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
  72. package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
  73. package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
  74. package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
  75. package/api/@xmachines/play-router/functions/routeExists.md +1 -1
  76. package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
  77. package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
  78. package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
  79. package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
  80. package/api/@xmachines/play-router/interfaces/LocationLike.md +27 -0
  81. package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
  82. package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
  83. package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +8 -8
  84. package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
  85. package/api/@xmachines/play-router/interfaces/RouteMap.md +4 -4
  86. package/api/@xmachines/play-router/interfaces/{BaseRouteMapping.md → RouteMapping.md} +5 -5
  87. package/api/@xmachines/play-router/interfaces/RouteMatch.md +5 -5
  88. package/api/@xmachines/play-router/interfaces/RouteNode.md +12 -12
  89. package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
  90. package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
  91. package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +6 -6
  92. package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
  93. package/api/@xmachines/play-router/interfaces/WindowLike.md +65 -0
  94. package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
  95. package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
  96. package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
  97. package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
  98. package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
  99. package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
  100. package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
  101. package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
  102. package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +6 -0
  103. package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +8 -0
  104. package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +2 -0
  105. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +10 -0
  106. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +2 -0
  107. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +2 -0
  108. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +2 -0
  109. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +2 -0
  110. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +2 -0
  111. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +2 -0
  112. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +2 -0
  113. package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +2 -0
  114. package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +2 -0
  115. package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +2 -0
  116. package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +2 -0
  117. package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
  118. package/api/@xmachines/play-solid/README.md +4 -4
  119. package/api/@xmachines/play-solid/functions/defineRegistry.md +2 -0
  120. package/api/@xmachines/play-solid/functions/useActor.md +1 -1
  121. package/api/@xmachines/play-solid/functions/useStateBinding.md +2 -0
  122. package/api/@xmachines/play-solid/interfaces/ComponentContext.md +2 -0
  123. package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +7 -7
  124. package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +2 -0
  125. package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
  126. package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
  127. package/api/@xmachines/play-solid-router/README.md +2 -2
  128. package/api/@xmachines/play-solid-router/classes/RouteMap.md +13 -26
  129. package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +121 -46
  130. package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
  131. package/api/@xmachines/play-solid-router/functions/createRouteMap.md +15 -9
  132. package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +47 -92
  133. package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +8 -8
  134. package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  135. package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +19 -6
  136. package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
  137. package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
  138. package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +21 -18
  139. package/api/@xmachines/play-svelte/README.md +119 -0
  140. package/api/@xmachines/play-svelte/functions/defineRegistry.md +54 -0
  141. package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +29 -0
  142. package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +29 -0
  143. package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +22 -0
  144. package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +18 -0
  145. package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +9 -0
  146. package/api/@xmachines/play-svelte/variables/PlayRenderer.md +9 -0
  147. package/api/@xmachines/play-svelte/variables/getBoundProp.md +7 -0
  148. package/api/@xmachines/play-svelte-spa-router/README.md +54 -0
  149. package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +137 -0
  150. package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +32 -0
  151. package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +38 -0
  152. package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +17 -0
  153. package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +119 -0
  154. package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +27 -0
  155. package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +104 -0
  156. package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +65 -0
  157. package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +9 -0
  158. package/api/@xmachines/play-svelte-spa-router-demo/README.md +23 -0
  159. package/api/@xmachines/play-sveltekit-router/README.md +54 -0
  160. package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +137 -0
  161. package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +32 -0
  162. package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +38 -0
  163. package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +13 -0
  164. package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +27 -0
  165. package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +119 -0
  166. package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +27 -0
  167. package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +104 -0
  168. package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +9 -0
  169. package/api/@xmachines/play-sveltekit-router-demo/README.md +23 -0
  170. package/api/@xmachines/play-tanstack-react-router/README.md +5 -3
  171. package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +17 -33
  172. package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +93 -25
  173. package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
  174. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
  175. package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +21 -11
  176. package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
  177. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +8 -8
  178. package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
  179. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +18 -8
  180. package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
  181. package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
  182. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
  183. package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +6 -26
  184. package/api/@xmachines/play-tanstack-solid-router/README.md +8 -8
  185. package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +13 -26
  186. package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +101 -36
  187. package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
  188. package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +15 -9
  189. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +8 -8
  190. package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
  191. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +13 -9
  192. package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
  193. package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
  194. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
  195. package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +23 -24
  196. package/api/@xmachines/play-vue/README.md +4 -4
  197. package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
  198. package/api/@xmachines/play-vue/functions/useActor.md +1 -1
  199. package/api/@xmachines/play-vue/functions/useStateBinding.md +2 -0
  200. package/api/@xmachines/play-vue/interfaces/ComponentContext.md +2 -0
  201. package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +5 -5
  202. package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
  203. package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +2 -0
  204. package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
  205. package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
  206. package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
  207. package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
  208. package/api/@xmachines/play-vue-router/README.md +2 -2
  209. package/api/@xmachines/play-vue-router/classes/RouteMap.md +18 -108
  210. package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +44 -104
  211. package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +127 -62
  212. package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
  213. package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +8 -8
  214. package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +19 -7
  215. package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
  216. package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
  217. package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
  218. package/api/@xmachines/play-xstate/README.md +15 -15
  219. package/api/@xmachines/play-xstate/classes/PlayerActor.md +46 -30
  220. package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +20 -15
  221. package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
  222. package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
  223. package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
  224. package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
  225. package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
  226. package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
  227. package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +2 -2
  228. package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
  229. package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
  230. package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
  231. package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
  232. package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
  233. package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
  234. package/api/@xmachines/play-xstate/interfaces/RouteContext.md +14 -12
  235. package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
  236. package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
  237. package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
  238. package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
  239. package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
  240. package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
  241. package/api/@xmachines/shared/functions/defineXmVitestConfig.md +2 -2
  242. package/api/@xmachines/shared/functions/xmAliases.md +1 -1
  243. package/api/README.md +9 -4
  244. package/api/llms.txt +6 -3
  245. package/examples/README.md +5 -0
  246. package/examples/multi-router-integration.md +34 -6
  247. package/examples/routing-patterns.md +6 -4
  248. package/package.json +2 -2
  249. package/api/@xmachines/play-tanstack-react-router/functions/extractParams.md +0 -38
  250. package/api/@xmachines/play-tanstack-react-router/functions/extractQueryParams.md +0 -33
@@ -0,0 +1,54 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte](../README.md) / defineRegistry
2
+
3
+ # Function: defineRegistry()
4
+
5
+ ```ts
6
+ function defineRegistry<C, TComponents>(_catalog, options): DefineRegistryResult;
7
+ ```
8
+
9
+ Defined in: `@json-render/svelte`
10
+
11
+ Create a registry from a catalog with Svelte components and/or actions.
12
+
13
+ Components must accept `BaseComponentProps` as their props interface.
14
+
15
+ ## Type Parameters
16
+
17
+ | Type Parameter |
18
+ | -------------------------------------------------------------------------------------------------------------------------------------------------- |
19
+ | `C` _extends_ `Catalog`\<`SchemaDefinition`\<`SchemaType`\<`string`, `unknown`\>, `SchemaType`\<`string`, `unknown`\>\>, `unknown`\> |
20
+ | `TComponents` _extends_ `Record`\<`string`, `Component`\<[`BaseComponentProps`](../interfaces/BaseComponentProps.md)\<`any`\>, \{ \}, `string`\>\> |
21
+
22
+ ## Parameters
23
+
24
+ | Parameter | Type | Description |
25
+ | --------------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------------ |
26
+ | `_catalog` | `C` | - |
27
+ | `options` | \{ `actions?`: `Record`\<`string`, `DefineRegistryActionFn`\>; `components?`: `TComponents`; \} | - |
28
+ | `options.actions?` | `Record`\<`string`, `DefineRegistryActionFn`\> | Action handlers |
29
+ | `options.components?` | `TComponents` | Svelte components that accept BaseComponentProps |
30
+
31
+ ## Returns
32
+
33
+ `DefineRegistryResult`
34
+
35
+ ## Example
36
+
37
+ ```ts
38
+ import { defineRegistry } from "@json-render/svelte";
39
+ import Card from "./components/Card.svelte";
40
+ import Button from "./components/Button.svelte";
41
+ import { myCatalog } from "./catalog";
42
+
43
+ const { registry, handlers } = defineRegistry(myCatalog, {
44
+ components: {
45
+ Card,
46
+ Button,
47
+ },
48
+ actions: {
49
+ submit: async (params, setState) => {
50
+ // handle action
51
+ },
52
+ },
53
+ });
54
+ ```
@@ -0,0 +1,29 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte](../README.md) / BaseComponentProps
2
+
3
+ # Interface: BaseComponentProps\<P\>
4
+
5
+ Defined in: `@json-render/svelte`
6
+
7
+ Catalog-agnostic base type for component render function arguments.
8
+ Use this when building reusable component libraries.
9
+
10
+ ## Extended by
11
+
12
+ - [`ComponentContext`](ComponentContext.md)
13
+
14
+ ## Type Parameters
15
+
16
+ | Type Parameter | Default type |
17
+ | -------------- | ------------------------------- |
18
+ | `P` | `Record`\<`string`, `unknown`\> |
19
+
20
+ ## Properties
21
+
22
+ | Property | Type | Description | Defined in |
23
+ | ------------------------------------------ | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- | ---------- |
24
+ | <a id="property-bindings"></a> `bindings?` | `Record`\<`string`, `string`\> | Two-way binding paths resolved from `$bindState` / `$bindItem` expressions. Maps prop name → absolute state path for write-back. | - |
25
+ | <a id="property-children"></a> `children?` | `Snippet`\<\[\]\> | - | - |
26
+ | <a id="property-emit"></a> `emit` | (`event`) => `void` | Simple event emitter (shorthand). Fires the event and returns void. | - |
27
+ | <a id="property-loading"></a> `loading?` | `boolean` | - | - |
28
+ | <a id="property-on"></a> `on` | (`event`) => `EventHandle` | Get an event handle with metadata. Use when you need shouldPreventDefault or bound checks. | - |
29
+ | <a id="property-props"></a> `props` | `P` | - | - |
@@ -0,0 +1,29 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte](../README.md) / ComponentContext
2
+
3
+ # Interface: ComponentContext\<C, K\>
4
+
5
+ Defined in: `@json-render/svelte`
6
+
7
+ Context passed to component render functions
8
+
9
+ ## Extends
10
+
11
+ - [`BaseComponentProps`](BaseComponentProps.md)\<`InferComponentProps`\<`C`, `K`\>\>
12
+
13
+ ## Type Parameters
14
+
15
+ | Type Parameter |
16
+ | --------------------------------------------------- |
17
+ | `C` _extends_ `Catalog` |
18
+ | `K` _extends_ keyof `InferCatalogComponents`\<`C`\> |
19
+
20
+ ## Properties
21
+
22
+ | Property | Type | Description | Inherited from | Defined in |
23
+ | ------------------------------------------ | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | ---------- |
24
+ | <a id="property-bindings"></a> `bindings?` | `Record`\<`string`, `string`\> | Two-way binding paths resolved from `$bindState` / `$bindItem` expressions. Maps prop name → absolute state path for write-back. | [`BaseComponentProps`](BaseComponentProps.md).[`bindings`](BaseComponentProps.md#property-bindings) | - |
25
+ | <a id="property-children"></a> `children?` | `Snippet`\<\[\]\> | - | [`BaseComponentProps`](BaseComponentProps.md).[`children`](BaseComponentProps.md#property-children) | - |
26
+ | <a id="property-emit"></a> `emit` | (`event`) => `void` | Simple event emitter (shorthand). Fires the event and returns void. | [`BaseComponentProps`](BaseComponentProps.md).[`emit`](BaseComponentProps.md#property-emit) | - |
27
+ | <a id="property-loading"></a> `loading?` | `boolean` | - | [`BaseComponentProps`](BaseComponentProps.md).[`loading`](BaseComponentProps.md#property-loading) | - |
28
+ | <a id="property-on"></a> `on` | (`event`) => `EventHandle` | Get an event handle with metadata. Use when you need shouldPreventDefault or bound checks. | [`BaseComponentProps`](BaseComponentProps.md).[`on`](BaseComponentProps.md#property-on) | - |
29
+ | <a id="property-props"></a> `props` | `InferComponentProps` | - | [`BaseComponentProps`](BaseComponentProps.md).[`props`](BaseComponentProps.md#property-props) | - |
@@ -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.26/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.26/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.26/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.26/packages/play-svelte/src/types.ts#L22) |
20
+ | <a id="property-onerror"></a> `onError?` | (`error`, `reset`) => `void` | Called when a catalog component throws during render. Receives the thrown error and a `reset` function that clears the boundary and attempts to re-render. Matches Svelte 5's `<svelte:boundary onerror>` signature. | [packages/play-svelte/src/types.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-svelte/src/types.ts#L28) |
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.26/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.26/packages/play-svelte/src/types.ts#L16) |
@@ -0,0 +1,18 @@
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
+ Defined in: `@json-render/svelte`
10
+
11
+ Component render function type for Svelte
12
+
13
+ ## Type Parameters
14
+
15
+ | Type Parameter |
16
+ | --------------------------------------------------- |
17
+ | `C` _extends_ `Catalog` |
18
+ | `K` _extends_ keyof `InferCatalogComponents`\<`C`\> |
@@ -0,0 +1,9 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte](../README.md) / PlayRenderer
2
+
3
+ # Type Alias: PlayRenderer
4
+
5
+ ```ts
6
+ type PlayRenderer = SvelteComponent;
7
+ ```
8
+
9
+ Defined in: `svelte`
@@ -0,0 +1,9 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte](../README.md) / PlayRenderer
2
+
3
+ # Variable: PlayRenderer
4
+
5
+ ```ts
6
+ const PlayRenderer: LegacyComponentType;
7
+ ```
8
+
9
+ Defined in: `svelte`
@@ -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,54 @@
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
+ - [WindowLike](interfaces/WindowLike.md)
46
+
47
+ ## Type Aliases
48
+
49
+ - [RoutableActor](type-aliases/RoutableActor.md)
50
+
51
+ ## Functions
52
+
53
+ - [connectRouter](functions/connectRouter.md)
54
+ - [createRouteMap](functions/createRouteMap.md)
@@ -0,0 +1,137 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / RouteMap
2
+
3
+ # Class: RouteMap
4
+
5
+ Defined in: [play-router/src/base-route-map.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L100)
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 in an LRU cache (default 500 entries,
18
+ configurable via the `cacheSize` constructor option)
19
+
20
+ **Pattern syntax** (`:param` / `:param?`):
21
+
22
+ - `:param` — required segment, matches exactly one non-`/` segment
23
+ - `:param?` — optional segment, matches zero or one non-`/` segment
24
+
25
+ ## Example
26
+
27
+ ```typescript
28
+ import { BaseRouteMap } from "@xmachines/play-router";
29
+
30
+ const map = new BaseRouteMap([
31
+ { stateId: "home", path: "/" },
32
+ { stateId: "profile", path: "/profile/:userId" },
33
+ { stateId: "settings", path: "/settings/:section?" },
34
+ ]);
35
+
36
+ map.getStateIdByPath("/"); // "home"
37
+ map.getStateIdByPath("/profile/123"); // "profile"
38
+ map.getStateIdByPath("/settings"); // "settings"
39
+ map.getStateIdByPath("/unknown"); // null
40
+
41
+ map.getPathByStateId("profile"); // "/profile/:userId"
42
+ map.getPathByStateId("missing"); // null
43
+ ```
44
+
45
+ ## Constructors
46
+
47
+ ### Constructor
48
+
49
+ ```ts
50
+ new RouteMap(mappings, options?): BaseRouteMap;
51
+ ```
52
+
53
+ Defined in: [play-router/src/base-route-map.ts:125](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L125)
54
+
55
+ Build a route map from an array of state ID ↔ path mappings.
56
+
57
+ Static paths (no `:param`) are indexed in an O(1) `Map`.
58
+ Parameterized paths are compiled to `URLPattern` and grouped into first-segment
59
+ buckets for efficient candidate selection.
60
+
61
+ #### Parameters
62
+
63
+ | Parameter | Type | Description |
64
+ | -------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
65
+ | `mappings` | [`RouteMapping`](../interfaces/RouteMapping.md)[] | Array of `{ stateId, path }` entries. Order determines priority when multiple patterns could match the same path. |
66
+ | `options` | \{ `cacheSize?`: `number`; \} | Optional configuration. `options.cacheSize`: Maximum number of resolved parameterized path lookups to cache. Defaults to `500`. Increase for applications with many unique parameterized URL values (e.g. user profile pages with thousands of distinct IDs). After eviction the path falls back to the O(k) bucket pattern scan — correct but slower. Minimum effective value is `1` (QuickLRU constraint). |
67
+ | `options.cacheSize?` | `number` | - |
68
+
69
+ #### Returns
70
+
71
+ `BaseRouteMap`
72
+
73
+ ## Methods
74
+
75
+ ### getPathByStateId()
76
+
77
+ ```ts
78
+ getPathByStateId(stateId): string | null;
79
+ ```
80
+
81
+ Defined in: [play-router/src/base-route-map.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L209)
82
+
83
+ Look up the path pattern registered for a state ID.
84
+
85
+ #### Parameters
86
+
87
+ | Parameter | Type | Description |
88
+ | --------- | -------- | --------------------------------------------------------- |
89
+ | `stateId` | `string` | State machine state ID (e.g., `"profile"`, `"#settings"`) |
90
+
91
+ #### Returns
92
+
93
+ `string` \| `null`
94
+
95
+ The registered path pattern, or `null` if the state ID is unknown
96
+
97
+ #### Example
98
+
99
+ ```typescript
100
+ map.getPathByStateId("profile"); // "/profile/:userId"
101
+ map.getPathByStateId("missing"); // null
102
+ ```
103
+
104
+ ---
105
+
106
+ ### getStateIdByPath()
107
+
108
+ ```ts
109
+ getStateIdByPath(path): string | null;
110
+ ```
111
+
112
+ Defined in: [play-router/src/base-route-map.ts:174](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L174)
113
+
114
+ Resolve a URL path to its mapped state ID.
115
+
116
+ Strips query strings and hash fragments before matching. Tries an O(1) exact
117
+ lookup first, then falls back to bucket-indexed pattern matching. Results are
118
+ cached after the first pattern match.
119
+
120
+ #### Parameters
121
+
122
+ | Parameter | Type | Description |
123
+ | --------- | -------- | ------------------------------------------------------------------------------ |
124
+ | `path` | `string` | URL pathname, optionally including query/hash (e.g., `"/profile/123?ref=nav"`) |
125
+
126
+ #### Returns
127
+
128
+ `string` \| `null`
129
+
130
+ The mapped state ID, or `null` if no route matches
131
+
132
+ #### Example
133
+
134
+ ```typescript
135
+ map.getStateIdByPath("/profile/123"); // "profile"
136
+ map.getStateIdByPath("/unknown"); // null
137
+ ```
@@ -0,0 +1,32 @@
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:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-svelte-spa-router/src/connect-router.ts#L30)
10
+
11
+ Connect svelte-spa-router to actor.
12
+
13
+ Returns a cleanup function. The public API surface is unchanged (D-14).
14
+
15
+ ## Parameters
16
+
17
+ | Parameter | Type |
18
+ | --------- | --------------------------------------------------------------- |
19
+ | `options` | [`ConnectRouterOptions`](../interfaces/ConnectRouterOptions.md) |
20
+
21
+ ## Returns
22
+
23
+ () => `void`
24
+
25
+ ## Example
26
+
27
+ ```typescript
28
+ import { connectRouter, createRouteMap } from "@xmachines/play-svelte-spa-router";
29
+ const routeMap = createRouteMap(machine);
30
+ const disconnect = connectRouter({ actor, routeMap });
31
+ onDestroy(() => disconnect());
32
+ ```
@@ -0,0 +1,38 @@
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-router/src/create-route-map-from-machine.ts:26](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/create-route-map-from-machine.ts#L26)
10
+
11
+ Create a `BaseRouteMap` from an XState state machine.
12
+
13
+ Extracts all routable states (those with `meta.route`) and builds a bidirectional
14
+ path ↔ stateId lookup structure. The returned map is used by `RouterBridgeBase`
15
+ subclasses to translate browser URL changes into `play.route` actor events and
16
+ vice-versa.
17
+
18
+ ## Parameters
19
+
20
+ | Parameter | Type | Description |
21
+ | --------- | ------------------------------------------------------------------------- | ---------------------------------------------------------------- |
22
+ | `machine` | [`AnyStateMachine`](https://www.jsdocs.io/package/xstate#AnyStateMachine) | XState v5 state machine with `meta.route` annotations on states. |
23
+
24
+ ## Returns
25
+
26
+ [`RouteMap`](../classes/RouteMap.md)
27
+
28
+ A `BaseRouteMap` for passing to any `RouterBridgeBase`-based adapter.
29
+
30
+ ## Example
31
+
32
+ ```typescript
33
+ import { createRouteMapFromMachine } from "@xmachines/play-router";
34
+ import { connectRouter } from "@xmachines/play-dom-router";
35
+
36
+ const routeMap = createRouteMapFromMachine(myMachine);
37
+ const disconnect = connectRouter({ actor, router, routeMap });
38
+ ```
@@ -0,0 +1,17 @@
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:7](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-svelte-spa-router/src/connect-router.ts#L7)
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 | Description | 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:8](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-svelte-spa-router/src/connect-router.ts#L8) |
16
+ | <a id="property-routemap"></a> `routeMap` | `readonly` | [`RouteMap`](../classes/RouteMap.md) | - | [play-svelte-spa-router/src/connect-router.ts:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-svelte-spa-router/src/connect-router.ts#L9) |
17
+ | <a id="property-window"></a> `window?` | `readonly` | [`WindowLike`](WindowLike.md) | Window-like object for `hashchange` subscriptions. Defaults to the global `window`. Pass a mock in tests or a no-op in SSR environments. | [play-svelte-spa-router/src/connect-router.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/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/src/types.ts:223](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L223)
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
+ Path-only route parameters extracted from the URL path (e.g., `{ userId: '123' }` from `/profile/123`). Query parameters are kept separate in `query`.
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" }, // Path-only route parameter
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/src/types.ts:228](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L228) |
116
+ | <a id="property-params"></a> `params?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:226](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L226) |
117
+ | <a id="property-query"></a> `query?` | `readonly` | `Record`\<`string`, `string`\> | [play-router/src/types.ts:227](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L227) |
118
+ | <a id="property-to"></a> `to` | `readonly` | `string` | [play-router/src/types.ts:225](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L225) |
119
+ | <a id="property-type"></a> `type` | `readonly` | `"play.route"` | [play-router/src/types.ts:224](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/types.ts#L224) |
@@ -0,0 +1,27 @@
1
+ [Documentation](../../../README.md) / [@xmachines/play-svelte-spa-router](../README.md) / RouteMapping
2
+
3
+ # Interface: RouteMapping
4
+
5
+ Defined in: [play-router/src/base-route-map.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L57)
6
+
7
+ A single state ID ↔ path mapping entry.
8
+
9
+ Both fields are `readonly` — mappings are immutable once passed to `BaseRouteMap`.
10
+ Adapter packages re-export a structurally compatible `RouteMapping` type under
11
+ their own name. This type is published from `@xmachines/play-router` as
12
+ `BaseRouteMapping` to avoid name collisions with those adapter-local types.
13
+
14
+ ## Example
15
+
16
+ ```typescript
17
+ const mapping: BaseRouteMapping = { stateId: "home", path: "/" };
18
+ const paramMapping: BaseRouteMapping = { stateId: "profile", path: "/profile/:userId" };
19
+ const optionalMapping: BaseRouteMapping = { stateId: "settings", path: "/settings/:section?" };
20
+ ```
21
+
22
+ ## Properties
23
+
24
+ | Property | Modifier | Type | Description | Defined in |
25
+ | --------------------------------------- | ---------- | -------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
26
+ | <a id="property-path"></a> `path` | `readonly` | `string` | URL path pattern (e.g., `"/"`, `"/profile/:userId"`, `"/settings/:section?"`) | [play-router/src/base-route-map.ts:61](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L61) |
27
+ | <a id="property-stateid"></a> `stateId` | `readonly` | `string` | State machine state ID (e.g., `"home"`, `"#profile"`) | [play-router/src/base-route-map.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.26/packages/play-router/src/base-route-map.ts#L59) |