@xmachines/docs 1.0.0-beta.33 → 1.0.0-beta.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/@xmachines/play/classes/NonNullableError.md +4 -4
- package/api/@xmachines/play/classes/PlayError.md +4 -4
- package/api/@xmachines/play/functions/assertNonNullable.md +1 -1
- package/api/@xmachines/play/type-aliases/PlayEvent.md +2 -2
- package/api/@xmachines/play-actor/README.md +18 -19
- package/api/@xmachines/play-actor/classes/AbstractActor.md +3 -3
- package/api/@xmachines/play-actor/functions/typedSpec.md +7 -10
- package/api/@xmachines/play-actor/interfaces/BaseActorProviderProps.md +46 -0
- package/api/@xmachines/play-actor/interfaces/BaseViewContextValue.md +33 -0
- package/api/@xmachines/play-actor/interfaces/PlaySpec.md +2 -2
- package/api/@xmachines/play-actor/interfaces/Routable.md +3 -3
- package/api/@xmachines/play-actor/interfaces/Viewable.md +4 -4
- package/api/@xmachines/play-dom/README.md +102 -18
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +4 -4
- package/api/@xmachines/play-dom/functions/connectRenderer.md +1 -1
- package/api/@xmachines/play-dom/functions/createPlayUI.md +28 -0
- package/api/@xmachines/play-dom/functions/createRenderer.md +1 -1
- package/api/@xmachines/play-dom/functions/defineRegistry.md +1 -23
- package/api/@xmachines/play-dom/functions/renderSpec.md +1 -1
- package/api/@xmachines/play-dom/interfaces/ComponentContext.md +9 -9
- package/api/@xmachines/play-dom/interfaces/ConnectRendererOptions.md +19 -11
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +29 -0
- package/api/@xmachines/play-dom/interfaces/DefineRegistryResult.md +6 -6
- package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +14 -14
- package/api/@xmachines/play-dom/interfaces/EventHandle.md +6 -6
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +14 -0
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +7 -7
- package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +27 -0
- package/api/@xmachines/play-dom/type-aliases/ActionFn.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/Actions.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +7 -7
- package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +4 -4
- package/api/@xmachines/play-dom/type-aliases/DomComponentRenderer.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/DomRegistry.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/DomSchema.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +25 -0
- package/api/@xmachines/play-dom/type-aliases/RenderErrorHandler.md +23 -0
- package/api/@xmachines/play-dom/type-aliases/SetState.md +1 -1
- package/api/@xmachines/play-dom/variables/schema.md +1 -1
- package/api/@xmachines/play-dom-router/README.md +3 -3
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createRouteMap.md +3 -3
- package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +14 -14
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +4 -4
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-dom-router/interfaces/{RouteMapLike.md → RouteLookupContract.md} +7 -7
- package/api/@xmachines/play-dom-router/interfaces/RouteMap.md +6 -11
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +8 -8
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +4 -4
- package/api/@xmachines/play-dom-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-react/README.md +165 -48
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +5 -5
- package/api/@xmachines/play-react/functions/ActionProvider.md +21 -0
- package/api/@xmachines/play-react/functions/JSONUIProvider.md +21 -0
- package/api/@xmachines/play-react/functions/Renderer.md +21 -0
- package/api/@xmachines/play-react/functions/StateProvider.md +27 -0
- package/api/@xmachines/play-react/functions/ValidationProvider.md +21 -0
- package/api/@xmachines/play-react/functions/VisibilityProvider.md +21 -0
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/usePlayView.md +32 -0
- package/api/@xmachines/play-react/functions/useSignalEffect.md +1 -1
- package/api/@xmachines/play-react/interfaces/ActionProviderProps.md +15 -0
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +27 -0
- package/api/@xmachines/play-react/interfaces/JSONUIProviderProps.md +21 -0
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +4 -4
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +3 -3
- package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +26 -0
- package/api/@xmachines/play-react/interfaces/RendererProps.md +17 -0
- package/api/@xmachines/play-react/interfaces/StateProviderProps.md +16 -0
- package/api/@xmachines/play-react/interfaces/ValidationProviderProps.md +14 -0
- package/api/@xmachines/play-react/interfaces/ViewContextValue.md +20 -0
- package/api/@xmachines/play-react/interfaces/VisibilityProviderProps.md +13 -0
- package/api/@xmachines/play-react/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-react/type-aliases/RenderErrorHandler.md +3 -2
- package/api/@xmachines/play-react/variables/ActorProvider.md +33 -0
- package/api/@xmachines/play-react/variables/PlayRenderer.md +5 -50
- package/api/@xmachines/play-react/variables/PlayUIProvider.md +43 -0
- package/api/@xmachines/play-react-router/README.md +1 -0
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +24 -24
- package/api/@xmachines/play-react-router/classes/RouteMap.md +38 -22
- package/api/@xmachines/play-react-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-react-router/functions/createRouteMap.md +21 -0
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +5 -5
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +8 -8
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-router/README.md +6 -6
- package/api/@xmachines/play-router/classes/{BaseRouteMap.md → RouteMap.md} +11 -11
- package/api/@xmachines/play-router/classes/RouterBridgeBase.md +24 -24
- package/api/@xmachines/play-router/functions/buildPlayRouteEvent.md +2 -2
- package/api/@xmachines/play-router/functions/buildRouteTree.md +1 -1
- package/api/@xmachines/play-router/functions/createRouteMap.md +6 -6
- package/api/@xmachines/play-router/functions/createRouteMapFromMachine.md +5 -5
- package/api/@xmachines/play-router/functions/createRouteMapFromTree.md +6 -6
- package/api/@xmachines/play-router/functions/detectDuplicateRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/extractQuery.md +1 -1
- package/api/@xmachines/play-router/functions/extractRouteParams.md +1 -1
- package/api/@xmachines/play-router/functions/findRouteById.md +1 -1
- package/api/@xmachines/play-router/functions/findRouteByPath.md +1 -1
- package/api/@xmachines/play-router/functions/getNavigableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/getRoutableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/getTransitionReachableRoutes.md +1 -1
- package/api/@xmachines/play-router/functions/isRouteReachable.md +1 -1
- package/api/@xmachines/play-router/functions/machineToGraph.md +1 -1
- package/api/@xmachines/play-router/functions/routeExists.md +1 -1
- package/api/@xmachines/play-router/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-router/functions/validateRouteFormat.md +1 -1
- package/api/@xmachines/play-router/functions/validateStateExists.md +1 -1
- package/api/@xmachines/play-router/interfaces/BuildPlayRouteEventOptions.md +4 -4
- package/api/@xmachines/play-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-router/interfaces/MachineEdgeData.md +3 -3
- package/api/@xmachines/play-router/interfaces/MachineNodeData.md +5 -5
- package/api/@xmachines/play-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-router/interfaces/RouteInfo.md +8 -8
- package/api/@xmachines/play-router/interfaces/RouteMapping.md +8 -8
- package/api/@xmachines/play-router/interfaces/RouteMatch.md +3 -3
- package/api/@xmachines/play-router/interfaces/{RouteMap.md → RouteMatcher.md} +13 -13
- package/api/@xmachines/play-router/interfaces/RouteNode.md +10 -10
- package/api/@xmachines/play-router/interfaces/RouteObject.md +2 -2
- package/api/@xmachines/play-router/interfaces/RouteTree.md +5 -5
- package/api/@xmachines/play-router/interfaces/RouteWatcherHandle.md +3 -3
- package/api/@xmachines/play-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-router/type-aliases/MachineGraph.md +1 -1
- package/api/@xmachines/play-router/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-signals/functions/watchSignal.md +1 -1
- package/api/@xmachines/play-signals/interfaces/ComputedOptions.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalComputed.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalOptions.md +2 -2
- package/api/@xmachines/play-signals/interfaces/SignalState.md +3 -3
- package/api/@xmachines/play-signals/interfaces/SignalWatcher.md +4 -4
- package/api/@xmachines/play-signals/type-aliases/WatcherNotify.md +1 -1
- package/api/@xmachines/play-solid/README.md +158 -42
- package/api/@xmachines/play-solid/functions/ActionProvider.md +19 -0
- package/api/@xmachines/play-solid/functions/JSONUIProvider.md +21 -0
- package/api/@xmachines/play-solid/functions/Renderer.md +21 -0
- package/api/@xmachines/play-solid/functions/StateProvider.md +19 -0
- package/api/@xmachines/play-solid/functions/ValidationProvider.md +19 -0
- package/api/@xmachines/play-solid/functions/VisibilityProvider.md +20 -0
- package/api/@xmachines/play-solid/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-solid/functions/useAction.md +24 -0
- package/api/@xmachines/play-solid/functions/useActions.md +13 -0
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/useFieldValidation.md +29 -0
- package/api/@xmachines/play-solid/functions/useIsVisible.md +19 -0
- package/api/@xmachines/play-solid/functions/useOptionalValidation.md +13 -0
- package/api/@xmachines/play-solid/functions/usePlayView.md +30 -0
- package/api/@xmachines/play-solid/functions/useStateBinding.md +25 -0
- package/api/@xmachines/play-solid/functions/useStateStore.md +13 -0
- package/api/@xmachines/play-solid/functions/useStateValue.md +25 -0
- package/api/@xmachines/play-solid/functions/useVisibility.md +13 -0
- package/api/@xmachines/play-solid/interfaces/ActionProviderProps.md +12 -0
- package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +30 -0
- package/api/@xmachines/play-solid/interfaces/DefineRegistryResult.md +15 -0
- package/api/@xmachines/play-solid/interfaces/JSONUIProviderProps.md +21 -0
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +26 -0
- package/api/@xmachines/play-solid/interfaces/RendererProps.md +17 -0
- package/api/@xmachines/play-solid/interfaces/StateProviderProps.md +13 -0
- package/api/@xmachines/play-solid/interfaces/ValidationProviderProps.md +11 -0
- package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +21 -0
- package/api/@xmachines/play-solid/type-aliases/ComponentRegistry.md +17 -0
- package/api/@xmachines/play-solid/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-solid/type-aliases/RenderErrorHandler.md +3 -2
- package/api/@xmachines/play-solid/type-aliases/SetState.md +21 -0
- package/api/@xmachines/play-solid/type-aliases/VisibilityProviderProps.md +9 -0
- package/api/@xmachines/play-solid/variables/ActorContext.md +13 -0
- package/api/@xmachines/play-solid/variables/ActorProvider.md +27 -0
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +5 -18
- package/api/@xmachines/play-solid/variables/PlayUIProvider.md +26 -0
- package/api/@xmachines/play-solid-router/README.md +2 -2
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +9 -9
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +25 -25
- package/api/@xmachines/play-solid-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-solid-router/functions/createRouteMap.md +3 -3
- package/api/@xmachines/play-solid-router/interfaces/AbstractActor.md +3 -3
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +8 -8
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-solid-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
- package/api/@xmachines/play-svelte/README.md +105 -25
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +1 -1
- package/api/@xmachines/play-svelte/functions/getActorContext.md +21 -0
- package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +19 -0
- package/api/@xmachines/play-svelte/functions/setActorContext.md +19 -0
- package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +40 -0
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +6 -6
- package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +24 -0
- package/api/@xmachines/play-svelte/type-aliases/PlayActor.md +9 -0
- package/api/@xmachines/play-svelte/type-aliases/RenderErrorHandler.md +1 -17
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +9 -9
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/functions/createRouteMap.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +8 -8
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +9 -9
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-sveltekit-router/functions/createRouteMap.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +4 -4
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +8 -8
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-sveltekit-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/README.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +38 -22
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +24 -24
- package/api/@xmachines/play-tanstack-react-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMap.md +7 -39
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +8 -8
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteNavigateEvent.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +4 -4
- package/api/@xmachines/play-tanstack-solid-router/README.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +9 -9
- package/api/@xmachines/play-tanstack-solid-router/classes/SolidRouterBridge.md +25 -25
- package/api/@xmachines/play-tanstack-solid-router/functions/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/functions/createRouteMap.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +8 -8
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +3 -3
- package/api/@xmachines/play-vue/README.md +136 -40
- package/api/@xmachines/play-vue/functions/defineRegistry.md +2 -2
- package/api/@xmachines/play-vue/functions/getPlayViewContext.md +28 -0
- package/api/@xmachines/play-vue/functions/useActor.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ActionProviderProps.md +12 -0
- package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +25 -0
- package/api/@xmachines/play-vue/interfaces/DefineRegistryResult.md +15 -0
- package/api/@xmachines/play-vue/interfaces/JSONUIProviderProps.md +20 -0
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +24 -0
- package/api/@xmachines/play-vue/interfaces/RendererProps.md +17 -0
- package/api/@xmachines/play-vue/interfaces/StateProviderProps.md +15 -0
- package/api/@xmachines/play-vue/interfaces/ValidationProviderProps.md +11 -0
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +21 -0
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +2 -2
- package/api/@xmachines/play-vue/type-aliases/PlayActor.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/RenderErrorHandler.md +3 -2
- package/api/@xmachines/play-vue/variables/ActionProvider.md +64 -0
- package/api/@xmachines/play-vue/variables/JSONUIProvider.md +96 -0
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-vue/variables/Renderer.md +79 -0
- package/api/@xmachines/play-vue/variables/StateProvider.md +79 -0
- package/api/@xmachines/play-vue/variables/ValidationProvider.md +55 -0
- package/api/@xmachines/play-vue/variables/VisibilityProvider.md +40 -0
- package/api/@xmachines/play-vue-router/README.md +9 -4
- package/api/@xmachines/play-vue-router/classes/RouteMap.md +38 -20
- package/api/@xmachines/play-vue-router/classes/VueRouterBridge.md +25 -25
- package/api/@xmachines/play-vue-router/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-vue-router/interfaces/PlayRouteEvent.md +6 -6
- package/api/@xmachines/play-vue-router/interfaces/RouteMapping.md +8 -8
- package/api/@xmachines/play-vue-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-vue-router/type-aliases/RoutableActor.md +1 -1
- package/api/@xmachines/play-vue-router/variables/PlayRouterProvider.md +1 -1
- package/api/@xmachines/play-xstate/README.md +1 -1
- package/api/@xmachines/play-xstate/classes/PlayerActor.md +26 -26
- package/api/@xmachines/play-xstate/functions/buildRouteUrl.md +1 -1
- package/api/@xmachines/play-xstate/functions/composeGuards.md +1 -1
- package/api/@xmachines/play-xstate/functions/composeGuardsOr.md +1 -1
- package/api/@xmachines/play-xstate/functions/contextFieldMatches.md +1 -1
- package/api/@xmachines/play-xstate/functions/definePlayer.md +1 -1
- package/api/@xmachines/play-xstate/functions/deriveRoute.md +1 -1
- package/api/@xmachines/play-xstate/functions/eventMatches.md +1 -1
- package/api/@xmachines/play-xstate/functions/formatPlayRouteTransitions.md +1 -1
- package/api/@xmachines/play-xstate/functions/hasContext.md +1 -1
- package/api/@xmachines/play-xstate/functions/isAbsoluteRoute.md +1 -1
- package/api/@xmachines/play-xstate/functions/negateGuard.md +1 -1
- package/api/@xmachines/play-xstate/interfaces/PlayerConfig.md +3 -3
- package/api/@xmachines/play-xstate/interfaces/PlayerFactoryResumeOptions.md +2 -2
- package/api/@xmachines/play-xstate/interfaces/PlayerOptions.md +6 -6
- package/api/@xmachines/play-xstate/interfaces/RouteContext.md +5 -5
- package/api/@xmachines/play-xstate/type-aliases/ComposedGuard.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/Guard.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/GuardArray.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/PlayerFactory.md +1 -1
- package/api/@xmachines/play-xstate/type-aliases/RouteMachineConfig.md +4 -4
- package/api/@xmachines/play-xstate/type-aliases/RouteStateNode.md +4 -4
- package/api/@xmachines/shared/README.md +47 -47
- package/api/@xmachines/shared/functions/defineXmVitestConfig.md +1 -1
- package/api/@xmachines/shared/functions/xmAliases.md +1 -1
- package/api/llms.txt +4 -2
- package/examples/@xmachines/play-dom-demo/README.md +44 -24
- package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +4 -3
- package/examples/@xmachines/play-dom-demo/functions/initShell.md +5 -1
- package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-dom-demo/variables/About.md +4 -1
- package/examples/@xmachines/play-dom-demo/variables/Contact.md +4 -1
- package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +5 -1
- package/examples/@xmachines/play-dom-demo/variables/Home.md +5 -1
- package/examples/@xmachines/play-dom-demo/variables/Login.md +5 -1
- package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +8 -1
- package/examples/@xmachines/play-dom-demo/variables/Navigation.md +5 -1
- package/examples/@xmachines/play-dom-demo/variables/Overview.md +5 -1
- package/examples/@xmachines/play-dom-demo/variables/Profile.md +5 -1
- package/examples/@xmachines/play-dom-demo/variables/Settings.md +5 -1
- package/examples/@xmachines/play-dom-demo/variables/Stats.md +5 -1
- package/examples/@xmachines/play-dom-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-dom-router-demo/README.md +26 -22
- package/examples/@xmachines/play-react-demo/README.md +55 -48
- package/examples/@xmachines/play-react-demo/functions/App.md +1 -1
- package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-react-demo/variables/About.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/Contact.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/Dashboard.md +7 -1
- package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +5 -1
- package/examples/@xmachines/play-react-demo/variables/Home.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/Login.md +8 -1
- package/examples/@xmachines/play-react-demo/variables/NavBar.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/NavBarView.md +7 -1
- package/examples/@xmachines/play-react-demo/variables/Navigation.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/Overview.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/Profile.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/Settings.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/Shell.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/Stats.md +6 -1
- package/examples/@xmachines/play-react-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-react-router-demo/README.md +5 -3
- package/examples/@xmachines/play-solid-demo/README.md +55 -36
- package/examples/@xmachines/play-solid-demo/functions/App.md +1 -1
- package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/About.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Contact.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +5 -1
- package/examples/@xmachines/play-solid-demo/variables/Home.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Login.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/NavBar.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +6 -3
- package/examples/@xmachines/play-solid-demo/variables/Navigation.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Overview.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Profile.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Settings.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/Shell.md +5 -1
- package/examples/@xmachines/play-solid-demo/variables/Stats.md +1 -1
- package/examples/@xmachines/play-solid-demo/variables/authCatalog.md +1 -1
- package/examples/@xmachines/play-solid-router-demo/README.md +6 -4
- package/examples/@xmachines/play-svelte-demo/README.md +34 -21
- package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +9 -0
- package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-demo/variables/App.md +9 -0
- package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +172 -0
- package/examples/@xmachines/play-svelte-spa-router-demo/README.md +10 -12
- package/examples/@xmachines/play-sveltekit-router-demo/README.md +12 -14
- package/examples/@xmachines/play-tanstack-react-router-demo/README.md +3 -3
- package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +4 -4
- package/examples/@xmachines/play-vue-demo/README.md +66 -39
- package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-vue-demo/variables/App.md +9 -0
- package/examples/@xmachines/play-vue-demo/variables/authCatalog.md +172 -0
- package/examples/@xmachines/play-vue-router-demo/README.md +21 -24
- package/examples/README.md +2 -0
- package/examples/form-validation.md +33 -42
- package/guides/README.md +8 -0
- package/guides/actor-model.md +180 -0
- package/guides/getting-started.md +18 -14
- package/guides/signals.md +166 -0
- package/guides/state-machines.md +288 -0
- package/package.json +2 -2
- package/rfc/play.md +81 -54
- package/api/@xmachines/play-actor/interfaces/ViewMetadata.md +0 -17
- package/api/@xmachines/play-react/interfaces/PlayRendererProps.md +0 -24
- package/api/@xmachines/play-solid/interfaces/PlayRendererProps.md +0 -24
- package/api/@xmachines/play-svelte/interfaces/PlayRendererProps.md +0 -22
- package/api/@xmachines/play-svelte/variables/getBoundProp.md +0 -7
- package/api/@xmachines/play-vue/interfaces/PlayRendererProps.md +0 -22
- package/api/@xmachines/play-vue-router/classes/VueBaseRouteMap.md +0 -141
- package/api/_media/README.md +0 -321
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
[Documentation](../../../README.md) / [@xmachines/play-svelte](../README.md) / PlayRendererProps
|
|
2
|
-
|
|
3
|
-
# Interface: PlayRendererProps\<TLogic\>
|
|
4
|
-
|
|
5
|
-
Defined in: [packages/play-svelte/src/types.ts:13](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.33/packages/play-svelte/src/types.ts#L13)
|
|
6
|
-
|
|
7
|
-
## Type Parameters
|
|
8
|
-
|
|
9
|
-
| Type Parameter | Default type |
|
|
10
|
-
| ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
|
11
|
-
| `TLogic` _extends_ [`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic) | [`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic) |
|
|
12
|
-
|
|
13
|
-
## Properties
|
|
14
|
-
|
|
15
|
-
| Property | Type | Description | Defined in |
|
|
16
|
-
| ----------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
17
|
-
| <a id="property-actor"></a> `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<`TLogic`, [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Viewable`](../../play-actor/interfaces/Viewable.md) | - | [packages/play-svelte/src/types.ts:14](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.33/packages/play-svelte/src/types.ts#L14) |
|
|
18
|
-
| <a id="property-fallback"></a> `fallback?` | `Snippet`\<\[\]\> | Svelte snippet rendered when currentView is null (no active view). Also shown when a catalog component throws during render. | [packages/play-svelte/src/types.ts:29](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.33/packages/play-svelte/src/types.ts#L29) |
|
|
19
|
-
| <a id="property-onerror"></a> `onError?` | (`error`, `reset`) => `void` | Called when a catalog component throws during render. Receives the thrown error and a `reset` function that clears the boundary and attempts to re-render. Matches Svelte 5's `<svelte:boundary onerror>` signature. | [packages/play-svelte/src/types.ts:36](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.33/packages/play-svelte/src/types.ts#L36) |
|
|
20
|
-
| <a id="property-onrendererror"></a> `onRenderError?` | [`RenderErrorHandler`](../type-aliases/RenderErrorHandler.md) | Called when an individual catalog component throws during render. Caught by the inner `<svelte:boundary>` inside each rendered element — the failed component is silently removed from the DOM while the rest of the spec continues rendering. Unlike `onError`, this does not take a `reset` callback because the inner boundary never re-renders the failed element. When not provided, `@json-render/svelte` logs the error to `console.error`. **Example** `<PlayRenderer {actor} {registryResult} onRenderError={(error, elementType) => { console.warn(`<${elementType}> crashed:`, error); }} />` | [packages/play-svelte/src/types.ts:60](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.33/packages/play-svelte/src/types.ts#L60) |
|
|
21
|
-
| <a id="property-registryresult"></a> `registryResult` | `DefineRegistryResult` | Full result from defineRegistry() — contains component registry and action handlers. Action handlers are async functions that dispatch to the actor (not string-mapped event type stubs). Replaces the old `registry` + `actions` prop pair. | [packages/play-svelte/src/types.ts:21](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.33/packages/play-svelte/src/types.ts#L21) |
|
|
22
|
-
| <a id="property-store"></a> `store?` | `StateStore` | - | [packages/play-svelte/src/types.ts:23](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.33/packages/play-svelte/src/types.ts#L23) |
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
[Documentation](../../../README.md) / [@xmachines/play-vue](../README.md) / PlayRendererProps
|
|
2
|
-
|
|
3
|
-
# Interface: PlayRendererProps\<TLogic\>
|
|
4
|
-
|
|
5
|
-
Defined in: [packages/play-vue/src/types.ts:23](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.33/packages/play-vue/src/types.ts#L23)
|
|
6
|
-
|
|
7
|
-
Props for PlayRenderer component
|
|
8
|
-
|
|
9
|
-
## Type Parameters
|
|
10
|
-
|
|
11
|
-
| Type Parameter | Default type | Description |
|
|
12
|
-
| ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
|
|
13
|
-
| `TLogic` _extends_ [`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic) | [`AnyActorLogic`](https://www.jsdocs.io/package/xstate#AnyActorLogic) | The XState actor logic type. Defaults to `AnyActorLogic` for non-generic usage. |
|
|
14
|
-
|
|
15
|
-
## Properties
|
|
16
|
-
|
|
17
|
-
| Property | Type | Description | Defined in |
|
|
18
|
-
| ----------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
|
19
|
-
| <a id="property-actor"></a> `actor` | [`AbstractActor`](../../play-actor/classes/AbstractActor.md)\<`TLogic`, [`EventObject`](https://www.jsdocs.io/package/xstate#EventObject)\> & [`Viewable`](../../play-actor/interfaces/Viewable.md) | Actor instance with currentView signal (requires Viewable capability) | [packages/play-vue/src/types.ts:25](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.33/packages/play-vue/src/types.ts#L25) |
|
|
20
|
-
| <a id="property-onrendererror"></a> `onRenderError?` | [`RenderErrorHandler`](../type-aliases/RenderErrorHandler.md) | Called when an individual catalog component throws during render. Caught by the inner error boundary inside each rendered element — the failed component is silently removed while the rest of the spec continues rendering. Takes precedence over any `onRenderError` set via `defineRegistry`. When not provided, `@json-render/vue` logs the error to `console.error`. | [packages/play-vue/src/types.ts:52](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.33/packages/play-vue/src/types.ts#L52) |
|
|
21
|
-
| <a id="property-registryresult"></a> `registryResult` | `DefineRegistryResult` | Full result from defineRegistry() in @json-render/vue. Contains both the component registry and the action handlers factory. Action handlers are real async functions dispatching to the actor (not string-mapped event types). | [packages/play-vue/src/types.ts:32](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.33/packages/play-vue/src/types.ts#L32) |
|
|
22
|
-
| <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. | [packages/play-vue/src/types.ts:41](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.33/packages/play-vue/src/types.ts#L41) |
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
[Documentation](../../../README.md) / [@xmachines/play-vue-router](../README.md) / VueBaseRouteMap
|
|
2
|
-
|
|
3
|
-
# Class: VueBaseRouteMap
|
|
4
|
-
|
|
5
|
-
Defined in: [play-router/src/base-route-map.ts:100](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.33/packages/play-router/src/base-route-map.ts#L100)
|
|
6
|
-
|
|
7
|
-
Shared bidirectional route map base class.
|
|
8
|
-
|
|
9
|
-
All framework adapter `RouteMap` classes extend this — they add no logic of their
|
|
10
|
-
own and inherit the full public API from here.
|
|
11
|
-
|
|
12
|
-
**Lookup strategy:**
|
|
13
|
-
|
|
14
|
-
- Static paths (no `:param`) → O(1) `Map` lookup
|
|
15
|
-
- Dynamic paths → O(k) bucket-indexed scan using `URLPattern`, where `k` is the number
|
|
16
|
-
of routes sharing the same first path segment
|
|
17
|
-
- Results are cached after the first match in an LRU cache (default 500 entries,
|
|
18
|
-
configurable via the `cacheSize` constructor option)
|
|
19
|
-
|
|
20
|
-
**Pattern syntax** (`:param` / `:param?`):
|
|
21
|
-
|
|
22
|
-
- `:param` — required segment, matches exactly one non-`/` segment
|
|
23
|
-
- `:param?` — optional segment, matches zero or one non-`/` segment
|
|
24
|
-
|
|
25
|
-
## Example
|
|
26
|
-
|
|
27
|
-
```typescript
|
|
28
|
-
import { BaseRouteMap } from "@xmachines/play-router";
|
|
29
|
-
|
|
30
|
-
const map = new BaseRouteMap([
|
|
31
|
-
{ stateId: "home", path: "/" },
|
|
32
|
-
{ stateId: "profile", path: "/profile/:userId" },
|
|
33
|
-
{ stateId: "settings", path: "/settings/:section?" },
|
|
34
|
-
]);
|
|
35
|
-
|
|
36
|
-
map.getStateIdByPath("/"); // "home"
|
|
37
|
-
map.getStateIdByPath("/profile/123"); // "profile"
|
|
38
|
-
map.getStateIdByPath("/settings"); // "settings"
|
|
39
|
-
map.getStateIdByPath("/unknown"); // null
|
|
40
|
-
|
|
41
|
-
map.getPathByStateId("profile"); // "/profile/:userId"
|
|
42
|
-
map.getPathByStateId("missing"); // null
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Extended by
|
|
46
|
-
|
|
47
|
-
- [`RouteMap`](RouteMap.md)
|
|
48
|
-
|
|
49
|
-
## Constructors
|
|
50
|
-
|
|
51
|
-
### Constructor
|
|
52
|
-
|
|
53
|
-
```ts
|
|
54
|
-
new VueBaseRouteMap(mappings, options?): BaseRouteMap;
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
Defined in: [play-router/src/base-route-map.ts:125](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.33/packages/play-router/src/base-route-map.ts#L125)
|
|
58
|
-
|
|
59
|
-
Build a route map from an array of state ID ↔ path mappings.
|
|
60
|
-
|
|
61
|
-
Static paths (no `:param`) are indexed in an O(1) `Map`.
|
|
62
|
-
Parameterized paths are compiled to `URLPattern` and grouped into first-segment
|
|
63
|
-
buckets for efficient candidate selection.
|
|
64
|
-
|
|
65
|
-
#### Parameters
|
|
66
|
-
|
|
67
|
-
| Parameter | Type | Description |
|
|
68
|
-
| -------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
69
|
-
| `mappings` | [`RouteMapping`](../interfaces/RouteMapping.md)[] | Array of `{ stateId, path }` entries. Order determines priority when multiple patterns could match the same path. |
|
|
70
|
-
| `options` | \{ `cacheSize?`: `number`; \} | Optional configuration. `options.cacheSize`: Maximum number of resolved parameterized path lookups to cache. Defaults to `500`. Increase for applications with many unique parameterized URL values (e.g. user profile pages with thousands of distinct IDs). After eviction the path falls back to the O(k) bucket pattern scan — correct but slower. Minimum effective value is `1` (QuickLRU constraint). |
|
|
71
|
-
| `options.cacheSize?` | `number` | - |
|
|
72
|
-
|
|
73
|
-
#### Returns
|
|
74
|
-
|
|
75
|
-
`BaseRouteMap`
|
|
76
|
-
|
|
77
|
-
## Methods
|
|
78
|
-
|
|
79
|
-
### getPathByStateId()
|
|
80
|
-
|
|
81
|
-
```ts
|
|
82
|
-
getPathByStateId(stateId): string | null;
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
Defined in: [play-router/src/base-route-map.ts:209](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.33/packages/play-router/src/base-route-map.ts#L209)
|
|
86
|
-
|
|
87
|
-
Look up the path pattern registered for a state ID.
|
|
88
|
-
|
|
89
|
-
#### Parameters
|
|
90
|
-
|
|
91
|
-
| Parameter | Type | Description |
|
|
92
|
-
| --------- | -------- | --------------------------------------------------------- |
|
|
93
|
-
| `stateId` | `string` | State machine state ID (e.g., `"profile"`, `"#settings"`) |
|
|
94
|
-
|
|
95
|
-
#### Returns
|
|
96
|
-
|
|
97
|
-
`string` \| `null`
|
|
98
|
-
|
|
99
|
-
The registered path pattern, or `null` if the state ID is unknown
|
|
100
|
-
|
|
101
|
-
#### Example
|
|
102
|
-
|
|
103
|
-
```typescript
|
|
104
|
-
map.getPathByStateId("profile"); // "/profile/:userId"
|
|
105
|
-
map.getPathByStateId("missing"); // null
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
### getStateIdByPath()
|
|
111
|
-
|
|
112
|
-
```ts
|
|
113
|
-
getStateIdByPath(path): string | null;
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
Defined in: [play-router/src/base-route-map.ts:174](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v1.0.0-beta.33/packages/play-router/src/base-route-map.ts#L174)
|
|
117
|
-
|
|
118
|
-
Resolve a URL path to its mapped state ID.
|
|
119
|
-
|
|
120
|
-
Strips query strings and hash fragments before matching. Tries an O(1) exact
|
|
121
|
-
lookup first, then falls back to bucket-indexed pattern matching. Results are
|
|
122
|
-
cached after the first pattern match.
|
|
123
|
-
|
|
124
|
-
#### Parameters
|
|
125
|
-
|
|
126
|
-
| Parameter | Type | Description |
|
|
127
|
-
| --------- | -------- | ------------------------------------------------------------------------------ |
|
|
128
|
-
| `path` | `string` | URL pathname, optionally including query/hash (e.g., `"/profile/123?ref=nav"`) |
|
|
129
|
-
|
|
130
|
-
#### Returns
|
|
131
|
-
|
|
132
|
-
`string` \| `null`
|
|
133
|
-
|
|
134
|
-
The mapped state ID, or `null` if no route matches
|
|
135
|
-
|
|
136
|
-
#### Example
|
|
137
|
-
|
|
138
|
-
```typescript
|
|
139
|
-
map.getStateIdByPath("/profile/123"); // "profile"
|
|
140
|
-
map.getStateIdByPath("/unknown"); // null
|
|
141
|
-
```
|
package/api/_media/README.md
DELETED
|
@@ -1,321 +0,0 @@
|
|
|
1
|
-
[Documentation](../../README.md) / @xmachines/play-dom
|
|
2
|
-
|
|
3
|
-
# @xmachines/play-dom
|
|
4
|
-
|
|
5
|
-
**Vanilla DOM renderer for XMachines**
|
|
6
|
-
|
|
7
|
-
Framework-free view rendering driven by an XState v5 actor's `currentView` TC39 Signal. Implements the same catalog-typed `defineRegistry` / `ComponentFn` / `ActionFn` API surface as `@json-render/react`, `/solid`, `/vue`, and `/svelte`.
|
|
8
|
-
|
|
9
|
-
## Installation
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
npm install @xmachines/play-dom @json-render/core zod
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Key Exports
|
|
16
|
-
|
|
17
|
-
| Export | Description |
|
|
18
|
-
| --------------------------------------------------- | ------------------------------------------------------------------------------------------- |
|
|
19
|
-
| `createRenderer(catalog, componentMap)` | One-call factory: returns `mount(actor, container, options?) → disconnect` |
|
|
20
|
-
| `connectRenderer(options)` | Functional API: connect actor → DOM with full options |
|
|
21
|
-
| `defineRegistry(catalog, { components, actions })` | Build a catalog-typed `DomRegistry` with typed action handlers |
|
|
22
|
-
| `PlayRenderer` | Class-based renderer — `connect()` / `disconnect()` lifecycle |
|
|
23
|
-
| `schema` | DOM schema for `defineCatalog` (mirrors `@json-render/react/schema`) |
|
|
24
|
-
| `ComponentFn<C, K>` | Catalog-typed DOM component function type |
|
|
25
|
-
| `ComponentContext<C, K>` | Context passed to each `ComponentFn` — `props`, `on`, `emit`, `children`, `bindings`, `ctx` |
|
|
26
|
-
| `ActionFn<C, K>` | `(params, setState, state) => Promise<void>` — catalog-typed action handler |
|
|
27
|
-
| `SetState` | `(updater: prev => next) => void` — write to the local state store |
|
|
28
|
-
| `BaseComponentProps<P>` | Base type for catalog component prop definitions |
|
|
29
|
-
| `CatalogHasActions<C>` | Conditional type: `true` when catalog declares actions |
|
|
30
|
-
| `renderSpec(spec, store, registry, send, handlers)` | Pure Spec → DOM renderer (advanced use) |
|
|
31
|
-
|
|
32
|
-
## Quick Start — `createRenderer`
|
|
33
|
-
|
|
34
|
-
The preferred one-call pattern — mirrors all framework renderers:
|
|
35
|
-
|
|
36
|
-
```typescript
|
|
37
|
-
import { createRenderer, schema } from "@xmachines/play-dom";
|
|
38
|
-
import { defineCatalog } from "@json-render/core";
|
|
39
|
-
import { z } from "zod";
|
|
40
|
-
import type { ComponentFn } from "@xmachines/play-dom";
|
|
41
|
-
|
|
42
|
-
// 1. Define catalog
|
|
43
|
-
const catalog = defineCatalog(schema, {
|
|
44
|
-
components: {
|
|
45
|
-
Home: { props: z.object({ title: z.string() }) },
|
|
46
|
-
Login: { props: z.object({ title: z.string(), username: z.string().optional() }) },
|
|
47
|
-
},
|
|
48
|
-
actions: {
|
|
49
|
-
login: { params: z.object({ username: z.string() }) },
|
|
50
|
-
logout: {},
|
|
51
|
-
},
|
|
52
|
-
});
|
|
53
|
-
type AppCatalog = typeof catalog;
|
|
54
|
-
|
|
55
|
-
// 2. Implement components
|
|
56
|
-
const Home: ComponentFn<AppCatalog, "Home"> = ({ props }) => {
|
|
57
|
-
const el = document.createElement("section");
|
|
58
|
-
el.textContent = props.title;
|
|
59
|
-
return el;
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
const Login: ComponentFn<AppCatalog, "Login"> = ({ props, on }) => {
|
|
63
|
-
const section = document.createElement("section");
|
|
64
|
-
const input = document.createElement("input");
|
|
65
|
-
input.value = props.username ?? "";
|
|
66
|
-
input.addEventListener("input", () => ctx.store.update((s) => ({ ...s, username: input.value })));
|
|
67
|
-
|
|
68
|
-
const button = document.createElement("button");
|
|
69
|
-
button.textContent = "Log In";
|
|
70
|
-
const submit = on("submit");
|
|
71
|
-
button.addEventListener("click", () => submit.emit());
|
|
72
|
-
|
|
73
|
-
section.append(input, button);
|
|
74
|
-
return section;
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
// 3. Create the renderer factory (once, at module level)
|
|
78
|
-
const mount = createRenderer(catalog, { Home, Login });
|
|
79
|
-
|
|
80
|
-
// 4. Mount when actor and container are ready
|
|
81
|
-
const actor = createPlayer()();
|
|
82
|
-
actor.start();
|
|
83
|
-
|
|
84
|
-
const disconnect = mount(actor, document.getElementById("app")!);
|
|
85
|
-
|
|
86
|
-
// Cleanup:
|
|
87
|
-
disconnect();
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
## `defineRegistry` — Full Control
|
|
91
|
-
|
|
92
|
-
When you need `registryResult.executeAction()` or want to share the registry with `connectRenderer`:
|
|
93
|
-
|
|
94
|
-
```typescript
|
|
95
|
-
import { defineRegistry, connectRenderer, schema } from "@xmachines/play-dom";
|
|
96
|
-
import { defineCatalog } from "@json-render/core";
|
|
97
|
-
import { z } from "zod";
|
|
98
|
-
|
|
99
|
-
const catalog = defineCatalog(schema, {
|
|
100
|
-
components: {
|
|
101
|
-
Home: { props: z.object({ title: z.string() }) },
|
|
102
|
-
},
|
|
103
|
-
actions: {
|
|
104
|
-
login: { params: z.object({ username: z.string() }) },
|
|
105
|
-
logout: {},
|
|
106
|
-
},
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
// Action handlers receive (params, setState, state)
|
|
110
|
-
// - params: resolved from the spec's on.submit.params (e.g. { $state: "/username" })
|
|
111
|
-
// - setState: write to the local state store (e.g. to clear a form)
|
|
112
|
-
// - state: current local state store snapshot
|
|
113
|
-
const registryResult = defineRegistry(catalog, {
|
|
114
|
-
components: {
|
|
115
|
-
Home: ({ props }) => {
|
|
116
|
-
const el = document.createElement("section");
|
|
117
|
-
el.textContent = props.title;
|
|
118
|
-
return el;
|
|
119
|
-
},
|
|
120
|
-
},
|
|
121
|
-
actions: {
|
|
122
|
-
login: async (params, setState) => {
|
|
123
|
-
if (!params) return;
|
|
124
|
-
actor.send({ type: "auth.login", username: params.username });
|
|
125
|
-
setState((prev) => ({ ...prev, username: "" })); // clear the form
|
|
126
|
-
},
|
|
127
|
-
logout: async () => actor.send({ type: "auth.logout" }),
|
|
128
|
-
},
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
const disconnect = connectRenderer({
|
|
132
|
-
actor,
|
|
133
|
-
registry: registryResult.registry,
|
|
134
|
-
registryResult, // wires setState/state from xstate store automatically
|
|
135
|
-
container: document.getElementById("app")!,
|
|
136
|
-
});
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
## Component API
|
|
140
|
-
|
|
141
|
-
### `ComponentFn<C, K>` — component function signature
|
|
142
|
-
|
|
143
|
-
```typescript
|
|
144
|
-
const MyCard: ComponentFn<AppCatalog, "Card"> = ({
|
|
145
|
-
props, // catalog-typed props for this component
|
|
146
|
-
children, // Node[] — rendered child nodes
|
|
147
|
-
on, // (eventName) => EventHandle — get emit() for catalog-declared events
|
|
148
|
-
emit, // (eventName) => void — fire an event directly
|
|
149
|
-
bindings, // Record<string, string> — $bindState paths for two-way bindings
|
|
150
|
-
ctx, // DomRenderContext — store, send, handlers, loading, functions
|
|
151
|
-
}) => {
|
|
152
|
-
const el = document.createElement("div");
|
|
153
|
-
el.append(...children);
|
|
154
|
-
return el;
|
|
155
|
-
};
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### Two-way binding with `$bindState`
|
|
159
|
-
|
|
160
|
-
In the view spec:
|
|
161
|
-
|
|
162
|
-
```json
|
|
163
|
-
{ "username": { "$bindState": "/username" } }
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
In the component:
|
|
167
|
-
|
|
168
|
-
```typescript
|
|
169
|
-
const Login: ComponentFn<AppCatalog, "Login"> = ({ props, ctx }) => {
|
|
170
|
-
const input = document.createElement("input");
|
|
171
|
-
input.value = props.username ?? "";
|
|
172
|
-
// Write back to the store on user input
|
|
173
|
-
input.addEventListener("input", () => {
|
|
174
|
-
ctx.store.update((s) => ({ ...s, username: input.value }));
|
|
175
|
-
});
|
|
176
|
-
return input;
|
|
177
|
-
};
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
### `on()` — event handle
|
|
181
|
-
|
|
182
|
-
```typescript
|
|
183
|
-
const submit = on("submit"); // EventHandle
|
|
184
|
-
if (submit.bound) {
|
|
185
|
-
button.addEventListener("click", (e) => {
|
|
186
|
-
if (submit.shouldPreventDefault) e.preventDefault();
|
|
187
|
-
submit.emit(); // resolves params from store, calls action handler
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
### `ActionFn` — action handler signature
|
|
193
|
-
|
|
194
|
-
```typescript
|
|
195
|
-
// Full signature — all three params are available
|
|
196
|
-
login: async (params, setState, state) => {
|
|
197
|
-
actor.send({ type: "auth.login", username: params!.username });
|
|
198
|
-
setState(prev => ({ ...prev, username: "" }));
|
|
199
|
-
console.log("previous state was:", state);
|
|
200
|
-
},
|
|
201
|
-
|
|
202
|
-
// Params-only — setState/state can be omitted if unused
|
|
203
|
-
logout: async () => actor.send({ type: "auth.logout" }),
|
|
204
|
-
route: async (params) => actor.send({ type: "play.route", to: params!.to }),
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
## Spec Features
|
|
208
|
-
|
|
209
|
-
`renderSpec` / `renderElement` supports these spec directives:
|
|
210
|
-
|
|
211
|
-
| Directive | Description |
|
|
212
|
-
| ------------------------------------------------------ | ------------------------------------------------------------------------------------- |
|
|
213
|
-
| `visible` | Boolean or `{ $state: "/path" }` — hide element when false |
|
|
214
|
-
| `on.submit` / `on.click` | Action binding — `{ action: "login", params: { username: { $state: "/username" } } }` |
|
|
215
|
-
| `repeat: { statePath, key? }` | Render children once per item in the state array at `statePath` |
|
|
216
|
-
| `watch: { "/path": actionBinding }` | Fire action when store path changes after mount |
|
|
217
|
-
| `props.username: { $bindState: "/username" }` | Two-way binding — read from store, write back via `ctx.store.update()` |
|
|
218
|
-
| `props.value: { $state: "/value" }` | Read-only store reference |
|
|
219
|
-
| `props.label: { $computed: "computeFn", args: [...] }` | Computed prop via `functions` map |
|
|
220
|
-
|
|
221
|
-
## `PlayRenderer` — class API
|
|
222
|
-
|
|
223
|
-
```typescript
|
|
224
|
-
import { PlayRenderer, defineRegistry } from "@xmachines/play-dom";
|
|
225
|
-
|
|
226
|
-
const { registry, registryResult } = defineRegistry(catalog, { components, actions });
|
|
227
|
-
|
|
228
|
-
const renderer = new PlayRenderer(document.getElementById("app")!, actor, registry, {
|
|
229
|
-
registryResult,
|
|
230
|
-
});
|
|
231
|
-
|
|
232
|
-
renderer.connect(); // starts watching actor.currentView
|
|
233
|
-
renderer.disconnect(); // stops watching, clears container
|
|
234
|
-
|
|
235
|
-
// double-connect is safe — connect() calls disconnect() internally if already connected
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
## Options Reference
|
|
239
|
-
|
|
240
|
-
### `ConnectRendererOptions` / `PlayDomOptions`
|
|
241
|
-
|
|
242
|
-
| Option | Type | Description |
|
|
243
|
-
| ---------------- | ------------------------------- | ----------------------------------------------------------------------------- |
|
|
244
|
-
| `actor` | `AbstractActor & Viewable` | Actor providing `currentView` signal |
|
|
245
|
-
| `registry` | `DomRegistry` | Component renderer map from `defineRegistry` |
|
|
246
|
-
| `registryResult` | `DefineRegistryResult` | Preferred — auto-wires `setState`/`state` from xstate store |
|
|
247
|
-
| `handlers` | `Record<string, ActionHandler>` | Pre-resolved handlers (legacy / advanced) |
|
|
248
|
-
| `container` | `HTMLElement` | DOM element to render into |
|
|
249
|
-
| `fallback` | `HTMLElement \| null` | Shown on initial mount when view is `null` (initial mount only) |
|
|
250
|
-
| `store` | `StateStore` | External store — controlled mode, overrides `spec.state` |
|
|
251
|
-
| `loading` | `boolean` | Streaming mode — suppresses missing-child warnings, exposes `ctx.ctx.loading` |
|
|
252
|
-
|
|
253
|
-
## Learn More
|
|
254
|
-
|
|
255
|
-
- [DOM Router adapter `@xmachines/play-dom-router`](../play-dom-router/README.md)
|
|
256
|
-
- [API reference](../../_media/README.md)
|
|
257
|
-
- [Play RFC](../../packages/docs/rfc/play.md)
|
|
258
|
-
|
|
259
|
-
@xmachines/play-dom — Vanilla DOM renderer for XMachines Play architecture.
|
|
260
|
-
|
|
261
|
-
Public API split into two layers:
|
|
262
|
-
|
|
263
|
-
**XMachines layer** (this package):
|
|
264
|
-
|
|
265
|
-
- `createRenderer()` — one-call factory: returns `mount(actor, container, options?) → disconnect`
|
|
266
|
-
- `PlayRenderer` — class-based renderer with `connect()` / `disconnect()` lifecycle
|
|
267
|
-
- `connectRenderer()` — functional API (backward-compat alternative to `PlayRenderer`)
|
|
268
|
-
- `ConnectRendererOptions`, `PlayDomOptions`
|
|
269
|
-
|
|
270
|
-
**json-render layer** (upstreamable to @json-render/dom):
|
|
271
|
-
|
|
272
|
-
- `defineRegistry` — build a catalog-typed DomRegistry
|
|
273
|
-
- `renderSpec` — pure Spec → DOM renderer (uses resolveElementProps from core)
|
|
274
|
-
- `ComponentFn` — catalog-typed component function type
|
|
275
|
-
- `ComponentContext` — catalog-typed render context (props, emit, on, children, bindings)
|
|
276
|
-
- `ComponentRegistry` — catalog-typed registry input type
|
|
277
|
-
- `DomComponentRenderer` — raw element-level renderer type
|
|
278
|
-
- `DomRegistry` — raw registry type
|
|
279
|
-
- `DomRenderContext` — raw render context
|
|
280
|
-
- `EventHandle` — event handle returned by on()
|
|
281
|
-
- `SetState` — state updater function passed to ActionFn
|
|
282
|
-
- `CatalogHasActions` — conditional type: true when catalog declares actions
|
|
283
|
-
- `BaseComponentProps` — base props type for catalog component definitions
|
|
284
|
-
|
|
285
|
-
## Classes
|
|
286
|
-
|
|
287
|
-
- [PlayRenderer](classes/PlayRenderer.md)
|
|
288
|
-
|
|
289
|
-
## Interfaces
|
|
290
|
-
|
|
291
|
-
- [ComponentContext](interfaces/ComponentContext.md)
|
|
292
|
-
- [ConnectRendererOptions](interfaces/ConnectRendererOptions.md)
|
|
293
|
-
- [DefineRegistryResult](interfaces/DefineRegistryResult.md)
|
|
294
|
-
- [DomRenderContext](interfaces/DomRenderContext.md)
|
|
295
|
-
- [EventHandle](interfaces/EventHandle.md)
|
|
296
|
-
- [PlayDomOptions](interfaces/PlayDomOptions.md)
|
|
297
|
-
|
|
298
|
-
## Type Aliases
|
|
299
|
-
|
|
300
|
-
- [ActionFn](type-aliases/ActionFn.md)
|
|
301
|
-
- [Actions](type-aliases/Actions.md)
|
|
302
|
-
- [BaseComponentProps](type-aliases/BaseComponentProps.md)
|
|
303
|
-
- [CatalogHasActions](type-aliases/CatalogHasActions.md)
|
|
304
|
-
- [ComponentFn](type-aliases/ComponentFn.md)
|
|
305
|
-
- [ComponentRegistry](type-aliases/ComponentRegistry.md)
|
|
306
|
-
- [DefineRegistryOptions](type-aliases/DefineRegistryOptions.md)
|
|
307
|
-
- [DomComponentRenderer](type-aliases/DomComponentRenderer.md)
|
|
308
|
-
- [DomRegistry](type-aliases/DomRegistry.md)
|
|
309
|
-
- [DomSchema](type-aliases/DomSchema.md)
|
|
310
|
-
- [SetState](type-aliases/SetState.md)
|
|
311
|
-
|
|
312
|
-
## Variables
|
|
313
|
-
|
|
314
|
-
- [schema](variables/schema.md)
|
|
315
|
-
|
|
316
|
-
## Functions
|
|
317
|
-
|
|
318
|
-
- [connectRenderer](functions/connectRenderer.md)
|
|
319
|
-
- [createRenderer](functions/createRenderer.md)
|
|
320
|
-
- [defineRegistry](functions/defineRegistry.md)
|
|
321
|
-
- [renderSpec](functions/renderSpec.md)
|