@xmachines/docs 1.0.0-beta.28 → 1.0.0-beta.29
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.
- package/api/@xmachines/play/README.md +4 -4
- package/api/@xmachines/play/classes/PlayError.md +10 -4
- package/api/@xmachines/play/type-aliases/PlayEvent.md +3 -3
- package/api/@xmachines/play-actor/README.md +6 -6
- package/api/@xmachines/play-actor/classes/AbstractActor.md +25 -3
- package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
- package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
- package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
- package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +3 -3
- package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
- package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
- package/api/@xmachines/play-dom/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-dom/functions/renderSpec.md +1 -1
- package/api/@xmachines/play-dom/interfaces/ComponentContext.md +7 -7
- package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +7 -7
- package/api/@xmachines/play-dom/interfaces/DefineRegistryOptions.md +3 -3
- package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +3 -3
- package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +7 -7
- package/api/@xmachines/play-dom/interfaces/EventHandle.md +4 -4
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +3 -3
- package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +1 -1
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouteMapLike.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
- package/api/@xmachines/play-dom-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-react/README.md +1 -1
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +31 -5
- package/api/@xmachines/play-react/functions/defineRegistry.md +2 -0
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useBoundProp.md +2 -0
- package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
- package/api/@xmachines/play-react/functions/useStateBinding.md +2 -0
- package/api/@xmachines/play-react/interfaces/ComponentContext.md +2 -0
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
- package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +7 -7
- package/api/@xmachines/play-react/type-aliases/ComponentFn.md +2 -0
- package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-react-router/README.md +3 -3
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +23 -23
- package/api/@xmachines/play-react-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-router/README.md +5 -5
- package/api/@xmachines/play-router/classes/BaseRouteMap.md +4 -4
- package/api/@xmachines/play-router/classes/RouterBridgeBase.md +23 -23
- package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +1 -1
- package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
- package/api/@xmachines/play-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-router/functions/createRouteMapFromMachine.md +1 -1
- package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
- package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
- package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
- package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
- package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
- package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
- package/api/@xmachines/play-router/functions/routeExists.md +1 -1
- package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
- package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
- package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
- package/api/@xmachines/play-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
- package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
- package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
- package/api/@xmachines/play-router/interfaces/RouteMap.md +4 -4
- package/api/@xmachines/play-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
- package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
- package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
- package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
- package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-signals/README.md +2 -2
- package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
- package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
- package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
- package/api/@xmachines/play-signals/namespaces/Signal/classes/Computed.md +6 -0
- package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +8 -0
- package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +10 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +2 -0
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +2 -0
- package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
- package/api/@xmachines/play-solid/README.md +3 -3
- package/api/@xmachines/play-solid/functions/defineRegistry.md +2 -0
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/useStateBinding.md +2 -0
- package/api/@xmachines/play-solid/interfaces/ComponentContext.md +2 -0
- package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +7 -7
- package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +2 -0
- package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-solid-router/README.md +1 -1
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +24 -24
- package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-solid-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +23 -3
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +2 -0
- package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +2 -0
- package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +2 -0
- package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +7 -7
- package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +2 -0
- package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +2 -0
- package/api/@xmachines/play-svelte/variables/PlayRenderer.md +2 -0
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +4 -4
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/README.md +4 -4
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +23 -23
- package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/README.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +24 -24
- package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +3 -3
- package/api/@xmachines/play-vue/README.md +1 -1
- package/api/@xmachines/play-vue/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-vue/functions/useActor.md +1 -1
- package/api/@xmachines/play-vue/functions/useStateBinding.md +2 -0
- package/api/@xmachines/play-vue/interfaces/ComponentContext.md +2 -0
- package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +5 -5
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +2 -0
- package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
- package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-vue-router/README.md +1 -1
- package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +4 -4
- package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +24 -24
- package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +7 -7
- package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +4 -4
- package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-xstate/README.md +10 -10
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +26 -12
- package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
- package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
- package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
- package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
- package/api/@xmachines/play-xstate/functions/definePlayer.md +2 -2
- package/api/@xmachines/play-xstate/functions/deriveRoute.md +2 -2
- package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
- package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
- package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
- package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
- package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
- package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
- package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
- package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
- package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
- package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
- package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
- package/api/@xmachines/shared/functions/defineXmVitestConfig.md +1 -1
- package/api/@xmachines/shared/functions/xmAliases.md +1 -1
- package/api/README.md +1 -41
- package/api/llms.txt +4 -8
- package/{api → examples}/@xmachines/play-actor-shared/README.md +1 -1
- package/{api → examples}/@xmachines/play-actor-shared/interfaces/AuthContext.md +5 -5
- package/{api → examples}/@xmachines/play-actor-shared/type-aliases/AuthActor.md +1 -1
- package/{api → examples}/@xmachines/play-actor-shared/type-aliases/AuthCatalog.md +1 -1
- package/{api → examples}/@xmachines/play-actor-shared/type-aliases/AuthEvents.md +1 -1
- package/{api → examples}/@xmachines/play-actor-shared/type-aliases/AuthInput.md +1 -1
- package/{api → examples}/@xmachines/play-actor-shared/type-aliases/AuthSnapshot.md +1 -1
- package/{api → examples}/@xmachines/play-actor-shared/type-aliases/CatalogProps.md +11 -11
- package/{api → examples}/@xmachines/play-actor-shared/type-aliases/InferProps.md +1 -1
- package/{api → examples}/@xmachines/play-actor-shared/variables/authCatalog.md +1 -1
- package/{api → examples}/@xmachines/play-actor-shared/variables/authMachine.md +1 -1
- package/{api → examples}/@xmachines/play-actor-shared/variables/authSetup.md +1 -1
- package/{api → examples}/@xmachines/play-dom-demo/README.md +2 -2
- package/{api → examples}/@xmachines/play-dom-demo/functions/initShell.md +1 -1
- package/{api → examples}/@xmachines/play-dom-demo/variables/About.md +1 -1
- package/{api → examples}/@xmachines/play-dom-demo/variables/Contact.md +1 -1
- package/{api → examples}/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
- package/{api → examples}/@xmachines/play-dom-demo/variables/Home.md +1 -1
- package/{api → examples}/@xmachines/play-dom-demo/variables/Login.md +1 -1
- package/{api → examples}/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
- package/{api → examples}/@xmachines/play-dom-demo/variables/Overview.md +1 -1
- package/{api → examples}/@xmachines/play-dom-demo/variables/Profile.md +1 -1
- package/{api → examples}/@xmachines/play-dom-demo/variables/Settings.md +1 -1
- package/{api → examples}/@xmachines/play-dom-demo/variables/Stats.md +1 -1
- package/{api → examples}/@xmachines/play-dom-router-demo/README.md +3 -3
- package/{api → examples}/@xmachines/play-react-demo/README.md +2 -2
- package/{api → examples}/@xmachines/play-react-demo/functions/App.md +1 -1
- package/{api → examples}/@xmachines/play-react-demo/functions/DebugPanel.md +1 -1
- package/{api → examples}/@xmachines/play-react-demo/functions/HeaderNav.md +1 -1
- package/{api → examples}/@xmachines/play-react-demo/functions/Shell.md +1 -1
- package/{api → examples}/@xmachines/play-react-demo/variables/About.md +1 -1
- package/{api → examples}/@xmachines/play-react-demo/variables/Contact.md +1 -1
- package/{api → examples}/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
- package/{api → examples}/@xmachines/play-react-demo/variables/Home.md +1 -1
- package/{api → examples}/@xmachines/play-react-demo/variables/Login.md +1 -1
- package/{api → examples}/@xmachines/play-react-demo/variables/Navigation.md +1 -1
- package/{api → examples}/@xmachines/play-react-demo/variables/Overview.md +1 -1
- package/{api → examples}/@xmachines/play-react-demo/variables/Profile.md +1 -1
- package/{api → examples}/@xmachines/play-react-demo/variables/Settings.md +1 -1
- package/{api → examples}/@xmachines/play-react-demo/variables/Stats.md +1 -1
- package/{api → examples}/@xmachines/play-react-router-demo/README.md +2 -2
- package/examples/@xmachines/play-router-shared/README.md +111 -0
- package/examples/@xmachines/play-router-shared/test/auth-machine-routing.test.ts/README.md +3 -0
- package/examples/@xmachines/play-router-shared/test/demo-browser-suite.ts/README.md +11 -0
- package/examples/@xmachines/play-router-shared/test/demo-browser-suite.ts/functions/defineSharedDemoBrowserSuite.md +19 -0
- package/examples/@xmachines/play-router-shared/test/demo-browser-suite.ts/variables/defineRouterDemoBrowserSuite.md +19 -0
- package/examples/@xmachines/play-router-shared/test/env.d.ts/README.md +8 -0
- package/examples/@xmachines/play-router-shared/test/env.d.ts/interfaces/ImportMeta.md +63 -0
- package/examples/@xmachines/play-router-shared/test/env.d.ts/interfaces/ImportMetaEnv.md +32 -0
- package/{api → examples}/@xmachines/play-solid-demo/README.md +3 -3
- package/{api → examples}/@xmachines/play-solid-demo/functions/App.md +1 -1
- package/{api → examples}/@xmachines/play-solid-demo/functions/DebugPanel.md +1 -1
- package/{api → examples}/@xmachines/play-solid-demo/functions/HeaderNav.md +1 -1
- package/{api → examples}/@xmachines/play-solid-demo/functions/Shell.md +1 -1
- package/{api → examples}/@xmachines/play-solid-demo/variables/About.md +1 -1
- package/{api → examples}/@xmachines/play-solid-demo/variables/Contact.md +1 -1
- package/{api → examples}/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
- package/{api → examples}/@xmachines/play-solid-demo/variables/Home.md +1 -1
- package/{api → examples}/@xmachines/play-solid-demo/variables/Login.md +1 -1
- package/{api → examples}/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
- package/{api → examples}/@xmachines/play-solid-demo/variables/Overview.md +1 -1
- package/{api → examples}/@xmachines/play-solid-demo/variables/Profile.md +1 -1
- package/{api → examples}/@xmachines/play-solid-demo/variables/Settings.md +1 -1
- package/{api → examples}/@xmachines/play-solid-demo/variables/Stats.md +1 -1
- package/{api → examples}/@xmachines/play-solid-router-demo/README.md +3 -3
- package/{api → examples}/@xmachines/play-svelte-demo/README.md +1 -1
- package/examples/@xmachines/play-svelte-spa-router-demo/README.md +129 -0
- package/examples/@xmachines/play-sveltekit-router-demo/README.md +130 -0
- package/{api → examples}/@xmachines/play-tanstack-react-router-demo/README.md +3 -3
- package/{api → examples}/@xmachines/play-tanstack-solid-router-demo/README.md +4 -4
- package/{api → examples}/@xmachines/play-vue-demo/README.md +2 -2
- package/{api → examples}/@xmachines/play-vue-router-demo/README.md +2 -2
- package/examples/README.md +51 -27
- package/package.json +6 -4
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
[Documentation](../../README.md) / @xmachines/play-sveltekit-router-demo
|
|
2
|
+
|
|
3
|
+
# SvelteKit Router Demo
|
|
4
|
+
|
|
5
|
+
Svelte 5 + SvelteKit router adapter integration demo for the XMachines Play architecture using browser pathname URL routing.
|
|
6
|
+
|
|
7
|
+
## What This Demonstrates
|
|
8
|
+
|
|
9
|
+
- Shared auth machine reused without framework-specific business logic
|
|
10
|
+
- `connectRouter` pathname URL ↔ actor sync via `@xmachines/play-sveltekit-router`
|
|
11
|
+
- Shell-driven rendering via `PlayRenderer` with actor-authoritative navigation
|
|
12
|
+
- Canonical TC39 Signals lifecycle integrated with Svelte 5 runes
|
|
13
|
+
- Non-browser invariant tests plus browser E2E coverage
|
|
14
|
+
|
|
15
|
+
## Running the Demo
|
|
16
|
+
|
|
17
|
+
From the repository root:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install
|
|
21
|
+
npm run dev -w @xmachines/play-sveltekit-router-demo
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Then open `http://localhost:5173`.
|
|
25
|
+
|
|
26
|
+
## Step-by-Step Code Flow
|
|
27
|
+
|
|
28
|
+
Use this order to understand the implementation:
|
|
29
|
+
|
|
30
|
+
1. `src/main.ts` mounts `App.svelte` and registers HMR cleanup via `cleanupDemo`.
|
|
31
|
+
2. `src/lib/router.ts` creates the actor, builds the registry, calls `createRouteMap(authMachine)`, and wires `connectRouter({ actor, routeMap })`.
|
|
32
|
+
3. `connectRouter` synchronizes browser pathname changes with the actor via `play.route` events and reflects actor-approved routes back to the pathname URL.
|
|
33
|
+
4. `src/App.svelte` imports the singleton `actor` and `registry` from `src/lib/router.ts` and delegates to the shared `Shell.svelte`.
|
|
34
|
+
5. `Shell.svelte` renders `<PlayRenderer>` with the actor and registry and provides the shared UI shell (nav, debug panel).
|
|
35
|
+
6. Browser tests in `test/browser/` validate startup and auth route transitions.
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
// src/lib/router.ts (shape)
|
|
39
|
+
const createDemoPlayer = definePlayer({ machine: authMachine });
|
|
40
|
+
export const actor = createDemoPlayer();
|
|
41
|
+
actor.start();
|
|
42
|
+
|
|
43
|
+
export const routeMap = createRouteMap(authMachine);
|
|
44
|
+
export const disconnectRouter = connectRouter({ actor, routeMap });
|
|
45
|
+
|
|
46
|
+
export function cleanupDemo(): void {
|
|
47
|
+
disconnectRouter();
|
|
48
|
+
actor.stop();
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
```svelte
|
|
53
|
+
<!-- src/App.svelte (shape) -->
|
|
54
|
+
<script lang="ts">
|
|
55
|
+
import Shell from "@xmachines/play-svelte-demo/src/components/Shell.svelte";
|
|
56
|
+
import { actor, registry } from "./lib/router.js";
|
|
57
|
+
</script>
|
|
58
|
+
|
|
59
|
+
<Shell {actor} {registry} />
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
```svelte
|
|
63
|
+
<!-- Shell.svelte — sending events (shape) -->
|
|
64
|
+
<PlayRenderer
|
|
65
|
+
actor={props.actor}
|
|
66
|
+
registry={props.registry}
|
|
67
|
+
actions={{ login: "auth.login", logout: "auth.logout" }}
|
|
68
|
+
/>
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Key Files
|
|
72
|
+
|
|
73
|
+
- `src/main.ts` - Svelte app mount and HMR cleanup registration
|
|
74
|
+
- `src/lib/router.ts` - actor creation, registry construction, route map, and `connectRouter` wiring
|
|
75
|
+
- `src/lib/navigation.ts` - SvelteKit navigation helpers for pathname observation
|
|
76
|
+
- `src/App.svelte` - minimal root component delegating to shared `Shell.svelte`
|
|
77
|
+
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
78
|
+
- `test/browser/shared-demo.browser.test.ts` - browser startup and auth route flow coverage
|
|
79
|
+
|
|
80
|
+
## State Machine & Architecture Details
|
|
81
|
+
|
|
82
|
+
The demo utilizes XMachines architectural invariants:
|
|
83
|
+
|
|
84
|
+
1. **Actor Authority:** When a user clicks a nav link, the browser pathname changes. `connectRouter` intercepts this, translates it to a `play.route` event, and sends it to the actor. The actor evaluates guards (e.g. `isAuthenticated`) and transitions to the appropriate state.
|
|
85
|
+
2. **Passive Infrastructure:** The SvelteKit router adapter does not execute business logic. The actor dictates whether navigation is permitted. The Svelte application only renders the state.
|
|
86
|
+
3. **Signal-Only Reactivity:** The bridge leverages Svelte 5 rune reactivity internally to react precisely when actor signals update, without ad-hoc `$state` stores for business logic.
|
|
87
|
+
|
|
88
|
+
## Watcher Lifecycle and Cleanup Contract
|
|
89
|
+
|
|
90
|
+
This demo follows the canonical watcher lifecycle used across all `@xmachines` framework adapters:
|
|
91
|
+
|
|
92
|
+
1. `notify`
|
|
93
|
+
2. `queueMicrotask`
|
|
94
|
+
3. `getPending()`
|
|
95
|
+
4. Read actor signals and project Svelte-local render state
|
|
96
|
+
5. Re-arm with `watch()`/`watch(...signals)`
|
|
97
|
+
|
|
98
|
+
Watcher notifications are one-shot. Cleanup is explicit: `cleanupDemo()` calls `disconnectRouter()` and `actor.stop()` during HMR disposal, preventing memory leaks and ghost subscriptions.
|
|
99
|
+
|
|
100
|
+
## Adapter Boundaries
|
|
101
|
+
|
|
102
|
+
`connectRouter` (from `@xmachines/play-sveltekit-router`) is passive infrastructure. It translates pathname URL changes into `play.route` events and reflects actor-approved route changes back to the browser pathname. Business validity remains actor-owned. The shared `Shell.svelte` from `@xmachines/play-svelte-demo` is reused to avoid duplicating view components across router demos.
|
|
103
|
+
|
|
104
|
+
## Available Scripts
|
|
105
|
+
|
|
106
|
+
These commands are defined in `package.json`:
|
|
107
|
+
|
|
108
|
+
| Command | Description |
|
|
109
|
+
| --------------------------------------------------------------- | -------------------------------- |
|
|
110
|
+
| `npm run dev -w @xmachines/play-sveltekit-router-demo` | Start Vite dev server |
|
|
111
|
+
| `npm run build -w @xmachines/play-sveltekit-router-demo` | Build production bundle |
|
|
112
|
+
| `npm run preview -w @xmachines/play-sveltekit-router-demo` | Preview built bundle |
|
|
113
|
+
| `npm run test -w @xmachines/play-sveltekit-router-demo` | Run Vitest test suite |
|
|
114
|
+
| `npm run test:browser -w @xmachines/play-sveltekit-router-demo` | Run browser-focused Vitest suite |
|
|
115
|
+
|
|
116
|
+
## Verification
|
|
117
|
+
|
|
118
|
+
Use these checks to validate README claims against the current demo implementation:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
npm run test -w @xmachines/play-sveltekit-router-demo
|
|
122
|
+
npm run test:browser -w @xmachines/play-sveltekit-router-demo
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Expected result: library-pattern invariant tests pass and the browser demo suite validates startup rendering and auth navigation.
|
|
126
|
+
|
|
127
|
+
## Learn More
|
|
128
|
+
|
|
129
|
+
- [SvelteKit Router package README](../../README.md)
|
|
130
|
+
- [Svelte package README](../../../play-svelte/README.md)
|
|
@@ -125,6 +125,6 @@ Expected result: invariant test suite and the browser shared-demo suite both pas
|
|
|
125
125
|
|
|
126
126
|
## Learn More
|
|
127
127
|
|
|
128
|
-
- [TanStack React Router package README](
|
|
129
|
-
- [React package README](
|
|
130
|
-
- [TanStack Solid Router demo README](
|
|
128
|
+
- [TanStack React Router package README](../../README.md)
|
|
129
|
+
- [React package README](../../../play-react/README.md)
|
|
130
|
+
- [TanStack Solid Router demo README](../../../play-tanstack-solid-router/examples/demo/README.md)
|
|
@@ -119,7 +119,7 @@ Expected result: library-pattern invariant tests and the browser shared-demo sui
|
|
|
119
119
|
|
|
120
120
|
## Learn More
|
|
121
121
|
|
|
122
|
-
- [TanStack Solid Router package README](
|
|
123
|
-
- [SolidJS package README](
|
|
124
|
-
- [Solid Router demo README](
|
|
125
|
-
- [TanStack React Router demo README](
|
|
122
|
+
- [TanStack Solid Router package README](../../README.md)
|
|
123
|
+
- [SolidJS package README](../../../play-solid/README.md)
|
|
124
|
+
- [Solid Router demo README](../../../play-solid-router/examples/demo/README.md)
|
|
125
|
+
- [TanStack React Router demo README](../../../play-tanstack-react-router/examples/demo/README.md)
|
|
@@ -141,5 +141,5 @@ Expected result: library-pattern invariant tests pass and the browser renderer s
|
|
|
141
141
|
|
|
142
142
|
## Learn More
|
|
143
143
|
|
|
144
|
-
- [Vue package README](
|
|
145
|
-
- [Vue Router demo README](
|
|
144
|
+
- [Vue package README](../../README.md)
|
|
145
|
+
- [Vue Router demo README](../../../play-vue-router/examples/demo/README.md)
|
|
@@ -136,5 +136,5 @@ Expected result: reactivity integration tests and the browser shared-demo suite
|
|
|
136
136
|
|
|
137
137
|
## Learn More
|
|
138
138
|
|
|
139
|
-
- [Vue Router package README](
|
|
140
|
-
- [Vue package README](
|
|
139
|
+
- [Vue Router package README](../../README.md)
|
|
140
|
+
- [Vue package README](../../../play-vue/README.md)
|
package/examples/README.md
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
<!-- generated-by: gsd-doc-writer -->
|
|
2
|
-
|
|
3
1
|
# XMachines Examples
|
|
4
2
|
|
|
5
3
|
Practical code examples demonstrating current XMachines Play patterns and use cases.
|
|
@@ -27,28 +25,38 @@ Complete working implementations of actor-authoritative routing with all archite
|
|
|
27
25
|
|
|
28
26
|
## Complete Demo Applications
|
|
29
27
|
|
|
30
|
-
###
|
|
31
|
-
|
|
32
|
-
- **[Vanilla JavaScript Router Demo](../api/@xmachines/play-dom-router-demo/README.md)** — Pure browser integration: `connectRouter` + `connectRenderer` + DOM components. The lowest-level reference implementation.
|
|
28
|
+
### Renderer Demos
|
|
33
29
|
|
|
34
|
-
|
|
30
|
+
<!-- typedoc:renderer-demos:start -->
|
|
35
31
|
|
|
36
|
-
-
|
|
37
|
-
-
|
|
32
|
+
- [@xmachines/play-dom-demo](@xmachines/play-dom-demo/README.md)
|
|
33
|
+
- [@xmachines/play-react-demo](@xmachines/play-react-demo/README.md)
|
|
34
|
+
- [@xmachines/play-solid-demo](@xmachines/play-solid-demo/README.md)
|
|
35
|
+
- [@xmachines/play-svelte-demo](@xmachines/play-svelte-demo/README.md)
|
|
36
|
+
- [@xmachines/play-vue-demo](@xmachines/play-vue-demo/README.md)
|
|
37
|
+
<!-- typedoc:renderer-demos:end -->
|
|
38
38
|
|
|
39
|
-
###
|
|
39
|
+
### Router Demos
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
<!-- typedoc:router-demos:start -->
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
- [@xmachines/play-dom-router-demo](@xmachines/play-dom-router-demo/README.md)
|
|
44
|
+
- [@xmachines/play-react-router-demo](@xmachines/play-react-router-demo/README.md)
|
|
45
|
+
- [@xmachines/play-solid-router-demo](@xmachines/play-solid-router-demo/README.md)
|
|
46
|
+
- [@xmachines/play-svelte-spa-router-demo](@xmachines/play-svelte-spa-router-demo/README.md)
|
|
47
|
+
- [@xmachines/play-sveltekit-router-demo](@xmachines/play-sveltekit-router-demo/README.md)
|
|
48
|
+
- [@xmachines/play-tanstack-react-router-demo](@xmachines/play-tanstack-react-router-demo/README.md)
|
|
49
|
+
- [@xmachines/play-tanstack-solid-router-demo](@xmachines/play-tanstack-solid-router-demo/README.md)
|
|
50
|
+
- [@xmachines/play-vue-router-demo](@xmachines/play-vue-router-demo/README.md)
|
|
51
|
+
<!-- typedoc:router-demos:end -->
|
|
44
52
|
|
|
45
|
-
|
|
46
|
-
- **[Svelte SPA Router Demo](../api/@xmachines/play-svelte-spa-router-demo/README.md)** — Hash-based SPA routing using `svelte-spa-router` with the same actor-authoritative flow.
|
|
53
|
+
### Shared Fixtures
|
|
47
54
|
|
|
48
|
-
|
|
55
|
+
<!-- typedoc:shared-fixtures:start -->
|
|
49
56
|
|
|
50
|
-
-
|
|
51
|
-
-
|
|
57
|
+
- [@xmachines/play-actor-shared](@xmachines/play-actor-shared/README.md)
|
|
58
|
+
- [@xmachines/play-router-shared](@xmachines/play-router-shared/README.md)
|
|
59
|
+
<!-- typedoc:shared-fixtures:end -->
|
|
52
60
|
|
|
53
61
|
## Running the Code Examples
|
|
54
62
|
|
|
@@ -62,25 +70,45 @@ npm install @xmachines/play-xstate @xmachines/play-actor @xmachines/play-signals
|
|
|
62
70
|
npx tsx my-example.ts
|
|
63
71
|
```
|
|
64
72
|
|
|
65
|
-
To run a complete demo application,
|
|
73
|
+
To run a complete demo application, use the workspace package name:
|
|
66
74
|
|
|
67
75
|
```bash
|
|
68
|
-
|
|
69
|
-
cd packages/play-dom-router/examples/demo
|
|
70
|
-
npm install
|
|
71
|
-
npm run dev
|
|
76
|
+
npm run dev -w @xmachines/play-dom-router-demo
|
|
72
77
|
```
|
|
73
78
|
|
|
74
79
|
## Key Packages
|
|
75
80
|
|
|
81
|
+
### Core
|
|
82
|
+
|
|
76
83
|
| Package | Role |
|
|
77
84
|
| ------------------------- | ----------------------------------------------------------- |
|
|
78
85
|
| `@xmachines/play-xstate` | `definePlayer`, `formatPlayRouteTransitions`, `PlayerActor` |
|
|
79
86
|
| `@xmachines/play-actor` | `AbstractActor`, `typedSpec` |
|
|
80
87
|
| `@xmachines/play-signals` | TC39 Signals polyfill, `watchSignal` |
|
|
81
88
|
| `@xmachines/play-router` | `extractMachineRoutes`, `getRoutableRoutes` |
|
|
82
|
-
|
|
83
|
-
|
|
89
|
+
|
|
90
|
+
### Renderers
|
|
91
|
+
|
|
92
|
+
| Package | Role |
|
|
93
|
+
| ------------------------ | ----------------------------------- |
|
|
94
|
+
| `@xmachines/play-dom` | `connectRenderer`, `defineRegistry` |
|
|
95
|
+
| `@xmachines/play-react` | `PlayRenderer`, `defineRegistry` |
|
|
96
|
+
| `@xmachines/play-solid` | `PlayRenderer`, `defineRegistry` |
|
|
97
|
+
| `@xmachines/play-svelte` | `PlayRenderer`, `defineRegistry` |
|
|
98
|
+
| `@xmachines/play-vue` | `PlayRenderer`, `defineRegistry` |
|
|
99
|
+
|
|
100
|
+
### Router Adapters
|
|
101
|
+
|
|
102
|
+
| Package | Router |
|
|
103
|
+
| --------------------------------------- | ----------------------- |
|
|
104
|
+
| `@xmachines/play-dom-router` | Vanilla browser history |
|
|
105
|
+
| `@xmachines/play-react-router` | React Router v7 |
|
|
106
|
+
| `@xmachines/play-tanstack-react-router` | TanStack Router (React) |
|
|
107
|
+
| `@xmachines/play-solid-router` | SolidJS Router |
|
|
108
|
+
| `@xmachines/play-tanstack-solid-router` | TanStack Router (Solid) |
|
|
109
|
+
| `@xmachines/play-vue-router` | Vue Router |
|
|
110
|
+
| `@xmachines/play-svelte-spa-router` | svelte-spa-router |
|
|
111
|
+
| `@xmachines/play-sveltekit-router` | SvelteKit |
|
|
84
112
|
|
|
85
113
|
## Related Documentation
|
|
86
114
|
|
|
@@ -88,7 +116,3 @@ npm run dev
|
|
|
88
116
|
- **[Installation Guide](../guides/installation.md)** — Package installation and TypeScript setup
|
|
89
117
|
- **[API Reference](../api/README.md)** — Generated API docs for all public packages
|
|
90
118
|
- **[Play RFC](../rfc/play.md)** — Complete architectural specification
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
**Contributing Examples:** Have a useful example to share? See the repository contribution guidelines.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xmachines/docs",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.29",
|
|
4
4
|
"description": "Documentation for XMachines",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"documentation",
|
|
@@ -45,14 +45,16 @@
|
|
|
45
45
|
"lint:fix": "oxlint --fix .",
|
|
46
46
|
"format": "oxfmt .",
|
|
47
47
|
"format:check": "oxfmt --check .",
|
|
48
|
-
"typedoc": "typedoc"
|
|
48
|
+
"typedoc": "typedoc",
|
|
49
|
+
"test": "vitest run"
|
|
49
50
|
},
|
|
50
51
|
"devDependencies": {
|
|
51
|
-
"@xmachines/shared": "1.0.0-beta.
|
|
52
|
+
"@xmachines/shared": "1.0.0-beta.29",
|
|
52
53
|
"oxfmt": "^0.43.0",
|
|
53
54
|
"oxlint": "^1.57.0",
|
|
54
55
|
"typedoc": "^0.28.18",
|
|
55
56
|
"typedoc-plugin-llms-txt": "^0.1.2",
|
|
56
|
-
"typedoc-plugin-markdown": "^4.11.0"
|
|
57
|
+
"typedoc-plugin-markdown": "^4.11.0",
|
|
58
|
+
"vitest": "^4.1.2"
|
|
57
59
|
}
|
|
58
60
|
}
|