@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
|
@@ -8,7 +8,7 @@ React Router 7/8 integration demo for the XMachines Play architecture.
|
|
|
8
8
|
|
|
9
9
|
## What This Demonstrates
|
|
10
10
|
|
|
11
|
-
-
|
|
11
|
+
- The shared auth machine (the login wall) reused without framework-specific business logic
|
|
12
12
|
- `PlayRouterProvider` renderer-based integration with React Router
|
|
13
13
|
- Shell-driven rendering via `PlayRenderer` with actor-authoritative navigation
|
|
14
14
|
- Canonical atoms lifecycle mapped to React's rendering loop
|
|
@@ -35,35 +35,36 @@ Use this order to understand the implementation:
|
|
|
35
35
|
3. `src/runtime.ts` pre-builds the `routeMap` (via `createRouteMap(authMachine)`) and exports `createPlayer`, `routeMap`, and `createRegistryResult` — keeping runtime setup separate from React lifecycle concerns.
|
|
36
36
|
4. `createAppRuntime()` creates the actor, builds a `registryResult` from the registry, and constructs a React Router data router with a `RoutedShell` wrapper.
|
|
37
37
|
5. `PlayRouterProvider` wires actor navigation and router changes in both directions, using the pre-built `routeMap`.
|
|
38
|
-
6. `Shell` (imported from the workspace-only [`@xmachines/play-react-demo`](../play-react-demo/README.md)) receives `actor`, `router`, `registryResult`, and `inspector`, matching the other router demos.
|
|
38
|
+
6. `Shell` (imported from the workspace-only [`@xmachines/play-react-gallery-demo`](../play-react-gallery-demo/README.md)) receives `actor`, `router`, `registryResult`, and `inspector`, matching the other router demos.
|
|
39
39
|
7. The `renderer` prop renders `<RouterProvider router={currentRouter} />` directly — no intermediate `ReactRouterApp` wrapper is needed.
|
|
40
|
-
8.
|
|
40
|
+
8. `test/browser/shared-demo.browser.test.tsx` delegates to `defineAuthRouterDemoBrowserSuite` — the shared login-wall routing suite.
|
|
41
41
|
|
|
42
|
-
```tsx
|
|
42
|
+
```tsx fragment
|
|
43
43
|
// src/main.tsx (shape)
|
|
44
44
|
createRoot(document.getElementById("root")!).render(<App />);
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
```ts
|
|
47
|
+
```ts fragment
|
|
48
48
|
// src/runtime.ts (shape)
|
|
49
49
|
export const inspector = createDemoInspector();
|
|
50
50
|
export const createPlayer = definePlayer({
|
|
51
51
|
machine: authMachine,
|
|
52
52
|
options: { inspect: inspector.inspect },
|
|
53
|
+
actor: compose(PlayerActor, withRouting, withView),
|
|
53
54
|
});
|
|
54
55
|
export const routeMap = createRouteMap(authMachine);
|
|
55
56
|
|
|
56
57
|
export function createRegistryResult(actor: ReturnType<typeof createPlayer>) {
|
|
57
58
|
return defineRegistry(authCatalog, {
|
|
58
|
-
components: demoComponents, // from @xmachines/play-react-demo
|
|
59
|
+
components: demoComponents, // from @xmachines/play-react-gallery-demo
|
|
59
60
|
actions: createAuthActionHandlers(actor),
|
|
60
61
|
});
|
|
61
62
|
}
|
|
62
63
|
```
|
|
63
64
|
|
|
64
|
-
```tsx
|
|
65
|
+
```tsx fragment
|
|
65
66
|
// src/App.tsx (shape)
|
|
66
|
-
import { Shell } from "@xmachines/play-react-demo"; // shared demo shell (workspace-only package)
|
|
67
|
+
import { Shell } from "@xmachines/play-react-gallery-demo"; // shared demo shell (workspace-only package)
|
|
67
68
|
|
|
68
69
|
type BrowserRouterInstance = ReturnType<typeof createBrowserRouter>;
|
|
69
70
|
|
|
@@ -108,7 +109,7 @@ return (
|
|
|
108
109
|
- `src/main.tsx` - React entry point that mounts `<App />`
|
|
109
110
|
- `src/runtime.ts` - actor factory (`createPlayer`), pre-built `routeMap`, and `createRegistryResult` registry wiring
|
|
110
111
|
- `src/App.tsx` - actor lifecycle, provider wiring, and `RoutedShell` composition
|
|
111
|
-
- `test/browser/shared-demo.browser.test.tsx` -
|
|
112
|
+
- `test/browser/shared-demo.browser.test.tsx` - delegates to the shared `defineAuthRouterDemoBrowserSuite`
|
|
112
113
|
|
|
113
114
|
## State Machine & Architecture Details
|
|
114
115
|
|
|
@@ -144,6 +145,17 @@ These commands are defined in `package.json`:
|
|
|
144
145
|
| `pnpm --filter @xmachines/play-react-router-demo run test` | Run Vitest test suite |
|
|
145
146
|
| `pnpm --filter @xmachines/play-react-router-demo run test:browser` | Run browser-focused Vitest suite |
|
|
146
147
|
|
|
148
|
+
## Verification
|
|
149
|
+
|
|
150
|
+
Use these checks to validate README claims against the current demo implementation:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
pnpm --filter @xmachines/play-react-router-demo run test
|
|
154
|
+
pnpm --filter @xmachines/play-react-router-demo run test:browser
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Expected result: the shared auth router suite passes — protected deep link bounced to `/login`, login opening `/dashboard`, logout returning to `/`, in-view route actions moving both view and URL, and an invalid external URL overwritten back by the actor.
|
|
158
|
+
|
|
147
159
|
## Learn More
|
|
148
160
|
|
|
149
161
|
- [React Router](../../../api/@xmachines/play-react-router/README.md)
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-react-router-donut-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-react-router-donut-demo
|
|
4
|
+
|
|
5
|
+
React Router v7 integration demo of the shared **donut** wizard machine for the XMachines Play architecture.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- Shared donut machine reused without framework-specific business logic
|
|
12
|
+
- `PlayRouterProvider` renderer-based integration with React Router — the wizard steps map to `/`, `/bake/mix`, `/bake/fry`, `/bake/decorate`, and `/done`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-react-gallery-demo`](../play-react-gallery-demo/README.md) renderer gallery
|
|
14
|
+
- Actor-authoritative navigation: a deep link to a step whose prerequisites are unmet cascades back through the guard chain and the URL is overwritten (State-Driven Reset)
|
|
15
|
+
- Snapshot persistence: the actor snapshot is stored on every transition and resumed on reload, with a **Reset saved donut** header button to drop it
|
|
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
|
+
|
|
18
|
+
## Running the Demo
|
|
19
|
+
|
|
20
|
+
From the repository root:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
pnpm install
|
|
24
|
+
pnpm --filter @xmachines/play-react-router-donut-demo run dev
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Then open `http://localhost:3066`.
|
|
28
|
+
|
|
29
|
+
## Step-by-Step Code Flow
|
|
30
|
+
|
|
31
|
+
1. `src/main.tsx` mounts `<App />`.
|
|
32
|
+
2. `src/App.tsx` calls `useMemo(createAppRuntime, [])` to create the actor and browser router, starting the actor once per mounted app.
|
|
33
|
+
3. `src/runtime.ts` pre-builds the `routeMap` (via `createRouteMap(donutMachine)`) and exports `createResumedPlayer`, `resetSavedDonut`, `routeMap`, and `createRegistryResult` — keeping runtime setup separate from React lifecycle concerns.
|
|
34
|
+
4. `createAppRuntime()` creates the actor, builds a `registryResult` from `donutCatalog` + `demoComponents` (both imported from [`@xmachines/play-react-gallery-demo`](../play-react-gallery-demo/README.md)), and constructs a React Router data router with a `RoutedShell` wrapper.
|
|
35
|
+
5. `PlayRouterProvider` wires actor navigation and router changes in both directions, using the pre-built `routeMap`.
|
|
36
|
+
6. `Shell` (imported from the renderer gallery) receives `actor`, `router`, `registryResult`, `inspector`, and the **Reset saved donut** button as its `nav` slot.
|
|
37
|
+
7. Browser tests in `test/browser/` delegate to the shared donut router suite.
|
|
38
|
+
|
|
39
|
+
## Snapshot Persistence
|
|
40
|
+
|
|
41
|
+
The gallery creates a fresh actor per selection, so persistence belongs to this demo, which owns exactly one donut actor:
|
|
42
|
+
|
|
43
|
+
- `definePlayer({ machine: donutMachine, options: { inspect, onTransition } })` — `onTransition` calls `saveDonutSnapshot(actor)`, writing `actor.getPersistedSnapshot()` to `localStorage` after every processed event.
|
|
44
|
+
- `createResumedPlayer()` reads `loadDonutSnapshot()` and passes it through the player factory's resume options — `createPlayer(undefined, { snapshot })`. An absent snapshot (`null`) becomes `undefined`, which starts the machine from its initial state.
|
|
45
|
+
- `resetSavedDonut()` calls `clearDonutSnapshot()` and reloads, wired to the `data-demo-id="reset-snapshot"` header button.
|
|
46
|
+
|
|
47
|
+
All three helpers come from `@xmachines/play-actor-shared` and degrade to no-ops outside a browser.
|
|
48
|
+
|
|
49
|
+
## Key Files
|
|
50
|
+
|
|
51
|
+
- `src/main.tsx` - React entry point that mounts `<App />`
|
|
52
|
+
- `src/runtime.ts` - actor factory with persistence hooks, pre-built `routeMap`, and `createRegistryResult` registry wiring
|
|
53
|
+
- `src/App.tsx` - actor lifecycle, provider wiring, `RoutedShell` composition, and the reset-snapshot button
|
|
54
|
+
- `test/browser/shared-demo.browser.test.tsx` - delegates to the shared donut router browser suite
|
|
55
|
+
|
|
56
|
+
## Architecture Invariants
|
|
57
|
+
|
|
58
|
+
1. **Actor Authority:** Navigation triggers URL changes, which the `PlayRouterProvider` intercepts and converts into `play.route` events. The actor evaluates these events against its internal guards and transitions.
|
|
59
|
+
2. **Passive Infrastructure:** The router does not execute business logic. The actor dictates whether navigation is permitted.
|
|
60
|
+
3. **State-Driven Reset:** An external history change to an invalid route is overwritten back from actor state — the URL always reflects the machine.
|
|
61
|
+
|
|
62
|
+
## Available Scripts
|
|
63
|
+
|
|
64
|
+
| Command | Description |
|
|
65
|
+
| ------------------------------------------------------------------------ | ---------------------------------------------- |
|
|
66
|
+
| `pnpm --filter @xmachines/play-react-router-donut-demo run dev` | Start Vite dev server (http://localhost:3066/) |
|
|
67
|
+
| `pnpm --filter @xmachines/play-react-router-donut-demo run build` | Build production bundle |
|
|
68
|
+
| `pnpm --filter @xmachines/play-react-router-donut-demo run preview` | Preview built bundle |
|
|
69
|
+
| `pnpm --filter @xmachines/play-react-router-donut-demo run test` | Run Vitest test suite |
|
|
70
|
+
| `pnpm --filter @xmachines/play-react-router-donut-demo run test:browser` | Run browser-focused Vitest suite |
|
|
71
|
+
|
|
72
|
+
## Verification
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
pnpm --filter @xmachines/play-react-router-donut-demo run test
|
|
76
|
+
pnpm --filter @xmachines/play-react-router-donut-demo run test:browser
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Expected result: the shared donut router browser suite completes (the node suite passes with no tests).
|
|
80
|
+
|
|
81
|
+
## Learn More
|
|
82
|
+
|
|
83
|
+
- [React Router adapter](../../../api/@xmachines/play-react-router/README.md)
|
|
84
|
+
- [React renderer gallery](../play-react-gallery-demo/README.md)
|
|
85
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-react-router-flight-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-react-router-flight-demo
|
|
4
|
+
|
|
5
|
+
React Router v7 integration demo of the shared **flight** booking wizard machine for the XMachines Play architecture.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- Shared flight machine reused without framework-specific business logic
|
|
12
|
+
- `PlayRouterProvider` renderer-based integration with React Router — the wizard steps map to `/`, `/dates`, `/review`, `/submitting`, and `/booked`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-react-gallery-demo`](../play-react-gallery-demo/README.md) renderer gallery
|
|
14
|
+
- Actor-authoritative navigation: `/dates` is honored as a direct entry, while `/booked` without a confirmation is overwritten back to `/` (State-Driven Reset)
|
|
15
|
+
- Stately inspector attached at creation via `options.inspect` — the debug panel's **Show Inspector** button opens the live machine in its own window
|
|
16
|
+
|
|
17
|
+
## Running the Demo
|
|
18
|
+
|
|
19
|
+
From the repository root:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pnpm install
|
|
23
|
+
pnpm --filter @xmachines/play-react-router-flight-demo run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then open `http://localhost:3067`.
|
|
27
|
+
|
|
28
|
+
## Step-by-Step Code Flow
|
|
29
|
+
|
|
30
|
+
1. `src/main.tsx` mounts `<App />`.
|
|
31
|
+
2. `src/App.tsx` calls `useMemo(createAppRuntime, [])` to create the actor and browser router, starting the actor once per mounted app.
|
|
32
|
+
3. `src/runtime.ts` pre-builds the `routeMap` (via `createRouteMap(flightMachine)`) and exports `createPlayer`, `routeMap`, and `createRegistryResult` — keeping runtime setup separate from React lifecycle concerns.
|
|
33
|
+
4. `createAppRuntime()` creates the actor, builds a `registryResult` from `flightCatalog` + `demoComponents` (both imported from [`@xmachines/play-react-gallery-demo`](../play-react-gallery-demo/README.md)), and constructs a React Router data router with a `RoutedShell` wrapper.
|
|
34
|
+
5. `PlayRouterProvider` wires actor navigation and router changes in both directions, using the pre-built `routeMap`.
|
|
35
|
+
6. `Shell` (imported from the renderer gallery) receives `actor`, `router`, `registryResult`, and `inspector`.
|
|
36
|
+
7. Browser tests in `test/browser/` delegate to the shared flight router suite.
|
|
37
|
+
|
|
38
|
+
## Key Files
|
|
39
|
+
|
|
40
|
+
- `src/main.tsx` - React entry point that mounts `<App />`
|
|
41
|
+
- `src/runtime.ts` - actor factory (`createPlayer`), pre-built `routeMap`, and `createRegistryResult` registry wiring
|
|
42
|
+
- `src/App.tsx` - actor lifecycle, provider wiring, and `RoutedShell` composition
|
|
43
|
+
- `test/browser/shared-demo.browser.test.tsx` - delegates to the shared flight router browser suite
|
|
44
|
+
|
|
45
|
+
## Architecture Invariants
|
|
46
|
+
|
|
47
|
+
1. **Actor Authority:** Navigation triggers URL changes, which the `PlayRouterProvider` intercepts and converts into `play.route` events. The actor evaluates these events against its internal guards and transitions.
|
|
48
|
+
2. **Passive Infrastructure:** The router does not execute business logic. The actor dictates whether navigation is permitted.
|
|
49
|
+
3. **State-Driven Reset:** An external history change to an invalid route is overwritten back from actor state — the URL always reflects the machine.
|
|
50
|
+
|
|
51
|
+
## Available Scripts
|
|
52
|
+
|
|
53
|
+
| Command | Description |
|
|
54
|
+
| ------------------------------------------------------------------------- | ---------------------------------------------- |
|
|
55
|
+
| `pnpm --filter @xmachines/play-react-router-flight-demo run dev` | Start Vite dev server (http://localhost:3067/) |
|
|
56
|
+
| `pnpm --filter @xmachines/play-react-router-flight-demo run build` | Build production bundle |
|
|
57
|
+
| `pnpm --filter @xmachines/play-react-router-flight-demo run preview` | Preview built bundle |
|
|
58
|
+
| `pnpm --filter @xmachines/play-react-router-flight-demo run test` | Run Vitest test suite |
|
|
59
|
+
| `pnpm --filter @xmachines/play-react-router-flight-demo run test:browser` | Run browser-focused Vitest suite |
|
|
60
|
+
|
|
61
|
+
## Verification
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
pnpm --filter @xmachines/play-react-router-flight-demo run test
|
|
65
|
+
pnpm --filter @xmachines/play-react-router-flight-demo run test:browser
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Expected result: the shared flight router browser suite completes (the node suite passes with no tests).
|
|
69
|
+
|
|
70
|
+
## Learn More
|
|
71
|
+
|
|
72
|
+
- [React Router adapter](../../../api/@xmachines/play-react-router/README.md)
|
|
73
|
+
- [React renderer gallery](../play-react-gallery-demo/README.md)
|
|
74
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-react-router-todomvc-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-react-router-todomvc-demo
|
|
4
|
+
|
|
5
|
+
React Router v7 integration demo of the shared **TodoMVC** machine for the XMachines Play architecture.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- Shared TodoMVC machine reused without framework-specific business logic
|
|
12
|
+
- `PlayRouterProvider` renderer-based integration with React Router — the filter states map to `/`, `/active`, and `/completed`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-react-gallery-demo`](../play-react-gallery-demo/README.md) renderer gallery
|
|
14
|
+
- Actor-authoritative navigation: a deep link is honored when valid and overwritten back when invalid (State-Driven Reset)
|
|
15
|
+
- Stately inspector attached at creation via `options.inspect` — the debug panel's **Show Inspector** button opens the live machine in its own window
|
|
16
|
+
|
|
17
|
+
## Running the Demo
|
|
18
|
+
|
|
19
|
+
From the repository root:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pnpm install
|
|
23
|
+
pnpm --filter @xmachines/play-react-router-todomvc-demo run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then open `http://localhost:3064`.
|
|
27
|
+
|
|
28
|
+
## Step-by-Step Code Flow
|
|
29
|
+
|
|
30
|
+
1. `src/main.tsx` mounts `<App />`.
|
|
31
|
+
2. `src/App.tsx` calls `useMemo(createAppRuntime, [])` to create the actor and browser router, starting the actor once per mounted app.
|
|
32
|
+
3. `src/runtime.ts` pre-builds the `routeMap` (via `createRouteMap(todoMvcMachine)`) and exports `createPlayer`, `routeMap`, and `createRegistryResult` — keeping runtime setup separate from React lifecycle concerns.
|
|
33
|
+
4. `createAppRuntime()` creates the actor, builds a `registryResult` from `todoMvcCatalog` + `demoComponents` (both imported from [`@xmachines/play-react-gallery-demo`](../play-react-gallery-demo/README.md)), and constructs a React Router data router with a `RoutedShell` wrapper.
|
|
34
|
+
5. `PlayRouterProvider` wires actor navigation and router changes in both directions, using the pre-built `routeMap`.
|
|
35
|
+
6. `Shell` (imported from the renderer demo) receives `actor`, `router`, `registryResult`, and `inspector`.
|
|
36
|
+
7. Browser tests in `test/browser/` delegate to the shared TodoMVC router suite.
|
|
37
|
+
|
|
38
|
+
## Key Files
|
|
39
|
+
|
|
40
|
+
- `src/main.tsx` - React entry point that mounts `<App />`
|
|
41
|
+
- `src/runtime.ts` - actor factory (`createPlayer`), pre-built `routeMap`, and `createRegistryResult` registry wiring
|
|
42
|
+
- `src/App.tsx` - actor lifecycle, provider wiring, and `RoutedShell` composition
|
|
43
|
+
- `test/browser/shared-demo.browser.test.tsx` - delegates to the shared TodoMVC router browser suite
|
|
44
|
+
|
|
45
|
+
## Architecture Invariants
|
|
46
|
+
|
|
47
|
+
1. **Actor Authority:** Navigation triggers URL changes, which the `PlayRouterProvider` intercepts and converts into `play.route` events. The actor evaluates these events against its internal guards and transitions.
|
|
48
|
+
2. **Passive Infrastructure:** The router does not execute business logic. The actor dictates whether navigation is permitted.
|
|
49
|
+
3. **State-Driven Reset:** An external history change to an invalid route is overwritten back from actor state — the URL always reflects the machine.
|
|
50
|
+
|
|
51
|
+
## Available Scripts
|
|
52
|
+
|
|
53
|
+
| Command | Description |
|
|
54
|
+
| -------------------------------------------------------------------------- | ---------------------------------------------- |
|
|
55
|
+
| `pnpm --filter @xmachines/play-react-router-todomvc-demo run dev` | Start Vite dev server (http://localhost:3064/) |
|
|
56
|
+
| `pnpm --filter @xmachines/play-react-router-todomvc-demo run build` | Build production bundle |
|
|
57
|
+
| `pnpm --filter @xmachines/play-react-router-todomvc-demo run preview` | Preview built bundle |
|
|
58
|
+
| `pnpm --filter @xmachines/play-react-router-todomvc-demo run test` | Run Vitest test suite |
|
|
59
|
+
| `pnpm --filter @xmachines/play-react-router-todomvc-demo run test:browser` | Run browser-focused Vitest suite |
|
|
60
|
+
|
|
61
|
+
## Verification
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
pnpm --filter @xmachines/play-react-router-todomvc-demo run test
|
|
65
|
+
pnpm --filter @xmachines/play-react-router-todomvc-demo run test:browser
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Expected result: the shared TodoMVC router browser suite completes (the node suite passes with no tests).
|
|
69
|
+
|
|
70
|
+
## Learn More
|
|
71
|
+
|
|
72
|
+
- [React Router adapter](../../../api/@xmachines/play-react-router/README.md)
|
|
73
|
+
- [React renderer gallery](../play-react-gallery-demo/README.md)
|
|
74
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-react-router-trivia-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-react-router-trivia-demo
|
|
4
|
+
|
|
5
|
+
React Router v7 integration demo of the shared **trivia** machine for the XMachines Play architecture.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- Shared trivia machine reused without framework-specific business logic
|
|
12
|
+
- `PlayRouterProvider` renderer-based integration with React Router — the quiz states map to `/`, `/trivia`, `/win`, and `/lose`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-react-gallery-demo`](../play-react-gallery-demo/README.md) renderer gallery
|
|
14
|
+
- Actor-authoritative navigation: only `/` is reachable from a cold start, and a deep link to `/trivia` while idle is overwritten back (State-Driven Reset)
|
|
15
|
+
- Stately inspector attached at creation via `options.inspect` — the debug panel's **Show Inspector** button opens the live machine in its own window
|
|
16
|
+
|
|
17
|
+
## Running the Demo
|
|
18
|
+
|
|
19
|
+
From the repository root:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pnpm install
|
|
23
|
+
pnpm --filter @xmachines/play-react-router-trivia-demo run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then open `http://localhost:3065`.
|
|
27
|
+
|
|
28
|
+
## Step-by-Step Code Flow
|
|
29
|
+
|
|
30
|
+
1. `src/main.tsx` mounts `<App />`.
|
|
31
|
+
2. `src/App.tsx` calls `useMemo(createAppRuntime, [])` to create the actor and browser router, starting the actor once per mounted app.
|
|
32
|
+
3. `src/runtime.ts` pre-builds the `routeMap` (via `createRouteMap(triviaMachine)`) and exports `createPlayer`, `routeMap`, and `createRegistryResult` — keeping runtime setup separate from React lifecycle concerns.
|
|
33
|
+
4. `createAppRuntime()` creates the actor, builds a `registryResult` from `triviaCatalog` + `demoComponents` (both imported from [`@xmachines/play-react-gallery-demo`](../play-react-gallery-demo/README.md)), and constructs a React Router data router with a `RoutedShell` wrapper.
|
|
34
|
+
5. `PlayRouterProvider` wires actor navigation and router changes in both directions, using the pre-built `routeMap`.
|
|
35
|
+
6. `Shell` (imported from the renderer gallery) receives `actor`, `router`, `registryResult`, and `inspector`.
|
|
36
|
+
7. Browser tests in `test/browser/` delegate to the shared trivia router suite.
|
|
37
|
+
|
|
38
|
+
## Key Files
|
|
39
|
+
|
|
40
|
+
- `src/main.tsx` - React entry point that mounts `<App />`
|
|
41
|
+
- `src/runtime.ts` - actor factory (`createPlayer`), pre-built `routeMap`, and `createRegistryResult` registry wiring
|
|
42
|
+
- `src/App.tsx` - actor lifecycle, provider wiring, and `RoutedShell` composition
|
|
43
|
+
- `test/browser/shared-demo.browser.test.tsx` - delegates to the shared trivia router browser suite
|
|
44
|
+
|
|
45
|
+
## Architecture Invariants
|
|
46
|
+
|
|
47
|
+
1. **Actor Authority:** Navigation triggers URL changes, which the `PlayRouterProvider` intercepts and converts into `play.route` events. The actor evaluates these events against its internal guards and transitions.
|
|
48
|
+
2. **Passive Infrastructure:** The router does not execute business logic. The actor dictates whether navigation is permitted.
|
|
49
|
+
3. **State-Driven Reset:** An external history change to an invalid route is overwritten back from actor state — the URL always reflects the machine.
|
|
50
|
+
|
|
51
|
+
## Available Scripts
|
|
52
|
+
|
|
53
|
+
| Command | Description |
|
|
54
|
+
| ------------------------------------------------------------------------- | ---------------------------------------------- |
|
|
55
|
+
| `pnpm --filter @xmachines/play-react-router-trivia-demo run dev` | Start Vite dev server (http://localhost:3065/) |
|
|
56
|
+
| `pnpm --filter @xmachines/play-react-router-trivia-demo run build` | Build production bundle |
|
|
57
|
+
| `pnpm --filter @xmachines/play-react-router-trivia-demo run preview` | Preview built bundle |
|
|
58
|
+
| `pnpm --filter @xmachines/play-react-router-trivia-demo run test` | Run Vitest test suite |
|
|
59
|
+
| `pnpm --filter @xmachines/play-react-router-trivia-demo run test:browser` | Run browser-focused Vitest suite |
|
|
60
|
+
|
|
61
|
+
## Verification
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
pnpm --filter @xmachines/play-react-router-trivia-demo run test
|
|
65
|
+
pnpm --filter @xmachines/play-react-router-trivia-demo run test:browser
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Expected result: the shared trivia router browser suite completes (the node suite passes with no tests).
|
|
69
|
+
|
|
70
|
+
## Learn More
|
|
71
|
+
|
|
72
|
+
- [React Router adapter](../../../api/@xmachines/play-react-router/README.md)
|
|
73
|
+
- [React renderer gallery](../play-react-gallery-demo/README.md)
|
|
74
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-solid-gallery-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-solid-gallery-demo
|
|
4
|
+
|
|
5
|
+
Solid renderer gallery for [`@xmachines/play-solid`](../../../api/@xmachines/play-solid/README.md) — all nine shared machines behind one picker, actor + `PlayRenderer` without a router.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- All nine shared machines (fetch, stopwatch, tic-tac-toe, temperature, TodoMVC, trivia, donut, flight, auth) reused without framework-specific business logic
|
|
12
|
+
- A home-screen picker: selecting a machine stops the previous actor, creates a FRESH actor for the chosen machine, and renders its views; "Back to gallery" returns to the picker
|
|
13
|
+
- The five-component demo kit (Page, Panel, Field, Button, Text) defined ONCE and registered with every machine's typed `defineRegistry` catalog — `Field` also registers declarative `checks` with the ValidationProvider and renders `formErrors` in a `[data-demo-error]` node
|
|
14
|
+
- Solid reactivity idioms throughout: `createSignal` for the selection, `<Show keyed>` / `<For>` for the picker and machine subtree, `ctx.props` accessors in every kit component, `watchSignal` + `onCleanup` in the debug panel
|
|
15
|
+
- Routing machines run WITHOUT a router here — navigation happens via their in-view route-action buttons; the actor owns view switching
|
|
16
|
+
- One shared Stately inspector (`createDemoInspector()`) serving every selection — the debug panel's **Show Inspector** button opens the live machine in its own window
|
|
17
|
+
|
|
18
|
+
## Running the Demo
|
|
19
|
+
|
|
20
|
+
From the repository root:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
pnpm install
|
|
24
|
+
pnpm --filter @xmachines/play-solid-gallery-demo run dev
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Then open `http://localhost:3022`.
|
|
28
|
+
|
|
29
|
+
## Step-by-Step Code Flow
|
|
30
|
+
|
|
31
|
+
1. `src/main.tsx` mounts `<App />` with `render()` from `solid-js/web`.
|
|
32
|
+
2. `src/App.tsx` renders the picker; `openMachine(entry)` stops any previous actor and calls `entry.createRuntime(inspector.inspect)`.
|
|
33
|
+
3. `src/machines.ts` holds one `GalleryMachineEntry` per machine: `createRuntime` builds a fresh started actor via `definePlayer({ machine, options: { inspect } })()` and its `defineRegistry(catalog, { components: demoComponents, actions: create<Prefix>ActionHandlers(actor) })`.
|
|
34
|
+
4. `src/catalogs.ts` builds all nine catalogs with `defineCatalog(schema, <prefix>CatalogDef)` — router demos import theirs from the barrel.
|
|
35
|
+
5. `Shell` wraps `<PlayUIProvider actor registryResult><PlayRenderer /></PlayUIProvider>` in the standard demo chrome plus the `DebugPanel`; the gallery passes `title` and a `nav` slot carrying the "Back to gallery" button.
|
|
36
|
+
6. Browser tests in `test/browser/` delegate one file per machine to that machine's shared renderer suite.
|
|
37
|
+
|
|
38
|
+
## Key Files
|
|
39
|
+
|
|
40
|
+
- `src/main.tsx` - Solid entry point that mounts `<App />`
|
|
41
|
+
- `src/App.tsx` - picker, per-selection actor lifecycle, and `Shell` composition
|
|
42
|
+
- `src/machines.ts` - the machine registry: slug, label, and `createRuntime` per machine
|
|
43
|
+
- `src/catalogs.ts` - the nine built catalogs plus the `KitCatalog` typing alias
|
|
44
|
+
- `src/components/` - the five-component kit (Page, Panel, Field, Button, Text) plus `Shell` and `DebugPanel`
|
|
45
|
+
- `src/index.ts` - barrel exporting `App`, the kit, `demoComponents`, `Shell`, `DebugPanel`, and every built catalog for the router demos
|
|
46
|
+
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
47
|
+
- `test/browser/<slug>-demo.browser.test.tsx` - one file per machine, delegating to the shared suites
|
|
48
|
+
- `test/browser/gallery-picker.browser.test.tsx` - picker smoke test (open/close roundtrip)
|
|
49
|
+
|
|
50
|
+
## Architecture Invariants
|
|
51
|
+
|
|
52
|
+
1. **Actor Authority:** Views dispatch machine events (and `route` actions on routing machines) to the actor. The actor evaluates guards and transitions — Solid never decides which view to render.
|
|
53
|
+
2. **Passive Infrastructure:** `PlayRenderer` observes the `actor.currentView` atom only. It holds no business state and makes no routing decisions.
|
|
54
|
+
3. **Fresh Actor Per Selection:** Reopening a machine always starts from its initial state, matching the demo inspector's "one live machine" semantics.
|
|
55
|
+
|
|
56
|
+
## Available Scripts
|
|
57
|
+
|
|
58
|
+
| Command | Description |
|
|
59
|
+
| ------------------------------------------------------------------- | ---------------------------------------------- |
|
|
60
|
+
| `pnpm --filter @xmachines/play-solid-gallery-demo run dev` | Start Vite dev server (http://localhost:3022/) |
|
|
61
|
+
| `pnpm --filter @xmachines/play-solid-gallery-demo run build` | Build production bundle |
|
|
62
|
+
| `pnpm --filter @xmachines/play-solid-gallery-demo run preview` | Preview built bundle |
|
|
63
|
+
| `pnpm --filter @xmachines/play-solid-gallery-demo run test` | Run Vitest test suite |
|
|
64
|
+
| `pnpm --filter @xmachines/play-solid-gallery-demo run test:browser` | Run browser-focused Vitest suite |
|
|
65
|
+
|
|
66
|
+
## Verification
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
pnpm --filter @xmachines/play-solid-gallery-demo run test
|
|
70
|
+
pnpm --filter @xmachines/play-solid-gallery-demo run test:browser
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Expected result: library-pattern invariant tests pass and all nine machine suites plus the picker smoke test complete.
|
|
74
|
+
|
|
75
|
+
## Learn More
|
|
76
|
+
|
|
77
|
+
- [play-solid](../../../api/@xmachines/play-solid/README.md)
|
|
78
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
79
|
+
|
|
80
|
+
## Interfaces
|
|
81
|
+
|
|
82
|
+
- [GalleryMachineEntry](interfaces/GalleryMachineEntry.md)
|
|
83
|
+
- [GalleryRuntime](interfaces/GalleryRuntime.md)
|
|
84
|
+
|
|
85
|
+
## Type Aliases
|
|
86
|
+
|
|
87
|
+
- [AuthCatalog](type-aliases/AuthCatalog.md)
|
|
88
|
+
- [DonutCatalog](type-aliases/DonutCatalog.md)
|
|
89
|
+
- [FetchCatalog](type-aliases/FetchCatalog.md)
|
|
90
|
+
- [FlightCatalog](type-aliases/FlightCatalog.md)
|
|
91
|
+
- [GalleryActor](type-aliases/GalleryActor.md)
|
|
92
|
+
- [GallerySlug](type-aliases/GallerySlug.md)
|
|
93
|
+
- [KitCatalog](type-aliases/KitCatalog.md)
|
|
94
|
+
- [StopwatchCatalog](type-aliases/StopwatchCatalog.md)
|
|
95
|
+
- [TemperatureCatalog](type-aliases/TemperatureCatalog.md)
|
|
96
|
+
- [TicTacToeCatalog](type-aliases/TicTacToeCatalog.md)
|
|
97
|
+
- [TodoMvcCatalog](type-aliases/TodoMvcCatalog.md)
|
|
98
|
+
- [TriviaCatalog](type-aliases/TriviaCatalog.md)
|
|
99
|
+
|
|
100
|
+
## Variables
|
|
101
|
+
|
|
102
|
+
- [authCatalog](variables/authCatalog.md)
|
|
103
|
+
- [Button](variables/Button.md)
|
|
104
|
+
- [DebugPanel](variables/DebugPanel.md)
|
|
105
|
+
- [demoComponents](variables/demoComponents.md)
|
|
106
|
+
- [donutCatalog](variables/donutCatalog.md)
|
|
107
|
+
- [fetchCatalog](variables/fetchCatalog.md)
|
|
108
|
+
- [Field](variables/Field.md)
|
|
109
|
+
- [flightCatalog](variables/flightCatalog.md)
|
|
110
|
+
- [galleryMachines](variables/galleryMachines.md)
|
|
111
|
+
- [Page](variables/Page.md)
|
|
112
|
+
- [Panel](variables/Panel.md)
|
|
113
|
+
- [Shell](variables/Shell.md)
|
|
114
|
+
- [stopwatchCatalog](variables/stopwatchCatalog.md)
|
|
115
|
+
- [temperatureCatalog](variables/temperatureCatalog.md)
|
|
116
|
+
- [Text](variables/Text.md)
|
|
117
|
+
- [ticTacToeCatalog](variables/ticTacToeCatalog.md)
|
|
118
|
+
- [todoMvcCatalog](variables/todoMvcCatalog.md)
|
|
119
|
+
- [triviaCatalog](variables/triviaCatalog.md)
|
|
120
|
+
|
|
121
|
+
## Functions
|
|
122
|
+
|
|
123
|
+
- [App](functions/App.md)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-solid-gallery-demo](../README.md) / App
|
|
2
|
+
|
|
3
|
+
# Function: App()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function App(): Element;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-solid/examples/gallery/src/App.tsx:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-solid/examples/gallery/src/App.tsx#L28)
|
|
10
|
+
|
|
11
|
+
## Returns
|
|
12
|
+
|
|
13
|
+
`Element`
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-solid-gallery-demo](../README.md) / GalleryMachineEntry
|
|
2
|
+
|
|
3
|
+
# Interface: GalleryMachineEntry
|
|
4
|
+
|
|
5
|
+
Defined in: [packages/play-solid/examples/gallery/src/machines.ts:86](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-solid/examples/gallery/src/machines.ts#L86)
|
|
6
|
+
|
|
7
|
+
## Properties
|
|
8
|
+
|
|
9
|
+
| Property | Type | Description | Defined in |
|
|
10
|
+
| --------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
|
+
| <a id="property-createruntime"></a> `createRuntime` | (`inspect`) => [`GalleryRuntime`](GalleryRuntime.md) | Create a fresh, STARTED actor and its registry for one selection. The caller owns the runtime and must stop the actor when done with it. | [packages/play-solid/examples/gallery/src/machines.ts:94](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-solid/examples/gallery/src/machines.ts#L94) |
|
|
12
|
+
| <a id="property-label"></a> `label` | `string` | Picker button label and machine-view title. | [packages/play-solid/examples/gallery/src/machines.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-solid/examples/gallery/src/machines.ts#L89) |
|
|
13
|
+
| <a id="property-slug"></a> `slug` | [`GallerySlug`](../type-aliases/GallerySlug.md) | - | [packages/play-solid/examples/gallery/src/machines.ts:87](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-solid/examples/gallery/src/machines.ts#L87) |
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-solid-gallery-demo](../README.md) / GalleryRuntime
|
|
2
|
+
|
|
3
|
+
# Interface: GalleryRuntime
|
|
4
|
+
|
|
5
|
+
Defined in: [packages/play-solid/examples/gallery/src/machines.ts:81](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-solid/examples/gallery/src/machines.ts#L81)
|
|
6
|
+
|
|
7
|
+
One live selection: the started actor plus its registry.
|
|
8
|
+
|
|
9
|
+
## Properties
|
|
10
|
+
|
|
11
|
+
| Property | Type | Defined in |
|
|
12
|
+
| ----------------------------------------------------- | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
13
|
+
| <a id="property-actor"></a> `actor` | [`GalleryActor`](../type-aliases/GalleryActor.md) | [packages/play-solid/examples/gallery/src/machines.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-solid/examples/gallery/src/machines.ts#L82) |
|
|
14
|
+
| <a id="property-registryresult"></a> `registryResult` | [`DefineRegistryResult`](../../../../api/@xmachines/play-solid/interfaces/DefineRegistryResult.md) | [packages/play-solid/examples/gallery/src/machines.ts:83](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-solid/examples/gallery/src/machines.ts#L83) |
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-solid-gallery-demo](../README.md) / AuthCatalog
|
|
2
|
+
|
|
3
|
+
# Type Alias: AuthCatalog
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type AuthCatalog = typeof authCatalog;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-solid/examples/gallery/src/catalogs.ts:47](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-solid/examples/gallery/src/catalogs.ts#L47)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-solid-gallery-demo](../README.md) / DonutCatalog
|
|
2
|
+
|
|
3
|
+
# Type Alias: DonutCatalog
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type DonutCatalog = typeof donutCatalog;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-solid/examples/gallery/src/catalogs.ts:41](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-solid/examples/gallery/src/catalogs.ts#L41)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-solid-gallery-demo](../README.md) / FetchCatalog
|
|
2
|
+
|
|
3
|
+
# Type Alias: FetchCatalog
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type FetchCatalog = typeof fetchCatalog;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-solid/examples/gallery/src/catalogs.ts:23](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-solid/examples/gallery/src/catalogs.ts#L23)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-solid-gallery-demo](../README.md) / FlightCatalog
|
|
2
|
+
|
|
3
|
+
# Type Alias: FlightCatalog
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type FlightCatalog = typeof flightCatalog;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-solid/examples/gallery/src/catalogs.ts:44](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-solid/examples/gallery/src/catalogs.ts#L44)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-solid-gallery-demo](../README.md) / GalleryActor
|
|
2
|
+
|
|
3
|
+
# Type Alias: GalleryActor
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type GalleryActor =
|
|
7
|
+
| FetchActor
|
|
8
|
+
| StopwatchActor
|
|
9
|
+
| TicTacToeActor
|
|
10
|
+
| TemperatureActor
|
|
11
|
+
| TodoMvcActor
|
|
12
|
+
| TriviaActor
|
|
13
|
+
| DonutActor
|
|
14
|
+
| FlightActor
|
|
15
|
+
| AuthActor;
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Defined in: [packages/play-solid/examples/gallery/src/machines.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-solid/examples/gallery/src/machines.ts#L58)
|
|
19
|
+
|
|
20
|
+
Any of the nine machine actors — what the gallery Shell and DebugPanel accept.
|