@xmachines/docs 6.1.0 → 7.1.0
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/README.md +4 -4
- package/api/@xmachines/core/README.md +7 -2
- package/api/@xmachines/core/cache/functions/createLruCache.md +7 -7
- package/api/@xmachines/core/cache/interfaces/KeyValueCache.md +6 -6
- package/api/@xmachines/core/errors/classes/BaseError.md +15 -23
- package/api/@xmachines/core/errors/classes/DisposeConflictError.md +11 -11
- package/api/@xmachines/core/utils/functions/asDisposable.md +9 -9
- package/api/@xmachines/core/utils/functions/createNullRecord.md +4 -4
- package/api/@xmachines/core/utils/functions/createWarnOnce.md +1 -1
- package/api/@xmachines/core/utils/functions/describeValue.md +1 -1
- package/api/@xmachines/core/utils/functions/isError.md +1 -1
- package/api/@xmachines/core/utils/functions/isThenable.md +4 -4
- package/api/@xmachines/core/utils/functions/releaseQuietly.md +1 -1
- package/api/@xmachines/core/utils/functions/rethrowLater.md +1 -1
- package/api/@xmachines/core/utils/functions/safeString.md +1 -1
- package/api/@xmachines/core/utils/functions/shallowEqualExcept.md +1 -1
- package/api/@xmachines/core/utils/type-aliases/DisposeKey.md +1 -1
- package/api/@xmachines/core/utils/type-aliases/DisposeMember.md +1 -1
- package/api/@xmachines/core/utils/variables/DISPOSE.md +1 -1
- package/api/@xmachines/play/README.md +10 -5
- package/api/@xmachines/play/errors/classes/NonNullableError.md +11 -11
- package/api/@xmachines/play/errors/classes/PlayError.md +12 -11
- package/api/@xmachines/play/index/functions/assertNonNullable.md +4 -4
- package/api/@xmachines/play/index/type-aliases/PlayEvent.md +9 -9
- package/api/@xmachines/play-actor/README.md +12 -2
- package/api/@xmachines/play-actor/interfaces/ActorEvent.md +4 -4
- package/api/@xmachines/play-actor/interfaces/PlayActor.md +9 -9
- package/api/@xmachines/play-atom/README.md +16 -4
- package/api/@xmachines/play-atom/functions/watchAtom.md +4 -4
- package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +4 -4
- package/api/@xmachines/play-atom/interfaces/Atom.md +9 -9
- package/api/@xmachines/play-atom/interfaces/AtomObserver.md +9 -9
- package/api/@xmachines/play-atom/interfaces/AtomOptions.md +7 -7
- package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +2 -2
- package/api/@xmachines/play-atom/interfaces/BaseAtom.md +7 -7
- package/api/@xmachines/play-atom/interfaces/CreateAtom.md +9 -9
- package/api/@xmachines/play-atom/interfaces/Readable.md +7 -7
- package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +7 -7
- package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +1 -1
- package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +5 -5
- package/api/@xmachines/play-atom/variables/createAsyncAtom.md +4 -4
- package/api/@xmachines/play-atom/variables/createAtom.md +1 -1
- package/api/@xmachines/play-atom/variables/createWritableAtom.md +4 -4
- package/api/@xmachines/play-dom/README.md +131 -48
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +12 -12
- package/api/@xmachines/play-dom/functions/createPlayUI.md +5 -5
- package/api/@xmachines/play-dom/functions/createRenderer.md +4 -4
- package/api/@xmachines/play-dom/functions/defineRegistry.md +3 -3
- package/api/@xmachines/play-dom/functions/renderSpec.md +3 -2
- package/api/@xmachines/play-dom/interfaces/ComponentContext.md +13 -13
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +17 -15
- package/api/@xmachines/play-dom/interfaces/DomRenderContext.md +26 -20
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -5
- package/api/@xmachines/play-dom/interfaces/PassOptions.md +14 -0
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +18 -17
- package/api/@xmachines/play-dom/interfaces/RenderErrorInfo.md +16 -0
- package/api/@xmachines/play-dom/interfaces/RenderSpecOptions.md +17 -15
- package/api/@xmachines/play-dom/interfaces/UIProviderOptions.md +9 -8
- package/api/@xmachines/play-dom/interfaces/ValidationRegistry.md +14 -11
- package/api/@xmachines/play-dom/type-aliases/ActionFn.md +4 -4
- package/api/@xmachines/play-dom/type-aliases/Actions.md +3 -3
- package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +4 -4
- package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +3 -3
- package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +3 -3
- package/api/@xmachines/play-dom/type-aliases/ConfirmHandler.md +9 -10
- package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +10 -9
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
- package/api/@xmachines/play-dom/type-aliases/OnRenderError.md +27 -0
- package/api/@xmachines/play-dom/type-aliases/RenderErrorKind.md +21 -0
- package/api/@xmachines/play-dom-router/README.md +41 -5
- package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +7 -7
- package/api/@xmachines/play-dom-router/classes/RouteMap.md +5 -5
- 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/createRouter.md +1 -1
- package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +16 -16
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +10 -10
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
- package/api/@xmachines/play-pattern/README.md +1 -1
- package/api/@xmachines/play-pattern/functions/buildPath.md +2 -2
- package/api/@xmachines/play-pattern/functions/createLruCache.md +7 -7
- package/api/@xmachines/play-pattern/functions/getIndexKey.md +1 -1
- package/api/@xmachines/play-pattern/functions/isDotSegment.md +1 -1
- package/api/@xmachines/play-pattern/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-pattern/interfaces/GroupPart.md +6 -6
- package/api/@xmachines/play-pattern/interfaces/KeyValueCache.md +6 -6
- package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +5 -5
- package/api/@xmachines/play-pattern/interfaces/ParamPart.md +9 -9
- package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +14 -14
- package/api/@xmachines/play-pattern/interfaces/PatternParam.md +6 -6
- package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PathParams.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +1 -1
- package/api/@xmachines/play-react/README.md +57 -18
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +36 -75
- package/api/@xmachines/play-react/functions/defineRegistry.md +4 -4
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useAtomEffect.md +2 -2
- package/api/@xmachines/play-react/functions/useBoundProp.md +3 -3
- package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-react/interfaces/ActionProviderProps.md +5 -5
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +11 -11
- package/api/@xmachines/play-react/interfaces/ComponentContext.md +4 -4
- package/api/@xmachines/play-react/interfaces/DefineRegistryResult.md +15 -0
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +8 -8
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -6
- package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +15 -14
- package/api/@xmachines/play-react/interfaces/RenderErrorInfo.md +16 -0
- package/api/@xmachines/play-react/interfaces/RendererProps.md +7 -7
- package/api/@xmachines/play-react/interfaces/ViewContextValue.md +7 -7
- package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-react/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-react/type-aliases/OnRenderError.md +27 -0
- package/api/@xmachines/play-react/type-aliases/RenderErrorKind.md +21 -0
- package/api/@xmachines/play-react/variables/ActorProvider.md +14 -4
- package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-react-router/README.md +27 -6
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +7 -7
- package/api/@xmachines/play-react-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +5 -5
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +14 -14
- package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-router/README.md +73 -16
- package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +11 -11
- package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +13 -13
- package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +11 -11
- package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +13 -13
- package/api/@xmachines/play-router/index/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-router/index/classes/RouterBridgeBase.md +14 -14
- package/api/@xmachines/play-router/index/functions/buildPlayRouteEvent.md +1 -1
- package/api/@xmachines/play-router/index/functions/buildRouteTree.md +4 -4
- package/api/@xmachines/play-router/index/functions/cleanFrameworkParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/createLruCache.md +7 -7
- package/api/@xmachines/play-router/index/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-router/index/functions/createRouterConnection.md +1 -1
- package/api/@xmachines/play-router/index/functions/detectDuplicateRoutes.md +1 -1
- package/api/@xmachines/play-router/index/functions/extractQuery.md +1 -1
- package/api/@xmachines/play-router/index/functions/extractRouteParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/findRouteById.md +1 -1
- package/api/@xmachines/play-router/index/functions/findRouteByPath.md +1 -1
- package/api/@xmachines/play-router/index/functions/isMountableBridge.md +1 -1
- package/api/@xmachines/play-router/index/functions/joinBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/mountKey.md +1 -1
- package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/openProviderBridge.md +9 -9
- package/api/@xmachines/play-router/index/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-router/index/functions/pickOwnParams.md +6 -6
- package/api/@xmachines/play-router/index/functions/repointProviderBridge.md +1 -1
- package/api/@xmachines/play-router/index/functions/resolveBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-router/index/functions/splitLocation.md +1 -1
- package/api/@xmachines/play-router/index/functions/stripBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/validateRouteFormat.md +1 -1
- package/api/@xmachines/play-router/index/functions/validateStateExists.md +1 -1
- package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +9 -9
- package/api/@xmachines/play-router/index/interfaces/KeyValueCache.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/LocationLike.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +8 -8
- package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +14 -14
- package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +14 -14
- package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +16 -16
- package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/ResolvedRoutePath.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/Routable.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +10 -10
- package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RouteNode.md +12 -12
- package/api/@xmachines/play-router/index/interfaces/RouteObject.md +7 -7
- package/api/@xmachines/play-router/index/interfaces/RouteTree.md +10 -10
- package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +10 -9
- package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +7 -7
- package/api/@xmachines/play-router/index/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +6 -6
- package/api/@xmachines/play-router/index/type-aliases/RouteData.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +3 -3
- package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +1 -1
- package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getRoutableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getRouteMappings.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getTransitionReachableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/isRouteReachable.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/machineToGraph.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/routeExists.md +1 -1
- package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +5 -5
- package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +7 -7
- package/api/@xmachines/play-router/xstate/type-aliases/MachineGraph.md +1 -1
- package/api/@xmachines/play-solid/README.md +35 -11
- package/api/@xmachines/play-solid/functions/defineRegistry.md +3 -3
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/useBoundProp.md +11 -8
- package/api/@xmachines/play-solid/functions/useFieldValidation.md +6 -4
- package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-solid/functions/useStateBinding.md +8 -6
- package/api/@xmachines/play-solid/functions/useStateValue.md +8 -6
- package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
- package/api/@xmachines/play-solid/interfaces/ComponentContext.md +4 -4
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +15 -14
- package/api/@xmachines/play-solid/interfaces/RenderErrorInfo.md +16 -0
- package/api/@xmachines/play-solid/interfaces/RendererProps.md +7 -7
- package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +7 -7
- package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-solid/type-aliases/OnRenderError.md +27 -0
- package/api/@xmachines/play-solid/type-aliases/RenderErrorKind.md +21 -0
- package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorProvider.md +17 -3
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-solid-router/README.md +22 -6
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +7 -7
- package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +9 -9
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +14 -14
- package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
- package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-svelte/README.md +18 -10
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +6 -7
- package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
- package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
- package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
- package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +12 -12
- package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +13 -13
- package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +14 -14
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +11 -11
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryResult.md +15 -0
- package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +14 -14
- package/api/@xmachines/play-svelte/interfaces/RenderErrorInfo.md +16 -0
- package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +7 -7
- package/api/@xmachines/play-svelte/type-aliases/ActionFn.md +4 -4
- package/api/@xmachines/play-svelte/type-aliases/Actions.md +3 -3
- package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-svelte/type-aliases/OnRenderError.md +27 -0
- package/api/@xmachines/play-svelte/type-aliases/RenderErrorKind.md +21 -0
- package/api/@xmachines/play-svelte-spa-router/README.md +9 -5
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +8 -8
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +10 -10
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/README.md +65 -13
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +29 -19
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +13 -16
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +5 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-sveltekit-router/interfaces/SvelteKitRouterBridgeOptions.md +25 -0
- package/api/@xmachines/play-sveltekit-router/type-aliases/ShallowNavigation.md +21 -0
- package/api/@xmachines/play-tanstack-react-router/README.md +34 -16
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +14 -14
- package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +9 -9
- package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-tanstack-router/README.md +5 -3
- package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +7 -7
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +9 -9
- package/api/@xmachines/play-tanstack-solid-router/README.md +45 -11
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +7 -7
- package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +14 -14
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +9 -9
- package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-url/README.md +1 -1
- package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +12 -12
- package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +12 -12
- package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +13 -13
- package/api/@xmachines/play-url/index/functions/buildPath.md +2 -2
- package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
- package/api/@xmachines/play-url/index/functions/createLruCache.md +7 -7
- package/api/@xmachines/play-url/index/functions/getCandidates.md +4 -4
- package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +5 -5
- package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
- package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +1 -1
- package/api/@xmachines/play-url/index/functions/isDotSegment.md +1 -1
- package/api/@xmachines/play-url/index/functions/joinBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-url/index/functions/pickOwnParams.md +6 -6
- package/api/@xmachines/play-url/index/functions/resolveBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +1 -1
- package/api/@xmachines/play-url/index/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-url/index/functions/splitLocation.md +1 -1
- package/api/@xmachines/play-url/index/functions/stripBasePath.md +1 -1
- package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +9 -9
- package/api/@xmachines/play-url/index/interfaces/GroupPart.md +6 -6
- package/api/@xmachines/play-url/index/interfaces/KeyValueCache.md +6 -6
- package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/ParamPart.md +9 -9
- package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +14 -14
- package/api/@xmachines/play-url/index/interfaces/PatternParam.md +6 -6
- package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +7 -7
- package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PathParams.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +2 -2
- package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +3 -3
- package/api/@xmachines/play-url/index/variables/NO_BASE_PATH.md +1 -1
- package/api/@xmachines/play-url/index/variables/URLPattern.md +1 -1
- package/api/@xmachines/play-view/README.md +45 -19
- package/api/@xmachines/play-view/errors/README.md +1 -0
- package/api/@xmachines/play-view/errors/classes/InvalidViewOutletError.md +13 -13
- package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +12 -12
- package/api/@xmachines/play-view/errors/classes/ViewElementKeyCollisionError.md +181 -0
- package/api/@xmachines/play-view/index/README.md +10 -4
- package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +13 -12
- package/api/@xmachines/play-view/index/functions/bindStoreHandlers.md +34 -0
- package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
- package/api/@xmachines/play-view/index/functions/composeViews.md +8 -2
- package/api/@xmachines/play-view/index/functions/createActorProxy.md +39 -0
- package/api/@xmachines/play-view/index/functions/createRenderErrorBinding.md +35 -0
- package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
- package/api/@xmachines/play-view/index/functions/createViewSession.md +29 -0
- package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
- package/api/@xmachines/play-view/index/functions/forwardRenderError.md +45 -0
- package/api/@xmachines/play-view/index/functions/guardContextWrites.md +1 -1
- package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
- package/api/@xmachines/play-view/index/functions/reuseComposedState.md +1 -1
- package/api/@xmachines/play-view/index/functions/toAtomState.md +1 -1
- package/api/@xmachines/play-view/index/functions/typedSpec.md +1 -1
- package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +12 -12
- package/api/@xmachines/play-view/index/interfaces/BaseViewContextValue.md +10 -10
- package/api/@xmachines/play-view/index/interfaces/ComposedView.md +7 -7
- package/api/@xmachines/play-view/index/interfaces/HandlerFactory.md +19 -0
- package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +8 -8
- package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ResolveViewStoreOptions.md +4 -4
- package/api/@xmachines/play-view/index/interfaces/ViewMeta.md +7 -7
- package/api/@xmachines/play-view/index/interfaces/ViewOutlet.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ViewSession.md +155 -0
- package/api/@xmachines/play-view/index/interfaces/ViewSessionOptions.md +12 -0
- package/api/@xmachines/play-view/index/interfaces/ViewSessionSnapshot.md +23 -0
- package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +22 -3
- package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +7 -6
- package/api/@xmachines/play-view/index/interfaces/ViewTree.md +6 -6
- package/api/@xmachines/play-view/index/interfaces/ViewTreeChild.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/Viewable.md +4 -4
- package/api/@xmachines/play-view/index/type-aliases/StateUpdater.md +21 -0
- package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +5 -5
- package/api/@xmachines/play-view/index/variables/CONTEXT_STATE_KEY.md +1 -1
- package/api/@xmachines/play-vue/README.md +20 -15
- package/api/@xmachines/play-vue/functions/defineRegistry.md +4 -4
- package/api/@xmachines/play-vue/functions/useActor.md +1 -1
- package/api/@xmachines/play-vue/functions/useBoundProp.md +13 -7
- package/api/@xmachines/play-vue/functions/useFieldValidation.md +12 -5
- package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +8 -8
- package/api/@xmachines/play-vue/interfaces/ComponentContext.md +4 -4
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
- package/api/@xmachines/play-vue/interfaces/RenderErrorInfo.md +16 -0
- package/api/@xmachines/play-vue/interfaces/RendererProps.md +7 -7
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +7 -7
- package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +5 -5
- package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +4 -4
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +9 -9
- package/api/@xmachines/play-vue/type-aliases/OnRenderError.md +27 -0
- package/api/@xmachines/play-vue/type-aliases/RenderErrorKind.md +21 -0
- package/api/@xmachines/play-vue/variables/ActionProvider.md +35 -54
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +4 -2
- package/api/@xmachines/play-vue/variables/Renderer.md +61 -78
- package/api/@xmachines/play-vue/variables/StateProvider.md +44 -63
- package/api/@xmachines/play-vue/variables/ValidationProvider.md +26 -45
- package/api/@xmachines/play-vue/variables/VisibilityProvider.md +17 -30
- package/api/@xmachines/play-vue-router/README.md +19 -12
- package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +11 -11
- package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +11 -11
- package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +7 -7
- package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +90 -105
- package/api/@xmachines/play-xstate/README.md +64 -12
- package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +11 -11
- package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +12 -12
- package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +11 -11
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +13 -13
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +13 -13
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +14 -14
- package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +13 -13
- package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +13 -13
- package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +44 -68
- package/api/@xmachines/play-xstate/index/functions/compose.md +22 -22
- package/api/@xmachines/play-xstate/index/functions/definePlayer.md +9 -9
- package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +10 -10
- package/api/@xmachines/play-xstate/index/interfaces/PlayerFactoryResumeOptions.md +7 -7
- package/api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md +12 -12
- package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +5 -5
- package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +6 -6
- package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +5 -5
- package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +2 -2
- package/api/@xmachines/play-xstate/with-routing/functions/deriveRoute.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md +4 -4
- package/api/@xmachines/play-xstate/with-routing/functions/isAbsoluteRoute.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +4 -4
- package/api/@xmachines/play-xstate/with-routing/interfaces/RouteContext.md +7 -7
- package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +7 -7
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMachineConfig.md +7 -7
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteStateNode.md +10 -10
- package/api/@xmachines/play-xstate/with-view/functions/withView.md +4 -4
- package/api/@xmachines/shared/README.md +4 -3
- package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +2 -2
- package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutput.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutputFile.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +4 -4
- package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +4 -4
- package/api/@xmachines/shared/vite-aliases/functions/xmTestTarget.md +2 -2
- package/api/@xmachines/shared/vite-aliases/type-aliases/XmTestTarget.md +1 -1
- package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +2 -2
- package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
- package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +6 -6
- package/contributing/architecture.md +88 -53
- package/contributing/configuration.md +44 -62
- package/contributing/deployment.md +131 -161
- package/contributing/development.md +33 -8
- package/contributing/migrating-to-play-atom.md +10 -4
- package/contributing/testing.md +67 -34
- package/examples/@xmachines/play-dom-gallery-demo/README.md +127 -0
- package/examples/@xmachines/play-dom-gallery-demo/functions/createConfirmDialog.md +33 -0
- package/examples/@xmachines/play-dom-gallery-demo/functions/createDebugPanel.md +31 -0
- package/examples/@xmachines/play-dom-gallery-demo/functions/initApp.md +22 -0
- package/examples/@xmachines/play-dom-gallery-demo/functions/initShell.md +33 -0
- package/examples/@xmachines/play-dom-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-dom-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-dom-gallery-demo/interfaces/ShellOptions.md +18 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Button.md +12 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Field.md +30 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Page.md +16 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Panel.md +15 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Text.md +15 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/demoComponents.md +21 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/{play-dom-demo/variables/authCatalog.md → play-dom-gallery-demo/variables/todoMvcCatalog.md} +36 -82
- package/examples/@xmachines/play-dom-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-dom-router-demo/README.md +41 -33
- package/examples/@xmachines/play-dom-router-donut-demo/README.md +78 -0
- package/examples/@xmachines/play-dom-router-flight-demo/README.md +76 -0
- package/examples/@xmachines/play-dom-router-todomvc-demo/README.md +76 -0
- package/examples/@xmachines/play-dom-router-trivia-demo/README.md +76 -0
- package/examples/@xmachines/play-react-gallery-demo/README.md +123 -0
- package/examples/@xmachines/play-react-gallery-demo/functions/App.md +13 -0
- package/examples/@xmachines/play-react-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-react-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Button.md +12 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/DebugPanel.md +21 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Field.md +24 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Page.md +14 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Panel.md +15 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Shell.md +26 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Text.md +15 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/demoComponents.md +21 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/{play-vue-demo/variables/authCatalog.md → play-react-gallery-demo/variables/todoMvcCatalog.md} +36 -82
- package/examples/@xmachines/play-react-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-react-router-demo/README.md +21 -9
- package/examples/@xmachines/play-react-router-donut-demo/README.md +85 -0
- package/examples/@xmachines/play-react-router-flight-demo/README.md +74 -0
- package/examples/@xmachines/play-react-router-todomvc-demo/README.md +74 -0
- package/examples/@xmachines/play-react-router-trivia-demo/README.md +74 -0
- package/examples/@xmachines/play-solid-gallery-demo/README.md +123 -0
- package/examples/@xmachines/play-solid-gallery-demo/functions/App.md +13 -0
- package/examples/@xmachines/play-solid-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-solid-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Button.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/DebugPanel.md +22 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Field.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Page.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Panel.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Shell.md +26 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Text.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/demoComponents.md +21 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/{play-react-demo/variables/authCatalog.md → play-solid-gallery-demo/variables/todoMvcCatalog.md} +36 -82
- package/examples/@xmachines/play-solid-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-solid-router-demo/README.md +17 -9
- package/examples/@xmachines/play-solid-router-donut-demo/README.md +86 -0
- package/examples/@xmachines/play-solid-router-flight-demo/README.md +75 -0
- package/examples/@xmachines/play-solid-router-todomvc-demo/README.md +75 -0
- package/examples/@xmachines/play-solid-router-trivia-demo/README.md +75 -0
- package/examples/@xmachines/play-svelte-gallery-demo/README.md +130 -0
- package/examples/@xmachines/play-svelte-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-svelte-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/App.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/App.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/demoComponents.md +21 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/{play-solid-demo/variables/authCatalog.md → play-svelte-gallery-demo/variables/todoMvcCatalog.md} +36 -82
- package/examples/@xmachines/play-svelte-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-svelte-spa-router-demo/README.md +9 -9
- package/examples/@xmachines/play-svelte-spa-router-donut-demo/README.md +77 -0
- package/examples/@xmachines/play-svelte-spa-router-flight-demo/README.md +76 -0
- package/examples/@xmachines/play-svelte-spa-router-todomvc-demo/README.md +76 -0
- package/examples/@xmachines/play-svelte-spa-router-trivia-demo/README.md +76 -0
- package/examples/@xmachines/play-sveltekit-router-demo/README.md +9 -9
- package/examples/@xmachines/play-sveltekit-router-donut-demo/README.md +103 -0
- package/examples/@xmachines/play-sveltekit-router-flight-demo/README.md +86 -0
- package/examples/@xmachines/play-sveltekit-router-todomvc-demo/README.md +86 -0
- package/examples/@xmachines/play-sveltekit-router-trivia-demo/README.md +86 -0
- package/examples/@xmachines/play-tanstack-react-router-demo/README.md +22 -16
- package/examples/@xmachines/play-tanstack-react-router-donut-demo/README.md +78 -0
- package/examples/@xmachines/play-tanstack-react-router-flight-demo/README.md +74 -0
- package/examples/@xmachines/play-tanstack-react-router-todomvc-demo/README.md +74 -0
- package/examples/@xmachines/play-tanstack-react-router-trivia-demo/README.md +74 -0
- package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +25 -17
- package/examples/@xmachines/play-tanstack-solid-router-donut-demo/README.md +91 -0
- package/examples/@xmachines/play-tanstack-solid-router-flight-demo/README.md +80 -0
- package/examples/@xmachines/play-tanstack-solid-router-todomvc-demo/README.md +80 -0
- package/examples/@xmachines/play-tanstack-solid-router-trivia-demo/README.md +80 -0
- package/examples/@xmachines/play-vue-gallery-demo/README.md +120 -0
- package/examples/@xmachines/play-vue-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-vue-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/App.md +11 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/demoComponents.md +11 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/todoMvcCatalog.md +151 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-vue-router-demo/README.md +17 -11
- package/examples/@xmachines/play-vue-router-donut-demo/README.md +78 -0
- package/examples/@xmachines/play-vue-router-flight-demo/README.md +76 -0
- package/examples/@xmachines/play-vue-router-todomvc-demo/README.md +76 -0
- package/examples/@xmachines/play-vue-router-trivia-demo/README.md +76 -0
- package/examples/README.md +44 -6
- package/examples/form-validation.md +17 -13
- package/examples/multi-router-integration.md +268 -147
- package/examples/routing-patterns.md +46 -9
- package/examples/traffic-light.md +6 -2
- package/examples/xstate-example-ports.md +106 -0
- package/guides/actor-model.md +37 -19
- package/guides/atoms.md +48 -8
- package/guides/getting-started.md +66 -14
- package/guides/inspector.md +74 -14
- package/guides/routing.md +4 -1
- package/guides/state-machines.md +35 -13
- package/guides/views.md +34 -14
- package/package.json +6 -6
- package/rfc/play.md +31 -13
- package/api/@xmachines/play-view/index/functions/createFailureLatch.md +0 -20
- package/api/@xmachines/play-view/index/functions/sameViewInputs.md +0 -25
- package/api/@xmachines/play-view/index/interfaces/FailureLatch.md +0 -60
- package/api/@xmachines/play-view/index/interfaces/ViewInputs.md +0 -19
- package/examples/@xmachines/play-dom-demo/README.md +0 -162
- package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +0 -27
- package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +0 -24
- package/examples/@xmachines/play-dom-demo/functions/initShell.md +0 -25
- package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-dom-demo/variables/About.md +0 -12
- package/examples/@xmachines/play-dom-demo/variables/Button.md +0 -12
- package/examples/@xmachines/play-dom-demo/variables/Contact.md +0 -12
- package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Field.md +0 -19
- package/examples/@xmachines/play-dom-demo/variables/Home.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Login.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +0 -16
- package/examples/@xmachines/play-dom-demo/variables/Navigation.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Overview.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Panel.md +0 -14
- package/examples/@xmachines/play-dom-demo/variables/Profile.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Settings.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Stats.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +0 -30
- package/examples/@xmachines/play-react-demo/README.md +0 -163
- package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-react-demo/variables/About.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Button.md +0 -12
- package/examples/@xmachines/play-react-demo/variables/Contact.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Dashboard.md +0 -15
- package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +0 -16
- package/examples/@xmachines/play-react-demo/variables/Field.md +0 -18
- package/examples/@xmachines/play-react-demo/variables/Home.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Login.md +0 -16
- package/examples/@xmachines/play-react-demo/variables/NavBar.md +0 -16
- package/examples/@xmachines/play-react-demo/variables/NavBarView.md +0 -15
- package/examples/@xmachines/play-react-demo/variables/Navigation.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Overview.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Panel.md +0 -15
- package/examples/@xmachines/play-react-demo/variables/Profile.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Settings.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Shell.md +0 -19
- package/examples/@xmachines/play-react-demo/variables/Stats.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/demoComponents.md +0 -30
- package/examples/@xmachines/play-solid-demo/README.md +0 -163
- package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/About.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Button.md +0 -11
- package/examples/@xmachines/play-solid-demo/variables/Contact.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +0 -17
- package/examples/@xmachines/play-solid-demo/variables/Field.md +0 -11
- package/examples/@xmachines/play-solid-demo/variables/Home.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Login.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/NavBar.md +0 -11
- package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +0 -15
- package/examples/@xmachines/play-solid-demo/variables/Navigation.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Overview.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Panel.md +0 -11
- package/examples/@xmachines/play-solid-demo/variables/Profile.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Settings.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Shell.md +0 -18
- package/examples/@xmachines/play-solid-demo/variables/Stats.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +0 -30
- package/examples/@xmachines/play-svelte-demo/README.md +0 -137
- package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +0 -9
- package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-svelte-demo/variables/App.md +0 -9
- package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +0 -197
- package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +0 -30
- package/examples/@xmachines/play-vue-demo/README.md +0 -159
- package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-vue-demo/variables/App.md +0 -9
- package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +0 -11
package/guides/views.md
CHANGED
|
@@ -68,6 +68,9 @@ The view is an OPTIONAL capability of the actor. Compose it with `withView` of [
|
|
|
68
68
|
```ts
|
|
69
69
|
import { definePlayer, compose, PlayerActor } from "@xmachines/play-xstate";
|
|
70
70
|
import { withView } from "@xmachines/play-xstate/view";
|
|
71
|
+
import type { AnyStateMachine } from "xstate";
|
|
72
|
+
|
|
73
|
+
declare const machine: AnyStateMachine; // your machine
|
|
71
74
|
|
|
72
75
|
const actor = definePlayer({ machine, actor: compose(PlayerActor, withView) })();
|
|
73
76
|
actor.start();
|
|
@@ -81,7 +84,7 @@ The actor then holds `currentView`, a `ReadonlyAtom<PlaySpec | null>`. An applic
|
|
|
81
84
|
|
|
82
85
|
**The deepest active state that declares a view supplies it**, unless a parent composes it. A state that declares no view shows the view of its nearest ancestor that declares one. An ancestor view without `outlets` does not show, because the view of its descendant replaces it:
|
|
83
86
|
|
|
84
|
-
```ts
|
|
87
|
+
```ts fragment
|
|
85
88
|
states: {
|
|
86
89
|
dashboard: {
|
|
87
90
|
meta: { view: dashboardView }, // shows in dashboard.overview
|
|
@@ -96,13 +99,13 @@ states: {
|
|
|
96
99
|
|
|
97
100
|
When no active state declares a view, `currentView` holds `null`, and the renderer shows its `fallback` content.
|
|
98
101
|
|
|
99
|
-
A **parallel** state follows the same region as the route derivation: the first region whose active states declare a `meta.route`,
|
|
102
|
+
A **parallel** state follows the same region as the route derivation: the first region whose active states declare a `meta.route`, else the first region that declares a route in any state, else the first region. A region that owns the routes therefore keeps the screen while it sits in a state without a route, such as a load. The view on the screen therefore belongs to the region of the URL. When that region holds no view, the view comes from another active region, so one region can own the URL and another region can own the view. Keep the routes in one region: the [State Machines](state-machines.md#a-layout-and-its-pages-outlets) guide shows what a second routed region does to the URL.
|
|
100
103
|
|
|
101
104
|
### A layout and its pages: `outlets`
|
|
102
105
|
|
|
103
106
|
A parent view that declares `outlets` shows itself AND the view of its active child. Each outlet names an element of the parent view, and the view of the child goes into that element:
|
|
104
107
|
|
|
105
|
-
```ts
|
|
108
|
+
```ts fragment
|
|
106
109
|
const shell = typedSpec({
|
|
107
110
|
root: "shell",
|
|
108
111
|
state: { collapsed: false },
|
|
@@ -130,6 +133,7 @@ states: {
|
|
|
130
133
|
- `slot` names a named slot of the element. Omit it, and the renderer appends the child view to the `children` of the element.
|
|
131
134
|
- The view of a child is the deepest view below it. A child view can declare `outlets` of its own, for a nested layout.
|
|
132
135
|
- An outlet that names an element that its view does not hold throws `InvalidViewOutletError`. The actor reports it through `onError`, and it keeps the last valid view.
|
|
136
|
+
- The keys of the outer view carry no prefix, and each key of a child view gets the id of its state and a `/` as a prefix. A key of the outer view such as `"page/root"` equals the key of the element `root` of the child state `page`, and the composition throws `ViewElementKeyCollisionError`. Do not start a key of the outer view with the id of a state and a `/`.
|
|
133
137
|
|
|
134
138
|
The derived spec is ONE flat spec. The keys of the outer view stay as you wrote them. Each key of a child view gets the id of its state as a prefix: the `root` element of the view of the state `app.search` becomes `app.search/root`. Two views therefore never collide. The [State Machines](state-machines.md#a-layout-and-its-pages-outlets) guide shows a parallel layout with a named slot.
|
|
135
139
|
|
|
@@ -149,7 +153,7 @@ derived state = { ...meta.view.state, context: <the machine context> }
|
|
|
149
153
|
|
|
150
154
|
A spec reads the context through the ordinary state grammar of json-render. The same path works in a prop, in a `visible` condition, and in `repeat.statePath`:
|
|
151
155
|
|
|
152
|
-
```ts
|
|
156
|
+
```ts fragment
|
|
153
157
|
elements: {
|
|
154
158
|
greeting: { type: "Text", props: { text: { $state: "/context/username" } }, children: [] },
|
|
155
159
|
tasks: {
|
|
@@ -189,7 +193,7 @@ Domain state is the state of the application. Each change of it is an event, so
|
|
|
189
193
|
|
|
190
194
|
This login form uses both. The field binds to `/username`, and the submit sends the value to the machine:
|
|
191
195
|
|
|
192
|
-
```ts
|
|
196
|
+
```ts fragment
|
|
193
197
|
view: typedSpec({
|
|
194
198
|
root: "form",
|
|
195
199
|
state: { username: "" },
|
|
@@ -215,10 +219,26 @@ Keep high-frequency data in the ephemeral state or in a child actor, and not in
|
|
|
215
219
|
A component emits a named event of json-render, such as `submit` or `press`. The `on` field of its element maps that name to an ACTION, with params that the renderer resolves from the store. The registry holds the handler of each action, and a handler of a domain action sends a machine event:
|
|
216
220
|
|
|
217
221
|
```ts
|
|
222
|
+
import { defineCatalog } from "@xmachines/json-render-core";
|
|
223
|
+
import { defineRegistry, schema, type ComponentFn } from "@xmachines/play-dom";
|
|
224
|
+
import type { ViewActor } from "@xmachines/play-view";
|
|
225
|
+
import { z } from "zod";
|
|
226
|
+
|
|
227
|
+
declare const actor: ViewActor<unknown, { type: "auth.login"; username: string }>;
|
|
228
|
+
|
|
229
|
+
const catalog = defineCatalog(schema, {
|
|
230
|
+
components: { Login: { props: z.object({ username: z.string() }) } },
|
|
231
|
+
actions: { login: { params: z.object({ username: z.string() }) } },
|
|
232
|
+
});
|
|
233
|
+
|
|
234
|
+
declare const Login: ComponentFn<typeof catalog, "Login">; // your component
|
|
235
|
+
|
|
218
236
|
const registryResult = defineRegistry(catalog, {
|
|
219
237
|
components: { Login },
|
|
220
238
|
actions: {
|
|
221
|
-
login: async (
|
|
239
|
+
login: async (params) => {
|
|
240
|
+
if (params) actor.send({ type: "auth.login", username: params.username });
|
|
241
|
+
},
|
|
222
242
|
},
|
|
223
243
|
});
|
|
224
244
|
```
|
|
@@ -227,7 +247,7 @@ The guards of the machine then decide. The renderer changes no state of the mach
|
|
|
227
247
|
|
|
228
248
|
The renderer implements four built-in actions over the ephemeral state: `setState`, `pushState`, `removeState` and `validateForm`. They need no handler in the registry. An `on` entry can hold an array of bindings, and the renderer runs them in order. For example, it sends the event, and then it clears the draft:
|
|
229
249
|
|
|
230
|
-
```ts
|
|
250
|
+
```ts fragment
|
|
231
251
|
on: {
|
|
232
252
|
press: [
|
|
233
253
|
{ action: "addTask", params: { title: { $state: "/newTaskTitle" } } },
|
|
@@ -255,18 +275,18 @@ A renderer holds one view store for each view, and the `viewKey` decides its lif
|
|
|
255
275
|
|
|
256
276
|
With the same `viewKey`, every renderer keeps the DOM nodes, the focus and the ephemeral state. A context change therefore updates a list under a field that has the focus, and the draft in the field stays.
|
|
257
277
|
|
|
258
|
-
With a new `viewKey`, the ephemeral state starts again from `spec.state
|
|
278
|
+
With a new `viewKey`, the ephemeral state starts again from `spec.state`, and every renderer builds the view again. The state that a component keeps for itself, such as the text of an unbound input, goes with the old view. Two sibling states that each declare a view therefore reset a draft on each transition between them, also when their two specs are equal.
|
|
259
279
|
|
|
260
280
|
A parent keeps the ephemeral state across a move between its children in one of two ways:
|
|
261
281
|
|
|
262
282
|
- **Declare the view on the parent**, and no view on the children. The `viewKey` stays the id of the parent.
|
|
263
283
|
- **Declare `outlets` on the parent.** The `viewKey` stays the id of the parent, and each child still shows its own view. A change of the page keeps the store of the layout, so the `collapsed` value of the [layout above](#a-layout-and-its-pages-outlets) does not change.
|
|
264
284
|
|
|
265
|
-
In a composed view, all the views of one layout share ONE store. The first time that a page shows, the renderer writes each key of its authored `state` that the store does not hold. A page that comes back finds the values that it left. Two pages that declare the same key therefore share one value: give each page its own keys. When two composed views declare the same key, the outer view wins, and
|
|
285
|
+
In a composed view, all the views of one layout share ONE store. The first time that a page shows, the renderer writes each key of its authored `state` that the store does not hold. A page that comes back finds the values that it left. Two pages that declare the same key therefore share one value: give each page its own keys. When two composed views declare the same key, the outer view wins. play-xstate reads the states of the machine one time, and it writes one warning for each layout that names every key that two of its views declare.
|
|
266
286
|
|
|
267
287
|
`currentView` also emits only on a real change of the view on the screen. An event that changes no context field and moves to no other view keeps the previous reference, and no subscriber runs. The gate compares the top-level fields of the context. It does not enter a value, so a new object in a field emits again, also when its contents are equal.
|
|
268
288
|
|
|
269
|
-
In the **controlled mode**, you give the provider a `store`. The provider then ignores `spec.state`, and you own the seed and the lifetime of that store. The renderer still owns `/context`, and it refreshes the subtree in your store on each emission.
|
|
289
|
+
In the **controlled mode**, you give the provider a `store`. The provider then ignores `spec.state`, and you own the seed and the lifetime of that store. The renderer still owns `/context`, and it refreshes the subtree in your store on each emission. The tree lives as long as its store, so a new `viewKey` keeps the tree in the controlled mode, and a new store builds it again.
|
|
270
290
|
|
|
271
291
|
---
|
|
272
292
|
|
|
@@ -274,16 +294,16 @@ In the **controlled mode**, you give the provider a `store`. The provider then i
|
|
|
274
294
|
|
|
275
295
|
A failure of the DERIVATION stays inside the actor. `currentView` catches it, it keeps the last valid view, and it reports the error to the `onError` hook of the actor in a microtask. The transition continues for every other observer.
|
|
276
296
|
|
|
277
|
-
A failure of the RENDER stays inside the provider. When a component throws,
|
|
297
|
+
A failure of the RENDER stays inside the provider. When a component throws, when the store does not resolve, or when the root of the view fails, the provider shows its `fallback` and it calls its own `onError` prop:
|
|
278
298
|
|
|
279
299
|
| Renderer | The `onError` prop of the provider |
|
|
280
300
|
| ----------------------------------------------------------------- | ---------------------------------- |
|
|
281
|
-
| [`@xmachines/play-react`](../api/@xmachines/play-react/README.md) | `(error,
|
|
301
|
+
| [`@xmachines/play-react`](../api/@xmachines/play-react/README.md) | `(error, reset, info) => void` |
|
|
282
302
|
| the four other renderers | `(error, reset) => void` |
|
|
283
303
|
|
|
284
304
|
The provider reports one failure one time for one set of inputs — the actor, the view and the store — and not one time for each render. A new emission, or a call of `reset`, makes the next failure report again. Without `onError`, the provider writes the failure to `console.error`, so that no failure is silent. A handler that throws does not break the containment: the provider writes that failure to `console.error` too.
|
|
285
305
|
|
|
286
|
-
`onRenderError` receives
|
|
306
|
+
`onRenderError` receives each failure that json-render reports, with `(error, name, info)`, and it replaces every handler of `defineRegistry`. `info.kind` names the failure: a catalog component that throws (`"element"`), a prop or a `visible` condition of a child (`"props"`, `"visible"`), an action chain or a watch chain (`"action"`, `"watch"`), or the root (`"root"`). A failure of the ROOT — its component, a prop, or its `visible` condition — leaves no view on the screen. json-render gives it to no error boundary of the host, so each of the five providers contains it as a failure of the view: it shows its `fallback`, it calls `onError` one time, and the next view renders again. `onRenderError` also receives it, with the kind `"root"`. A failure below the root reaches `onRenderError` alone, and the rest of the view stays. Without a handler of the host, the provider writes one console line for a failure of the root, and not two.
|
|
287
307
|
|
|
288
308
|
---
|
|
289
309
|
|
|
@@ -319,7 +339,7 @@ A provider takes a `ViewActor`: the actor contract and the `Viewable` capability
|
|
|
319
339
|
|
|
320
340
|
Each one exports `schema` for `defineCatalog`, and `defineRegistry` for its own components. `PlayUIProvider` takes the `actor`, the `registryResult`, and the optional `store`, `fallback`, `onError` and `onRenderError`. The [Getting Started](getting-started.md#connecting-a-view-renderer) guide shows a complete mount for each framework.
|
|
321
341
|
|
|
322
|
-
[`@xmachines/play-view`](../api/@xmachines/play-view/README.md) holds the part that the five share: the store
|
|
342
|
+
[`@xmachines/play-view`](../api/@xmachines/play-view/README.md) holds the part that the five share: the view session, which resolves the store of each view outside a render, the `/context` guard and the report guard. A shared contract suite runs the same scenarios against each renderer, so the five agree on what a viewer sees.
|
|
323
343
|
|
|
324
344
|
---
|
|
325
345
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xmachines/docs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.1.0",
|
|
4
4
|
"description": "Documentation for XMachines",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"documentation",
|
|
@@ -56,13 +56,13 @@
|
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@testing-library/jest-dom": "^7.0.1",
|
|
59
|
-
"@types/node": "^26.6.
|
|
60
|
-
"oxfmt": "^0.
|
|
61
|
-
"oxlint": "^1.
|
|
59
|
+
"@types/node": "^26.6.6",
|
|
60
|
+
"oxfmt": "^0.75.0",
|
|
61
|
+
"oxlint": "^1.90.0",
|
|
62
62
|
"typedoc": "^0.28.20",
|
|
63
63
|
"typedoc-plugin-llms-txt": "^0.1.2",
|
|
64
|
-
"typedoc-plugin-markdown": "^4.
|
|
65
|
-
"vitest": "^5.0.
|
|
64
|
+
"typedoc-plugin-markdown": "^4.14.1",
|
|
65
|
+
"vitest": "^5.0.5"
|
|
66
66
|
},
|
|
67
67
|
"engines": {
|
|
68
68
|
"node": ">=24.0.0"
|
package/rfc/play.md
CHANGED
|
@@ -260,7 +260,7 @@ Wraps XState v5 to satisfy the `PlayActor` contract. Provides the primary API fo
|
|
|
260
260
|
- Support snapshot restore for resumable sessions
|
|
261
261
|
- Provide XState DevTools compatibility
|
|
262
262
|
|
|
263
|
-
```ts
|
|
263
|
+
```ts fragment
|
|
264
264
|
import type { AnyStateMachine, InputFrom } from "xstate";
|
|
265
265
|
|
|
266
266
|
interface PlayerConfig<TMachine extends AnyStateMachine> {
|
|
@@ -380,7 +380,7 @@ Each view renderer provides a `PlayRenderer` component that passively observes t
|
|
|
380
380
|
|
|
381
381
|
**[`@xmachines/play-react`](../api/@xmachines/play-react/README.md) exports (representative):**
|
|
382
382
|
|
|
383
|
-
```ts
|
|
383
|
+
```ts fragment
|
|
384
384
|
// Batteries-included composite — standard entry point
|
|
385
385
|
// Props: actor, registryResult, store?, fallback?, onError?, onRenderError?,
|
|
386
386
|
// validationFunctions?, navigate?, functions?
|
|
@@ -438,13 +438,18 @@ The original RFC proposed an `@xmachines/play-ui` package for this purpose. The
|
|
|
438
438
|
Defines the **UI vocabulary** — available components and their prop schemas. No framework code.
|
|
439
439
|
|
|
440
440
|
```ts
|
|
441
|
-
import { defineCatalog
|
|
441
|
+
import { defineCatalog } from "@xmachines/json-render-core";
|
|
442
|
+
import { schema } from "@xmachines/json-render-react/schema";
|
|
443
|
+
import { z } from "zod";
|
|
442
444
|
|
|
443
|
-
export const catalog = defineCatalog({
|
|
445
|
+
export const catalog = defineCatalog(schema, {
|
|
444
446
|
components: {
|
|
445
447
|
Dashboard: { props: z.object({ title: z.string() }) },
|
|
446
448
|
Metric: { props: z.object({ value: z.number(), label: z.string() }) },
|
|
447
449
|
},
|
|
450
|
+
actions: {
|
|
451
|
+
submit: { description: "Submit the form" },
|
|
452
|
+
},
|
|
448
453
|
});
|
|
449
454
|
```
|
|
450
455
|
|
|
@@ -454,12 +459,17 @@ Defines **Logic**. No framework code. No routing library imports.
|
|
|
454
459
|
|
|
455
460
|
```ts
|
|
456
461
|
import { setup } from "xstate";
|
|
457
|
-
import { definePlayer } from "@xmachines/play-xstate";
|
|
462
|
+
import { compose, definePlayer, PlayerActor } from "@xmachines/play-xstate";
|
|
463
|
+
import { withRouting } from "@xmachines/play-xstate/routing";
|
|
464
|
+
import { withView } from "@xmachines/play-xstate/view";
|
|
465
|
+
import { typedSpec } from "@xmachines/play-view";
|
|
458
466
|
|
|
459
467
|
export const machine = setup({/* types, guards, actions */}).createMachine({
|
|
468
|
+
id: "dashboard",
|
|
460
469
|
initial: "overview",
|
|
461
470
|
states: {
|
|
462
471
|
overview: {
|
|
472
|
+
id: "overview",
|
|
463
473
|
meta: {
|
|
464
474
|
route: "/dashboard",
|
|
465
475
|
view: typedSpec({
|
|
@@ -478,20 +488,27 @@ export const machine = setup({/* types, guards, actions */}).createMachine({
|
|
|
478
488
|
},
|
|
479
489
|
});
|
|
480
490
|
|
|
481
|
-
// definePlayer returns a factory function
|
|
482
|
-
export const createDashboard = definePlayer({
|
|
491
|
+
// definePlayer returns a factory function. The router and the renderer need both capabilities
|
|
492
|
+
export const createDashboard = definePlayer({
|
|
493
|
+
machine,
|
|
494
|
+
actor: compose(PlayerActor, withRouting, withView),
|
|
495
|
+
});
|
|
483
496
|
```
|
|
484
497
|
|
|
485
498
|
### 6.3 Application (`App.tsx`)
|
|
486
499
|
|
|
487
500
|
Binds Logic to a View Renderer and Router Adapter.
|
|
488
501
|
|
|
489
|
-
```tsx
|
|
490
|
-
import {
|
|
491
|
-
import {
|
|
502
|
+
```tsx fragment
|
|
503
|
+
import { createRootRoute, createRouter } from "@tanstack/react-router";
|
|
504
|
+
import { createDashboard, machine } from "./dashboard.player.js";
|
|
505
|
+
import { catalog } from "./catalog.js";
|
|
492
506
|
import { PlayUIProvider, PlayRenderer, defineRegistry } from "@xmachines/play-react";
|
|
493
|
-
import {
|
|
494
|
-
|
|
507
|
+
import {
|
|
508
|
+
createRouteMapFromTree,
|
|
509
|
+
TanStackReactRouterBridge,
|
|
510
|
+
} from "@xmachines/play-tanstack-react-router";
|
|
511
|
+
import { extractMachineRoutes } from "@xmachines/play-router/xstate";
|
|
495
512
|
|
|
496
513
|
// 1. Create the actor
|
|
497
514
|
const actor = createDashboard();
|
|
@@ -516,7 +533,8 @@ const routeTree = extractMachineRoutes(machine);
|
|
|
516
533
|
const routeMap = createRouteMapFromTree(routeTree);
|
|
517
534
|
|
|
518
535
|
// 4. Connect router adapter (router, actor, routeMap)
|
|
519
|
-
const
|
|
536
|
+
const router = createRouter({ routeTree: createRootRoute() });
|
|
537
|
+
const bridge = new TanStackReactRouterBridge(router, actor, routeMap);
|
|
520
538
|
bridge.connect();
|
|
521
539
|
|
|
522
540
|
// 5. Render — PlayUIProvider is the batteries-included composite; PlayRenderer is the zero-prop leaf
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
[API](../../../../README.md) / [@xmachines/play-view](../../README.md) / [index](../README.md) / createFailureLatch
|
|
2
|
-
|
|
3
|
-
# Function: createFailureLatch()
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
function createFailureLatch(): FailureLatch;
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [packages/play-view/src/failure-latch.ts:202](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-view/src/failure-latch.ts#L202)
|
|
10
|
-
|
|
11
|
-
Makes a [FailureLatch](../interfaces/FailureLatch.md).
|
|
12
|
-
|
|
13
|
-
The latch holds the three inputs BESIDE the flag. Clearing on each emission would be
|
|
14
|
-
enough for a provider that can hook every emission, and the identity check covers the
|
|
15
|
-
one that cannot: a render that runs again with nothing changed reports nothing, whether
|
|
16
|
-
or not the provider noticed that it ran.
|
|
17
|
-
|
|
18
|
-
## Returns
|
|
19
|
-
|
|
20
|
-
[`FailureLatch`](../interfaces/FailureLatch.md)
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
[API](../../../../README.md) / [@xmachines/play-view](../../README.md) / [index](../README.md) / sameViewInputs
|
|
2
|
-
|
|
3
|
-
# Function: sameViewInputs()
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
function sameViewInputs(a, b): boolean;
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [packages/play-view/src/failure-latch.ts:45](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-view/src/failure-latch.ts#L45)
|
|
10
|
-
|
|
11
|
-
Answers whether two sets of inputs are the SAME attempt.
|
|
12
|
-
|
|
13
|
-
Identity, and not a deep compare: a provider holds the references that it rendered, and
|
|
14
|
-
a new spec object is a new attempt even when it holds equal fields.
|
|
15
|
-
|
|
16
|
-
## Parameters
|
|
17
|
-
|
|
18
|
-
| Parameter | Type |
|
|
19
|
-
| --------- | ------------------------------------------- |
|
|
20
|
-
| `a` | [`ViewInputs`](../interfaces/ViewInputs.md) |
|
|
21
|
-
| `b` | [`ViewInputs`](../interfaces/ViewInputs.md) |
|
|
22
|
-
|
|
23
|
-
## Returns
|
|
24
|
-
|
|
25
|
-
`boolean`
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
[API](../../../../README.md) / [@xmachines/play-view](../../README.md) / [index](../README.md) / FailureLatch
|
|
2
|
-
|
|
3
|
-
# Interface: FailureLatch
|
|
4
|
-
|
|
5
|
-
Defined in: [packages/play-view/src/failure-latch.ts:174](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-view/src/failure-latch.ts#L174)
|
|
6
|
-
|
|
7
|
-
The record of what a provider reported. See [createFailureLatch](../functions/createFailureLatch.md).
|
|
8
|
-
|
|
9
|
-
## Methods
|
|
10
|
-
|
|
11
|
-
### clear()
|
|
12
|
-
|
|
13
|
-
```ts
|
|
14
|
-
clear(): void;
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
Defined in: [packages/play-view/src/failure-latch.ts:191](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-view/src/failure-latch.ts#L191)
|
|
18
|
-
|
|
19
|
-
Forgets the record, so the next failure reports again.
|
|
20
|
-
|
|
21
|
-
A caller clears it on EVERY emission of a view, the null emission included: a view,
|
|
22
|
-
then null, then the same view is a real sequence of an actor, and the second failure
|
|
23
|
-
of that view is a second attempt that the host must hear about. It also clears it on
|
|
24
|
-
a resolution that works, and on a retry that the host starts — the host asked for
|
|
25
|
-
that attempt, so it must hear the result.
|
|
26
|
-
|
|
27
|
-
#### Returns
|
|
28
|
-
|
|
29
|
-
`void`
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
### shouldReport()
|
|
34
|
-
|
|
35
|
-
```ts
|
|
36
|
-
shouldReport(
|
|
37
|
-
actor,
|
|
38
|
-
view,
|
|
39
|
-
store
|
|
40
|
-
): boolean;
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Defined in: [packages/play-view/src/failure-latch.ts:181](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-view/src/failure-latch.ts#L181)
|
|
44
|
-
|
|
45
|
-
Answers whether a failure of these three inputs is new, and records it.
|
|
46
|
-
|
|
47
|
-
#### Parameters
|
|
48
|
-
|
|
49
|
-
| Parameter | Type |
|
|
50
|
-
| --------- | --------- |
|
|
51
|
-
| `actor` | `unknown` |
|
|
52
|
-
| `view` | `unknown` |
|
|
53
|
-
| `store` | `unknown` |
|
|
54
|
-
|
|
55
|
-
#### Returns
|
|
56
|
-
|
|
57
|
-
`boolean`
|
|
58
|
-
|
|
59
|
-
`true` the first time for one set of inputs, and `false` for every repeat
|
|
60
|
-
of the same set. A caller reports only when it returns `true`.
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
[API](../../../../README.md) / [@xmachines/play-view](../../README.md) / [index](../README.md) / ViewInputs
|
|
2
|
-
|
|
3
|
-
# Interface: ViewInputs
|
|
4
|
-
|
|
5
|
-
Defined in: [packages/play-view/src/failure-latch.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-view/src/failure-latch.ts#L33)
|
|
6
|
-
|
|
7
|
-
The three inputs that a provider resolves a store from.
|
|
8
|
-
|
|
9
|
-
`ViewStoreLifecycle.resolve` takes exactly these, and every provider names all three in
|
|
10
|
-
its reset rule. The type gives the rule one name, so the comparison below stands one
|
|
11
|
-
time instead of once for each renderer that needs it.
|
|
12
|
-
|
|
13
|
-
## Properties
|
|
14
|
-
|
|
15
|
-
| Property | Type | Defined in |
|
|
16
|
-
| ----------------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
17
|
-
| <a id="property-actor"></a> `actor` | `unknown` | [packages/play-view/src/failure-latch.ts:34](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-view/src/failure-latch.ts#L34) |
|
|
18
|
-
| <a id="property-store"></a> `store` | `unknown` | [packages/play-view/src/failure-latch.ts:36](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-view/src/failure-latch.ts#L36) |
|
|
19
|
-
| <a id="property-view"></a> `view` | `unknown` | [packages/play-view/src/failure-latch.ts:35](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-view/src/failure-latch.ts#L35) |
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
[Examples](../../README.md) / @xmachines/play-dom-demo
|
|
2
|
-
|
|
3
|
-
# @xmachines/play-dom-demo
|
|
4
|
-
|
|
5
|
-
Vanilla DOM renderer demo for [`@xmachines/play-dom`](../../../api/@xmachines/play-dom/README.md) — actor + `createPlayUI` without a router.
|
|
6
|
-
|
|
7
|
-
[](https://opensource.org/licenses/MIT)
|
|
8
|
-
|
|
9
|
-
## What This Demonstrates
|
|
10
|
-
|
|
11
|
-
- Shared auth machine reused without framework-specific business logic
|
|
12
|
-
- `createPlayUI` wiring `PlayRenderer`-equivalent DOM rendering without a framework
|
|
13
|
-
- Auth machine states (home → login → dashboard) drive DOM updates via atom watchers
|
|
14
|
-
- `watchAtom` for reactive nav visibility and debug panel updates
|
|
15
|
-
- Non-browser invariant tests plus browser renderer coverage
|
|
16
|
-
- Stately inspector attached at creation via `options.inspect` — the debug panel's **Show Inspector** button opens the live machine in its own window
|
|
17
|
-
- json-render 0.20 showcase pages driven purely by spec:
|
|
18
|
-
- **Overview** — two data planes side by side: `/context/tasks` (machine context via the read-only `/context` projection; `repeat` + `key`, `$item`-filtered lists, per-row actions sending inspectable machine events) next to ephemeral store state (`pushState`/`removeState`/`setState` built-ins driving filter chips and toggles that survive context updates)
|
|
19
|
-
- **Stats** — nested repeats (`repeat.statePath: { $item: "members" }`) over `/context/teams`
|
|
20
|
-
- **Settings** — declarative field validation, the `validateForm` built-in, a confirm-gated `resetForm` host action, and `onSuccess`/`onError` chains
|
|
21
|
-
- **Contact** — a chained named action: submit validates, then routes home on success or writes `"$error.message"` to state on failure
|
|
22
|
-
|
|
23
|
-
## Running the Demo
|
|
24
|
-
|
|
25
|
-
From the repository root:
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
pnpm install
|
|
29
|
-
pnpm --filter @xmachines/play-dom-demo run dev
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Then open `http://localhost:3000`.
|
|
33
|
-
|
|
34
|
-
## Step-by-Step Code Flow
|
|
35
|
-
|
|
36
|
-
Use this order to understand the implementation:
|
|
37
|
-
|
|
38
|
-
1. `src/main.ts` creates the page's inspector with `createDemoInspector()`, calls `definePlayer({ machine: authMachine, options: { inspect: inspector.inspect }, actor: compose(PlayerActor, withRouting, withView) })`, and starts the actor.
|
|
39
|
-
2. `initShell(actor, app, inspector)` from `src/components/Shell.ts` builds the HTML scaffold, mounts a reactive `NavBar`, wires the debug panel, and returns a disconnect function.
|
|
40
|
-
3. `defineRegistry(authCatalog, { components, actions })` builds the typed `registryResult` — real async action handlers dispatching to `actor.send()`.
|
|
41
|
-
4. `createPlayUI(registryResult)` produces a `mount` function; `mount(actor, container)` wires the registry to the actor — view switches happen automatically when `actor.currentView` changes.
|
|
42
|
-
5. `createNavBar(actor, headerEl)` in `src/components/NavBar.ts` uses `watchAtom(actor.state, ...)` to update nav button visibility based on auth state.
|
|
43
|
-
6. `createDebugPanel(actor, shell, inspector)` in `src/components/DebugPanel.ts` uses `watchAtom(actor.state, ...)` and `watchAtom(actor.currentRoute, ...)` to drive live debug panel updates, and renders the **Show Inspector** button that calls `inspector.show()`.
|
|
44
|
-
7. Browser tests in `test/browser/` validate startup rendering and auth interactions.
|
|
45
|
-
|
|
46
|
-
```ts
|
|
47
|
-
// src/main.ts (shape)
|
|
48
|
-
const inspector = createDemoInspector();
|
|
49
|
-
const createPlayer = definePlayer({
|
|
50
|
-
machine: authMachine,
|
|
51
|
-
options: { inspect: inspector.inspect },
|
|
52
|
-
actor: compose(PlayerActor, withRouting, withView),
|
|
53
|
-
});
|
|
54
|
-
const actor = createPlayer();
|
|
55
|
-
actor.start();
|
|
56
|
-
|
|
57
|
-
const app = document.getElementById("app");
|
|
58
|
-
if (!app) throw new Error("Root element not found");
|
|
59
|
-
|
|
60
|
-
// The shell and the actor live as long as the page, so the demo never tears them down:
|
|
61
|
-
// the browser frees them with the page. `initShell` returns a disconnect function for a
|
|
62
|
-
// host that removes the shell before the page ends, and the browser tests call it.
|
|
63
|
-
initShell(actor, app, inspector);
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
```ts
|
|
67
|
-
// src/components/Shell.ts (shape)
|
|
68
|
-
const registryResult = defineRegistry(authCatalog, {
|
|
69
|
-
components: demoComponents, // one shared map — Home…NavBar plus the 0.20 Panel/Field/Button leaves
|
|
70
|
-
actions: createAuthActionHandlers(actor), // login/logout/route + task events + form actions
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
const disconnectNavBar = createNavBar(actor, headerEl);
|
|
74
|
-
const mount = createPlayUI(registryResult, { onConfirm: createConfirmDialog });
|
|
75
|
-
const disconnectRenderer = mount(actor, viewContent);
|
|
76
|
-
const disconnectDebugPanel = createDebugPanel(actor, shell, inspector);
|
|
77
|
-
|
|
78
|
-
return () => {
|
|
79
|
-
disconnectNavBar();
|
|
80
|
-
disconnectRenderer();
|
|
81
|
-
disconnectDebugPanel();
|
|
82
|
-
};
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## Key Files
|
|
86
|
-
|
|
87
|
-
- `src/main.ts` - actor creation and shell bootstrap
|
|
88
|
-
- `src/components/Shell.ts` - DOM scaffold, `DomRegistry` construction, `createPlayUI` wiring, `createNavBar`, and `createDebugPanel`
|
|
89
|
-
- `src/components/NavBar.ts` - reactive nav bar using `watchAtom(actor.state, ...)` for auth-driven button visibility
|
|
90
|
-
- `src/components/DebugPanel.ts` - live debug footer using `watchAtom` on both `actor.state` and `actor.currentRoute`, plus the **Show Inspector** button
|
|
91
|
-
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
92
|
-
- `test/browser/renderer-demo.browser.test.ts` - browser-mode renderer coverage
|
|
93
|
-
|
|
94
|
-
## State Machine & Architecture Details
|
|
95
|
-
|
|
96
|
-
The demo utilizes XMachines architectural invariants:
|
|
97
|
-
|
|
98
|
-
1. **Actor Authority:** Navigation buttons dispatch `play.route` events to the actor. The actor evaluates guards and transitions to the correct state — the DOM never decides which view to show.
|
|
99
|
-
2. **Passive Infrastructure:** `createPlayUI` and `watchAtom` only react to actor atoms. They do not hold business state or make routing decisions.
|
|
100
|
-
3. **Atom-Only Reactivity:** `watchAtom` (from [`@xmachines/play-atom`](../../../api/@xmachines/play-atom/README.md)) wraps the canonical atoms watcher lifecycle, keeping all reactivity in the actor atom layer rather than in ad-hoc DOM event listeners.
|
|
101
|
-
|
|
102
|
-
## Watcher Lifecycle and Cleanup Contract
|
|
103
|
-
|
|
104
|
-
This demo follows the canonical watcher lifecycle:
|
|
105
|
-
|
|
106
|
-
1. The atom notifies the subscription, synchronously, from the `set` that changed it
|
|
107
|
-
2. `watchAtom` queues one microtask, and it drops each duplicate notification of that batch
|
|
108
|
-
3. The microtask reads the actor atoms and projects DOM state
|
|
109
|
-
|
|
110
|
-
One subscription lives for the whole watch, and no caller arms a watcher again. Cleanup is explicit: the disconnect function that `initShell` returns calls `disconnectNavBar()`, `disconnectRenderer()`, and `disconnectDebugPanel()`. This demo does not call that function at the end of the page, because the browser frees the page. The browser tests call it, and then they call `actor.stop()`. Do not tear down on `beforeunload`: that event also fires when the page goes into the back/forward cache, and Back then shows a page that does not respond.
|
|
111
|
-
|
|
112
|
-
## Adapter Boundaries
|
|
113
|
-
|
|
114
|
-
`createPlayUI` (from [`@xmachines/play-dom`](../../../api/@xmachines/play-dom/README.md)) is passive infrastructure. It translates actor view atoms into DOM mutations but holds no business logic. The `DomRegistry` maps catalog component keys to factory functions — the actor owns which key is active.
|
|
115
|
-
|
|
116
|
-
## Available Scripts
|
|
117
|
-
|
|
118
|
-
These commands are defined in `package.json`:
|
|
119
|
-
|
|
120
|
-
| Command | Description |
|
|
121
|
-
| --------------------------------------------------------- | ---------------------------------------------- |
|
|
122
|
-
| `pnpm --filter @xmachines/play-dom-demo run dev` | Start Vite dev server (http://localhost:3000/) |
|
|
123
|
-
| `pnpm --filter @xmachines/play-dom-demo run build` | Build production bundle |
|
|
124
|
-
| `pnpm --filter @xmachines/play-dom-demo run preview` | Preview built bundle |
|
|
125
|
-
| `pnpm --filter @xmachines/play-dom-demo run test` | Run Vitest test suite |
|
|
126
|
-
| `pnpm --filter @xmachines/play-dom-demo run test:browser` | Run browser-focused Vitest suite |
|
|
127
|
-
|
|
128
|
-
## Learn More
|
|
129
|
-
|
|
130
|
-
- [Play DOM](../../../api/@xmachines/play-dom/README.md)
|
|
131
|
-
- [Play DOM Router](../play-dom-router-demo/README.md)
|
|
132
|
-
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
133
|
-
|
|
134
|
-
## Type Aliases
|
|
135
|
-
|
|
136
|
-
- [AuthCatalog](type-aliases/AuthCatalog.md)
|
|
137
|
-
|
|
138
|
-
## Variables
|
|
139
|
-
|
|
140
|
-
- [About](variables/About.md)
|
|
141
|
-
- [authCatalog](variables/authCatalog.md)
|
|
142
|
-
- [Button](variables/Button.md)
|
|
143
|
-
- [Contact](variables/Contact.md)
|
|
144
|
-
- [Dashboard](variables/Dashboard.md)
|
|
145
|
-
- [demoComponents](variables/demoComponents.md)
|
|
146
|
-
- [Field](variables/Field.md)
|
|
147
|
-
- [Home](variables/Home.md)
|
|
148
|
-
- [Login](variables/Login.md)
|
|
149
|
-
- [NavBarView](variables/NavBarView.md)
|
|
150
|
-
- [Navigation](variables/Navigation.md)
|
|
151
|
-
- [Overview](variables/Overview.md)
|
|
152
|
-
- [Panel](variables/Panel.md)
|
|
153
|
-
- [Profile](variables/Profile.md)
|
|
154
|
-
- [Settings](variables/Settings.md)
|
|
155
|
-
- [Stats](variables/Stats.md)
|
|
156
|
-
|
|
157
|
-
## Functions
|
|
158
|
-
|
|
159
|
-
- [createAuthActionHandlers](functions/createAuthActionHandlers.md)
|
|
160
|
-
- [createConfirmDialog](functions/createConfirmDialog.md)
|
|
161
|
-
- [createNavBar](functions/createNavBar.md)
|
|
162
|
-
- [initShell](functions/initShell.md)
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
[Examples](../../../README.md) / [@xmachines/play-dom-demo](../README.md) / createAuthActionHandlers
|
|
2
|
-
|
|
3
|
-
# Function: createAuthActionHandlers()
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
function createAuthActionHandlers(actor): object;
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [packages/play-actor/examples/shared/src/actions.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-actor/examples/shared/src/actions.ts#L48)
|
|
10
|
-
|
|
11
|
-
Build the demo action handler map for one actor.
|
|
12
|
-
|
|
13
|
-
Returned functions use the `(params, setState) => Promise<void>` shape every
|
|
14
|
-
framework's `defineRegistry` accepts; spread the result into its `actions`.
|
|
15
|
-
|
|
16
|
-
## Parameters
|
|
17
|
-
|
|
18
|
-
| Parameter | Type |
|
|
19
|
-
| --------- | ----------- |
|
|
20
|
-
| `actor` | `AuthActor` |
|
|
21
|
-
|
|
22
|
-
## Returns
|
|
23
|
-
|
|
24
|
-
`object`
|
|
25
|
-
|
|
26
|
-
| Name | Type | Defined in |
|
|
27
|
-
| ---------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
28
|
-
| `addTask()` | (`params?`) => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:65](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-actor/examples/shared/src/actions.ts#L65) |
|
|
29
|
-
| `completeTask()` | (`params`, `_setState`, `state`) => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:72](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-actor/examples/shared/src/actions.ts#L72) |
|
|
30
|
-
| `login()` | (`params?`) => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:50](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-actor/examples/shared/src/actions.ts#L50) |
|
|
31
|
-
| `logout()` | () => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:54](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-actor/examples/shared/src/actions.ts#L54) |
|
|
32
|
-
| `removeTask()` | (`params`, `_setState`, `state`) => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:81](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-actor/examples/shared/src/actions.ts#L81) |
|
|
33
|
-
| `resetForm()` | (`params`, `setState`) => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:99](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-actor/examples/shared/src/actions.ts#L99) |
|
|
34
|
-
| `route()` | (`params?`) => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:55](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-actor/examples/shared/src/actions.ts#L55) |
|
|
35
|
-
| `submitForm()` | (`params?`) => `Promise`\<`void`\> | [packages/play-actor/examples/shared/src/actions.ts:92](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-actor/examples/shared/src/actions.ts#L92) |
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
[Examples](../../../README.md) / [@xmachines/play-dom-demo](../README.md) / createConfirmDialog
|
|
2
|
-
|
|
3
|
-
# Function: createConfirmDialog()
|
|
4
|
-
|
|
5
|
-
```ts
|
|
6
|
-
function createConfirmDialog(confirm): Promise<boolean>;
|
|
7
|
-
```
|
|
8
|
-
|
|
9
|
-
Defined in: [packages/play-dom/examples/demo/src/components/ConfirmDialog.ts:12](https://gitlab.com/xmachin-es/xmachines-js/-/blob/v6.1.0/packages/play-dom/examples/demo/src/components/ConfirmDialog.ts#L12)
|
|
10
|
-
|
|
11
|
-
ConfirmDialog — the DOM demo's onConfirm implementation.
|
|
12
|
-
|
|
13
|
-
The DOM package ships no dialog of its own (it only exposes `ctx.onConfirm`),
|
|
14
|
-
so the demo renders one. The buttons carry the spec's
|
|
15
|
-
`confirmLabel`/`cancelLabel` verbatim — the same text the framework
|
|
16
|
-
renderers' ConfirmDialogManager shows — so the shared browser suite drives
|
|
17
|
-
every demo's dialog by label text.
|
|
18
|
-
|
|
19
|
-
## Parameters
|
|
20
|
-
|
|
21
|
-
| Parameter | Type |
|
|
22
|
-
| --------- | --------------- |
|
|
23
|
-
| `confirm` | `ActionConfirm` |
|
|
24
|
-
|
|
25
|
-
## Returns
|
|
26
|
-
|
|
27
|
-
`Promise`\<`boolean`\>
|