@xmachines/docs 1.0.0-beta.26 → 1.0.0-beta.28
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/classes/PlayError.md +4 -10
- package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
- package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -25
- 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-actor-shared/README.md +155 -0
- package/api/@xmachines/play-actor-shared/interfaces/AuthContext.md +14 -0
- package/api/@xmachines/play-actor-shared/type-aliases/AuthActor.md +27 -0
- package/api/@xmachines/play-actor-shared/type-aliases/AuthCatalog.md +16 -0
- package/api/@xmachines/play-actor-shared/type-aliases/AuthEvents.md +17 -0
- package/api/@xmachines/play-actor-shared/type-aliases/AuthInput.md +9 -0
- package/api/@xmachines/play-actor-shared/type-aliases/AuthSnapshot.md +11 -0
- package/api/@xmachines/play-actor-shared/type-aliases/CatalogProps.md +187 -0
- package/api/@xmachines/play-actor-shared/type-aliases/InferProps.md +17 -0
- package/api/@xmachines/play-actor-shared/variables/authCatalog.md +173 -0
- package/api/@xmachines/play-actor-shared/variables/authMachine.md +189 -0
- package/api/@xmachines/play-actor-shared/variables/authSetup.md +22 -0
- package/api/@xmachines/play-dom/README.md +74 -8
- 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 +61 -0
- package/api/@xmachines/play-dom/functions/renderSpec.md +29 -12
- package/api/@xmachines/play-dom/interfaces/ComponentContext.md +62 -0
- package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +9 -9
- package/api/@xmachines/play-dom/interfaces/DefineRegistryOptions.md +25 -0
- package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +18 -0
- package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +13 -10
- package/api/@xmachines/play-dom/interfaces/EventHandle.md +29 -0
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +5 -5
- package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +53 -0
- package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +21 -0
- package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +16 -3
- package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +5 -2
- package/api/@xmachines/play-dom-demo/README.md +145 -0
- package/api/@xmachines/play-dom-demo/functions/initShell.md +20 -0
- package/api/@xmachines/play-dom-demo/variables/About.md +9 -0
- package/api/@xmachines/play-dom-demo/variables/Contact.md +9 -0
- package/api/@xmachines/play-dom-demo/variables/Dashboard.md +9 -0
- package/api/@xmachines/play-dom-demo/variables/Home.md +9 -0
- package/api/@xmachines/play-dom-demo/variables/Login.md +9 -0
- package/api/@xmachines/play-dom-demo/variables/Navigation.md +9 -0
- package/api/@xmachines/play-dom-demo/variables/Overview.md +9 -0
- package/api/@xmachines/play-dom-demo/variables/Profile.md +9 -0
- package/api/@xmachines/play-dom-demo/variables/Settings.md +9 -0
- package/api/@xmachines/play-dom-demo/variables/Stats.md +9 -0
- 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 +6 -6
- 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 +3 -3
- 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-dom-router-demo/README.md +56 -61
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -31
- package/api/@xmachines/play-react/functions/defineRegistry.md +0 -2
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useBoundProp.md +0 -2
- package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
- package/api/@xmachines/play-react/functions/useStateBinding.md +0 -2
- package/api/@xmachines/play-react/interfaces/ComponentContext.md +0 -2
- 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 +0 -2
- 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-demo/README.md +173 -0
- package/api/@xmachines/play-react-demo/functions/App.md +13 -0
- package/api/@xmachines/play-react-demo/functions/DebugPanel.md +20 -0
- package/api/@xmachines/play-react-demo/functions/HeaderNav.md +20 -0
- package/api/@xmachines/play-react-demo/functions/Shell.md +22 -0
- package/api/@xmachines/play-react-demo/variables/About.md +9 -0
- package/api/@xmachines/play-react-demo/variables/Contact.md +9 -0
- package/api/@xmachines/play-react-demo/variables/Dashboard.md +9 -0
- package/api/@xmachines/play-react-demo/variables/Home.md +9 -0
- package/api/@xmachines/play-react-demo/variables/Login.md +9 -0
- package/api/@xmachines/play-react-demo/variables/Navigation.md +9 -0
- package/api/@xmachines/play-react-demo/variables/Overview.md +9 -0
- package/api/@xmachines/play-react-demo/variables/Profile.md +9 -0
- package/api/@xmachines/play-react-demo/variables/Settings.md +9 -0
- package/api/@xmachines/play-react-demo/variables/Stats.md +9 -0
- 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 +6 -6
- 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 +3 -3
- package/api/@xmachines/play-react-router-demo/README.md +10 -10
- package/api/@xmachines/play-router/README.md +1 -1
- 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 +6 -6
- 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 +3 -3
- 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/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 +0 -6
- package/api/@xmachines/play-signals/namespaces/Signal/classes/State.md +0 -8
- package/api/@xmachines/play-signals/namespaces/Signal/interfaces/Options.md +0 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/classes/Watcher.md +0 -10
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/currentComputed.md +0 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSinks.md +0 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/hasSources.md +0 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSinks.md +0 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/introspectSources.md +0 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/functions/untrack.md +0 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/unwatched.md +0 -2
- package/api/@xmachines/play-signals/namespaces/Signal/namespaces/subtle/variables/watched.md +0 -2
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isComputed.md +0 -2
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isState.md +0 -2
- package/api/@xmachines/play-signals/namespaces/Signal/variables/isWatcher.md +0 -2
- package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
- package/api/@xmachines/play-solid/functions/defineRegistry.md +0 -2
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/useStateBinding.md +0 -2
- package/api/@xmachines/play-solid/interfaces/ComponentContext.md +0 -2
- package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +7 -7
- package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +0 -2
- 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-demo/README.md +159 -0
- package/api/@xmachines/play-solid-demo/functions/App.md +13 -0
- package/api/@xmachines/play-solid-demo/functions/DebugPanel.md +20 -0
- package/api/@xmachines/play-solid-demo/functions/HeaderNav.md +20 -0
- package/api/@xmachines/play-solid-demo/functions/Shell.md +22 -0
- package/api/@xmachines/play-solid-demo/variables/About.md +9 -0
- package/api/@xmachines/play-solid-demo/variables/Contact.md +9 -0
- package/api/@xmachines/play-solid-demo/variables/Dashboard.md +9 -0
- package/api/@xmachines/play-solid-demo/variables/Home.md +9 -0
- package/api/@xmachines/play-solid-demo/variables/Login.md +9 -0
- package/api/@xmachines/play-solid-demo/variables/Navigation.md +9 -0
- package/api/@xmachines/play-solid-demo/variables/Overview.md +9 -0
- package/api/@xmachines/play-solid-demo/variables/Profile.md +9 -0
- package/api/@xmachines/play-solid-demo/variables/Settings.md +9 -0
- package/api/@xmachines/play-solid-demo/variables/Stats.md +9 -0
- 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 +3 -23
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +6 -6
- 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 +3 -3
- 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-solid-router-demo/README.md +25 -28
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +0 -2
- package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +0 -2
- package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +0 -2
- package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +7 -7
- package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +0 -2
- package/api/@xmachines/play-svelte/type-aliases/PlayRenderer.md +0 -2
- package/api/@xmachines/play-svelte/variables/PlayRenderer.md +0 -2
- package/api/@xmachines/play-svelte-demo/README.md +127 -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 +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
- 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 +6 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
- 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 +6 -6
- 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 +3 -3
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +17 -3
- package/api/@xmachines/play-tanstack-react-router-demo/README.md +23 -29
- 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 +6 -6
- 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 +3 -3
- 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-tanstack-solid-router-demo/README.md +25 -26
- 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 +0 -2
- package/api/@xmachines/play-vue/interfaces/ComponentContext.md +0 -2
- 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 +0 -2
- package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +4 -3
- 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-demo/README.md +145 -0
- 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 +6 -6
- package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +3 -3
- package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
- 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-vue-router-demo/README.md +48 -41
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +11 -25
- 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 +1 -1
- package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
- 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 +3 -7
- package/api/@xmachines/shared/functions/xmAliases.md +1 -1
- package/api/README.md +6 -2
- package/api/llms.txt +0 -3
- package/examples/README.md +48 -35
- package/examples/basic-state-machine.md +75 -31
- package/examples/form-validation.md +199 -127
- package/examples/multi-router-integration.md +312 -230
- package/examples/routing-patterns.md +243 -189
- package/examples/traffic-light.md +114 -65
- package/guides/README.md +29 -15
- package/guides/getting-started.md +224 -144
- package/guides/installation.md +153 -213
- package/package.json +2 -2
- package/api/@xmachines/play-svelte-spa-router-demo/README.md +0 -23
- package/api/@xmachines/play-sveltekit-router-demo/README.md +0 -23
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Class: PlayError
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play/src/errors.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [packages/play/src/errors.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play/src/errors.ts#L63)
|
|
6
6
|
|
|
7
7
|
Base class for all typed runtime errors thrown by `@xmachines/*` packages.
|
|
8
8
|
|
|
@@ -82,7 +82,7 @@ new PlayError(
|
|
|
82
82
|
options?): PlayError;
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
-
Defined in: [packages/play/src/errors.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
85
|
+
Defined in: [packages/play/src/errors.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play/src/errors.ts#L82)
|
|
86
86
|
|
|
87
87
|
#### Parameters
|
|
88
88
|
|
|
@@ -108,10 +108,10 @@ Error.constructor;
|
|
|
108
108
|
| Property | Modifier | Type | Description | Inherited from | Defined in |
|
|
109
109
|
| ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
|
110
110
|
| <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | `Error.cause` | - |
|
|
111
|
-
| <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable error identifier. Error codes follow the `PLAY_<PACKAGE>_<DESCRIPTION>` naming convention and are guaranteed stable across patch and minor releases within a major version. Never match on `.message` — always match on `.code` or the subclass. | - | [packages/play/src/errors.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
111
|
+
| <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable error identifier. Error codes follow the `PLAY_<PACKAGE>_<DESCRIPTION>` naming convention and are guaranteed stable across patch and minor releases within a major version. Never match on `.message` — always match on `.code` or the subclass. | - | [packages/play/src/errors.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play/src/errors.ts#L74) |
|
|
112
112
|
| <a id="property-message"></a> `message` | `public` | `string` | - | `Error.message` | - |
|
|
113
113
|
| <a id="property-name"></a> `name` | `public` | `string` | - | `Error.name` | - |
|
|
114
|
-
| <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or module that threw this error (e.g. `"RouterBridgeBase"`). | - | [packages/play/src/errors.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
114
|
+
| <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or module that threw this error (e.g. `"RouterBridgeBase"`). | - | [packages/play/src/errors.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play/src/errors.ts#L65) |
|
|
115
115
|
| <a id="property-stack"></a> `stack?` | `public` | `string` | - | `Error.stack` | - |
|
|
116
116
|
| <a id="property-stacktracelimit"></a> `stackTraceLimit` | `static` | `number` | The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured _after_ the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. | `Error.stackTraceLimit` | - |
|
|
117
117
|
|
|
@@ -123,8 +123,6 @@ Error.constructor;
|
|
|
123
123
|
static captureStackTrace(targetObject, constructorOpt?): void;
|
|
124
124
|
```
|
|
125
125
|
|
|
126
|
-
Defined in: `@types/node`
|
|
127
|
-
|
|
128
126
|
Creates a `.stack` property on `targetObject`, which when accessed returns
|
|
129
127
|
a string representing the location in the code at which
|
|
130
128
|
`Error.captureStackTrace()` was called.
|
|
@@ -194,8 +192,6 @@ Error.captureStackTrace;
|
|
|
194
192
|
static isError(error): error is Error;
|
|
195
193
|
```
|
|
196
194
|
|
|
197
|
-
Defined in: `typescript`
|
|
198
|
-
|
|
199
195
|
Indicates whether the argument provided is a built-in Error instance or not.
|
|
200
196
|
|
|
201
197
|
#### Parameters
|
|
@@ -222,8 +218,6 @@ Error.isError;
|
|
|
222
218
|
static prepareStackTrace(err, stackTraces): any;
|
|
223
219
|
```
|
|
224
220
|
|
|
225
|
-
Defined in: `@types/node`
|
|
226
|
-
|
|
227
221
|
#### Parameters
|
|
228
222
|
|
|
229
223
|
| Parameter | Type |
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
type PlayEvent<TPayload> = object & TPayload;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play/src/types.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [packages/play/src/types.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play/src/types.ts#L69)
|
|
10
10
|
|
|
11
11
|
Generic event type for Play Architecture
|
|
12
12
|
|
|
@@ -34,7 +34,7 @@ Robot, and other state machine libraries.
|
|
|
34
34
|
|
|
35
35
|
| Name | Type | Defined in |
|
|
36
36
|
| ------ | -------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
37
|
-
| `type` | `string` | [packages/play/src/types.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
37
|
+
| `type` | `string` | [packages/play/src/types.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play/src/types.ts#L70) |
|
|
38
38
|
|
|
39
39
|
## Type Parameters
|
|
40
40
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Abstract Class: AbstractActor\<TLogic, TEvent\>
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play-actor/src/abstract-actor.ts:141](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [packages/play-actor/src/abstract-actor.ts:141](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/src/abstract-actor.ts#L141)
|
|
6
6
|
|
|
7
7
|
Abstract base class for Play Architecture actors.
|
|
8
8
|
|
|
@@ -33,8 +33,6 @@ Infrastructure layer communication.
|
|
|
33
33
|
new AbstractActor<TLogic, TEvent>(logic, options?): AbstractActor<TLogic, TEvent>;
|
|
34
34
|
```
|
|
35
35
|
|
|
36
|
-
Defined in: `xstate`
|
|
37
|
-
|
|
38
36
|
Creates a new actor instance for the given logic with the provided options,
|
|
39
37
|
if any.
|
|
40
38
|
|
|
@@ -67,7 +65,7 @@ Actor<TLogic>.constructor
|
|
|
67
65
|
| <a id="property-ref"></a> `ref` | `public` | [`ActorRef`](https://www.jsdocs.io/package/xstate#ActorRef)\<[`SnapshotFrom`](https://www.jsdocs.io/package/xstate#SnapshotFrom)\<`TLogic`\>, [`EventFromLogic`](https://www.jsdocs.io/package/xstate#EventFromLogic)\<`TLogic`\>, [`EmittedFrom`](https://www.jsdocs.io/package/xstate#EmittedFrom)\<`TLogic`\>\> | - | `Actor.ref` | - |
|
|
68
66
|
| <a id="property-sessionid"></a> `sessionId` | `public` | `string` | The globally unique process ID for this invocation. | `Actor.sessionId` | - |
|
|
69
67
|
| <a id="property-src"></a> `src` | `public` | \| `string` \| [`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic) | - | `Actor.src` | - |
|
|
70
|
-
| <a id="property-state"></a> `state` | `abstract` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<`unknown`\> | Reactive snapshot of current actor state. Infrastructure observes this signal to react to state changes without directly coupling to the actor's internal state machine implementation. | - | [packages/play-actor/src/abstract-actor.ts:151](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
68
|
+
| <a id="property-state"></a> `state` | `abstract` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<`unknown`\> | Reactive snapshot of current actor state. Infrastructure observes this signal to react to state changes without directly coupling to the actor's internal state machine implementation. | - | [packages/play-actor/src/abstract-actor.ts:151](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/src/abstract-actor.ts#L151) |
|
|
71
69
|
| <a id="property-system"></a> `system` | `public` | [`AnyActorSystem`](https://www.jsdocs.io/package/xstate#AnyActorSystem) | The system to which this actor belongs. | `Actor.system` | - |
|
|
72
70
|
| <a id="property-systemid"></a> `systemId` | `public` | `string` \| `undefined` | - | `Actor.systemId` | - |
|
|
73
71
|
|
|
@@ -79,8 +77,6 @@ Actor<TLogic>.constructor
|
|
|
79
77
|
observable: InteropSubscribable<SnapshotFrom<TLogic>>;
|
|
80
78
|
```
|
|
81
79
|
|
|
82
|
-
Defined in: `xstate`
|
|
83
|
-
|
|
84
80
|
#### Returns
|
|
85
81
|
|
|
86
82
|
[`InteropSubscribable`](https://www.jsdocs.io/package/xstate#InteropSubscribable)\<[`SnapshotFrom`](https://www.jsdocs.io/package/xstate#SnapshotFrom)\<`TLogic`\>\>
|
|
@@ -99,8 +95,6 @@ Actor.[observable]
|
|
|
99
95
|
getPersistedSnapshot(): Snapshot<unknown>;
|
|
100
96
|
```
|
|
101
97
|
|
|
102
|
-
Defined in: `xstate`
|
|
103
|
-
|
|
104
98
|
Obtain the internal state of the actor, which can be persisted.
|
|
105
99
|
|
|
106
100
|
#### Returns
|
|
@@ -135,8 +129,6 @@ Actor.getPersistedSnapshot;
|
|
|
135
129
|
getSnapshot(): SnapshotFrom<TLogic>;
|
|
136
130
|
```
|
|
137
131
|
|
|
138
|
-
Defined in: `xstate`
|
|
139
|
-
|
|
140
132
|
Read an actor’s snapshot synchronously.
|
|
141
133
|
|
|
142
134
|
#### Returns
|
|
@@ -172,8 +164,6 @@ Actor.getSnapshot;
|
|
|
172
164
|
on<TType>(type, handler): Subscription;
|
|
173
165
|
```
|
|
174
166
|
|
|
175
|
-
Defined in: `xstate`
|
|
176
|
-
|
|
177
167
|
#### Type Parameters
|
|
178
168
|
|
|
179
169
|
| Type Parameter |
|
|
@@ -205,8 +195,6 @@ Actor.on;
|
|
|
205
195
|
select<TSelected>(selector, equalityFn?): Readable<TSelected>;
|
|
206
196
|
```
|
|
207
197
|
|
|
208
|
-
Defined in: `xstate`
|
|
209
|
-
|
|
210
198
|
#### Type Parameters
|
|
211
199
|
|
|
212
200
|
| Type Parameter |
|
|
@@ -238,7 +226,7 @@ Actor.select;
|
|
|
238
226
|
abstract send(event): void;
|
|
239
227
|
```
|
|
240
228
|
|
|
241
|
-
Defined in: [packages/play-actor/src/abstract-actor.ts:158](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
229
|
+
Defined in: [packages/play-actor/src/abstract-actor.ts:158](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/src/abstract-actor.ts#L158)
|
|
242
230
|
|
|
243
231
|
Send event to Actor.
|
|
244
232
|
|
|
@@ -268,8 +256,6 @@ Actor.send;
|
|
|
268
256
|
start(): this;
|
|
269
257
|
```
|
|
270
258
|
|
|
271
|
-
Defined in: `xstate`
|
|
272
|
-
|
|
273
259
|
Starts the Actor from the initial state
|
|
274
260
|
|
|
275
261
|
#### Returns
|
|
@@ -290,8 +276,6 @@ Actor.start;
|
|
|
290
276
|
stop(): this;
|
|
291
277
|
```
|
|
292
278
|
|
|
293
|
-
Defined in: `xstate`
|
|
294
|
-
|
|
295
279
|
Stops the Actor and unsubscribe all listeners.
|
|
296
280
|
|
|
297
281
|
#### Returns
|
|
@@ -314,8 +298,6 @@ Actor.stop;
|
|
|
314
298
|
subscribe(observer): Subscription;
|
|
315
299
|
```
|
|
316
300
|
|
|
317
|
-
Defined in: `xstate`
|
|
318
|
-
|
|
319
301
|
Subscribe an observer to an actor’s snapshot values.
|
|
320
302
|
|
|
321
303
|
##### Parameters
|
|
@@ -392,8 +374,6 @@ subscribe(
|
|
|
392
374
|
completeListener?): Subscription;
|
|
393
375
|
```
|
|
394
376
|
|
|
395
|
-
Defined in: `xstate`
|
|
396
|
-
|
|
397
377
|
Subscribe an observer to an actor’s snapshot values.
|
|
398
378
|
|
|
399
379
|
##### Parameters
|
|
@@ -471,8 +451,6 @@ Actor.subscribe;
|
|
|
471
451
|
toJSON(): object;
|
|
472
452
|
```
|
|
473
453
|
|
|
474
|
-
Defined in: `xstate`
|
|
475
|
-
|
|
476
454
|
#### Returns
|
|
477
455
|
|
|
478
456
|
`object`
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function typedSpec<TContext>(spec): PlaySpec;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-actor/src/abstract-actor.ts:86](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [packages/play-actor/src/abstract-actor.ts:86](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/src/abstract-actor.ts#L86)
|
|
10
10
|
|
|
11
11
|
Identity helper that constrains a `PlaySpec` object's `contextProps` to keys
|
|
12
12
|
of a specific machine context type, giving compile-time validation and IDE
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: PlaySpec
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play-actor/src/abstract-actor.ts:43](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [packages/play-actor/src/abstract-actor.ts:43](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/src/abstract-actor.ts#L43)
|
|
6
6
|
|
|
7
7
|
XMachines extension of `@json-render/core` `Spec`.
|
|
8
8
|
|
|
@@ -22,7 +22,7 @@ entries against your machine's context type at compile time.
|
|
|
22
22
|
|
|
23
23
|
| Property | Modifier | Type | Description | Inherited from | Defined in |
|
|
24
24
|
| -------------------------------------------------- | ---------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
25
|
-
| <a id="property-contextprops"></a> `contextProps?` | `readonly` | readonly `string`[] | Explicit allowlist of machine context field names to expose as prop slots. Each named field is merged into every spec element's `props` at view derivation time, filling any slot whose current value is `undefined`. Use `typedSpec<TContext>(...)` to constrain entries to `keyof TContext & string`. | - | [packages/play-actor/src/abstract-actor.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
25
|
+
| <a id="property-contextprops"></a> `contextProps?` | `readonly` | readonly `string`[] | Explicit allowlist of machine context field names to expose as prop slots. Each named field is merged into every spec element's `props` at view derivation time, filling any slot whose current value is `undefined`. Use `typedSpec<TContext>(...)` to constrain entries to `keyof TContext & string`. | - | [packages/play-actor/src/abstract-actor.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/src/abstract-actor.ts#L51) |
|
|
26
26
|
| <a id="property-elements"></a> `elements` | `public` | `Record`\<`string`, `UIElement`\> | Flat map of elements by key | `Spec.elements` | - |
|
|
27
27
|
| <a id="property-root"></a> `root` | `public` | `string` | Root element key | `Spec.root` | - |
|
|
28
28
|
| <a id="property-state"></a> `state?` | `public` | `Record`\<`string`, `unknown`\> | Optional initial state to seed the state model. Components using statePath will read from / write to this state. | `Spec.state` | - |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: Routable
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play-actor/src/abstract-actor.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [packages/play-actor/src/abstract-actor.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/src/abstract-actor.ts#L27)
|
|
6
6
|
|
|
7
7
|
Optional capability: Routing support
|
|
8
8
|
|
|
@@ -10,5 +10,5 @@ Optional capability: Routing support
|
|
|
10
10
|
|
|
11
11
|
| Property | Modifier | Type | Defined in |
|
|
12
12
|
| ------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
13
|
-
| <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | [packages/play-actor/src/abstract-actor.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
14
|
-
| <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | [packages/play-actor/src/abstract-actor.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
13
|
+
| <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | [packages/play-actor/src/abstract-actor.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/src/abstract-actor.ts#L28) |
|
|
14
|
+
| <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | [packages/play-actor/src/abstract-actor.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/src/abstract-actor.ts#L29) |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: ViewMetadata
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play-actor/src/abstract-actor.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [packages/play-actor/src/abstract-actor.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/src/abstract-actor.ts#L100)
|
|
6
6
|
|
|
7
7
|
View metadata for rendering.
|
|
8
8
|
|
|
@@ -13,5 +13,5 @@ Used by PlayRenderer to dynamically render UI based on actor state.
|
|
|
13
13
|
|
|
14
14
|
| Property | Type | Description | Defined in |
|
|
15
15
|
| ------------------------------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
16
|
-
| <a id="property-component"></a> `component` | `string` | Root element type name (for diagnostics and component resolution) | [packages/play-actor/src/abstract-actor.ts:102](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
17
|
-
| <a id="property-spec"></a> `spec` | [`PlaySpec`](PlaySpec.md) | XMachines view spec — extends `@json-render/core` Spec with `contextProps` for explicit context field exposure. Use `typedSpec<TContext>(...)` at the definition site to validate `contextProps` entries against the machine context type. | [packages/play-actor/src/abstract-actor.ts:110](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
16
|
+
| <a id="property-component"></a> `component` | `string` | Root element type name (for diagnostics and component resolution) | [packages/play-actor/src/abstract-actor.ts:102](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/src/abstract-actor.ts#L102) |
|
|
17
|
+
| <a id="property-spec"></a> `spec` | [`PlaySpec`](PlaySpec.md) | XMachines view spec — extends `@json-render/core` Spec with `contextProps` for explicit context field exposure. Use `typedSpec<TContext>(...)` at the definition site to validate `contextProps` entries against the machine context type. | [packages/play-actor/src/abstract-actor.ts:110](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/src/abstract-actor.ts#L110) |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: Viewable
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play-actor/src/abstract-actor.ts:121](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [packages/play-actor/src/abstract-actor.ts:121](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/src/abstract-actor.ts#L121)
|
|
6
6
|
|
|
7
7
|
Actor capability for exposing renderable view state.
|
|
8
8
|
|
|
@@ -15,4 +15,4 @@ framework adapter.
|
|
|
15
15
|
|
|
16
16
|
| Property | Modifier | Type | Description | Defined in |
|
|
17
17
|
| ----------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
18
|
-
| <a id="property-currentview"></a> `currentView` | `readonly` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<[`ViewMetadata`](ViewMetadata.md) \| `null`\> | Current view signal. State signal containing view.component and view.spec from meta.view. Infrastructure renders view — Logic-Driven UI invariant. | [packages/play-actor/src/abstract-actor.ts:128](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
18
|
+
| <a id="property-currentview"></a> `currentView` | `readonly` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<[`ViewMetadata`](ViewMetadata.md) \| `null`\> | Current view signal. State signal containing view.component and view.spec from meta.view. Infrastructure renders view — Logic-Driven UI invariant. | [packages/play-actor/src/abstract-actor.ts:128](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/src/abstract-actor.ts#L128) |
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
[Documentation](../../README.md) / @xmachines/play-actor-shared
|
|
2
|
+
|
|
3
|
+
# play-actor Shared Demo Package
|
|
4
|
+
|
|
5
|
+
Shared auth machine, catalog, and browser test fixtures consumed by all `@xmachines` renderer and router adapter demos.
|
|
6
|
+
|
|
7
|
+
## What This Demonstrates
|
|
8
|
+
|
|
9
|
+
- A single `authMachine` reused across every framework demo without modification
|
|
10
|
+
- Framework-agnostic `authCatalog` defining typed component prop shapes and action param schemas
|
|
11
|
+
- Shared browser test suite (`renderer-demo-browser-suite.ts`) importable by any renderer demo
|
|
12
|
+
- State machine invariants: public routes, protected routes with auth guards, and nested sub-states
|
|
13
|
+
|
|
14
|
+
## Running the Demo
|
|
15
|
+
|
|
16
|
+
This is a shared fixture package — it has no standalone dev server. Run its tests from the repository root:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install
|
|
20
|
+
npm run test -w @xmachines/play-actor-shared
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Step-by-Step Code Flow
|
|
24
|
+
|
|
25
|
+
Use this order to understand the package structure:
|
|
26
|
+
|
|
27
|
+
1. `src/auth-machine.ts` defines the `authMachine` using XState `setup()` with `formatPlayRouteTransitions` — all states include `meta.route` and `meta.view` for router and renderer integration.
|
|
28
|
+
2. `src/catalog.ts` defines `authCatalog` using `defineCatalog` from `@json-render/core` — typed component prop schemas (via Zod) and action param schemas for `login`, `logout`, and all `route*` actions.
|
|
29
|
+
3. `src/index.ts` re-exports `authMachine`, `authCatalog`, and all associated TypeScript types (`AuthActor`, `AuthContext`, `AuthEvents`, `AuthSnapshot`, `AuthCatalog`).
|
|
30
|
+
4. `test/shared-package.test.ts` verifies machine invariants: starts at home, unauthenticated; `auth.login` transitions to `dashboard.overview`; `auth.logout` returns to `home`.
|
|
31
|
+
5. `test/renderer-demo-browser-suite.ts` exports `defineNoRouterDemoBrowserSuite` — a portable browser test helper used by renderer demos that mount `<App />` and assert DOM state.
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
// src/auth-machine.ts (shape)
|
|
35
|
+
export const authMachine = authSetup.createMachine(
|
|
36
|
+
formatPlayRouteTransitions({
|
|
37
|
+
id: "auth",
|
|
38
|
+
initial: "home",
|
|
39
|
+
on: {
|
|
40
|
+
"auth.login": { target: ".dashboard", guard: ({ context }) => !context.isAuthenticated },
|
|
41
|
+
"auth.logout": { target: ".home", guard: ({ context }) => context.isAuthenticated },
|
|
42
|
+
},
|
|
43
|
+
states: {
|
|
44
|
+
home: { meta: { route: "/", view: { component: "Home", spec: { ... } } } },
|
|
45
|
+
login: { meta: { route: "/login", view: { component: "Login", spec: { ... } } } },
|
|
46
|
+
dashboard: {
|
|
47
|
+
meta: { route: "/dashboard" },
|
|
48
|
+
initial: "overview",
|
|
49
|
+
always: { guard: ({ context }) => !context.isAuthenticated, target: "login" },
|
|
50
|
+
states: {
|
|
51
|
+
overview: { meta: { route: "overview", view: { component: "Overview", spec: { ... } } } },
|
|
52
|
+
stats: { meta: { route: "stats", view: { component: "Stats", spec: { ... } } } },
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
profile: { meta: { route: "/profile/:username", view: { component: "Profile", spec: { ... } } } },
|
|
56
|
+
settings: { meta: { route: "/settings/:section?", view: { component: "Settings", spec: { ... } } } },
|
|
57
|
+
},
|
|
58
|
+
}),
|
|
59
|
+
);
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
// src/catalog.ts (shape)
|
|
64
|
+
export const authCatalog = defineCatalog(schema, {
|
|
65
|
+
components: {
|
|
66
|
+
Home: { props: z.object({ title: z.string() }) },
|
|
67
|
+
Login: { props: z.object({ title: z.string() }) },
|
|
68
|
+
Dashboard: { props: z.object({ welcome: z.boolean(), username: z.string() }) },
|
|
69
|
+
Profile: { props: z.object({ username: z.string() }) },
|
|
70
|
+
// ... more components
|
|
71
|
+
},
|
|
72
|
+
actions: {
|
|
73
|
+
login: { params: z.object({ username: z.string() }), description: "Login with username" },
|
|
74
|
+
logout: { description: "Logout and return to home" },
|
|
75
|
+
// ... more actions
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Key Files
|
|
81
|
+
|
|
82
|
+
- `src/auth-machine.ts` - XState auth machine with route metadata, guards, and nested dashboard states
|
|
83
|
+
- `src/catalog.ts` - `authCatalog` with typed component and action schemas
|
|
84
|
+
- `src/index.ts` - public re-exports: `authMachine`, `authCatalog`, all types
|
|
85
|
+
- `src/index.css` - shared demo stylesheet imported by all renderer demos
|
|
86
|
+
- `test/shared-package.test.ts` - machine invariant tests (start state, login, logout)
|
|
87
|
+
- `test/renderer-demo-browser-suite.ts` - portable browser test helper for renderer demos
|
|
88
|
+
|
|
89
|
+
## State Machine & Architecture Details
|
|
90
|
+
|
|
91
|
+
The auth machine embodies XMachines architectural invariants:
|
|
92
|
+
|
|
93
|
+
1. **Actor Authority:** All navigation uses `play.route` events — the machine evaluates each route transition against its current state and guard conditions. Framework adapters never bypass this.
|
|
94
|
+
2. **Passive Infrastructure:** `meta.route` on each state is metadata for the router adapter to read, not a command. The actor drives the URL, not the other way around.
|
|
95
|
+
3. **Signal-Only Reactivity:** The machine exposes `actor.currentView` and `actor.currentRoute` as TC39 Signals. Framework renderers and router adapters observe these signals — they never poll or subscribe to snapshots directly.
|
|
96
|
+
|
|
97
|
+
## Watcher Lifecycle and Cleanup Contract
|
|
98
|
+
|
|
99
|
+
The shared machine itself does not manage watchers — that responsibility belongs to each framework adapter. However, the machine's signal-based architecture requires adapters to follow the canonical lifecycle:
|
|
100
|
+
|
|
101
|
+
1. `notify`
|
|
102
|
+
2. `queueMicrotask`
|
|
103
|
+
3. `getPending()`
|
|
104
|
+
4. Read actor signals and project framework-local state
|
|
105
|
+
5. Re-arm with `watch()`/`watch(...signals)`
|
|
106
|
+
|
|
107
|
+
The `test/renderer-demo-browser-suite.ts` exports `defineNoRouterDemoBrowserSuite`, which each renderer demo uses to assert startup rendering and debug panel state without coupling to framework internals.
|
|
108
|
+
|
|
109
|
+
## Adapter Boundaries
|
|
110
|
+
|
|
111
|
+
This package is pure shared infrastructure: no framework imports, no DOM dependencies. It defines the contract (machine + catalog) that all framework adapters implement against. The `AuthActor` type exported here is the preferred import for components across all framework demos — it decouples component implementations from the concrete machine type.
|
|
112
|
+
|
|
113
|
+
## Available Scripts
|
|
114
|
+
|
|
115
|
+
These commands are defined in `package.json`:
|
|
116
|
+
|
|
117
|
+
| Command | Description |
|
|
118
|
+
| ------------------------------------------------------ | -------------------------------- |
|
|
119
|
+
| `npm run test -w @xmachines/play-actor-shared` | Run Vitest test suite |
|
|
120
|
+
| `npm run test:browser -w @xmachines/play-actor-shared` | Run browser-focused Vitest suite |
|
|
121
|
+
| `npm run build -w @xmachines/play-actor-shared` | Build TypeScript declarations |
|
|
122
|
+
|
|
123
|
+
## Verification
|
|
124
|
+
|
|
125
|
+
Use these checks to validate the shared package invariants:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
npm run test -w @xmachines/play-actor-shared
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Expected result: machine exports, start state, login, and logout invariants all pass.
|
|
132
|
+
|
|
133
|
+
## Learn More
|
|
134
|
+
|
|
135
|
+
- [play-actor package README](../play-actor/README.md)
|
|
136
|
+
|
|
137
|
+
## Interfaces
|
|
138
|
+
|
|
139
|
+
- [AuthContext](interfaces/AuthContext.md)
|
|
140
|
+
|
|
141
|
+
## Type Aliases
|
|
142
|
+
|
|
143
|
+
- [AuthActor](type-aliases/AuthActor.md)
|
|
144
|
+
- [AuthCatalog](type-aliases/AuthCatalog.md)
|
|
145
|
+
- [AuthEvents](type-aliases/AuthEvents.md)
|
|
146
|
+
- [AuthInput](type-aliases/AuthInput.md)
|
|
147
|
+
- [AuthSnapshot](type-aliases/AuthSnapshot.md)
|
|
148
|
+
- [CatalogProps](type-aliases/CatalogProps.md)
|
|
149
|
+
- [InferProps](type-aliases/InferProps.md)
|
|
150
|
+
|
|
151
|
+
## Variables
|
|
152
|
+
|
|
153
|
+
- [authCatalog](variables/authCatalog.md)
|
|
154
|
+
- [authMachine](variables/authMachine.md)
|
|
155
|
+
- [authSetup](variables/authSetup.md)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-actor-shared](../README.md) / AuthContext
|
|
2
|
+
|
|
3
|
+
# Interface: AuthContext
|
|
4
|
+
|
|
5
|
+
Defined in: [packages/play-actor/examples/shared/src/auth-machine.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/examples/shared/src/auth-machine.ts#L27)
|
|
6
|
+
|
|
7
|
+
## Properties
|
|
8
|
+
|
|
9
|
+
| Property | Type | Defined in |
|
|
10
|
+
| ------------------------------------------------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
11
|
+
| <a id="property-isauthenticated"></a> `isAuthenticated` | `boolean` | [packages/play-actor/examples/shared/src/auth-machine.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/examples/shared/src/auth-machine.ts#L28) |
|
|
12
|
+
| <a id="property-params"></a> `params` | `Record`\<`string`, `string`\> | [packages/play-actor/examples/shared/src/auth-machine.ts:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/examples/shared/src/auth-machine.ts#L30) |
|
|
13
|
+
| <a id="property-query"></a> `query` | `Record`\<`string`, `string`\> | [packages/play-actor/examples/shared/src/auth-machine.ts:31](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/examples/shared/src/auth-machine.ts#L31) |
|
|
14
|
+
| <a id="property-username"></a> `username` | `string` \| `null` | [packages/play-actor/examples/shared/src/auth-machine.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/examples/shared/src/auth-machine.ts#L29) |
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-actor-shared](../README.md) / AuthActor
|
|
2
|
+
|
|
3
|
+
# Type Alias: AuthActor
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type AuthActor = PlayerActor<typeof authMachine>;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-actor/examples/shared/src/auth-machine.ts:293](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/examples/shared/src/auth-machine.ts#L293)
|
|
10
|
+
|
|
11
|
+
The actor type for the auth machine.
|
|
12
|
+
|
|
13
|
+
Import this in components and router adapters instead of `typeof authMachine`.
|
|
14
|
+
Components declare their dependency on the capability contract (AuthContext +
|
|
15
|
+
AuthEvents + routing/view signals) without coupling to the concrete machine
|
|
16
|
+
implementation.
|
|
17
|
+
|
|
18
|
+
## Example
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
import type { AuthActor } from "@xmachines/play-actor-shared";
|
|
22
|
+
|
|
23
|
+
function HeaderNav({ actor }: { actor: AuthActor }) {
|
|
24
|
+
const snap = actor.getSnapshot();
|
|
25
|
+
snap.context.username; // typed as string | null — no cast needed
|
|
26
|
+
}
|
|
27
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-actor-shared](../README.md) / AuthCatalog
|
|
2
|
+
|
|
3
|
+
# Type Alias: AuthCatalog
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type AuthCatalog = typeof authCatalog;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-actor/examples/shared/src/catalog.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/examples/shared/src/catalog.ts#L69)
|
|
10
|
+
|
|
11
|
+
The type of the auth catalog — use as the `C` type param in `ComponentFn<AuthCatalog, "X">`,
|
|
12
|
+
`ComponentContext<AuthCatalog, "X">`, and `defineRegistry(authCatalog, ...)`.
|
|
13
|
+
|
|
14
|
+
Prefer this over `typeof authCatalog` at every call site: it's more readable,
|
|
15
|
+
follows the PascalCase convention for types, and insulates components from
|
|
16
|
+
the catalog's runtime representation.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-actor-shared](../README.md) / AuthEvents
|
|
2
|
+
|
|
3
|
+
# Type Alias: AuthEvents
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type AuthEvents =
|
|
7
|
+
| PlayRouteEvent
|
|
8
|
+
| {
|
|
9
|
+
type: "auth.login";
|
|
10
|
+
username: string;
|
|
11
|
+
}
|
|
12
|
+
| {
|
|
13
|
+
type: "auth.logout";
|
|
14
|
+
};
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Defined in: [packages/play-actor/examples/shared/src/auth-machine.ts:36](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/examples/shared/src/auth-machine.ts#L36)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-actor-shared](../README.md) / AuthInput
|
|
2
|
+
|
|
3
|
+
# Type Alias: AuthInput
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type AuthInput = Partial<AuthContext> | undefined;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-actor/examples/shared/src/auth-machine.ts:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/examples/shared/src/auth-machine.ts#L34)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-actor-shared](../README.md) / AuthSnapshot
|
|
2
|
+
|
|
3
|
+
# Type Alias: AuthSnapshot
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type AuthSnapshot = SnapshotFrom<typeof authMachine>;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-actor/examples/shared/src/auth-machine.ts:273](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-actor/examples/shared/src/auth-machine.ts#L273)
|
|
10
|
+
|
|
11
|
+
Snapshot type for the auth machine — use for typed `matches()` calls.
|