@xmachines/docs 1.0.0-beta.29 → 1.0.0-beta.31
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 -4
- package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
- package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -3
- package/api/@xmachines/play-actor/functions/typedSpec.md +1 -1
- package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
- package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
- package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +3 -3
- package/api/@xmachines/play-actor/interfaces/Viewable.md +2 -2
- package/api/@xmachines/play-dom/README.md +40 -10
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +20 -12
- package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
- package/api/@xmachines/play-dom/functions/defineRegistry.md +8 -21
- package/api/@xmachines/play-dom/functions/renderSpec.md +15 -13
- package/api/@xmachines/play-dom/interfaces/ComponentContext.md +9 -48
- package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +7 -7
- package/api/@xmachines/play-dom/interfaces/DefineRegistryOptions.md +7 -9
- package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +7 -8
- package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +9 -12
- package/api/@xmachines/play-dom/interfaces/EventHandle.md +6 -20
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +5 -5
- package/api/@xmachines/play-dom/type-aliases/ActionFn.md +30 -0
- package/api/@xmachines/play-dom/type-aliases/Actions.md +18 -0
- package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +1 -28
- package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +1 -7
- package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +1 -17
- package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +1 -6
- package/api/@xmachines/play-dom/type-aliases/DomSchema.md +9 -0
- package/api/@xmachines/play-dom/variables/schema.md +56 -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-react/README.md +29 -32
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
- 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 +11 -12
- package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-react/variables/PlayRenderer.md +12 -5
- 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-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/type-aliases/WatcherNotify.md +1 -1
- package/api/@xmachines/play-solid/README.md +28 -29
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/useBoundProp.md +45 -0
- package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +11 -12
- package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +4 -25
- 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 -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 +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-svelte/README.md +15 -4
- package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +8 -9
- 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 +4 -4
- 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-vue/README.md +33 -33
- 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/useBoundProp.md +45 -0
- package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +9 -10
- 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/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-vue-router/classes/RouteMap.md +4 -4
- package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +4 -4
- package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +24 -24
- package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +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-xstate/README.md +1 -0
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +54 -23
- 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 +1 -1
- package/api/@xmachines/shared/functions/xmAliases.md +1 -1
- package/examples/@xmachines/play-dom-demo/README.md +7 -0
- package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +23 -0
- package/examples/@xmachines/play-dom-demo/functions/initShell.md +5 -5
- package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-dom-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +9 -0
- package/examples/@xmachines/play-dom-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/{play-actor-shared → play-dom-demo}/variables/authCatalog.md +23 -24
- package/examples/@xmachines/play-react-demo/README.md +9 -3
- package/examples/@xmachines/play-react-demo/functions/App.md +1 -1
- package/examples/@xmachines/play-react-demo/functions/DebugPanel.md +5 -5
- package/examples/@xmachines/play-react-demo/functions/HeaderNav.md +5 -5
- package/examples/@xmachines/play-react-demo/functions/Shell.md +7 -7
- package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-react-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +11 -0
- package/examples/@xmachines/play-react-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/NavBar.md +11 -0
- package/examples/@xmachines/play-react-demo/variables/NavBarView.md +9 -0
- package/examples/@xmachines/play-react-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/Shell.md +13 -0
- package/examples/@xmachines/play-react-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/authCatalog.md +172 -0
- package/examples/@xmachines/play-solid-demo/README.md +9 -3
- package/examples/@xmachines/play-solid-demo/functions/App.md +1 -1
- package/examples/@xmachines/play-solid-demo/functions/DebugPanel.md +5 -5
- package/examples/@xmachines/play-solid-demo/functions/HeaderNav.md +5 -5
- package/examples/@xmachines/play-solid-demo/functions/Shell.md +7 -7
- package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +9 -0
- 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 +11 -0
- 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 +11 -0
- package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +12 -0
- 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 +13 -0
- package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +172 -0
- package/examples/README.md +0 -8
- package/package.json +2 -2
- package/api/@xmachines/play-react/functions/useStateBinding.md +0 -34
- package/api/@xmachines/play-solid/functions/useStateBinding.md +0 -25
- package/api/@xmachines/play-vue/functions/useStateBinding.md +0 -32
- package/examples/@xmachines/play-actor-shared/README.md +0 -155
- package/examples/@xmachines/play-actor-shared/interfaces/AuthContext.md +0 -14
- package/examples/@xmachines/play-actor-shared/type-aliases/AuthActor.md +0 -27
- package/examples/@xmachines/play-actor-shared/type-aliases/AuthCatalog.md +0 -16
- package/examples/@xmachines/play-actor-shared/type-aliases/AuthEvents.md +0 -17
- package/examples/@xmachines/play-actor-shared/type-aliases/AuthInput.md +0 -9
- package/examples/@xmachines/play-actor-shared/type-aliases/AuthSnapshot.md +0 -11
- package/examples/@xmachines/play-actor-shared/type-aliases/CatalogProps.md +0 -187
- package/examples/@xmachines/play-actor-shared/type-aliases/InferProps.md +0 -17
- package/examples/@xmachines/play-actor-shared/variables/authMachine.md +0 -189
- package/examples/@xmachines/play-actor-shared/variables/authSetup.md +0 -22
- package/examples/@xmachines/play-router-shared/README.md +0 -111
- package/examples/@xmachines/play-router-shared/test/auth-machine-routing.test.ts/README.md +0 -3
- package/examples/@xmachines/play-router-shared/test/demo-browser-suite.ts/README.md +0 -11
- package/examples/@xmachines/play-router-shared/test/demo-browser-suite.ts/functions/defineSharedDemoBrowserSuite.md +0 -19
- package/examples/@xmachines/play-router-shared/test/demo-browser-suite.ts/variables/defineRouterDemoBrowserSuite.md +0 -19
- package/examples/@xmachines/play-router-shared/test/env.d.ts/README.md +0 -8
- package/examples/@xmachines/play-router-shared/test/env.d.ts/interfaces/ImportMeta.md +0 -63
- package/examples/@xmachines/play-router-shared/test/env.d.ts/interfaces/ImportMetaEnv.md +0 -32
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Class: PlayError
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play/src/errors.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [packages/play/src/errors.ts:63](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play/src/errors.ts#L63)
|
|
6
6
|
|
|
7
7
|
Base class for all typed runtime errors thrown by `@xmachines/*` packages.
|
|
8
8
|
|
|
@@ -82,7 +82,7 @@ new PlayError(
|
|
|
82
82
|
options?): PlayError;
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
-
Defined in: [packages/play/src/errors.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
85
|
+
Defined in: [packages/play/src/errors.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play/src/errors.ts#L82)
|
|
86
86
|
|
|
87
87
|
#### Parameters
|
|
88
88
|
|
|
@@ -108,10 +108,10 @@ Error.constructor;
|
|
|
108
108
|
| Property | Modifier | Type | Description | Inherited from | Defined in |
|
|
109
109
|
| ------------------------------------------------------- | ---------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
|
110
110
|
| <a id="property-cause"></a> `cause?` | `public` | `unknown` | - | `Error.cause` | - |
|
|
111
|
-
| <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable error identifier. Error codes follow the `PLAY_<PACKAGE>_<DESCRIPTION>` naming convention and are guaranteed stable across patch and minor releases within a major version. Never match on `.message` — always match on `.code` or the subclass. | - | [packages/play/src/errors.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
111
|
+
| <a id="property-code"></a> `code` | `readonly` | `string` | A stable, machine-readable error identifier. Error codes follow the `PLAY_<PACKAGE>_<DESCRIPTION>` naming convention and are guaranteed stable across patch and minor releases within a major version. Never match on `.message` — always match on `.code` or the subclass. | - | [packages/play/src/errors.ts:74](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play/src/errors.ts#L74) |
|
|
112
112
|
| <a id="property-message"></a> `message` | `public` | `string` | - | `Error.message` | - |
|
|
113
113
|
| <a id="property-name"></a> `name` | `public` | `string` | - | `Error.name` | - |
|
|
114
|
-
| <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or module that threw this error (e.g. `"RouterBridgeBase"`). | - | [packages/play/src/errors.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
114
|
+
| <a id="property-scope"></a> `scope` | `readonly` | `string` | The class or module that threw this error (e.g. `"RouterBridgeBase"`). | - | [packages/play/src/errors.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play/src/errors.ts#L65) |
|
|
115
115
|
| <a id="property-stack"></a> `stack?` | `public` | `string` | - | `Error.stack` | - |
|
|
116
116
|
| <a id="property-stacktracelimit"></a> `stackTraceLimit` | `static` | `number` | The `Error.stackTraceLimit` property specifies the number of stack frames collected by a stack trace (whether generated by `new Error().stack` or `Error.captureStackTrace(obj)`). The default value is `10` but may be set to any valid JavaScript number. Changes will affect any stack trace captured _after_ the value has been changed. If set to a non-number value, or set to a negative number, stack traces will not capture any frames. | `Error.stackTraceLimit` | - |
|
|
117
117
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
type PlayEvent<TPayload> = object & TPayload;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play/src/types.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [packages/play/src/types.ts:69](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play/src/types.ts#L69)
|
|
10
10
|
|
|
11
11
|
Generic event type for Play Architecture
|
|
12
12
|
|
|
@@ -34,7 +34,7 @@ Robot, and other state machine libraries.
|
|
|
34
34
|
|
|
35
35
|
| Name | Type | Defined in |
|
|
36
36
|
| ------ | -------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
37
|
-
| `type` | `string` | [packages/play/src/types.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
37
|
+
| `type` | `string` | [packages/play/src/types.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play/src/types.ts#L70) |
|
|
38
38
|
|
|
39
39
|
## Type Parameters
|
|
40
40
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Abstract Class: AbstractActor\<TLogic, TEvent\>
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play-actor/src/abstract-actor.ts:141](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [packages/play-actor/src/abstract-actor.ts:141](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L141)
|
|
6
6
|
|
|
7
7
|
Abstract base class for Play Architecture actors.
|
|
8
8
|
|
|
@@ -67,7 +67,7 @@ Actor<TLogic>.constructor
|
|
|
67
67
|
| <a id="property-ref"></a> `ref` | `public` | [`ActorRef`](https://www.jsdocs.io/package/xstate#ActorRef)\<[`SnapshotFrom`](https://www.jsdocs.io/package/xstate#SnapshotFrom)\<`TLogic`\>, [`EventFromLogic`](https://www.jsdocs.io/package/xstate#EventFromLogic)\<`TLogic`\>, [`EmittedFrom`](https://www.jsdocs.io/package/xstate#EmittedFrom)\<`TLogic`\>\> | - | `Actor.ref` | - |
|
|
68
68
|
| <a id="property-sessionid"></a> `sessionId` | `public` | `string` | The globally unique process ID for this invocation. | `Actor.sessionId` | - |
|
|
69
69
|
| <a id="property-src"></a> `src` | `public` | \| `string` \| [`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic) | - | `Actor.src` | - |
|
|
70
|
-
| <a id="property-state"></a> `state` | `abstract` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<`unknown`\> | Reactive snapshot of current actor state. Infrastructure observes this signal to react to state changes without directly coupling to the actor's internal state machine implementation. | - | [packages/play-actor/src/abstract-actor.ts:151](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
70
|
+
| <a id="property-state"></a> `state` | `abstract` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<`unknown`\> | Reactive snapshot of current actor state. Infrastructure observes this signal to react to state changes without directly coupling to the actor's internal state machine implementation. | - | [packages/play-actor/src/abstract-actor.ts:151](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L151) |
|
|
71
71
|
| <a id="property-system"></a> `system` | `public` | [`AnyActorSystem`](https://www.jsdocs.io/package/xstate#AnyActorSystem) | The system to which this actor belongs. | `Actor.system` | - |
|
|
72
72
|
| <a id="property-systemid"></a> `systemId` | `public` | `string` \| `undefined` | - | `Actor.systemId` | - |
|
|
73
73
|
|
|
@@ -238,7 +238,7 @@ Actor.select;
|
|
|
238
238
|
abstract send(event): void;
|
|
239
239
|
```
|
|
240
240
|
|
|
241
|
-
Defined in: [packages/play-actor/src/abstract-actor.ts:158](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
241
|
+
Defined in: [packages/play-actor/src/abstract-actor.ts:158](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L158)
|
|
242
242
|
|
|
243
243
|
Send event to Actor.
|
|
244
244
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
function typedSpec<TContext>(spec): PlaySpec;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [packages/play-actor/src/abstract-actor.ts:86](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
9
|
+
Defined in: [packages/play-actor/src/abstract-actor.ts:86](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L86)
|
|
10
10
|
|
|
11
11
|
Identity helper that constrains a `PlaySpec` object's `contextProps` to keys
|
|
12
12
|
of a specific machine context type, giving compile-time validation and IDE
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: PlaySpec
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play-actor/src/abstract-actor.ts:43](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [packages/play-actor/src/abstract-actor.ts:43](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L43)
|
|
6
6
|
|
|
7
7
|
XMachines extension of `@json-render/core` `Spec`.
|
|
8
8
|
|
|
@@ -22,7 +22,7 @@ entries against your machine's context type at compile time.
|
|
|
22
22
|
|
|
23
23
|
| Property | Modifier | Type | Description | Inherited from | Defined in |
|
|
24
24
|
| -------------------------------------------------- | ---------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
25
|
-
| <a id="property-contextprops"></a> `contextProps?` | `readonly` | readonly `string`[] | Explicit allowlist of machine context field names to expose as prop slots. Each named field is merged into every spec element's `props` at view derivation time, filling any slot whose current value is `undefined`. Use `typedSpec<TContext>(...)` to constrain entries to `keyof TContext & string`. | - | [packages/play-actor/src/abstract-actor.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
25
|
+
| <a id="property-contextprops"></a> `contextProps?` | `readonly` | readonly `string`[] | Explicit allowlist of machine context field names to expose as prop slots. Each named field is merged into every spec element's `props` at view derivation time, filling any slot whose current value is `undefined`. Use `typedSpec<TContext>(...)` to constrain entries to `keyof TContext & string`. | - | [packages/play-actor/src/abstract-actor.ts:51](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L51) |
|
|
26
26
|
| <a id="property-elements"></a> `elements` | `public` | `Record`\<`string`, `UIElement`\> | Flat map of elements by key | `Spec.elements` | - |
|
|
27
27
|
| <a id="property-root"></a> `root` | `public` | `string` | Root element key | `Spec.root` | - |
|
|
28
28
|
| <a id="property-state"></a> `state?` | `public` | `Record`\<`string`, `unknown`\> | Optional initial state to seed the state model. Components using statePath will read from / write to this state. | `Spec.state` | - |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: Routable
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play-actor/src/abstract-actor.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [packages/play-actor/src/abstract-actor.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L27)
|
|
6
6
|
|
|
7
7
|
Optional capability: Routing support
|
|
8
8
|
|
|
@@ -10,5 +10,5 @@ Optional capability: Routing support
|
|
|
10
10
|
|
|
11
11
|
| Property | Modifier | Type | Defined in |
|
|
12
12
|
| ------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
13
|
-
| <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | [packages/play-actor/src/abstract-actor.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
14
|
-
| <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | [packages/play-actor/src/abstract-actor.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
13
|
+
| <a id="property-currentroute"></a> `currentRoute` | `readonly` | [`Computed`](../../play-signals/namespaces/Signal/classes/Computed.md)\<`string` \| `null`\> | [packages/play-actor/src/abstract-actor.ts:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L28) |
|
|
14
|
+
| <a id="property-initialroute"></a> `initialRoute` | `readonly` | `string` \| `null` | [packages/play-actor/src/abstract-actor.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L29) |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: ViewMetadata
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play-actor/src/abstract-actor.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [packages/play-actor/src/abstract-actor.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L100)
|
|
6
6
|
|
|
7
7
|
View metadata for rendering.
|
|
8
8
|
|
|
@@ -13,5 +13,5 @@ Used by PlayRenderer to dynamically render UI based on actor state.
|
|
|
13
13
|
|
|
14
14
|
| Property | Type | Description | Defined in |
|
|
15
15
|
| ------------------------------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
16
|
-
| <a id="property-component"></a> `component` | `string` | Root element type name (for diagnostics and component resolution) | [packages/play-actor/src/abstract-actor.ts:102](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
17
|
-
| <a id="property-spec"></a> `spec` | [`PlaySpec`](PlaySpec.md) | XMachines view spec — extends `@json-render/core` Spec with `contextProps` for explicit context field exposure. Use `typedSpec<TContext>(...)` at the definition site to validate `contextProps` entries against the machine context type. | [packages/play-actor/src/abstract-actor.ts:110](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
16
|
+
| <a id="property-component"></a> `component` | `string` | Root element type name (for diagnostics and component resolution) | [packages/play-actor/src/abstract-actor.ts:102](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L102) |
|
|
17
|
+
| <a id="property-spec"></a> `spec` | [`PlaySpec`](PlaySpec.md) | XMachines view spec — extends `@json-render/core` Spec with `contextProps` for explicit context field exposure. Use `typedSpec<TContext>(...)` at the definition site to validate `contextProps` entries against the machine context type. | [packages/play-actor/src/abstract-actor.ts:110](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L110) |
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: Viewable
|
|
4
4
|
|
|
5
|
-
Defined in: [packages/play-actor/src/abstract-actor.ts:121](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
5
|
+
Defined in: [packages/play-actor/src/abstract-actor.ts:121](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L121)
|
|
6
6
|
|
|
7
7
|
Actor capability for exposing renderable view state.
|
|
8
8
|
|
|
@@ -15,4 +15,4 @@ framework adapter.
|
|
|
15
15
|
|
|
16
16
|
| Property | Modifier | Type | Description | Defined in |
|
|
17
17
|
| ----------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
18
|
-
| <a id="property-currentview"></a> `currentView` | `readonly` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<[`ViewMetadata`](ViewMetadata.md) \| `null`\> | Current view signal. State signal containing view.component and view.spec from meta.view. Infrastructure renders view — Logic-Driven UI invariant. | [packages/play-actor/src/abstract-actor.ts:128](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.
|
|
18
|
+
| <a id="property-currentview"></a> `currentView` | `readonly` | [`State`](../../play-signals/namespaces/Signal/classes/State.md)\<[`ViewMetadata`](ViewMetadata.md) \| `null`\> | Current view signal. State signal containing view.component and view.spec from meta.view. Infrastructure renders view — Logic-Driven UI invariant. | [packages/play-actor/src/abstract-actor.ts:128](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-actor/src/abstract-actor.ts#L128) |
|
|
@@ -14,38 +14,61 @@ npm install @xmachines/play-dom
|
|
|
14
14
|
|
|
15
15
|
## Key Exports
|
|
16
16
|
|
|
17
|
-
- `connectRenderer({ actor, registry, container })` — connect actor view signal to DOM
|
|
18
|
-
- `defineRegistry(catalog, { components, actions })` — build a catalog-typed `DomRegistry`
|
|
17
|
+
- `connectRenderer({ actor, registry, container, handlers })` — connect actor view signal to DOM
|
|
18
|
+
- `defineRegistry(catalog, { components, actions })` — build a catalog-typed `DomRegistry` with real async action handlers
|
|
19
|
+
- `schema` — DOM schema for use with `defineCatalog` (mirrors `@json-render/react/schema` shape)
|
|
19
20
|
- `PlayRenderer` — class-based renderer (connect/disconnect lifecycle)
|
|
20
21
|
- `ComponentFn<C, K>` — catalog-typed DOM component function type
|
|
21
22
|
- `ComponentContext<C, K>` — context passed to each `ComponentFn` (props, emit, on, children, bindings)
|
|
22
|
-
- `renderSpec(spec, store, registry, send,
|
|
23
|
+
- `renderSpec(spec, store, registry, send, handlers)` — pure Spec → DOM renderer
|
|
23
24
|
|
|
24
25
|
## Usage
|
|
25
26
|
|
|
26
27
|
```ts
|
|
27
28
|
import { definePlayer } from "@xmachines/play-xstate";
|
|
28
|
-
import { connectRenderer, defineRegistry } from "@xmachines/play-dom";
|
|
29
|
-
import {
|
|
29
|
+
import { connectRenderer, defineRegistry, schema } from "@xmachines/play-dom";
|
|
30
|
+
import { defineCatalog } from "@json-render/core";
|
|
31
|
+
import { authCatalogDef, type AuthActor } from "@xmachines/play-actor-shared";
|
|
30
32
|
import type { ComponentFn } from "@xmachines/play-dom";
|
|
31
33
|
|
|
34
|
+
// 1. Build catalog with DOM schema
|
|
35
|
+
const authCatalog = defineCatalog(schema, authCatalogDef);
|
|
36
|
+
type AuthCatalog = typeof authCatalog;
|
|
37
|
+
|
|
38
|
+
// 2. Implement catalog components
|
|
32
39
|
const Home: ComponentFn<AuthCatalog, "Home"> = ({ props }) => {
|
|
33
40
|
const el = document.createElement("section");
|
|
34
41
|
el.textContent = props.title;
|
|
35
42
|
return el;
|
|
36
43
|
};
|
|
37
44
|
|
|
38
|
-
|
|
45
|
+
// 3. Build registry with real async action handlers
|
|
46
|
+
const registryResult = defineRegistry(authCatalog, {
|
|
39
47
|
components: { Home /* ... */ },
|
|
40
|
-
actions: {
|
|
48
|
+
actions: {
|
|
49
|
+
login: async (params) => {
|
|
50
|
+
if (!params) return;
|
|
51
|
+
actor.send({ type: "auth.login", username: params.username });
|
|
52
|
+
},
|
|
53
|
+
logout: async () => actor.send({ type: "auth.logout" }),
|
|
54
|
+
},
|
|
41
55
|
});
|
|
42
56
|
|
|
43
|
-
|
|
44
|
-
const actor =
|
|
57
|
+
// 4. Resolve handlers and connect
|
|
58
|
+
const actor = definePlayer({ machine: authMachine })();
|
|
45
59
|
actor.start();
|
|
46
60
|
|
|
61
|
+
const handlers = registryResult.handlers(
|
|
62
|
+
() => undefined,
|
|
63
|
+
() => ({}),
|
|
64
|
+
);
|
|
47
65
|
const container = document.getElementById("app")!;
|
|
48
|
-
const disconnect = connectRenderer({
|
|
66
|
+
const disconnect = connectRenderer({
|
|
67
|
+
actor,
|
|
68
|
+
registry: registryResult.registry,
|
|
69
|
+
container,
|
|
70
|
+
handlers,
|
|
71
|
+
});
|
|
49
72
|
```
|
|
50
73
|
|
|
51
74
|
## Learn More
|
|
@@ -90,10 +113,17 @@ Public API split into two layers:
|
|
|
90
113
|
|
|
91
114
|
## Type Aliases
|
|
92
115
|
|
|
116
|
+
- [ActionFn](type-aliases/ActionFn.md)
|
|
117
|
+
- [Actions](type-aliases/Actions.md)
|
|
93
118
|
- [ComponentFn](type-aliases/ComponentFn.md)
|
|
94
119
|
- [ComponentRegistry](type-aliases/ComponentRegistry.md)
|
|
95
120
|
- [DomComponentRenderer](type-aliases/DomComponentRenderer.md)
|
|
96
121
|
- [DomRegistry](type-aliases/DomRegistry.md)
|
|
122
|
+
- [DomSchema](type-aliases/DomSchema.md)
|
|
123
|
+
|
|
124
|
+
## Variables
|
|
125
|
+
|
|
126
|
+
- [schema](variables/schema.md)
|
|
97
127
|
|
|
98
128
|
## Functions
|
|
99
129
|
|
|
@@ -2,21 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
# Class: PlayRenderer
|
|
4
4
|
|
|
5
|
-
Defined in: [PlayRenderer.ts:
|
|
5
|
+
Defined in: [PlayRenderer.ts:42](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/PlayRenderer.ts#L42)
|
|
6
6
|
|
|
7
7
|
PlayRenderer connects an actor's currentView signal to the DOM renderer.
|
|
8
8
|
|
|
9
9
|
Usage:
|
|
10
10
|
|
|
11
11
|
```typescript
|
|
12
|
-
const
|
|
12
|
+
const { registry, handlers } = defineRegistry(catalog, { components, actions });
|
|
13
|
+
const resolvedHandlers = handlers(
|
|
14
|
+
() => undefined,
|
|
15
|
+
() => ({}),
|
|
16
|
+
);
|
|
17
|
+
const renderer = new PlayRenderer(container, actor, registry, { handlers: resolvedHandlers });
|
|
13
18
|
renderer.connect();
|
|
14
19
|
|
|
15
20
|
// Controlled mode — bring your own store:
|
|
16
21
|
import { createAtom } from "@xstate/store";
|
|
17
22
|
import { xstateStoreStateStore } from "@json-render/xstate";
|
|
18
23
|
const store = xstateStoreStateStore({ atom: createAtom({ username: "" }) });
|
|
19
|
-
const renderer = new PlayRenderer(container, actor, registry, {
|
|
24
|
+
const renderer = new PlayRenderer(container, actor, registry, {
|
|
25
|
+
store,
|
|
26
|
+
handlers: resolvedHandlers,
|
|
27
|
+
});
|
|
20
28
|
|
|
21
29
|
// Later:
|
|
22
30
|
renderer.disconnect();
|
|
@@ -34,16 +42,16 @@ new PlayRenderer(
|
|
|
34
42
|
options?): PlayRenderer;
|
|
35
43
|
```
|
|
36
44
|
|
|
37
|
-
Defined in: [PlayRenderer.ts:
|
|
45
|
+
Defined in: [PlayRenderer.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/PlayRenderer.ts#L54)
|
|
38
46
|
|
|
39
47
|
#### Parameters
|
|
40
48
|
|
|
41
|
-
| Parameter | Type | Description
|
|
42
|
-
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
43
|
-
| `container` | `HTMLElement` | The `HTMLElement` to render into. Cleared and repopulated on every view transition.
|
|
44
|
-
| `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 providing the `currentView` signal (must implement `Viewable`).
|
|
45
|
-
| `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | Map of component type names to `DomComponentRenderer` functions.
|
|
46
|
-
| `options` | [`PlayDomOptions`](../interfaces/PlayDomOptions.md) | Optional configuration: `
|
|
49
|
+
| Parameter | Type | Description |
|
|
50
|
+
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
51
|
+
| `container` | `HTMLElement` | The `HTMLElement` to render into. Cleared and repopulated on every view transition. |
|
|
52
|
+
| `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 providing the `currentView` signal (must implement `Viewable`). |
|
|
53
|
+
| `registry` | [`DomRegistry`](../type-aliases/DomRegistry.md) | Map of component type names to `DomComponentRenderer` functions. |
|
|
54
|
+
| `options` | [`PlayDomOptions`](../interfaces/PlayDomOptions.md) | Optional configuration: `handlers` map (action name → async handler) and optional external `store` (controlled mode — when omitted, a fresh `@xstate/store` atom is created per view transition seeded from `spec.state`). |
|
|
47
55
|
|
|
48
56
|
#### Returns
|
|
49
57
|
|
|
@@ -57,7 +65,7 @@ Defined in: [PlayRenderer.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/bl
|
|
|
57
65
|
connect(): void;
|
|
58
66
|
```
|
|
59
67
|
|
|
60
|
-
Defined in: [PlayRenderer.ts:
|
|
68
|
+
Defined in: [PlayRenderer.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/PlayRenderer.ts#L65)
|
|
61
69
|
|
|
62
70
|
Start watching actor.currentView and render to container.
|
|
63
71
|
Renders the initial view synchronously, then subscribes to signal changes.
|
|
@@ -74,7 +82,7 @@ Renders the initial view synchronously, then subscribes to signal changes.
|
|
|
74
82
|
disconnect(): void;
|
|
75
83
|
```
|
|
76
84
|
|
|
77
|
-
Defined in: [PlayRenderer.ts:
|
|
85
|
+
Defined in: [PlayRenderer.ts:73](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/PlayRenderer.ts#L73)
|
|
78
86
|
|
|
79
87
|
Stop watching and clear the container.
|
|
80
88
|
|
|
@@ -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.31/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
|
|
|
@@ -6,25 +6,10 @@
|
|
|
6
6
|
function defineRegistry<C>(_catalog, options): DefineRegistryResult;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [json-render/types.ts:
|
|
9
|
+
Defined in: [json-render/types.ts:213](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/types.ts#L213)
|
|
10
10
|
|
|
11
11
|
Build a `DomRegistry` from a catalog and component/action options.
|
|
12
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
13
|
## Type Parameters
|
|
29
14
|
|
|
30
15
|
| Type Parameter |
|
|
@@ -47,15 +32,17 @@ need to manage it separately.
|
|
|
47
32
|
```ts
|
|
48
33
|
import { defineRegistry } from "@xmachines/play-dom";
|
|
49
34
|
import { authCatalog } from "@xmachines/play-actor-shared";
|
|
50
|
-
import { Home, Login, Dashboard } from "./components/index.js";
|
|
51
35
|
|
|
52
|
-
const
|
|
36
|
+
const registryResult = defineRegistry(authCatalog, {
|
|
53
37
|
components: { Home, Login, Dashboard, ... },
|
|
54
38
|
actions: {
|
|
55
|
-
login:
|
|
56
|
-
logout:
|
|
39
|
+
login: async ({ username }) => actor.send({ type: 'auth.login', username }),
|
|
40
|
+
logout: async () => actor.send({ type: 'auth.logout' }),
|
|
41
|
+
route: async ({ to, params }) => actor.send({ type: 'play.route', to, params }),
|
|
57
42
|
},
|
|
58
43
|
});
|
|
59
44
|
|
|
60
|
-
|
|
45
|
+
const { registry, handlers } = registryResult;
|
|
46
|
+
const resolvedHandlers = handlers(() => undefined, () => ({}));
|
|
47
|
+
connectRenderer({ actor, registry, container, handlers: resolvedHandlers });
|
|
61
48
|
```
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
# Function: renderSpec()
|
|
4
4
|
|
|
5
5
|
```ts
|
|
6
|
-
function renderSpec(spec, store, registry, send,
|
|
6
|
+
function renderSpec(spec, store, registry, send, handlers): Node | null;
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
Defined in: [json-render/renderer.ts:
|
|
9
|
+
Defined in: [json-render/renderer.ts:53](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/renderer.ts#L53)
|
|
10
10
|
|
|
11
11
|
Render a Spec tree into DOM nodes using the provided `DomRegistry`.
|
|
12
12
|
|
|
@@ -19,13 +19,13 @@ built by `defineRegistry` — this function only orchestrates the traversal.
|
|
|
19
19
|
|
|
20
20
|
## Parameters
|
|
21
21
|
|
|
22
|
-
| Parameter
|
|
23
|
-
|
|
|
24
|
-
| `spec`
|
|
25
|
-
| `store`
|
|
26
|
-
| `registry`
|
|
27
|
-
| `send`
|
|
28
|
-
| `
|
|
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
|
+
| `handlers` | `Record`\<`string`, `ActionHandler`\> | Map of catalog action names → async ActionHandler functions. |
|
|
29
29
|
|
|
30
30
|
## Returns
|
|
31
31
|
|
|
@@ -37,9 +37,11 @@ or has no registered renderer.
|
|
|
37
37
|
## Example
|
|
38
38
|
|
|
39
39
|
```ts
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
})
|
|
40
|
+
const { registry, handlers } = defineRegistry(catalog, { components, actions });
|
|
41
|
+
const resolvedHandlers = handlers(
|
|
42
|
+
() => undefined,
|
|
43
|
+
() => ({}),
|
|
44
|
+
);
|
|
45
|
+
const node = renderSpec(spec, store, registry, actor.send.bind(actor), resolvedHandlers);
|
|
44
46
|
if (node) container.appendChild(node);
|
|
45
47
|
```
|
|
@@ -2,46 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Interface: ComponentContext\<C, K\>
|
|
4
4
|
|
|
5
|
-
Defined in: [json-render/types.ts:
|
|
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
|
-
```
|
|
5
|
+
Defined in: [json-render/types.ts:78](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/types.ts#L78)
|
|
45
6
|
|
|
46
7
|
## Type Parameters
|
|
47
8
|
|
|
@@ -52,11 +13,11 @@ const Login: ComponentFn<AuthCatalog, "Login"> = ({ props, emit, on, bindings })
|
|
|
52
13
|
|
|
53
14
|
## Properties
|
|
54
15
|
|
|
55
|
-
| Property | Type | Description
|
|
56
|
-
| ----------------------------------------- | --------------------------------------------- |
|
|
57
|
-
| <a id="property-bindings"></a> `bindings` | `Record`\<`string`, `string`\> \| `undefined` | Two-way binding paths resolved from `$bindState` / `$bindItem` prop expressions.
|
|
58
|
-
| <a id="property-children"></a> `children` | `Node`[] | Rendered child nodes from the spec's `children` list.
|
|
59
|
-
| <a id="property-ctx"></a> `ctx` | [`DomRenderContext`](DomRenderContext.md) | Low-level render context.
|
|
60
|
-
| <a id="property-emit"></a> `emit` | (`event`) => `void` | Dispatch a named event defined in the spec's `on` map.
|
|
61
|
-
| <a id="property-on"></a> `on` | (`event`) => [`EventHandle`](EventHandle.md) | Get an `EventHandle` for a named event from the spec's `on` map.
|
|
62
|
-
| <a id="property-props"></a> `props` | `InferComponentProps`\<`C`, `K`\> | Catalog-typed, store-resolved props for this component.
|
|
16
|
+
| Property | Type | Description | Defined in |
|
|
17
|
+
| ----------------------------------------- | --------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
18
|
+
| <a id="property-bindings"></a> `bindings` | `Record`\<`string`, `string`\> \| `undefined` | Two-way binding paths resolved from `$bindState` / `$bindItem` prop expressions. | [json-render/types.ts:88](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/types.ts#L88) |
|
|
19
|
+
| <a id="property-children"></a> `children` | `Node`[] | Rendered child nodes from the spec's `children` list. | [json-render/types.ts:84](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/types.ts#L84) |
|
|
20
|
+
| <a id="property-ctx"></a> `ctx` | [`DomRenderContext`](DomRenderContext.md) | Low-level render context. | [json-render/types.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/types.ts#L100) |
|
|
21
|
+
| <a id="property-emit"></a> `emit` | (`event`) => `void` | Dispatch a named event defined in the spec's `on` map. | [json-render/types.ts:92](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/types.ts#L92) |
|
|
22
|
+
| <a id="property-on"></a> `on` | (`event`) => [`EventHandle`](EventHandle.md) | Get an `EventHandle` for a named event from the spec's `on` map. | [json-render/types.ts:96](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/types.ts#L96) |
|
|
23
|
+
| <a id="property-props"></a> `props` | `InferComponentProps`\<`C`, `K`\> | Catalog-typed, store-resolved props for this component. | [json-render/types.ts:80](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.31/packages/play-dom/src/json-render/types.ts#L80) |
|