@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: PlayRenderer
|
|
4
4
|
|
|
5
|
-
Defined in: [PlayRenderer.ts:
|
|
5
|
+
Defined in: [PlayRenderer.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/PlayRenderer.ts#L40)
|
|
6
6
|
|
|
7
7
|
PlayRenderer connects an actor's currentView signal to the DOM renderer.
|
|
8
8
|
|
|
@@ -34,7 +34,7 @@ new PlayRenderer(
|
|
|
34
34
|
options?): PlayRenderer;
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
Defined in: [PlayRenderer.ts:
|
|
37
|
+
Defined in: [PlayRenderer.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/PlayRenderer.ts#L52)
|
|
38
38
|
|
|
39
39
|
#### Parameters
|
|
40
40
|
|
|
@@ -57,7 +57,7 @@ Defined in: [PlayRenderer.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/bl
|
|
|
57
57
|
connect(): void;
|
|
58
58
|
```
|
|
59
59
|
|
|
60
|
-
Defined in: [PlayRenderer.ts:
|
|
60
|
+
Defined in: [PlayRenderer.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/PlayRenderer.ts#L63)
|
|
61
61
|
|
|
62
62
|
Start watching actor.currentView and render to container.
|
|
63
63
|
Renders the initial view synchronously, then subscribes to signal changes.
|
|
@@ -74,7 +74,7 @@ Renders the initial view synchronously, then subscribes to signal changes.
|
|
|
74
74
|
disconnect(): void;
|
|
75
75
|
```
|
|
76
76
|
|
|
77
|
-
Defined in: [PlayRenderer.ts:
|
|
77
|
+
Defined in: [PlayRenderer.ts:71](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/PlayRenderer.ts#L71)
|
|
78
78
|
|
|
79
79
|
Stop watching and clear the container.
|
|
80
80
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function connectRenderer(options): () => void;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [connect-renderer.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [connect-renderer.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/connect-renderer.ts#L46)
|
|
10
10
|
|
|
11
11
|
Connect a signal-driven DOM renderer to an actor's currentView signal.
|
|
12
12
|
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-dom](../README.md) / defineRegistry
|
|
2
|
+
|
|
3
|
+
# Function: defineRegistry()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function defineRegistry<C>(_catalog, options): DefineRegistryResult;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [json-render/types.ts:351](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L351)
|
|
10
|
+
|
|
11
|
+
Build a `DomRegistry` from a catalog and component/action options.
|
|
12
|
+
|
|
13
|
+
Mirrors the `defineRegistry(catalog, options)` API from @json-render/react,
|
|
14
|
+
/solid, /svelte, /vue. The catalog parameter is used for TypeScript inference
|
|
15
|
+
only (the same as in the framework renderers — it is not used at runtime).
|
|
16
|
+
|
|
17
|
+
Each component in `options.components` is wrapped in a `DomComponentRenderer`
|
|
18
|
+
adapter that:
|
|
19
|
+
|
|
20
|
+
- Resolves props and two-way binding paths via `@json-render/core`
|
|
21
|
+
- Builds `emit(event)` and `on(event)` closures over the element's `on` map
|
|
22
|
+
- Renders child elements via `ctx.renderChildren`
|
|
23
|
+
- Passes the assembled `ComponentContext` to your `ComponentFn`
|
|
24
|
+
|
|
25
|
+
The `actions` map is passed through as `actorActions` so the caller does not
|
|
26
|
+
need to manage it separately.
|
|
27
|
+
|
|
28
|
+
## Type Parameters
|
|
29
|
+
|
|
30
|
+
| Type Parameter |
|
|
31
|
+
| ------------------------------------------------------------------------------------------------------------------------------------ |
|
|
32
|
+
| `C` _extends_ `Catalog`\<`SchemaDefinition`\<`SchemaType`\<`string`, `unknown`\>, `SchemaType`\<`string`, `unknown`\>\>, `unknown`\> |
|
|
33
|
+
|
|
34
|
+
## Parameters
|
|
35
|
+
|
|
36
|
+
| Parameter | Type |
|
|
37
|
+
| ---------- | ------------------------------------------------------------------------ |
|
|
38
|
+
| `_catalog` | `C` |
|
|
39
|
+
| `options` | [`DefineRegistryOptions`](../interfaces/DefineRegistryOptions.md)\<`C`\> |
|
|
40
|
+
|
|
41
|
+
## Returns
|
|
42
|
+
|
|
43
|
+
[`DefineRegistryResult`](../interfaces/DefineRegistryResult.md)
|
|
44
|
+
|
|
45
|
+
## Example
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
import { defineRegistry } from "@xmachines/play-dom";
|
|
49
|
+
import { authCatalog } from "@xmachines/play-actor-shared";
|
|
50
|
+
import { Home, Login, Dashboard } from "./components/index.js";
|
|
51
|
+
|
|
52
|
+
const { registry, actorActions } = defineRegistry(authCatalog, {
|
|
53
|
+
components: { Home, Login, Dashboard, ... },
|
|
54
|
+
actions: {
|
|
55
|
+
login: "auth.login",
|
|
56
|
+
logout: "auth.logout",
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
connectRenderer({ actor, registry, container, actions: actorActions });
|
|
61
|
+
```
|
|
@@ -3,26 +3,43 @@
|
|
|
3
3
|
# Function: renderSpec()
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
|
-
function renderSpec(spec, store, registry, send,
|
|
6
|
+
function renderSpec(spec, store, registry, send, actorActions): Node | null;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [
|
|
9
|
+
Defined in: [json-render/renderer.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/renderer.ts#L54)
|
|
10
10
|
|
|
11
|
-
Render a Spec tree into DOM nodes using the provided DomRegistry
|
|
11
|
+
Render a Spec tree into DOM nodes using the provided `DomRegistry`.
|
|
12
|
+
|
|
13
|
+
Traverses the spec from `spec.root`, evaluates visibility, resolves all prop
|
|
14
|
+
expressions (including `$state`, `$bindState`, `$computed`, `$template`, etc.),
|
|
15
|
+
and calls the matching `DomComponentRenderer` for each visible element.
|
|
16
|
+
|
|
17
|
+
Event wiring and child rendering are handled inside the component wrapper
|
|
18
|
+
built by `defineRegistry` — this function only orchestrates the traversal.
|
|
12
19
|
|
|
13
20
|
## Parameters
|
|
14
21
|
|
|
15
|
-
| Parameter | Type
|
|
16
|
-
| -------------- |
|
|
17
|
-
| `spec` | `Spec`
|
|
18
|
-
| `store` | `StateStore`
|
|
19
|
-
| `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md)
|
|
20
|
-
| `send` | (`event`) => `void`
|
|
21
|
-
| `
|
|
22
|
-
| `actorActions` | `Record`\<`string`, `string`\> | Map of json-render action names → XState event types |
|
|
22
|
+
| Parameter | Type | Description |
|
|
23
|
+
| -------------- | ----------------------------------------------- | ---------------------------------------------------- |
|
|
24
|
+
| `spec` | `Spec` | The json-render `Spec` describing the UI tree. |
|
|
25
|
+
| `store` | `StateStore` | Live `StateStore` bound to `spec.state`. |
|
|
26
|
+
| `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | Map of element type names → `DomComponentRenderer`. |
|
|
27
|
+
| `send` | (`event`) => `void` | Dispatcher for interaction events (e.g. actor.send). |
|
|
28
|
+
| `actorActions` | `Record`\<`string`, `string`\> | Map of catalog action names → event type strings. |
|
|
23
29
|
|
|
24
30
|
## Returns
|
|
25
31
|
|
|
26
32
|
`Node` \| `null`
|
|
27
33
|
|
|
28
|
-
The root DOM
|
|
34
|
+
The root DOM `Node`, or `null` if the root is invisible
|
|
35
|
+
or has no registered renderer.
|
|
36
|
+
|
|
37
|
+
## Example
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
const node = renderSpec(spec, store, registry, actor.send.bind(actor), {
|
|
41
|
+
login: "auth.login",
|
|
42
|
+
logout: "auth.logout",
|
|
43
|
+
});
|
|
44
|
+
if (node) container.appendChild(node);
|
|
45
|
+
```
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-dom](../README.md) / ComponentContext
|
|
2
|
+
|
|
3
|
+
# Interface: ComponentContext\<C, K\>
|
|
4
|
+
|
|
5
|
+
Defined in: [json-render/types.ts:152](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L152)
|
|
6
|
+
|
|
7
|
+
Catalog-typed context passed to each DOM component function.
|
|
8
|
+
|
|
9
|
+
Mirrors the `ComponentContext<C, K>` shape from @json-render/react, /solid,
|
|
10
|
+
/svelte, /vue with three DOM-specific adaptations:
|
|
11
|
+
|
|
12
|
+
- `children` is `Node[]` instead of a framework node/snippet/slot
|
|
13
|
+
- `bindings` is `Record<string, string> | undefined` (path strings for DOM
|
|
14
|
+
consumers that implement their own two-way binding, e.g. input value ↔ store)
|
|
15
|
+
- `ctx` (low-level `DomRenderContext`) is exposed for advanced use cases
|
|
16
|
+
(framework renderers do not expose this)
|
|
17
|
+
|
|
18
|
+
## Example
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
const Login: ComponentFn<AuthCatalog, "Login"> = ({ props, emit, on, bindings }) => {
|
|
22
|
+
const section = document.createElement("section");
|
|
23
|
+
|
|
24
|
+
const input = document.createElement("input");
|
|
25
|
+
input.value = props.username ?? "";
|
|
26
|
+
|
|
27
|
+
// Two-way binding: write back to state store when input changes
|
|
28
|
+
if (bindings?.username) {
|
|
29
|
+
input.addEventListener("input", () => {
|
|
30
|
+
// bindings.username contains the store path e.g. "/username"
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const btn = document.createElement("button");
|
|
35
|
+
const handle = on("submit");
|
|
36
|
+
btn.addEventListener("click", (e) => {
|
|
37
|
+
if (handle.shouldPreventDefault) e.preventDefault();
|
|
38
|
+
handle.emit();
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
section.append(input, btn);
|
|
42
|
+
return section;
|
|
43
|
+
};
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Type Parameters
|
|
47
|
+
|
|
48
|
+
| Type Parameter |
|
|
49
|
+
| --------------------------------------------------- |
|
|
50
|
+
| `C` _extends_ `Catalog` |
|
|
51
|
+
| `K` _extends_ keyof `InferCatalogComponents`\<`C`\> |
|
|
52
|
+
|
|
53
|
+
## Properties
|
|
54
|
+
|
|
55
|
+
| Property | Type | Description | Defined in |
|
|
56
|
+
| ----------------------------------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
57
|
+
| <a id="property-bindings"></a> `bindings` | `Record`\<`string`, `string`\> \| `undefined` | Two-way binding paths resolved from `$bindState` / `$bindItem` prop expressions. Keys match prop names that had `$bindState`/`$bindItem` expressions in the spec; values are the absolute state-store paths to write back to on user input. `undefined` when no bindings were found for this element. | [json-render/types.ts:168](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L168) |
|
|
58
|
+
| <a id="property-children"></a> `children` | `Node`[] | Rendered child nodes from the spec's `children` list. Append these into the returned element where children should appear. | [json-render/types.ts:159](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L159) |
|
|
59
|
+
| <a id="property-ctx"></a> `ctx` | [`DomRenderContext`](DomRenderContext.md) | Low-level render context. Exposes `send`, `store`, `actorActions`, and `renderChildren` for advanced use cases. Framework renderers do not expose this field — prefer `emit`/`on` for event dispatch and `children` for child rendering. | [json-render/types.ts:206](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L206) |
|
|
60
|
+
| <a id="property-emit"></a> `emit` | (`event`) => `void` | Dispatch a named event defined in the spec's `on` map. Resolves the catalog action binding, applies param expressions against the current state store, and calls `send()` with the mapped XState event type. **Example** `btn.addEventListener("click", () => emit("submit"));` | [json-render/types.ts:180](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L180) |
|
|
61
|
+
| <a id="property-on"></a> `on` | (`event`) => [`EventHandle`](EventHandle.md) | Get an `EventHandle` for a named event from the spec's `on` map. Use when you need `shouldPreventDefault` or want to check whether an `on` binding exists before attaching a listener. **Example** `const handle = on("submit"); if (handle.bound) { form.addEventListener("submit", (e) => { if (handle.shouldPreventDefault) e.preventDefault(); handle.emit(); }); }` | [json-render/types.ts:198](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L198) |
|
|
62
|
+
| <a id="property-props"></a> `props` | `InferComponentProps`\<`C`, `K`\> | Catalog-typed, store-resolved props for this component. | [json-render/types.ts:154](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L154) |
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: ConnectRendererOptions
|
|
4
4
|
|
|
5
|
-
Defined in: [types.ts:
|
|
5
|
+
Defined in: [xm-types.ts:35](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L35)
|
|
6
6
|
|
|
7
7
|
Options for connectRenderer() — backward compat API.
|
|
8
8
|
|
|
9
9
|
## Properties
|
|
10
10
|
|
|
11
|
-
| Property | Type | Description | Defined in
|
|
12
|
-
| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
13
|
-
| <a id="property-actions"></a> `actions?` | `Record`\<`string`, `string`\> | Map of json-render actionName → XState event type | [types.ts:
|
|
14
|
-
| <a id="property-actor"></a> `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Viewable`](../../play-actor/interfaces/Viewable.md) | Actor instance with currentView signal (requires Viewable capability) | [types.ts:
|
|
15
|
-
| <a id="property-container"></a> `container` | `HTMLElement` | Container element to render into | [types.ts:
|
|
16
|
-
| <a id="property-fallback"></a> `fallback?` | `HTMLElement` \| `null` | Optional element shown when currentView is null (defaults to nothing — clears container) | [types.ts:
|
|
17
|
-
| <a id="property-registry"></a> `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | Registry of component renderers — replaces old `components` map | [types.ts:
|
|
18
|
-
| <a id="property-store"></a> `store?` | `StateStore` | Optional external StateStore (e.g. from `xstateStoreStateStore` in @json-render/xstate). When provided, PlayRenderer operates in controlled mode — spec.state is ignored. When omitted, a fresh @xstate/store atom is created internally per view transition. | [types.ts:
|
|
11
|
+
| Property | Type | Description | Defined in |
|
|
12
|
+
| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
|
|
13
|
+
| <a id="property-actions"></a> `actions?` | `Record`\<`string`, `string`\> | Map of json-render actionName → XState event type | [xm-types.ts:49](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L49) |
|
|
14
|
+
| <a id="property-actor"></a> `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<[`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic), [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Viewable`](../../play-actor/interfaces/Viewable.md) | Actor instance with currentView signal (requires Viewable capability) | [xm-types.ts:37](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L37) |
|
|
15
|
+
| <a id="property-container"></a> `container` | `HTMLElement` | Container element to render into | [xm-types.ts:43](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L43) |
|
|
16
|
+
| <a id="property-fallback"></a> `fallback?` | `HTMLElement` \| `null` | Optional element shown when currentView is null (defaults to nothing — clears container) | [xm-types.ts:46](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L46) |
|
|
17
|
+
| <a id="property-registry"></a> `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | Registry of component renderers — replaces old `components` map | [xm-types.ts:40](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L40) |
|
|
18
|
+
| <a id="property-store"></a> `store?` | `StateStore` | Optional external StateStore (e.g. from `xstateStoreStateStore` in @json-render/xstate). When provided, PlayRenderer operates in controlled mode — spec.state is ignored. When omitted, a fresh @xstate/store atom is created internally per view transition. | [xm-types.ts:56](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L56) |
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-dom](../README.md) / DefineRegistryOptions
|
|
2
|
+
|
|
3
|
+
# Interface: DefineRegistryOptions\<C\>
|
|
4
|
+
|
|
5
|
+
Defined in: [json-render/types.ts:275](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L275)
|
|
6
|
+
|
|
7
|
+
Options for `defineRegistry`.
|
|
8
|
+
|
|
9
|
+
Mirrors `DefineRegistryOptions<C>` from @json-render/react, /solid, /svelte, /vue
|
|
10
|
+
with one intentional difference: `actions` is a `Record<string, string>` event-type
|
|
11
|
+
map rather than async handler functions, because the DOM renderer dispatches events
|
|
12
|
+
directly via `send()` to an XState actor instead of calling framework action handlers.
|
|
13
|
+
|
|
14
|
+
## Type Parameters
|
|
15
|
+
|
|
16
|
+
| Type Parameter |
|
|
17
|
+
| ----------------------- |
|
|
18
|
+
| `C` _extends_ `Catalog` |
|
|
19
|
+
|
|
20
|
+
## Properties
|
|
21
|
+
|
|
22
|
+
| Property | Type | Description | Defined in |
|
|
23
|
+
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
24
|
+
| <a id="property-actions"></a> `actions?` | `InferCatalogActions`\<`C`\> _extends_ `Record`\<`string`, `never`\> ? `Record`\<`string`, `string`\> : `Record`\<keyof `InferCatalogActions`\<`C`\>, `string`\> | Map of catalog action name → XState event type string. When a spec element fires `emit("login")`, the DOM renderer looks up `actions.login` (e.g. `"auth.login"`) and calls `send({ type: "auth.login", ...params })`. In the framework renderers this field holds async handler functions. In the DOM renderer it is a simpler string map because routing to the actor is handled by the XMachines play-dom layer rather than inside the json-render action system. | [json-render/types.ts:291](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L291) |
|
|
25
|
+
| <a id="property-components"></a> `components?` | [`ComponentRegistry`](../type-aliases/ComponentRegistry.md)\<`C`\> | Catalog-typed component implementations. Each key must match a component declared in the catalog. | [json-render/types.ts:280](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L280) |
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-dom](../README.md) / DefineRegistryResult
|
|
2
|
+
|
|
3
|
+
# Interface: DefineRegistryResult
|
|
4
|
+
|
|
5
|
+
Defined in: [json-render/types.ts:303](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L303)
|
|
6
|
+
|
|
7
|
+
Result returned by `defineRegistry`.
|
|
8
|
+
|
|
9
|
+
Mirrors the `{ registry }` field from @json-render/react, /solid, /svelte, /vue.
|
|
10
|
+
The DOM result also exposes `actorActions` — the resolved event-type map — so
|
|
11
|
+
callers can pass it directly to `connectRenderer` or `PlayRenderer`.
|
|
12
|
+
|
|
13
|
+
## Properties
|
|
14
|
+
|
|
15
|
+
| Property | Type | Description | Defined in |
|
|
16
|
+
| ------------------------------------------------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
17
|
+
| <a id="property-actoractions"></a> `actorActions` | `Record`\<`string`, `string`\> | Resolved map of catalog action name → XState event type string. Pass to `connectRenderer({ ..., actions: actorActions })` or `new PlayRenderer(container, actor, registry, { actions: actorActions })`. | [json-render/types.ts:314](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L314) |
|
|
18
|
+
| <a id="property-registry"></a> `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | The built `DomRegistry`, ready to pass to `connectRenderer` or `PlayRenderer`. | [json-render/types.ts:307](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L307) |
|
|
@@ -2,17 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: DomRenderContext
|
|
4
4
|
|
|
5
|
-
Defined in: [types.ts:
|
|
5
|
+
Defined in: [json-render/types.ts:68](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L68)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Low-level render context passed to each `DomComponentRenderer`.
|
|
8
|
+
|
|
9
|
+
This is the raw renderer-level interface. Most component authors should use
|
|
10
|
+
the higher-level `ComponentContext<C, K>` provided by `defineRegistry`.
|
|
8
11
|
|
|
9
12
|
## Properties
|
|
10
13
|
|
|
11
|
-
| Property
|
|
12
|
-
|
|
|
13
|
-
| <a id="property-
|
|
14
|
-
| <a id="property-
|
|
15
|
-
| <a id="property-renderchildren"></a> `renderChildren`
|
|
16
|
-
| <a id="property-send"></a> `send`
|
|
17
|
-
| <a id="property-spec"></a> `spec`
|
|
18
|
-
| <a id="property-store"></a> `store`
|
|
14
|
+
| Property | Type | Description | Defined in |
|
|
15
|
+
| -------------------------------------------------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
16
|
+
| <a id="property-actoractions"></a> `actorActions` | `Record`\<`string`, `string`\> | Map of json-render catalog action names → dispatch event type strings. | [json-render/types.ts:76](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L76) |
|
|
17
|
+
| <a id="property-elementbindings"></a> `elementBindings?` | `Record`\<`string`, `string`\> | Pre-computed two-way binding paths for this element's props. Resolved from raw props before `resolveElementProps` runs — the resolved props no longer contain `$bindState`/`$bindItem` expressions. `undefined` when no binding expressions were found. | [json-render/types.ts:85](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L85) |
|
|
18
|
+
| <a id="property-renderchildren"></a> `renderChildren` | (`keys`) => `Node`[] | Render a list of child element keys into DOM nodes. | [json-render/types.ts:78](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L78) |
|
|
19
|
+
| <a id="property-send"></a> `send` | (`event`) => `void` | Dispatch an event (e.g. to an XState actor). | [json-render/types.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L74) |
|
|
20
|
+
| <a id="property-spec"></a> `spec` | `Spec` | Full spec tree for this render pass. | [json-render/types.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L70) |
|
|
21
|
+
| <a id="property-store"></a> `store` | `StateStore` | Live state store bound to `spec.state`. | [json-render/types.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L72) |
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-dom](../README.md) / EventHandle
|
|
2
|
+
|
|
3
|
+
# Interface: EventHandle
|
|
4
|
+
|
|
5
|
+
Defined in: [json-render/types.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L48)
|
|
6
|
+
|
|
7
|
+
Handle returned by `ComponentContext.on(eventName)`.
|
|
8
|
+
|
|
9
|
+
Matches the `EventHandle` interface from @json-render/react, /solid, /svelte, /vue.
|
|
10
|
+
|
|
11
|
+
## Example
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
const handle = on("submit");
|
|
15
|
+
if (handle.bound) {
|
|
16
|
+
btn.addEventListener("click", (e) => {
|
|
17
|
+
if (handle.shouldPreventDefault) e.preventDefault();
|
|
18
|
+
handle.emit();
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Properties
|
|
24
|
+
|
|
25
|
+
| Property | Type | Description | Defined in |
|
|
26
|
+
| ----------------------------------------------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
27
|
+
| <a id="property-bound"></a> `bound` | `boolean` | `true` if an `on` binding exists for this event name; `false` otherwise. | [json-render/types.ts:57](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L57) |
|
|
28
|
+
| <a id="property-emit"></a> `emit` | () => `void` | Fire the bound action, resolving params from the current state store. | [json-render/types.ts:50](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L50) |
|
|
29
|
+
| <a id="property-shouldpreventdefault"></a> `shouldPreventDefault` | `boolean` | Whether any binding for this event has `preventDefault: true`. Use to call `e.preventDefault()` on the triggering DOM event. | [json-render/types.ts:55](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L55) |
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: PlayDomOptions
|
|
4
4
|
|
|
5
|
-
Defined in: [types.ts:
|
|
5
|
+
Defined in: [xm-types.ts:18](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L18)
|
|
6
6
|
|
|
7
7
|
Options for PlayRenderer.
|
|
8
8
|
|
|
9
9
|
## Properties
|
|
10
10
|
|
|
11
|
-
| Property | Type | Description | Defined in
|
|
12
|
-
| ---------------------------------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
13
|
-
| <a id="property-actions"></a> `actions?` | `Record`\<`string`, `string`\> | Map of json-render actionName → XState event type | [types.ts:
|
|
14
|
-
| <a id="property-store"></a> `store?` | `StateStore` | Optional external StateStore (e.g. from `xstateStoreStateStore` in @json-render/xstate). When provided, PlayRenderer operates in controlled mode — spec.state is ignored and this store is the single source of truth for UI state (form values, etc.). When omitted, a fresh @xstate/store atom is created internally per view transition, seeded from spec.state. | [types.ts:
|
|
11
|
+
| Property | Type | Description | Defined in |
|
|
12
|
+
| ---------------------------------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
|
|
13
|
+
| <a id="property-actions"></a> `actions?` | `Record`\<`string`, `string`\> | Map of json-render actionName → XState event type | [xm-types.ts:20](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L20) |
|
|
14
|
+
| <a id="property-store"></a> `store?` | `StateStore` | Optional external StateStore (e.g. from `xstateStoreStateStore` in @json-render/xstate). When provided, PlayRenderer operates in controlled mode — spec.state is ignored and this store is the single source of truth for UI state (form values, etc.). When omitted, a fresh @xstate/store atom is created internally per view transition, seeded from spec.state. | [xm-types.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/xm-types.ts#L29) |
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-dom](../README.md) / ComponentFn
|
|
2
|
+
|
|
3
|
+
# Type Alias: ComponentFn\<C, K\>
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type ComponentFn<C, K> = (ctx) => HTMLElement | Text | null;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [json-render/types.ts:238](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L238)
|
|
10
|
+
|
|
11
|
+
Catalog-typed DOM component function.
|
|
12
|
+
|
|
13
|
+
The DOM equivalent of `ComponentFn<C, K>` from @json-render/react, /solid,
|
|
14
|
+
/svelte, /vue. The only structural difference is the return type:
|
|
15
|
+
`HTMLElement | Text | null` instead of a framework node.
|
|
16
|
+
|
|
17
|
+
Pass implementations to `defineRegistry` — do not call directly.
|
|
18
|
+
|
|
19
|
+
## Type Parameters
|
|
20
|
+
|
|
21
|
+
| Type Parameter |
|
|
22
|
+
| --------------------------------------------------- |
|
|
23
|
+
| `C` _extends_ `Catalog` |
|
|
24
|
+
| `K` _extends_ keyof `InferCatalogComponents`\<`C`\> |
|
|
25
|
+
|
|
26
|
+
## Parameters
|
|
27
|
+
|
|
28
|
+
| Parameter | Type |
|
|
29
|
+
| --------- | ------------------------------------------------------------------- |
|
|
30
|
+
| `ctx` | [`ComponentContext`](../interfaces/ComponentContext.md)\<`C`, `K`\> |
|
|
31
|
+
|
|
32
|
+
## Returns
|
|
33
|
+
|
|
34
|
+
`HTMLElement` \| `Text` \| `null`
|
|
35
|
+
|
|
36
|
+
## Example
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
import type { ComponentFn } from "@xmachines/play-dom";
|
|
40
|
+
import type { AuthCatalog } from "@xmachines/play-actor-shared";
|
|
41
|
+
|
|
42
|
+
export const Home: ComponentFn<AuthCatalog, "Home"> = ({ props, children }) => {
|
|
43
|
+
const section = document.createElement("section");
|
|
44
|
+
section.setAttribute("data-page", "home");
|
|
45
|
+
|
|
46
|
+
const h2 = document.createElement("h2");
|
|
47
|
+
h2.textContent = props.title;
|
|
48
|
+
section.appendChild(h2);
|
|
49
|
+
|
|
50
|
+
children.forEach((child) => section.appendChild(child));
|
|
51
|
+
return section;
|
|
52
|
+
};
|
|
53
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
[Documentation](../../../README.md) / [@xmachines/play-dom](../README.md) / ComponentRegistry
|
|
2
|
+
|
|
3
|
+
# Type Alias: ComponentRegistry\<C\>
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type ComponentRegistry<C> = { [K in keyof InferCatalogComponents<C>]: ComponentFn<C, K> };
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [json-render/types.ts:251](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L251)
|
|
10
|
+
|
|
11
|
+
Catalog-keyed map of `ComponentFn` implementations.
|
|
12
|
+
|
|
13
|
+
Used as the `components` field in `DefineRegistryOptions`.
|
|
14
|
+
TypeScript enforces that every component key declared in the catalog has
|
|
15
|
+
a matching implementation.
|
|
16
|
+
|
|
17
|
+
## Type Parameters
|
|
18
|
+
|
|
19
|
+
| Type Parameter |
|
|
20
|
+
| ----------------------- |
|
|
21
|
+
| `C` _extends_ `Catalog` |
|
|
@@ -6,10 +6,13 @@
|
|
|
6
6
|
type DomComponentRenderer = (element, ctx) => HTMLElement | Text | null;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [types.ts:
|
|
9
|
+
Defined in: [json-render/types.ts:106](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L106)
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
Raw DOM component renderer function.
|
|
12
|
+
|
|
13
|
+
Receives a resolved `UIElement` and a `DomRenderContext`, and returns a DOM
|
|
14
|
+
node or `null`. Prefer using `ComponentFn<C, K>` via `defineRegistry` for
|
|
15
|
+
catalog-typed, framework-consistent components.
|
|
13
16
|
|
|
14
17
|
## Parameters
|
|
15
18
|
|
|
@@ -21,3 +24,13 @@ No framework required. Return null for unknown/unsupported elements.
|
|
|
21
24
|
## Returns
|
|
22
25
|
|
|
23
26
|
`HTMLElement` \| `Text` \| `null`
|
|
27
|
+
|
|
28
|
+
## Example
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
const myRenderer: DomComponentRenderer = (element, ctx) => {
|
|
32
|
+
const el = document.createElement("div");
|
|
33
|
+
el.textContent = String(element.props.title ?? "");
|
|
34
|
+
return el;
|
|
35
|
+
};
|
|
36
|
+
```
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
type DomRegistry = Record<string, DomComponentRenderer>;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [types.ts:
|
|
9
|
+
Defined in: [json-render/types.ts:263](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.28/packages/play-dom/src/json-render/types.ts#L263)
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Raw registry of `DomComponentRenderer` functions keyed by element type.
|
|
12
|
+
|
|
13
|
+
Passed to `connectRenderer` or `PlayRenderer`. Build with `defineRegistry`
|
|
14
|
+
to get catalog-typed component functions automatically wrapped.
|