@xmachines/docs 1.0.0-beta.33 → 1.0.0-beta.35
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/NonNullableError.md +4 -4
- package/api/@xmachines/play/classes/PlayError.md +4 -4
- package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
- package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
- package/api/@xmachines/play-actor/README.md +18 -19
- package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -3
- package/api/@xmachines/play-actor/functions/typedSpec.md +7 -10
- package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +46 -0
- package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +33 -0
- 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/Viewable.md +4 -4
- package/api/@xmachines/play-dom/README.md +102 -18
- 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/createPlayUI.md +28 -0
- package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
- package/api/@xmachines/play-dom/functions/defineRegistry.md +1 -23
- package/api/@xmachines/play-dom/functions/renderSpec.md +1 -1
- package/api/@xmachines/play-dom/interfaces/ComponentContext.md +9 -9
- package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +19 -11
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +29 -0
- package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +6 -6
- package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +14 -14
- package/api/@xmachines/play-dom/interfaces/EventHandle.md +6 -6
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +14 -0
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +7 -7
- package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +27 -0
- package/api/@xmachines/play-dom/type-aliases/ActionFn.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/Actions.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +7 -7
- package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +1 -1
- 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/DefineRegistryOptions.md +4 -4
- 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/type-aliases/DomSchema.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +25 -0
- package/api/@xmachines/play-dom/type-aliases/RenderErrorHandler.md +23 -0
- package/api/@xmachines/play-dom/type-aliases/SetState.md +1 -1
- package/api/@xmachines/play-dom/variables/schema.md +1 -1
- package/api/@xmachines/play-dom-router/README.md +3 -3
- 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 +3 -3
- 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/{RouteMapLike.md → RouteLookupContract.md} +7 -7
- package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +6 -11
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +8 -8
- 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-react/README.md +165 -48
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
- package/api/@xmachines/play-react/functions/ActionProvider.md +21 -0
- package/api/@xmachines/play-react/functions/JSONUIProvider.md +21 -0
- package/api/@xmachines/play-react/functions/Renderer.md +21 -0
- package/api/@xmachines/play-react/functions/StateProvider.md +27 -0
- package/api/@xmachines/play-react/functions/ValidationProvider.md +21 -0
- package/api/@xmachines/play-react/functions/VisibilityProvider.md +21 -0
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/usePlayView.md +32 -0
- package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
- package/api/@xmachines/play-react/interfaces/ActionProviderProps.md +15 -0
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +27 -0
- package/api/@xmachines/play-react/interfaces/JSONUIProviderProps.md +21 -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/PlayUIProviderProps.md +26 -0
- package/api/@xmachines/play-react/interfaces/RendererProps.md +17 -0
- package/api/@xmachines/play-react/interfaces/StateProviderProps.md +16 -0
- package/api/@xmachines/play-react/interfaces/ValidationProviderProps.md +14 -0
- package/api/@xmachines/play-react/interfaces/ViewContextValue.md +20 -0
- package/api/@xmachines/play-react/interfaces/VisibilityProviderProps.md +13 -0
- package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-react/type-aliases/RenderErrorHandler.md +3 -2
- package/api/@xmachines/play-react/variables/ActorProvider.md +33 -0
- package/api/@xmachines/play-react/variables/PlayRenderer.md +5 -50
- package/api/@xmachines/play-react/variables/PlayUIProvider.md +43 -0
- package/api/@xmachines/play-react-router/README.md +1 -0
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +24 -24
- package/api/@xmachines/play-react-router/classes/RouteMap.md +38 -22
- package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-react-router/functions/createRouteMap.md +21 -0
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +5 -5
- 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 +8 -8
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-router/README.md +6 -6
- package/api/@xmachines/play-router/classes/{BaseRouteMap.md → RouteMap.md} +11 -11
- package/api/@xmachines/play-router/classes/RouterBridgeBase.md +24 -24
- package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +2 -2
- package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
- package/api/@xmachines/play-router/functions/createRouteMap.md +6 -6
- package/api/@xmachines/play-router/functions/createRouteMapFromMachine.md +5 -5
- package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +6 -6
- 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/RouteMapping.md +8 -8
- package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
- package/api/@xmachines/play-router/interfaces/{RouteMap.md → RouteMatcher.md} +13 -13
- 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/type-aliases/WatcherNotify.md +1 -1
- package/api/@xmachines/play-solid/README.md +158 -42
- package/api/@xmachines/play-solid/functions/ActionProvider.md +19 -0
- package/api/@xmachines/play-solid/functions/JSONUIProvider.md +21 -0
- package/api/@xmachines/play-solid/functions/Renderer.md +21 -0
- package/api/@xmachines/play-solid/functions/StateProvider.md +19 -0
- package/api/@xmachines/play-solid/functions/ValidationProvider.md +19 -0
- package/api/@xmachines/play-solid/functions/VisibilityProvider.md +20 -0
- package/api/@xmachines/play-solid/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-solid/functions/useAction.md +24 -0
- package/api/@xmachines/play-solid/functions/useActions.md +13 -0
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/useFieldValidation.md +29 -0
- package/api/@xmachines/play-solid/functions/useIsVisible.md +19 -0
- package/api/@xmachines/play-solid/functions/useOptionalValidation.md +13 -0
- package/api/@xmachines/play-solid/functions/usePlayView.md +30 -0
- package/api/@xmachines/play-solid/functions/useStateBinding.md +25 -0
- package/api/@xmachines/play-solid/functions/useStateStore.md +13 -0
- package/api/@xmachines/play-solid/functions/useStateValue.md +25 -0
- package/api/@xmachines/play-solid/functions/useVisibility.md +13 -0
- package/api/@xmachines/play-solid/interfaces/ActionProviderProps.md +12 -0
- package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +30 -0
- package/api/@xmachines/play-solid/interfaces/DefineRegistryResult.md +15 -0
- package/api/@xmachines/play-solid/interfaces/JSONUIProviderProps.md +21 -0
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +26 -0
- package/api/@xmachines/play-solid/interfaces/RendererProps.md +17 -0
- package/api/@xmachines/play-solid/interfaces/StateProviderProps.md +13 -0
- package/api/@xmachines/play-solid/interfaces/ValidationProviderProps.md +11 -0
- package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +21 -0
- package/api/@xmachines/play-solid/type-aliases/ComponentRegistry.md +17 -0
- package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-solid/type-aliases/RenderErrorHandler.md +3 -2
- package/api/@xmachines/play-solid/type-aliases/SetState.md +21 -0
- package/api/@xmachines/play-solid/type-aliases/VisibilityProviderProps.md +9 -0
- package/api/@xmachines/play-solid/variables/ActorContext.md +13 -0
- package/api/@xmachines/play-solid/variables/ActorProvider.md +27 -0
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +5 -18
- package/api/@xmachines/play-solid/variables/PlayUIProvider.md +26 -0
- package/api/@xmachines/play-solid-router/README.md +2 -2
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +9 -9
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +25 -25
- package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-solid-router/functions/createRouteMap.md +3 -3
- package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -3
- 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 +8 -8
- 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-svelte/README.md +105 -25
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-svelte/functions/getActorContext.md +21 -0
- package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +19 -0
- package/api/@xmachines/play-svelte/functions/setActorContext.md +19 -0
- package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +40 -0
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +6 -6
- package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +24 -0
- package/api/@xmachines/play-svelte/type-aliases/PlayActor.md +9 -0
- package/api/@xmachines/play-svelte/type-aliases/RenderErrorHandler.md +1 -17
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +9 -9
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +3 -3
- 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 +8 -8
- 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 +9 -9
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +3 -3
- 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 +8 -8
- 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/README.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +38 -22
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +24 -24
- package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +7 -39
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +5 -5
- 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 +8 -8
- 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 +4 -4
- package/api/@xmachines/play-tanstack-solid-router/README.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +9 -9
- package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +25 -25
- package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +3 -3
- 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 +8 -8
- 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-vue/README.md +136 -40
- package/api/@xmachines/play-vue/functions/defineRegistry.md +2 -2
- package/api/@xmachines/play-vue/functions/getPlayViewContext.md +28 -0
- package/api/@xmachines/play-vue/functions/useActor.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ActionProviderProps.md +12 -0
- package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +25 -0
- package/api/@xmachines/play-vue/interfaces/DefineRegistryResult.md +15 -0
- package/api/@xmachines/play-vue/interfaces/JSONUIProviderProps.md +20 -0
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +24 -0
- package/api/@xmachines/play-vue/interfaces/RendererProps.md +17 -0
- package/api/@xmachines/play-vue/interfaces/StateProviderProps.md +15 -0
- package/api/@xmachines/play-vue/interfaces/ValidationProviderProps.md +11 -0
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +21 -0
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
- 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/type-aliases/RenderErrorHandler.md +3 -2
- package/api/@xmachines/play-vue/variables/ActionProvider.md +64 -0
- package/api/@xmachines/play-vue/variables/JSONUIProvider.md +96 -0
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-vue/variables/Renderer.md +79 -0
- package/api/@xmachines/play-vue/variables/StateProvider.md +79 -0
- package/api/@xmachines/play-vue/variables/ValidationProvider.md +55 -0
- package/api/@xmachines/play-vue/variables/VisibilityProvider.md +40 -0
- package/api/@xmachines/play-vue-router/README.md +9 -4
- package/api/@xmachines/play-vue-router/classes/RouteMap.md +38 -20
- package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +25 -25
- 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 +8 -8
- 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-xstate/README.md +1 -1
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +26 -26
- 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/README.md +47 -47
- package/api/@xmachines/shared/functions/defineXmVitestConfig.md +1 -1
- package/api/@xmachines/shared/functions/xmAliases.md +1 -1
- package/api/llms.txt +4 -2
- package/examples/@xmachines/play-dom-demo/README.md +44 -24
- package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +4 -3
- package/examples/@xmachines/play-dom-demo/functions/initShell.md +5 -1
- package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/About.md +4 -1
- package/examples/@xmachines/play-dom-demo/variables/Contact.md +4 -1
- package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +5 -1
- package/examples/@xmachines/play-dom-demo/variables/Home.md +5 -1
- package/examples/@xmachines/play-dom-demo/variables/Login.md +5 -1
- package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +8 -1
- package/examples/@xmachines/play-dom-demo/variables/Navigation.md +5 -1
- package/examples/@xmachines/play-dom-demo/variables/Overview.md +5 -1
- package/examples/@xmachines/play-dom-demo/variables/Profile.md +5 -1
- package/examples/@xmachines/play-dom-demo/variables/Settings.md +5 -1
- package/examples/@xmachines/play-dom-demo/variables/Stats.md +5 -1
- package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-dom-router-demo/README.md +26 -22
- package/examples/@xmachines/play-react-demo/README.md +55 -48
- package/examples/@xmachines/play-react-demo/functions/App.md +1 -1
- package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/About.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/Contact.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/Dashboard.md +7 -1
- package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +5 -1
- package/examples/@xmachines/play-react-demo/variables/Home.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/Login.md +8 -1
- package/examples/@xmachines/play-react-demo/variables/NavBar.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/NavBarView.md +7 -1
- package/examples/@xmachines/play-react-demo/variables/Navigation.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/Overview.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/Profile.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/Settings.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/Shell.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/Stats.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-react-router-demo/README.md +5 -3
- package/examples/@xmachines/play-solid-demo/README.md +55 -36
- package/examples/@xmachines/play-solid-demo/functions/App.md +1 -1
- package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +5 -1
- package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +6 -3
- package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Shell.md +5 -1
- package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-solid-router-demo/README.md +6 -4
- package/examples/@xmachines/play-svelte-demo/README.md +34 -21
- package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +9 -0
- package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-demo/variables/App.md +9 -0
- package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +172 -0
- package/examples/@xmachines/play-svelte-spa-router-demo/README.md +10 -12
- package/examples/@xmachines/play-sveltekit-router-demo/README.md +12 -14
- package/examples/@xmachines/play-tanstack-react-router-demo/README.md +3 -3
- package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +4 -4
- package/examples/@xmachines/play-vue-demo/README.md +66 -39
- package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-vue-demo/variables/App.md +9 -0
- package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +172 -0
- package/examples/@xmachines/play-vue-router-demo/README.md +21 -24
- package/examples/README.md +2 -0
- package/examples/form-validation.md +33 -42
- package/guides/README.md +8 -0
- package/guides/actor-model.md +180 -0
- package/guides/getting-started.md +18 -14
- package/guides/signals.md +166 -0
- package/guides/state-machines.md +288 -0
- package/package.json +2 -2
- package/rfc/play.md +81 -54
- package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +0 -17
- package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +0 -24
- package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +0 -24
- package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +0 -22
- package/api/@xmachines/play-svelte/variables/getBoundProp.md +0 -7
- package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +0 -22
- package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +0 -141
- package/api/_media/README.md +0 -321
|
@@ -28,11 +28,12 @@ Then open `http://localhost:5173`.
|
|
|
28
28
|
Use this order to understand the implementation:
|
|
29
29
|
|
|
30
30
|
1. `src/main.tsx` mounts `<App />` to the DOM root via Solid's `render`.
|
|
31
|
-
2. `src/App.tsx`
|
|
32
|
-
3. `defineRegistry(authCatalog, { components, actions })` builds the typed
|
|
33
|
-
4. `<
|
|
34
|
-
5. `
|
|
35
|
-
6.
|
|
31
|
+
2. `src/App.tsx` creates the actor at module scope via `definePlayer({ machine: authMachine })()` and starts it.
|
|
32
|
+
3. `defineRegistry(authCatalog, { components, actions })` builds the typed `registryResult` inside `createMemo` — real async action handlers dispatching to `actor.send()`.
|
|
33
|
+
4. `<PlayUIProvider actor={actor} registryResult={registryResult()}><PlayRenderer /></PlayUIProvider>` observes `actor.currentView` and renders the active spec.
|
|
34
|
+
5. A `NavBar` component observes `actor` signals directly for nav visibility.
|
|
35
|
+
6. `<DebugPanel actor={actor} />` shows live state, auth status, and current route.
|
|
36
|
+
7. Browser tests in `test/browser/` validate startup and interaction behavior.
|
|
36
37
|
|
|
37
38
|
```tsx
|
|
38
39
|
// src/main.tsx (shape)
|
|
@@ -41,39 +42,57 @@ render(() => <App />, document.getElementById("app")!);
|
|
|
41
42
|
|
|
42
43
|
```tsx
|
|
43
44
|
// src/App.tsx (shape)
|
|
44
|
-
const
|
|
45
|
-
const actor = createPlayer() as AuthActor;
|
|
45
|
+
const actor = definePlayer({ machine: authMachine })() as AuthActor;
|
|
46
46
|
actor.start();
|
|
47
47
|
|
|
48
|
-
const { registry } = defineRegistry(authCatalog, {
|
|
49
|
-
components: {
|
|
50
|
-
Home,
|
|
51
|
-
About,
|
|
52
|
-
Contact,
|
|
53
|
-
Login,
|
|
54
|
-
Dashboard,
|
|
55
|
-
Overview,
|
|
56
|
-
Stats,
|
|
57
|
-
Profile,
|
|
58
|
-
Settings,
|
|
59
|
-
Navigation,
|
|
60
|
-
},
|
|
61
|
-
actions: { login: async () => {}, logout: async () => {} },
|
|
62
|
-
});
|
|
63
|
-
|
|
64
48
|
export function App() {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
49
|
+
const registryResult = createMemo(() =>
|
|
50
|
+
defineRegistry(authCatalog, {
|
|
51
|
+
components: {
|
|
52
|
+
Home,
|
|
53
|
+
About,
|
|
54
|
+
Contact,
|
|
55
|
+
Login,
|
|
56
|
+
Dashboard,
|
|
57
|
+
Overview,
|
|
58
|
+
Stats,
|
|
59
|
+
Profile,
|
|
60
|
+
Settings,
|
|
61
|
+
Navigation,
|
|
62
|
+
NavBar: NavBarView,
|
|
63
|
+
},
|
|
64
|
+
actions: {
|
|
65
|
+
login: async (args) =>
|
|
66
|
+
actor.send({
|
|
67
|
+
type: "auth.login",
|
|
68
|
+
username: assertNonNullable(args, "args").username,
|
|
69
|
+
}),
|
|
70
|
+
logout: async () => actor.send({ type: "auth.logout" }),
|
|
71
|
+
route: async (args) => {
|
|
72
|
+
const { to, params } = assertNonNullable(args, "args");
|
|
73
|
+
actor.send({
|
|
74
|
+
type: "play.route",
|
|
75
|
+
to,
|
|
76
|
+
...(params != null && { params }),
|
|
77
|
+
});
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
}),
|
|
81
|
+
);
|
|
68
82
|
|
|
69
83
|
return (
|
|
70
|
-
<
|
|
71
|
-
<
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
84
|
+
<div class="demo-app" data-demo-shell>
|
|
85
|
+
<header class="demo-header">
|
|
86
|
+
<h1 class="demo-title">XMachines Play Solid Demo</h1>
|
|
87
|
+
<NavBar actor={actor} />
|
|
88
|
+
</header>
|
|
89
|
+
<main class="demo-content" data-demo-content>
|
|
90
|
+
<PlayUIProvider actor={actor} registryResult={registryResult()}>
|
|
91
|
+
<PlayRenderer />
|
|
92
|
+
</PlayUIProvider>
|
|
93
|
+
</main>
|
|
94
|
+
<DebugPanel actor={actor} />
|
|
95
|
+
</div>
|
|
77
96
|
);
|
|
78
97
|
}
|
|
79
98
|
```
|
|
@@ -81,7 +100,7 @@ export function App() {
|
|
|
81
100
|
## Key Files
|
|
82
101
|
|
|
83
102
|
- `src/main.tsx` - Vite bootstrap that mounts `<App />` via Solid's `render`
|
|
84
|
-
- `src/App.tsx` - actor lifecycle, registry construction, and `PlayRenderer` composition
|
|
103
|
+
- `src/App.tsx` - actor lifecycle, registry construction, and `PlayUIProvider` + `PlayRenderer` composition
|
|
85
104
|
- `src/components/` - demo view components bound to catalog component keys (Home, Login, Dashboard, Profile, etc.)
|
|
86
105
|
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
87
106
|
- `test/browser/renderer-demo.browser.test.tsx` - browser-mode renderer coverage
|
|
@@ -135,8 +154,8 @@ Expected result: library-pattern invariant tests pass and the browser renderer s
|
|
|
135
154
|
|
|
136
155
|
## Learn More
|
|
137
156
|
|
|
138
|
-
- [SolidJS
|
|
139
|
-
- [Solid Router
|
|
157
|
+
- [SolidJS](../../README.md)
|
|
158
|
+
- [Solid Router](../../../play-solid-router/examples/demo)
|
|
140
159
|
|
|
141
160
|
## Type Aliases
|
|
142
161
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function App(): Element;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/examples/demo/src/App.tsx:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [packages/play-solid/examples/demo/src/App.tsx:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/App.tsx#L34)
|
|
10
10
|
|
|
11
11
|
## Returns
|
|
12
12
|
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
type AuthCatalog = typeof authCatalog;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/examples/demo/src/catalog.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [packages/play-solid/examples/demo/src/catalog.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/catalog.ts#L6)
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
const About: ComponentFn<AuthCatalog, "About">;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/examples/demo/src/components/About.tsx:
|
|
9
|
+
Defined in: [packages/play-solid/examples/demo/src/components/About.tsx:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/components/About.tsx#L9)
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
const Contact: ComponentFn<AuthCatalog, "Contact">;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/examples/demo/src/components/Contact.tsx:
|
|
9
|
+
Defined in: [packages/play-solid/examples/demo/src/components/Contact.tsx:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/components/Contact.tsx#L9)
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
const Dashboard: ComponentFn<AuthCatalog, "Dashboard">;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/examples/demo/src/components/Dashboard.tsx:
|
|
9
|
+
Defined in: [packages/play-solid/examples/demo/src/components/Dashboard.tsx:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/components/Dashboard.tsx#L9)
|
|
@@ -8,4 +8,8 @@ const DebugPanel: Component<{
|
|
|
8
8
|
}>;
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
Defined in: [packages/play-solid/examples/demo/src/components/DebugPanel.tsx:
|
|
11
|
+
Defined in: [packages/play-solid/examples/demo/src/components/DebugPanel.tsx:10](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/components/DebugPanel.tsx#L10)
|
|
12
|
+
|
|
13
|
+
DebugPanel — Live debug footer.
|
|
14
|
+
Observes actor.state and actor.currentRoute via watchSignal;
|
|
15
|
+
cleans up via onCleanup.
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
const Home: ComponentFn<AuthCatalog, "Home">;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/examples/demo/src/components/Home.tsx:
|
|
9
|
+
Defined in: [packages/play-solid/examples/demo/src/components/Home.tsx:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/components/Home.tsx#L9)
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
const Login: ComponentFn<AuthCatalog, "Login">;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/examples/demo/src/components/Login.tsx:
|
|
9
|
+
Defined in: [packages/play-solid/examples/demo/src/components/Login.tsx:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/components/Login.tsx#L12)
|
|
@@ -8,4 +8,4 @@ const NavBar: Component<{
|
|
|
8
8
|
}>;
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
Defined in: [packages/play-solid/examples/demo/src/components/NavBar.tsx:
|
|
11
|
+
Defined in: [packages/play-solid/examples/demo/src/components/NavBar.tsx:15](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/components/NavBar.tsx#L15)
|
|
@@ -6,7 +6,10 @@
|
|
|
6
6
|
const NavBarView: ComponentFn<AuthCatalog, "NavBar">;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/examples/demo/src/components/
|
|
9
|
+
Defined in: [packages/play-solid/examples/demo/src/components/NavBarView.tsx:11](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/components/NavBarView.tsx#L11)
|
|
10
10
|
|
|
11
|
-
Catalog-typed NavBar
|
|
12
|
-
|
|
11
|
+
NavBarView — Catalog-typed NavBar for use in defineRegistry components map.
|
|
12
|
+
|
|
13
|
+
Receives props from the spec (isAuthenticated, username) and renders a
|
|
14
|
+
static status indicator. Navigation buttons live in the shell-level NavBar
|
|
15
|
+
component which calls actor.send() directly.
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
const Navigation: ComponentFn<AuthCatalog, "Navigation">;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/examples/demo/src/components/Navigation.tsx:
|
|
9
|
+
Defined in: [packages/play-solid/examples/demo/src/components/Navigation.tsx:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/components/Navigation.tsx#L9)
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
const Overview: ComponentFn<AuthCatalog, "Overview">;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/examples/demo/src/components/Overview.tsx:
|
|
9
|
+
Defined in: [packages/play-solid/examples/demo/src/components/Overview.tsx:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/components/Overview.tsx#L9)
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
const Profile: ComponentFn<AuthCatalog, "Profile">;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/examples/demo/src/components/Profile.tsx:
|
|
9
|
+
Defined in: [packages/play-solid/examples/demo/src/components/Profile.tsx:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/components/Profile.tsx#L9)
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
const Settings: ComponentFn<AuthCatalog, "Settings">;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/examples/demo/src/components/Settings.tsx:
|
|
9
|
+
Defined in: [packages/play-solid/examples/demo/src/components/Settings.tsx:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/components/Settings.tsx#L9)
|
|
@@ -10,4 +10,8 @@ const Shell: Component<{
|
|
|
10
10
|
}>;
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
Defined in: [packages/play-solid/examples/demo/src/components/Shell.tsx:
|
|
13
|
+
Defined in: [packages/play-solid/examples/demo/src/components/Shell.tsx:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/components/Shell.tsx#L13)
|
|
14
|
+
|
|
15
|
+
Shell — Demo shell layout component.
|
|
16
|
+
Renders standard demo chrome (header + PlayUIProvider/PlayRenderer + DebugPanel).
|
|
17
|
+
Router-agnostic — navigation via play.route events.
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
const Stats: ComponentFn<AuthCatalog, "Stats">;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-solid/examples/demo/src/components/Stats.tsx:
|
|
9
|
+
Defined in: [packages/play-solid/examples/demo/src/components/Stats.tsx:9](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/components/Stats.tsx#L9)
|
|
@@ -169,4 +169,4 @@ const authCatalog: Catalog<
|
|
|
169
169
|
>;
|
|
170
170
|
```
|
|
171
171
|
|
|
172
|
-
Defined in: [packages/play-solid/examples/demo/src/catalog.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
172
|
+
Defined in: [packages/play-solid/examples/demo/src/catalog.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-solid/examples/demo/src/catalog.ts#L5)
|
|
@@ -51,7 +51,9 @@ const routeMap = createRouteMap(authMachine);
|
|
|
51
51
|
actor={actor}
|
|
52
52
|
routeMap={routeMap}
|
|
53
53
|
router={{ navigate, location, params }}
|
|
54
|
-
renderer={(currentActor, currentRouter) =>
|
|
54
|
+
renderer={(currentActor, currentRouter) => (
|
|
55
|
+
<Shell actor={currentActor} router={currentRouter} />
|
|
56
|
+
)}
|
|
55
57
|
/>;
|
|
56
58
|
```
|
|
57
59
|
|
|
@@ -117,6 +119,6 @@ Expected result: library-pattern invariant tests and the browser shared-demo sui
|
|
|
117
119
|
|
|
118
120
|
## Learn More
|
|
119
121
|
|
|
120
|
-
- [Solid Router
|
|
121
|
-
- [SolidJS
|
|
122
|
-
- [TanStack Solid Router
|
|
122
|
+
- [Solid Router](../../README.md)
|
|
123
|
+
- [SolidJS](../../../play-solid)
|
|
124
|
+
- [TanStack Solid Router](../../../play-tanstack-solid-router/examples/demo)
|
|
@@ -29,16 +29,15 @@ Use this order to understand the implementation:
|
|
|
29
29
|
|
|
30
30
|
1. `src/main.ts` calls `definePlayer({ machine: authMachine })`, starts the actor, and mounts `App.svelte` via Svelte's `mount`.
|
|
31
31
|
2. The actor is passed to `App` as a prop.
|
|
32
|
-
3. `src/App.svelte` calls `defineRegistry(authCatalog, { components, actions })` to build the typed
|
|
33
|
-
4. `App.svelte` delegates to `Shell.svelte`,
|
|
34
|
-
5. `Shell.svelte`
|
|
32
|
+
3. `src/App.svelte` calls `defineRegistry(authCatalog, { components, actions })` to build the typed `registryResult` — real async action handlers dispatching to `actor.send()`.
|
|
33
|
+
4. `App.svelte` delegates to `Shell.svelte`, passing both `actor` and `registryResult`.
|
|
34
|
+
5. `Shell.svelte` renders `<PlayUIProvider><PlayRenderer /></PlayUIProvider>`, `<NavBar>`, and `<DebugPanel>` — the latter two observe actor signals directly.
|
|
35
35
|
6. HMR cleanup calls `actor.stop()` via `import.meta.hot.dispose`.
|
|
36
36
|
7. Browser tests in `test/browser/` validate startup and interaction behavior.
|
|
37
37
|
|
|
38
38
|
```ts
|
|
39
39
|
// src/main.ts (shape)
|
|
40
|
-
const
|
|
41
|
-
const actor = createPlayer();
|
|
40
|
+
const actor = definePlayer({ machine: authMachine })();
|
|
42
41
|
actor.start();
|
|
43
42
|
|
|
44
43
|
mount(App, { target: document.getElementById("app")!, props: { actor } });
|
|
@@ -47,30 +46,34 @@ mount(App, { target: document.getElementById("app")!, props: { actor } });
|
|
|
47
46
|
```svelte
|
|
48
47
|
<!-- src/App.svelte (shape) -->
|
|
49
48
|
<script lang="ts">
|
|
50
|
-
let { actor } = $props();
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
let { actor }: { actor: AuthActor } = $props();
|
|
50
|
+
|
|
51
|
+
const registryResult = defineRegistry(authCatalog, {
|
|
52
|
+
components: {
|
|
53
|
+
Home, About, Contact, Login, Dashboard,
|
|
54
|
+
Overview, Stats, Profile, Settings, Navigation,
|
|
55
|
+
NavBar: NavBarView,
|
|
56
|
+
},
|
|
57
|
+
actions: {
|
|
58
|
+
login: async (args) =>
|
|
59
|
+
actor.send({ type: "auth.login", username: assertNonNullable(args, "args").username }),
|
|
60
|
+
logout: async () => actor.send({ type: "auth.logout" }),
|
|
61
|
+
route: async (args) => {
|
|
62
|
+
const { to, params } = assertNonNullable(args, "args");
|
|
63
|
+
actor.send({ type: "play.route", to, ...(params != null && { params }) });
|
|
64
|
+
},
|
|
65
|
+
},
|
|
54
66
|
});
|
|
55
67
|
</script>
|
|
56
68
|
|
|
57
|
-
<Shell {actor} {
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
```svelte
|
|
61
|
-
<!-- src/components/Shell.svelte (shape) -->
|
|
62
|
-
<PlayRenderer
|
|
63
|
-
actor={props.actor}
|
|
64
|
-
registry={props.registry}
|
|
65
|
-
actions={{ login: "auth.login", logout: "auth.logout" }}
|
|
66
|
-
/>
|
|
69
|
+
<Shell {actor} {registryResult} />
|
|
67
70
|
```
|
|
68
71
|
|
|
69
72
|
## Key Files
|
|
70
73
|
|
|
71
74
|
- `src/main.ts` - actor creation/start and Svelte app mount with actor as prop
|
|
72
75
|
- `src/App.svelte` - registry construction, delegates rendering to `Shell.svelte`
|
|
73
|
-
- `src/components/Shell.svelte` - shared shell with `PlayRenderer`, `HeaderNav`, and `DebugPanel`
|
|
76
|
+
- `src/components/Shell.svelte` - shared shell with `PlayUIProvider` + `PlayRenderer`, `HeaderNav`, and `DebugPanel`
|
|
74
77
|
- `src/components/` - demo view Svelte components bound to catalog component keys
|
|
75
78
|
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
76
79
|
- `test/browser/renderer-demo.browser.test.ts` - browser-mode renderer coverage
|
|
@@ -124,4 +127,14 @@ Expected result: library-pattern invariant tests pass and the browser renderer s
|
|
|
124
127
|
|
|
125
128
|
## Learn More
|
|
126
129
|
|
|
127
|
-
- [Svelte
|
|
130
|
+
- [Svelte](../../README.md)
|
|
131
|
+
|
|
132
|
+
## Type Aliases
|
|
133
|
+
|
|
134
|
+
- [App](type-aliases/App.md)
|
|
135
|
+
- [AuthCatalog](type-aliases/AuthCatalog.md)
|
|
136
|
+
|
|
137
|
+
## Variables
|
|
138
|
+
|
|
139
|
+
- [App](variables/App.md)
|
|
140
|
+
- [authCatalog](variables/authCatalog.md)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-svelte-demo](../README.md) / AuthCatalog
|
|
2
|
+
|
|
3
|
+
# Type Alias: AuthCatalog
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type AuthCatalog = typeof authCatalog;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-svelte/examples/demo/src/catalog.ts:6](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-svelte/examples/demo/src/catalog.ts#L6)
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-svelte-demo](../README.md) / authCatalog
|
|
2
|
+
|
|
3
|
+
# Variable: authCatalog
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
const authCatalog: Catalog<
|
|
7
|
+
{
|
|
8
|
+
catalog: SchemaType<
|
|
9
|
+
"object",
|
|
10
|
+
{
|
|
11
|
+
actions: SchemaType<
|
|
12
|
+
"map",
|
|
13
|
+
{
|
|
14
|
+
description: SchemaType<"string", unknown>;
|
|
15
|
+
params: SchemaType<"zod", unknown>;
|
|
16
|
+
}
|
|
17
|
+
>;
|
|
18
|
+
components: SchemaType<
|
|
19
|
+
"map",
|
|
20
|
+
{
|
|
21
|
+
description: SchemaType<"string", unknown>;
|
|
22
|
+
example: SchemaType<"any", unknown>;
|
|
23
|
+
props: SchemaType<"zod", unknown>;
|
|
24
|
+
slots: SchemaType<"array", SchemaType<"string", unknown>>;
|
|
25
|
+
}
|
|
26
|
+
>;
|
|
27
|
+
}
|
|
28
|
+
>;
|
|
29
|
+
spec: SchemaType<
|
|
30
|
+
"object",
|
|
31
|
+
{
|
|
32
|
+
elements: SchemaType<
|
|
33
|
+
"record",
|
|
34
|
+
SchemaType<
|
|
35
|
+
"object",
|
|
36
|
+
{
|
|
37
|
+
children: SchemaType<"array", SchemaType<"string", unknown>>;
|
|
38
|
+
props: SchemaType<"propsOf", string>;
|
|
39
|
+
type: SchemaType<"ref", string>;
|
|
40
|
+
visible: SchemaType<"any", unknown>;
|
|
41
|
+
}
|
|
42
|
+
>
|
|
43
|
+
>;
|
|
44
|
+
root: SchemaType<"string", unknown>;
|
|
45
|
+
}
|
|
46
|
+
>;
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
actions: {
|
|
50
|
+
login: {
|
|
51
|
+
description: "Login with username";
|
|
52
|
+
params: ZodObject<
|
|
53
|
+
{
|
|
54
|
+
username: ZodString;
|
|
55
|
+
},
|
|
56
|
+
$strip
|
|
57
|
+
>;
|
|
58
|
+
};
|
|
59
|
+
logout: {
|
|
60
|
+
description: "Logout and return to home";
|
|
61
|
+
};
|
|
62
|
+
route: {
|
|
63
|
+
description: "Navigate to a route by path (e.g. '#home', '#login', '#dashboard')";
|
|
64
|
+
params: ZodObject<
|
|
65
|
+
{
|
|
66
|
+
params: ZodOptional<ZodRecord<ZodString, ZodString>>;
|
|
67
|
+
to: ZodString;
|
|
68
|
+
},
|
|
69
|
+
$strip
|
|
70
|
+
>;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
components: {
|
|
74
|
+
About: {
|
|
75
|
+
props: ZodObject<
|
|
76
|
+
{
|
|
77
|
+
title: ZodString;
|
|
78
|
+
},
|
|
79
|
+
$strip
|
|
80
|
+
>;
|
|
81
|
+
};
|
|
82
|
+
Contact: {
|
|
83
|
+
props: ZodObject<
|
|
84
|
+
{
|
|
85
|
+
title: ZodString;
|
|
86
|
+
},
|
|
87
|
+
$strip
|
|
88
|
+
>;
|
|
89
|
+
};
|
|
90
|
+
Dashboard: {
|
|
91
|
+
props: ZodObject<
|
|
92
|
+
{
|
|
93
|
+
username: ZodString;
|
|
94
|
+
welcome: ZodBoolean;
|
|
95
|
+
},
|
|
96
|
+
$strip
|
|
97
|
+
>;
|
|
98
|
+
};
|
|
99
|
+
Home: {
|
|
100
|
+
props: ZodObject<
|
|
101
|
+
{
|
|
102
|
+
title: ZodString;
|
|
103
|
+
},
|
|
104
|
+
$strip
|
|
105
|
+
>;
|
|
106
|
+
};
|
|
107
|
+
Login: {
|
|
108
|
+
props: ZodObject<
|
|
109
|
+
{
|
|
110
|
+
title: ZodString;
|
|
111
|
+
username: ZodOptional<ZodString>;
|
|
112
|
+
},
|
|
113
|
+
$strip
|
|
114
|
+
>;
|
|
115
|
+
};
|
|
116
|
+
NavBar: {
|
|
117
|
+
props: ZodObject<
|
|
118
|
+
{
|
|
119
|
+
isAuthenticated: ZodBoolean;
|
|
120
|
+
username: ZodNullable<ZodString>;
|
|
121
|
+
},
|
|
122
|
+
$strip
|
|
123
|
+
>;
|
|
124
|
+
};
|
|
125
|
+
Navigation: {
|
|
126
|
+
props: ZodObject<
|
|
127
|
+
{
|
|
128
|
+
currentPath: ZodString;
|
|
129
|
+
isAuthenticated: ZodBoolean;
|
|
130
|
+
},
|
|
131
|
+
$strip
|
|
132
|
+
>;
|
|
133
|
+
};
|
|
134
|
+
Overview: {
|
|
135
|
+
props: ZodObject<
|
|
136
|
+
{
|
|
137
|
+
title: ZodString;
|
|
138
|
+
},
|
|
139
|
+
$strip
|
|
140
|
+
>;
|
|
141
|
+
};
|
|
142
|
+
Profile: {
|
|
143
|
+
props: ZodObject<
|
|
144
|
+
{
|
|
145
|
+
username: ZodString;
|
|
146
|
+
},
|
|
147
|
+
$strip
|
|
148
|
+
>;
|
|
149
|
+
};
|
|
150
|
+
Settings: {
|
|
151
|
+
props: ZodObject<
|
|
152
|
+
{
|
|
153
|
+
section: ZodOptional<ZodString>;
|
|
154
|
+
username: ZodString;
|
|
155
|
+
},
|
|
156
|
+
$strip
|
|
157
|
+
>;
|
|
158
|
+
};
|
|
159
|
+
Stats: {
|
|
160
|
+
props: ZodObject<
|
|
161
|
+
{
|
|
162
|
+
title: ZodString;
|
|
163
|
+
},
|
|
164
|
+
$strip
|
|
165
|
+
>;
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
>;
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Defined in: [packages/play-svelte/examples/demo/src/catalog.ts:5](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.35/packages/play-svelte/examples/demo/src/catalog.ts#L5)
|
|
@@ -31,7 +31,7 @@ Use this order to understand the implementation:
|
|
|
31
31
|
2. `src/lib/router.ts` creates the actor, builds the registry, calls `createRouteMap(authMachine)`, and wires `connectRouter({ actor, routeMap })`.
|
|
32
32
|
3. `connectRouter` synchronizes hash URL changes with the actor via `play.route` events and reflects actor-approved routes back to the hash URL.
|
|
33
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 `<
|
|
34
|
+
5. `Shell.svelte` renders `<PlayUIProvider>` + `<PlayRenderer />` with the actor and registryResult and provides the shared UI shell (nav, debug panel).
|
|
35
35
|
6. Browser tests in `test/browser/` validate startup and auth route transitions.
|
|
36
36
|
|
|
37
37
|
```ts
|
|
@@ -52,20 +52,18 @@ export function cleanupDemo(): void {
|
|
|
52
52
|
```svelte
|
|
53
53
|
<!-- src/App.svelte (shape) -->
|
|
54
54
|
<script lang="ts">
|
|
55
|
-
import Shell from "@xmachines/play-svelte-demo
|
|
56
|
-
import { actor,
|
|
55
|
+
import { Shell } from "@xmachines/play-svelte-demo";
|
|
56
|
+
import { actor, registryResult } from "./lib/router.js";
|
|
57
57
|
</script>
|
|
58
58
|
|
|
59
|
-
<Shell {actor} {
|
|
59
|
+
<Shell {actor} {registryResult} />
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
```svelte
|
|
63
|
-
<!-- Shell.svelte —
|
|
64
|
-
<
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
actions={{ login: "auth.login", logout: "auth.logout" }}
|
|
68
|
-
/>
|
|
63
|
+
<!-- Shell.svelte — rendering (shape) -->
|
|
64
|
+
<PlayUIProvider actor={props.actor} registryResult={props.registryResult}>
|
|
65
|
+
<PlayRenderer />
|
|
66
|
+
</PlayUIProvider>
|
|
69
67
|
```
|
|
70
68
|
|
|
71
69
|
## Key Files
|
|
@@ -125,5 +123,5 @@ Expected result: library-pattern invariant tests pass and the browser demo suite
|
|
|
125
123
|
|
|
126
124
|
## Learn More
|
|
127
125
|
|
|
128
|
-
- [Svelte SPA Router
|
|
129
|
-
- [Svelte
|
|
126
|
+
- [Svelte SPA Router](../../README.md)
|
|
127
|
+
- [Svelte](../../../play-svelte)
|