@xmachines/docs 7.0.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 +1 -1
- package/api/@xmachines/core/README.md +1 -1
- 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 +1 -1
- package/api/@xmachines/play/errors/classes/NonNullableError.md +11 -11
- package/api/@xmachines/play/errors/classes/PlayError.md +11 -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 +5 -3
- 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 +1 -1
- 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 +1 -1
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +5 -5
- package/api/@xmachines/play-dom/functions/createPlayUI.md +2 -2
- 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/interfaces/ComponentContext.md +4 -4
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +14 -13
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -5
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +15 -15
- 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/DefineRegistryOptions.md +7 -7
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
- package/api/@xmachines/play-dom-router/README.md +1 -1
- 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 +1 -1
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +36 -75
- package/api/@xmachines/play-react/functions/defineRegistry.md +3 -3
- 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/ActorProviderProps.md +10 -10
- package/api/@xmachines/play-react/interfaces/ComponentContext.md +4 -4
- 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/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/variables/ActorProvider.md +1 -1
- 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 +2 -2
- 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 +1 -1
- 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 +9 -8
- 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 +1 -1
- 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 +3 -3
- package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-solid/functions/useStateBinding.md +3 -3
- package/api/@xmachines/play-solid/functions/useStateValue.md +3 -3
- 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/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/variables/ActorContext.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
- 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 +2 -2
- 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 +1 -1
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +4 -4
- 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 +10 -10
- 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 +9 -9
- package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +13 -13
- 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-spa-router/README.md +1 -1
- 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 +1 -1
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +8 -8
- 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 +11 -11
- 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 +8 -8
- package/api/@xmachines/play-sveltekit-router/type-aliases/ShallowNavigation.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/README.md +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +1 -1
- 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 +13 -13
- package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +4 -4
- package/api/@xmachines/play-view/index/functions/bindStoreHandlers.md +4 -4
- package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
- package/api/@xmachines/play-view/index/functions/composeViews.md +1 -1
- package/api/@xmachines/play-view/index/functions/createActorProxy.md +4 -4
- package/api/@xmachines/play-view/index/functions/createRenderErrorBinding.md +4 -4
- package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
- package/api/@xmachines/play-view/index/functions/createViewSession.md +4 -4
- package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
- package/api/@xmachines/play-view/index/functions/forwardRenderError.md +1 -1
- 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 +11 -11
- 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 +7 -7
- 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 +10 -10
- package/api/@xmachines/play-view/index/interfaces/ViewSessionOptions.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ViewSessionSnapshot.md +11 -11
- package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +4 -4
- package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +7 -7
- 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 +1 -1
- 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 +1 -1
- 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 +3 -3
- 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/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/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 +2 -2
- 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 +1 -1
- 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 +3 -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/configuration.md +24 -50
- package/contributing/deployment.md +128 -158
- package/contributing/development.md +5 -5
- package/contributing/testing.md +5 -3
- 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 +38 -31
- 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 +17 -6
- 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 +8 -6
- 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 +8 -8
- 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 +8 -8
- 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 +19 -14
- 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 +19 -12
- 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 +14 -8
- 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/routing-patterns.md +3 -1
- package/examples/xstate-example-ports.md +106 -0
- package/guides/getting-started.md +3 -1
- package/guides/inspector.md +3 -3
- package/package.json +6 -6
- 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
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-vue-router-flight-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-vue-router-flight-demo
|
|
4
|
+
|
|
5
|
+
Vue Router integration demo of the shared **Flight** 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 Vue Router — the wizard steps map to `/`, `/dates`, `/review`, `/submitting`, and `/booked`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-vue-gallery-demo`](../play-vue-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-vue-router-flight-demo run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then open `http://localhost:3091`.
|
|
27
|
+
|
|
28
|
+
## Step-by-Step Code Flow
|
|
29
|
+
|
|
30
|
+
1. `src/main.ts` creates the Vue app, installs the router, mounts it on `#app`, and wires HMR cleanup.
|
|
31
|
+
2. `src/runtime.ts` creates and starts the actor, builds the `routeMap` from the machine, and constructs the `registryResult` from the gallery's `flightCatalog` + `demoComponents`.
|
|
32
|
+
3. `src/router.ts` installs a single catch-all route over `createWebHistory` — `PlayRenderer` selects the actual view from actor state.
|
|
33
|
+
4. `src/App.vue` renders `<PlayRouterProvider>` with the actor, route map, router instance, and a `renderShell` render function.
|
|
34
|
+
5. `renderShell` composes the gallery `Shell` with `h()`, handing it the actor, the bridged router, the registry, and the inspector.
|
|
35
|
+
6. `PlayRouterProvider` waits for `router.isReady()` before connecting the bridge, so direct URL loads are handled correctly.
|
|
36
|
+
7. Browser tests in `test/browser/` delegate to the shared Flight router suite.
|
|
37
|
+
|
|
38
|
+
## Key Files
|
|
39
|
+
|
|
40
|
+
- `src/main.ts` - Vue app bootstrap (router install + mount + HMR cleanup)
|
|
41
|
+
- `src/runtime.ts` - actor startup, route map, and registry wiring
|
|
42
|
+
- `src/router.ts` - single catch-all route record
|
|
43
|
+
- `src/App.vue` - `PlayRouterProvider` wiring and `Shell` composition
|
|
44
|
+
- `test/library-pattern.test.ts` - source-level wiring assertions (`tsc` does not read `.vue`)
|
|
45
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared Flight router browser suite
|
|
46
|
+
|
|
47
|
+
## Architecture Invariants
|
|
48
|
+
|
|
49
|
+
1. **Actor Authority:** Navigation changes the URL, `VueRouterBridge` turns that into a `play.route` event, and the actor evaluates it against its own guards.
|
|
50
|
+
2. **Passive Infrastructure:** No Vue Router navigation guard carries business logic. The actor decides whether a navigation is permitted; Vue only renders the result.
|
|
51
|
+
3. **State-Driven Reset:** An external history change to an invalid route is overwritten back from actor state — the URL always reflects the machine.
|
|
52
|
+
|
|
53
|
+
## Available Scripts
|
|
54
|
+
|
|
55
|
+
| Command | Description |
|
|
56
|
+
| ----------------------------------------------------------------------- | ---------------------------------------------- |
|
|
57
|
+
| `pnpm --filter @xmachines/play-vue-router-flight-demo run dev` | Start Vite dev server (http://localhost:3091/) |
|
|
58
|
+
| `pnpm --filter @xmachines/play-vue-router-flight-demo run build` | Build production bundle |
|
|
59
|
+
| `pnpm --filter @xmachines/play-vue-router-flight-demo run preview` | Preview built bundle |
|
|
60
|
+
| `pnpm --filter @xmachines/play-vue-router-flight-demo run test` | Run Vitest test suite |
|
|
61
|
+
| `pnpm --filter @xmachines/play-vue-router-flight-demo run test:browser` | Run browser-focused Vitest suite |
|
|
62
|
+
|
|
63
|
+
## Verification
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
pnpm --filter @xmachines/play-vue-router-flight-demo run test
|
|
67
|
+
pnpm --filter @xmachines/play-vue-router-flight-demo run test:browser
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Expected result: the source-level wiring test passes and the shared Flight router browser suite completes.
|
|
71
|
+
|
|
72
|
+
## Learn More
|
|
73
|
+
|
|
74
|
+
- [Vue Router adapter](../../../api/@xmachines/play-vue-router/README.md)
|
|
75
|
+
- [Vue renderer gallery](../play-vue-gallery-demo/README.md)
|
|
76
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-vue-router-todomvc-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-vue-router-todomvc-demo
|
|
4
|
+
|
|
5
|
+
Vue Router 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 Vue Router — the filter states map to `/`, `/active`, and `/completed`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-vue-gallery-demo`](../play-vue-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-vue-router-todomvc-demo run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then open `http://localhost:3088`.
|
|
27
|
+
|
|
28
|
+
## Step-by-Step Code Flow
|
|
29
|
+
|
|
30
|
+
1. `src/main.ts` creates the Vue app, installs the router, mounts it on `#app`, and wires HMR cleanup.
|
|
31
|
+
2. `src/runtime.ts` creates and starts the actor, builds the `routeMap` from the machine, and constructs the `registryResult` from the gallery's `todoMvcCatalog` + `demoComponents`.
|
|
32
|
+
3. `src/router.ts` installs a single catch-all route over `createWebHistory` — `PlayRenderer` selects the actual view from actor state.
|
|
33
|
+
4. `src/App.vue` renders `<PlayRouterProvider>` with the actor, route map, router instance, and a `renderShell` render function.
|
|
34
|
+
5. `renderShell` composes the gallery `Shell` with `h()`, handing it the actor, the bridged router, the registry, and the inspector.
|
|
35
|
+
6. `PlayRouterProvider` waits for `router.isReady()` before connecting the bridge, so direct URL loads are handled correctly.
|
|
36
|
+
7. Browser tests in `test/browser/` delegate to the shared TodoMVC router suite.
|
|
37
|
+
|
|
38
|
+
## Key Files
|
|
39
|
+
|
|
40
|
+
- `src/main.ts` - Vue app bootstrap (router install + mount + HMR cleanup)
|
|
41
|
+
- `src/runtime.ts` - actor startup, route map, and registry wiring
|
|
42
|
+
- `src/router.ts` - single catch-all route record
|
|
43
|
+
- `src/App.vue` - `PlayRouterProvider` wiring and `Shell` composition
|
|
44
|
+
- `test/library-pattern.test.ts` - source-level wiring assertions (`tsc` does not read `.vue`)
|
|
45
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared TodoMVC router browser suite
|
|
46
|
+
|
|
47
|
+
## Architecture Invariants
|
|
48
|
+
|
|
49
|
+
1. **Actor Authority:** Navigation changes the URL, `VueRouterBridge` turns that into a `play.route` event, and the actor evaluates it against its own guards.
|
|
50
|
+
2. **Passive Infrastructure:** No Vue Router navigation guard carries business logic. The actor decides whether a navigation is permitted; Vue only renders the result.
|
|
51
|
+
3. **State-Driven Reset:** An external history change to an invalid route is overwritten back from actor state — the URL always reflects the machine.
|
|
52
|
+
|
|
53
|
+
## Available Scripts
|
|
54
|
+
|
|
55
|
+
| Command | Description |
|
|
56
|
+
| ------------------------------------------------------------------------ | ---------------------------------------------- |
|
|
57
|
+
| `pnpm --filter @xmachines/play-vue-router-todomvc-demo run dev` | Start Vite dev server (http://localhost:3088/) |
|
|
58
|
+
| `pnpm --filter @xmachines/play-vue-router-todomvc-demo run build` | Build production bundle |
|
|
59
|
+
| `pnpm --filter @xmachines/play-vue-router-todomvc-demo run preview` | Preview built bundle |
|
|
60
|
+
| `pnpm --filter @xmachines/play-vue-router-todomvc-demo run test` | Run Vitest test suite |
|
|
61
|
+
| `pnpm --filter @xmachines/play-vue-router-todomvc-demo run test:browser` | Run browser-focused Vitest suite |
|
|
62
|
+
|
|
63
|
+
## Verification
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
pnpm --filter @xmachines/play-vue-router-todomvc-demo run test
|
|
67
|
+
pnpm --filter @xmachines/play-vue-router-todomvc-demo run test:browser
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Expected result: the source-level wiring test passes and the shared TodoMVC router browser suite completes.
|
|
71
|
+
|
|
72
|
+
## Learn More
|
|
73
|
+
|
|
74
|
+
- [Vue Router adapter](../../../api/@xmachines/play-vue-router/README.md)
|
|
75
|
+
- [Vue renderer gallery](../play-vue-gallery-demo/README.md)
|
|
76
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-vue-router-trivia-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-vue-router-trivia-demo
|
|
4
|
+
|
|
5
|
+
Vue Router 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 Vue Router — the game states map to `/`, `/trivia`, `/win`, and `/lose`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-vue-gallery-demo`](../play-vue-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-vue-router-trivia-demo run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then open `http://localhost:3089`.
|
|
27
|
+
|
|
28
|
+
## Step-by-Step Code Flow
|
|
29
|
+
|
|
30
|
+
1. `src/main.ts` creates the Vue app, installs the router, mounts it on `#app`, and wires HMR cleanup.
|
|
31
|
+
2. `src/runtime.ts` creates and starts the actor, builds the `routeMap` from the machine, and constructs the `registryResult` from the gallery's `triviaCatalog` + `demoComponents`.
|
|
32
|
+
3. `src/router.ts` installs a single catch-all route over `createWebHistory` — `PlayRenderer` selects the actual view from actor state.
|
|
33
|
+
4. `src/App.vue` renders `<PlayRouterProvider>` with the actor, route map, router instance, and a `renderShell` render function.
|
|
34
|
+
5. `renderShell` composes the gallery `Shell` with `h()`, handing it the actor, the bridged router, the registry, and the inspector.
|
|
35
|
+
6. `PlayRouterProvider` waits for `router.isReady()` before connecting the bridge, so direct URL loads are handled correctly.
|
|
36
|
+
7. Browser tests in `test/browser/` delegate to the shared Trivia router suite.
|
|
37
|
+
|
|
38
|
+
## Key Files
|
|
39
|
+
|
|
40
|
+
- `src/main.ts` - Vue app bootstrap (router install + mount + HMR cleanup)
|
|
41
|
+
- `src/runtime.ts` - actor startup, route map, and registry wiring
|
|
42
|
+
- `src/router.ts` - single catch-all route record
|
|
43
|
+
- `src/App.vue` - `PlayRouterProvider` wiring and `Shell` composition
|
|
44
|
+
- `test/library-pattern.test.ts` - source-level wiring assertions (`tsc` does not read `.vue`)
|
|
45
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared Trivia router browser suite
|
|
46
|
+
|
|
47
|
+
## Architecture Invariants
|
|
48
|
+
|
|
49
|
+
1. **Actor Authority:** Navigation changes the URL, `VueRouterBridge` turns that into a `play.route` event, and the actor evaluates it against its own guards.
|
|
50
|
+
2. **Passive Infrastructure:** No Vue Router navigation guard carries business logic. The actor decides whether a navigation is permitted; Vue only renders the result.
|
|
51
|
+
3. **State-Driven Reset:** An external history change to an invalid route is overwritten back from actor state — the URL always reflects the machine.
|
|
52
|
+
|
|
53
|
+
## Available Scripts
|
|
54
|
+
|
|
55
|
+
| Command | Description |
|
|
56
|
+
| ----------------------------------------------------------------------- | ---------------------------------------------- |
|
|
57
|
+
| `pnpm --filter @xmachines/play-vue-router-trivia-demo run dev` | Start Vite dev server (http://localhost:3089/) |
|
|
58
|
+
| `pnpm --filter @xmachines/play-vue-router-trivia-demo run build` | Build production bundle |
|
|
59
|
+
| `pnpm --filter @xmachines/play-vue-router-trivia-demo run preview` | Preview built bundle |
|
|
60
|
+
| `pnpm --filter @xmachines/play-vue-router-trivia-demo run test` | Run Vitest test suite |
|
|
61
|
+
| `pnpm --filter @xmachines/play-vue-router-trivia-demo run test:browser` | Run browser-focused Vitest suite |
|
|
62
|
+
|
|
63
|
+
## Verification
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
pnpm --filter @xmachines/play-vue-router-trivia-demo run test
|
|
67
|
+
pnpm --filter @xmachines/play-vue-router-trivia-demo run test:browser
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Expected result: the source-level wiring test passes and the shared Trivia router browser suite completes.
|
|
71
|
+
|
|
72
|
+
## Learn More
|
|
73
|
+
|
|
74
|
+
- [Vue Router adapter](../../../api/@xmachines/play-vue-router/README.md)
|
|
75
|
+
- [Vue renderer gallery](../play-vue-gallery-demo/README.md)
|
|
76
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
package/examples/README.md
CHANGED
|
@@ -19,7 +19,13 @@ Learn how state machines control navigation:
|
|
|
19
19
|
- **[Routing Patterns](routing-patterns.md)** — `meta.route`, `play.route` events, `always` auth guards, and parameter routes
|
|
20
20
|
- **[Multi-Router Integration](multi-router-integration.md)** — All 8 router adapters: provider pattern vs `connectRouter` pattern, and `basePath` for sharing a router with the host
|
|
21
21
|
|
|
22
|
-
### Level 3:
|
|
22
|
+
### Level 3: Ported XState Examples
|
|
23
|
+
|
|
24
|
+
Eight official XState examples, packaged as one renderer gallery per framework plus a router demo per adapter:
|
|
25
|
+
|
|
26
|
+
- **[XState Example Ports](xstate-example-ports.md)** — What was ported, how it is packaged, and what the cross-framework matrix caught
|
|
27
|
+
|
|
28
|
+
### Level 4: Full Applications
|
|
23
29
|
|
|
24
30
|
Complete working implementations of actor-authoritative routing with all architectural invariants enforced.
|
|
25
31
|
|
|
@@ -31,11 +37,11 @@ Every demo below also wires the [Stately inspector](../guides/inspector.md): the
|
|
|
31
37
|
|
|
32
38
|
<!-- typedoc:renderer-demos:start -->
|
|
33
39
|
|
|
34
|
-
- [@xmachines/play-dom-demo](@xmachines/play-dom-demo/README.md)
|
|
35
|
-
- [@xmachines/play-react-demo](@xmachines/play-react-demo/README.md)
|
|
36
|
-
- [@xmachines/play-solid-demo](@xmachines/play-solid-demo/README.md)
|
|
37
|
-
- [@xmachines/play-svelte-demo](@xmachines/play-svelte-demo/README.md)
|
|
38
|
-
- [@xmachines/play-vue-demo](@xmachines/play-vue-demo/README.md)
|
|
40
|
+
- [@xmachines/play-dom-gallery-demo](@xmachines/play-dom-gallery-demo/README.md)
|
|
41
|
+
- [@xmachines/play-react-gallery-demo](@xmachines/play-react-gallery-demo/README.md)
|
|
42
|
+
- [@xmachines/play-solid-gallery-demo](@xmachines/play-solid-gallery-demo/README.md)
|
|
43
|
+
- [@xmachines/play-svelte-gallery-demo](@xmachines/play-svelte-gallery-demo/README.md)
|
|
44
|
+
- [@xmachines/play-vue-gallery-demo](@xmachines/play-vue-gallery-demo/README.md)
|
|
39
45
|
|
|
40
46
|
<!-- typedoc:renderer-demos:end -->
|
|
41
47
|
|
|
@@ -44,13 +50,45 @@ Every demo below also wires the [Stately inspector](../guides/inspector.md): the
|
|
|
44
50
|
<!-- typedoc:router-demos:start -->
|
|
45
51
|
|
|
46
52
|
- [@xmachines/play-dom-router-demo](@xmachines/play-dom-router-demo/README.md)
|
|
53
|
+
- [@xmachines/play-dom-router-donut-demo](@xmachines/play-dom-router-donut-demo/README.md)
|
|
54
|
+
- [@xmachines/play-dom-router-flight-demo](@xmachines/play-dom-router-flight-demo/README.md)
|
|
55
|
+
- [@xmachines/play-dom-router-todomvc-demo](@xmachines/play-dom-router-todomvc-demo/README.md)
|
|
56
|
+
- [@xmachines/play-dom-router-trivia-demo](@xmachines/play-dom-router-trivia-demo/README.md)
|
|
47
57
|
- [@xmachines/play-react-router-demo](@xmachines/play-react-router-demo/README.md)
|
|
58
|
+
- [@xmachines/play-react-router-donut-demo](@xmachines/play-react-router-donut-demo/README.md)
|
|
59
|
+
- [@xmachines/play-react-router-flight-demo](@xmachines/play-react-router-flight-demo/README.md)
|
|
60
|
+
- [@xmachines/play-react-router-todomvc-demo](@xmachines/play-react-router-todomvc-demo/README.md)
|
|
61
|
+
- [@xmachines/play-react-router-trivia-demo](@xmachines/play-react-router-trivia-demo/README.md)
|
|
48
62
|
- [@xmachines/play-solid-router-demo](@xmachines/play-solid-router-demo/README.md)
|
|
63
|
+
- [@xmachines/play-solid-router-donut-demo](@xmachines/play-solid-router-donut-demo/README.md)
|
|
64
|
+
- [@xmachines/play-solid-router-flight-demo](@xmachines/play-solid-router-flight-demo/README.md)
|
|
65
|
+
- [@xmachines/play-solid-router-todomvc-demo](@xmachines/play-solid-router-todomvc-demo/README.md)
|
|
66
|
+
- [@xmachines/play-solid-router-trivia-demo](@xmachines/play-solid-router-trivia-demo/README.md)
|
|
49
67
|
- [@xmachines/play-svelte-spa-router-demo](@xmachines/play-svelte-spa-router-demo/README.md)
|
|
68
|
+
- [@xmachines/play-svelte-spa-router-donut-demo](@xmachines/play-svelte-spa-router-donut-demo/README.md)
|
|
69
|
+
- [@xmachines/play-svelte-spa-router-flight-demo](@xmachines/play-svelte-spa-router-flight-demo/README.md)
|
|
70
|
+
- [@xmachines/play-svelte-spa-router-todomvc-demo](@xmachines/play-svelte-spa-router-todomvc-demo/README.md)
|
|
71
|
+
- [@xmachines/play-svelte-spa-router-trivia-demo](@xmachines/play-svelte-spa-router-trivia-demo/README.md)
|
|
50
72
|
- [@xmachines/play-sveltekit-router-demo](@xmachines/play-sveltekit-router-demo/README.md)
|
|
73
|
+
- [@xmachines/play-sveltekit-router-donut-demo](@xmachines/play-sveltekit-router-donut-demo/README.md)
|
|
74
|
+
- [@xmachines/play-sveltekit-router-flight-demo](@xmachines/play-sveltekit-router-flight-demo/README.md)
|
|
75
|
+
- [@xmachines/play-sveltekit-router-todomvc-demo](@xmachines/play-sveltekit-router-todomvc-demo/README.md)
|
|
76
|
+
- [@xmachines/play-sveltekit-router-trivia-demo](@xmachines/play-sveltekit-router-trivia-demo/README.md)
|
|
51
77
|
- [@xmachines/play-tanstack-react-router-demo](@xmachines/play-tanstack-react-router-demo/README.md)
|
|
78
|
+
- [@xmachines/play-tanstack-react-router-donut-demo](@xmachines/play-tanstack-react-router-donut-demo/README.md)
|
|
79
|
+
- [@xmachines/play-tanstack-react-router-flight-demo](@xmachines/play-tanstack-react-router-flight-demo/README.md)
|
|
80
|
+
- [@xmachines/play-tanstack-react-router-todomvc-demo](@xmachines/play-tanstack-react-router-todomvc-demo/README.md)
|
|
81
|
+
- [@xmachines/play-tanstack-react-router-trivia-demo](@xmachines/play-tanstack-react-router-trivia-demo/README.md)
|
|
52
82
|
- [@xmachines/play-tanstack-solid-router-demo](@xmachines/play-tanstack-solid-router-demo/README.md)
|
|
83
|
+
- [@xmachines/play-tanstack-solid-router-donut-demo](@xmachines/play-tanstack-solid-router-donut-demo/README.md)
|
|
84
|
+
- [@xmachines/play-tanstack-solid-router-flight-demo](@xmachines/play-tanstack-solid-router-flight-demo/README.md)
|
|
85
|
+
- [@xmachines/play-tanstack-solid-router-todomvc-demo](@xmachines/play-tanstack-solid-router-todomvc-demo/README.md)
|
|
86
|
+
- [@xmachines/play-tanstack-solid-router-trivia-demo](@xmachines/play-tanstack-solid-router-trivia-demo/README.md)
|
|
53
87
|
- [@xmachines/play-vue-router-demo](@xmachines/play-vue-router-demo/README.md)
|
|
88
|
+
- [@xmachines/play-vue-router-donut-demo](@xmachines/play-vue-router-donut-demo/README.md)
|
|
89
|
+
- [@xmachines/play-vue-router-flight-demo](@xmachines/play-vue-router-flight-demo/README.md)
|
|
90
|
+
- [@xmachines/play-vue-router-todomvc-demo](@xmachines/play-vue-router-todomvc-demo/README.md)
|
|
91
|
+
- [@xmachines/play-vue-router-trivia-demo](@xmachines/play-vue-router-trivia-demo/README.md)
|
|
54
92
|
|
|
55
93
|
<!-- typedoc:router-demos:end -->
|
|
56
94
|
|
|
@@ -79,7 +79,9 @@ const authSetup = setup({
|
|
|
79
79
|
types: {
|
|
80
80
|
context: {} as AuthContext,
|
|
81
81
|
events: {} as
|
|
82
|
-
|
|
82
|
+
| PlayRouteEvent
|
|
83
|
+
| { type: "auth.login"; username: string }
|
|
84
|
+
| { type: "auth.logout" },
|
|
83
85
|
input: {} as Partial<AuthContext> | undefined,
|
|
84
86
|
},
|
|
85
87
|
});
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
[Examples](README.md) / XState Example Ports
|
|
2
|
+
|
|
3
|
+
# XState Example Ports
|
|
4
|
+
|
|
5
|
+
The official XState examples ported into XMachines Play demos, and how they are packaged. Every pick exists on the `statelyai/xstate` `next` branch already migrated to XState v6 syntax, so each pick is verified to survive v6. The ports themselves are implemented against the repository's current XState v5 adapter; moving them to v6 later is the same mechanical migration upstream already performed (transition functions returning `{ target, context }`, `createAsyncLogic` / `createCallbackLogic` instead of `fromPromise` / `fromCallback`).
|
|
6
|
+
|
|
7
|
+
Source catalog: [`statelyai/xstate` `examples/`](https://github.com/statelyai/xstate/tree/next/examples) (`next` branch).
|
|
8
|
+
|
|
9
|
+
## How The Ports Are Packaged
|
|
10
|
+
|
|
11
|
+
The eight machines live in [`@xmachines/play-actor-shared`](../../play-actor/examples/shared/README.md), one directory each, with a catalog, action handlers, behavioral tests, view-spec invariant tests, and a reusable browser suite. Every machine declares its views against one five-component vocabulary — `Page`, `Panel`, `Field`, `Button`, `Text` — defined once in `src/components-schema.ts`.
|
|
12
|
+
|
|
13
|
+
That vocabulary is what makes the packaging cheap:
|
|
14
|
+
|
|
15
|
+
- **One renderer gallery per framework** (`packages/play-<framework>/examples/gallery`) hosts all eight machines behind a picker. Choosing a machine stops the previous actor and starts a fresh one, so the inspector always shows a single live machine. Each framework implements the five components exactly once, and every machine's views render through them unmodified.
|
|
16
|
+
- **One router demo per adapter and routable machine** (`packages/play-<router>/examples/<machine>`), 32 in total. Each imports its framework's gallery for the catalog, the component kit, and the shell, so the demo itself contains only the router wiring.
|
|
17
|
+
|
|
18
|
+
The shared browser suites are framework-agnostic: they interact through the DOM contract (`data-page`, `data-demo-id`, `data-demo-shell`) and nothing else, so the same suite drives all five frameworks. That they pass unmodified everywhere is the evidence the machines carry no framework assumptions.
|
|
19
|
+
|
|
20
|
+
## Selection Criteria
|
|
21
|
+
|
|
22
|
+
An example qualifies when it:
|
|
23
|
+
|
|
24
|
+
1. **Survives v6** — present and migrated on the `next` branch, no APIs removed in v6.
|
|
25
|
+
2. **Demonstrates an invariant** — shows Actor Authority, Passive Infrastructure, State-Driven Reset, or Atom-Only Reactivity in a way the shared auth demo does not.
|
|
26
|
+
3. **Maps onto the Play surface** — states become `meta.route` / `meta.view` declarations; UI becomes a JSON-Render catalog; framework code stays out of the machine.
|
|
27
|
+
|
|
28
|
+
## Common Requirements
|
|
29
|
+
|
|
30
|
+
Every ported example, routing or not:
|
|
31
|
+
|
|
32
|
+
- **Wires the Stately inspector.** The actor is created with `options.inspect` from the shared demo controller (`createDemoInspector()`, `packages/play-actor/examples/shared/src/inspector.ts`), and the debug panel exposes the **Show Inspector** button — identical to the existing demos. The shared controller also carries the `@statelyai/inspect` 0.7 → v6 event translation described in the [inspector guide](../guides/inspector.md), so ports get animated transitions for free.
|
|
33
|
+
- Uses the same `setup()` style as the shared auth machine and avoids every API the v6 migration removes, so the later v6 move stays mechanical.
|
|
34
|
+
- Keeps business logic framework-free: views are JSON-Render specs selected via `meta.view`, events are the only input.
|
|
35
|
+
- Ships the standard invariant tests plus browser renderer coverage, mirroring the existing demo test layout.
|
|
36
|
+
|
|
37
|
+
## Ports With Routing
|
|
38
|
+
|
|
39
|
+
### 1. TodoMVC — `todomvc-react`
|
|
40
|
+
|
|
41
|
+
The upstream example already routes its all/active/completed filters, but imperatively through a `useHashChange` hook. The port deletes that hook and makes the filter states routable (`/`, `/active`, `/completed`) via `meta.route` + `formatPlayRouteTransitions` — a direct before/after argument for actor-authoritative routing. The todo list exercises JSON-Render `repeat` / `$item` and per-row actions.
|
|
42
|
+
|
|
43
|
+
- Demonstrates: INV-01, INV-04 — the router observes, the machine owns the filter.
|
|
44
|
+
- Inspector: high event volume (per-keystroke edits) makes the live machine view genuinely useful.
|
|
45
|
+
|
|
46
|
+
### 2. Trivia Game — `trivia-game-example`
|
|
47
|
+
|
|
48
|
+
Home → Trivia → win/lose pages with lives, points, and clues in context. Upstream deliberately keeps navigation out of the machine via `machine.provide(...)`; the port replaces that seam with `meta.route` and guards. Navigating to `/trivia` mid-game or after losing is overwritten by actor-derived state — the clearest INV-05 (State-Driven Reset) showcase in the set.
|
|
49
|
+
|
|
50
|
+
- Demonstrates: INV-01, INV-05 — guards decide route validity; invalid URLs bounce.
|
|
51
|
+
- Inspector: guard rejections are visible as unhandled `play.route` events.
|
|
52
|
+
|
|
53
|
+
### 3. Persisted Donut Maker — `persisted-donut-maker`
|
|
54
|
+
|
|
55
|
+
Multi-step recipe machine, one route per step, combined with `getPersistedSnapshot()` and the factory resume options. Refreshing the browser mid-flow restores machine state and URL together — persistence plus actor-authoritative deep links, which no current demo covers.
|
|
56
|
+
|
|
57
|
+
- Demonstrates: snapshot persistence, `PlayerFactoryResumeOptions`, deep-link resume.
|
|
58
|
+
- Inspector: attach-after-restore exercises the "turning the inspector on later" flow from the guide.
|
|
59
|
+
|
|
60
|
+
### 4. Flight Booker — `7guis-flight-booker-react`
|
|
61
|
+
|
|
62
|
+
Upstream is a single screen; the port stretches it into a wizard (trip type → dates → submitting → booked) with a route per step and query params for the selection. The same date guards that block invalid submissions block `play.route` jumps to `/booked`.
|
|
63
|
+
|
|
64
|
+
- Demonstrates: wizard routing, param/query routes, guard-gated forward navigation.
|
|
65
|
+
|
|
66
|
+
## Ports Without Routing
|
|
67
|
+
|
|
68
|
+
### 5. Fetch — `fetch`
|
|
69
|
+
|
|
70
|
+
idle/loading/success/failure around an invoked promise actor (`fromPromise`; `createAsyncLogic` in v6). Each state maps to a `meta.view` spec — view selection driven purely by machine state, zero component-level loading logic.
|
|
71
|
+
|
|
72
|
+
### 6. Stopwatch — `stopwatch`
|
|
73
|
+
|
|
74
|
+
Callback actor (`fromCallback`; `createCallbackLogic` in v6) ticking every 10 ms while in `running`; cleanup rides on state exit. Stress-tests atom propagation through passive renderers at high frequency.
|
|
75
|
+
|
|
76
|
+
### 7. Tic-Tac-Toe — `tic-tac-toe-react`
|
|
77
|
+
|
|
78
|
+
Turn-taking guards and win detection with the whole board in context. The board renders as a JSON-Render `repeat` grid; every move is an inspectable event.
|
|
79
|
+
|
|
80
|
+
### 8. Temperature Converter — `7guis-temperature-react` / `7guis-2-temperature-vue`
|
|
81
|
+
|
|
82
|
+
Bidirectional field binding via `$bindState`; complements the [form validation example](form-validation.md) on a tiny, well-known benchmark.
|
|
83
|
+
|
|
84
|
+
## Stretch Candidates
|
|
85
|
+
|
|
86
|
+
- **Friends List — `friends-list-react`.** Parent machine spawning a child actor per friend (`spawn` / `stopChild`, refs in context). Exercises the adapter's child-actor behaviour and the [actor model guide](../guides/actor-model.md); scheduled after the core eight because it may surface adapter work.
|
|
87
|
+
- **Express Workflow — `express-workflow`.** Headless: restore snapshot per request, send event, re-persist. A server-side `definePlayer` demo pairing with the WebSocket inspector transport from the guide.
|
|
88
|
+
|
|
89
|
+
## Not Ported
|
|
90
|
+
|
|
91
|
+
| Example | Reason |
|
|
92
|
+
| ----------------------------------- | --------------------------------------------------------------------------- |
|
|
93
|
+
| `store-*` (3 examples) | `@xstate/store`, not state machines — outside the Play adapter surface |
|
|
94
|
+
| `snake-react`, `tiles` | Game-loop and renderer-heavy; little architectural signal |
|
|
95
|
+
| `mongodb-*` (2 examples) | Infrastructure-heavy; persistence is covered by the donut maker |
|
|
96
|
+
| `workflow-*` (25 examples) | Headless single-file Serverless Workflow ports; no UI or navigation to show |
|
|
97
|
+
| `counter`, `toggle`, 7GUIs counters | Already covered by [basic state machine](basic-state-machine.md) and guides |
|
|
98
|
+
|
|
99
|
+
## What The Matrix Caught
|
|
100
|
+
|
|
101
|
+
Running one machine set across five renderers and eight routers found two defects that a single-framework demo could not:
|
|
102
|
+
|
|
103
|
+
- **Vue Router lost its history bookkeeping.** The shared suites simulated a manual URL entry with `history.pushState({}, …)`, which nulls `history.state` — where Vue Router keeps its `{ back, current, forward, position }` record. The actor bounced correctly every time, but the router could no longer write the corrected URL back. The suites now carry the existing `history.state` across the synthetic jump, which is also what a real navigation does.
|
|
104
|
+
- **The TanStack bridge dropped a corrective navigation under `<RouterProvider>`.** The provider installs a `Transitioner` that defers `router.latestLocation`, so `commitLocation` saw the pre-change href, decided the URL was unchanged, and skipped the history write. The bridge then synchronized the actor before `router.load()` settled, so the correction landed inside that stale window. [`watchRouterChanges`](../../play-tanstack-router/src/tanstack-router-bridge-base.ts) now waits for the `router.load()` of each event before it synchronizes the actor. Both TanStack demo families still mount a bare navigation-service router, because the actor and not the route tree decides the view.
|
|
105
|
+
|
|
106
|
+
Neither surfaced while only path-based routers were under test, and the pre-existing auth demo suites had no invalid-URL case at all.
|
|
@@ -329,7 +329,9 @@ const appSetup = setup({
|
|
|
329
329
|
query: Record<string, string>;
|
|
330
330
|
},
|
|
331
331
|
events: {} as
|
|
332
|
-
|
|
332
|
+
| PlayRouteEvent
|
|
333
|
+
| { type: "auth.login"; username: string }
|
|
334
|
+
| { type: "auth.logout" },
|
|
333
335
|
},
|
|
334
336
|
});
|
|
335
337
|
|
package/guides/inspector.md
CHANGED
|
@@ -172,13 +172,13 @@ Both transports consume the identical `options.inspect` observer, so switching b
|
|
|
172
172
|
|
|
173
173
|
## Trying it in the demos
|
|
174
174
|
|
|
175
|
-
Every demo in this repository —
|
|
175
|
+
Every demo in this repository — the five renderer galleries and every router demo — wires the inspector the same way, so any of them can be used to see the flow end to end:
|
|
176
176
|
|
|
177
177
|
```bash
|
|
178
|
-
pnpm --filter @xmachines/play-react-demo run dev
|
|
178
|
+
pnpm --filter @xmachines/play-react-gallery-demo run dev
|
|
179
179
|
```
|
|
180
180
|
|
|
181
|
-
Click **Show Inspector** in the debug panel at the bottom of the page. The inspector opens in its own window with the machine already drawn and the session's history replayed, and it keeps updating as you
|
|
181
|
+
Click **Show Inspector** in the debug panel at the bottom of the page. The inspector opens in its own window with the machine already drawn and the session's history replayed, and it keeps updating as you use the machine that you opened in the gallery.
|
|
182
182
|
|
|
183
183
|
The demos share one controller, `createDemoInspector()`, which each demo passes straight through to `definePlayer`. The controller lives in a private package of this repository, so you cannot install it. The block below shows the same wiring with the public API. It keeps each event from the creation of the actor, and it replays the events when the user opens the inspector:
|
|
184
184
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xmachines/docs",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.1.0",
|
|
4
4
|
"description": "Documentation for XMachines",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"documentation",
|
|
@@ -56,13 +56,13 @@
|
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@testing-library/jest-dom": "^7.0.1",
|
|
59
|
-
"@types/node": "^26.6.
|
|
60
|
-
"oxfmt": "^0.
|
|
61
|
-
"oxlint": "^1.
|
|
59
|
+
"@types/node": "^26.6.6",
|
|
60
|
+
"oxfmt": "^0.75.0",
|
|
61
|
+
"oxlint": "^1.90.0",
|
|
62
62
|
"typedoc": "^0.28.20",
|
|
63
63
|
"typedoc-plugin-llms-txt": "^0.1.2",
|
|
64
|
-
"typedoc-plugin-markdown": "^4.
|
|
65
|
-
"vitest": "^5.0.
|
|
64
|
+
"typedoc-plugin-markdown": "^4.14.1",
|
|
65
|
+
"vitest": "^5.0.5"
|
|
66
66
|
},
|
|
67
67
|
"engines": {
|
|
68
68
|
"node": ">=24.0.0"
|