@xmachines/docs 7.0.0 → 7.2.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/api/trains.json +30 -0
- 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 +30 -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,91 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-tanstack-solid-router-donut-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-tanstack-solid-router-donut-demo
|
|
4
|
+
|
|
5
|
+
TanStack Solid Router integration demo of the shared **donut** machine for the XMachines Play architecture.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- Shared donut machine reused without framework-specific business logic
|
|
12
|
+
- `PlayRouterProvider` renderer-based integration with `@tanstack/solid-router` — the wizard steps map to `/`, `/bake/mix`, `/bake/fry`, `/bake/decorate`, and `/done`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-solid-gallery-demo`](../play-solid-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
|
+
- Snapshot persistence: the actor snapshot is stored on every transition and resumed on reload, with a **Reset saved donut** header button to drop it
|
|
16
|
+
- Stately inspector attached at creation via `options.inspect` — the debug panel's **Show Inspector** button opens the live machine in its own window
|
|
17
|
+
|
|
18
|
+
## Running the Demo
|
|
19
|
+
|
|
20
|
+
From the repository root:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
pnpm install
|
|
24
|
+
pnpm --filter @xmachines/play-tanstack-solid-router-donut-demo run dev
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Then open `http://localhost:3086`.
|
|
28
|
+
|
|
29
|
+
## Step-by-Step Code Flow
|
|
30
|
+
|
|
31
|
+
1. `src/main.tsx` mounts `<App />` onto `#root` via Solid's `render`.
|
|
32
|
+
2. `src/runtime.ts` creates the inspector, starts the single donut actor, builds the `registryResult` from `donutCatalog` + `demoComponents` (both from [`@xmachines/play-solid-gallery-demo`](../play-solid-gallery-demo/README.md)), and derives the `routeMap` with `createRouteMap(donutMachine)`.
|
|
33
|
+
3. `src/App.tsx` creates a bare TanStack router (`createRouter({ routeTree: createRootRoute() })`) — a navigation service, not a renderer — and wires `PlayRouterProvider`.
|
|
34
|
+
4. `PlayRouterProvider` constructs the `TanStackSolidRouterBridge` synchronously and disconnects it in `onCleanup`; the App's own `onCleanup` stops the actor.
|
|
35
|
+
5. `Shell` (from the renderer gallery) receives `actor`, `router`, `registryResult`, `inspector`, and the **Reset saved donut** button as its `nav` slot.
|
|
36
|
+
6. `test/library-pattern.test.ts` pins the library pattern; `test/browser/shared-demo.browser.test.ts` delegates to the shared donut router browser suite.
|
|
37
|
+
|
|
38
|
+
## Snapshot Persistence
|
|
39
|
+
|
|
40
|
+
The gallery creates a fresh actor per selection, so persistence belongs to this demo, which owns exactly one donut actor:
|
|
41
|
+
|
|
42
|
+
- `definePlayer({ machine: donutMachine, options: { inspect, onTransition } })` — `onTransition` calls `saveDonutSnapshot(actor)`, writing `actor.getPersistedSnapshot()` to `localStorage` after every processed event.
|
|
43
|
+
- `createResumedPlayer()` reads `loadDonutSnapshot()` and passes it through the player factory's resume options — `createPlayer(undefined, { snapshot })`. An absent snapshot (`null`) becomes `undefined`, which starts the machine from its initial state.
|
|
44
|
+
- `resetSavedDonut()` calls `clearDonutSnapshot()` and reloads, wired to the `data-demo-id="reset-snapshot"` header button.
|
|
45
|
+
|
|
46
|
+
All three helpers come from `@xmachines/play-actor-shared` and degrade to no-ops outside a browser.
|
|
47
|
+
|
|
48
|
+
## Key Files
|
|
49
|
+
|
|
50
|
+
- `src/main.tsx` - Solid entry point that mounts `<App />`
|
|
51
|
+
- `src/runtime.ts` - actor lifecycle with persistence hooks, registry, and route map
|
|
52
|
+
- `src/App.tsx` - TanStack router construction and `PlayRouterProvider` wiring, plus the reset-snapshot button
|
|
53
|
+
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
54
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared donut router browser suite
|
|
55
|
+
|
|
56
|
+
## Why No `<RouterProvider>`
|
|
57
|
+
|
|
58
|
+
TanStack is wired as a navigation service: `createRouter({ routeTree: createRootRoute() })`, and `PlayRouterProvider` renders the gallery `Shell` itself.
|
|
59
|
+
|
|
60
|
+
The actor, and not a route tree, decides the view, so the demo needs no `<RouterProvider>`. The bridge also works under a mounted provider: it synchronizes the actor after the `router.load()` of each navigation settles, so the provider does not drop the corrective navigation of a refused URL.
|
|
61
|
+
|
|
62
|
+
## Architecture Invariants
|
|
63
|
+
|
|
64
|
+
1. **Actor Authority:** Navigation updates TanStack's location, the `PlayRouterProvider` converts it into a `play.route` event, and the actor evaluates its guards before any view changes.
|
|
65
|
+
2. **Passive Infrastructure:** TanStack gets a bare root route — no loaders, no guards, no machine routes. It only moves the URL and reports where the URL went; the actor decides whether navigation is permitted.
|
|
66
|
+
3. **State-Driven Reset:** An external history change to an invalid route is overwritten back from actor state — the URL always reflects the machine.
|
|
67
|
+
|
|
68
|
+
## Available Scripts
|
|
69
|
+
|
|
70
|
+
| Command | Description |
|
|
71
|
+
| --------------------------------------------------------------------------------- | ---------------------------------------------- |
|
|
72
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-donut-demo run dev` | Start Vite dev server (http://localhost:3086/) |
|
|
73
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-donut-demo run build` | Build production bundle |
|
|
74
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-donut-demo run preview` | Preview built bundle |
|
|
75
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-donut-demo run test` | Run Vitest test suite |
|
|
76
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-donut-demo run test:browser` | Run browser-focused Vitest suite |
|
|
77
|
+
|
|
78
|
+
## Verification
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
pnpm --filter @xmachines/play-tanstack-solid-router-donut-demo run test
|
|
82
|
+
pnpm --filter @xmachines/play-tanstack-solid-router-donut-demo run test:browser
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Expected result: the library-pattern node test and the shared donut router browser suite both pass.
|
|
86
|
+
|
|
87
|
+
## Learn More
|
|
88
|
+
|
|
89
|
+
- [TanStack Solid Router adapter](../../../api/@xmachines/play-tanstack-solid-router/README.md)
|
|
90
|
+
- [Solid renderer gallery](../play-solid-gallery-demo/README.md)
|
|
91
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-tanstack-solid-router-flight-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-tanstack-solid-router-flight-demo
|
|
4
|
+
|
|
5
|
+
TanStack Solid 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 `@tanstack/solid-router` — the wizard steps map to `/`, `/dates`, `/review`, `/submitting`, and `/booked`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-solid-gallery-demo`](../play-solid-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-tanstack-solid-router-flight-demo run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then open `http://localhost:3087`.
|
|
27
|
+
|
|
28
|
+
## Step-by-Step Code Flow
|
|
29
|
+
|
|
30
|
+
1. `src/main.tsx` mounts `<App />` onto `#root` via Solid's `render`.
|
|
31
|
+
2. `src/runtime.ts` creates the inspector, starts the single flight actor, builds the `registryResult` from `flightCatalog` + `demoComponents` (both from [`@xmachines/play-solid-gallery-demo`](../play-solid-gallery-demo/README.md)), and derives the `routeMap` with `createRouteMap(flightMachine)`.
|
|
32
|
+
3. `src/App.tsx` creates a bare TanStack router (`createRouter({ routeTree: createRootRoute() })`) — a navigation service, not a renderer — and wires `PlayRouterProvider`.
|
|
33
|
+
4. `PlayRouterProvider` constructs the `TanStackSolidRouterBridge` synchronously and disconnects it in `onCleanup`; the App's own `onCleanup` stops the actor.
|
|
34
|
+
5. `Shell` (from the renderer gallery) receives `actor`, `router`, `registryResult`, and `inspector`.
|
|
35
|
+
6. `test/library-pattern.test.ts` pins the library pattern; `test/browser/shared-demo.browser.test.ts` delegates to the shared flight router browser suite.
|
|
36
|
+
|
|
37
|
+
## Key Files
|
|
38
|
+
|
|
39
|
+
- `src/main.tsx` - Solid entry point that mounts `<App />`
|
|
40
|
+
- `src/runtime.ts` - actor lifecycle, registry, and route map
|
|
41
|
+
- `src/App.tsx` - TanStack router construction and `PlayRouterProvider` wiring
|
|
42
|
+
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
43
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared flight router browser suite
|
|
44
|
+
|
|
45
|
+
## Why No `<RouterProvider>`
|
|
46
|
+
|
|
47
|
+
TanStack is wired as a navigation service: `createRouter({ routeTree: createRootRoute() })`, and `PlayRouterProvider` renders the gallery `Shell` itself.
|
|
48
|
+
|
|
49
|
+
The actor, and not a route tree, decides the view, so the demo needs no `<RouterProvider>`. The bridge also works under a mounted provider: it synchronizes the actor after the `router.load()` of each navigation settles, so the provider does not drop the corrective navigation of a refused URL.
|
|
50
|
+
|
|
51
|
+
## Architecture Invariants
|
|
52
|
+
|
|
53
|
+
1. **Actor Authority:** Navigation updates TanStack's location, the `PlayRouterProvider` converts it into a `play.route` event, and the actor evaluates its guards before any view changes.
|
|
54
|
+
2. **Passive Infrastructure:** TanStack gets a bare root route — no loaders, no guards, no machine routes. It only moves the URL and reports where the URL went; the actor decides whether navigation is permitted.
|
|
55
|
+
3. **State-Driven Reset:** An external history change to an invalid route is overwritten back from actor state — the URL always reflects the machine.
|
|
56
|
+
|
|
57
|
+
## Available Scripts
|
|
58
|
+
|
|
59
|
+
| Command | Description |
|
|
60
|
+
| ---------------------------------------------------------------------------------- | ---------------------------------------------- |
|
|
61
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-flight-demo run dev` | Start Vite dev server (http://localhost:3087/) |
|
|
62
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-flight-demo run build` | Build production bundle |
|
|
63
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-flight-demo run preview` | Preview built bundle |
|
|
64
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-flight-demo run test` | Run Vitest test suite |
|
|
65
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-flight-demo run test:browser` | Run browser-focused Vitest suite |
|
|
66
|
+
|
|
67
|
+
## Verification
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
pnpm --filter @xmachines/play-tanstack-solid-router-flight-demo run test
|
|
71
|
+
pnpm --filter @xmachines/play-tanstack-solid-router-flight-demo run test:browser
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Expected result: the library-pattern node test and the shared flight router browser suite both pass.
|
|
75
|
+
|
|
76
|
+
## Learn More
|
|
77
|
+
|
|
78
|
+
- [TanStack Solid Router adapter](../../../api/@xmachines/play-tanstack-solid-router/README.md)
|
|
79
|
+
- [Solid renderer gallery](../play-solid-gallery-demo/README.md)
|
|
80
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-tanstack-solid-router-todomvc-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-tanstack-solid-router-todomvc-demo
|
|
4
|
+
|
|
5
|
+
TanStack Solid 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 `@tanstack/solid-router` — the filter states map to `/`, `/active`, and `/completed`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-solid-gallery-demo`](../play-solid-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-tanstack-solid-router-todomvc-demo run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then open `http://localhost:3084`.
|
|
27
|
+
|
|
28
|
+
## Step-by-Step Code Flow
|
|
29
|
+
|
|
30
|
+
1. `src/main.tsx` mounts `<App />` onto `#root` via Solid's `render`.
|
|
31
|
+
2. `src/runtime.ts` creates the inspector, starts the single TodoMVC actor, builds the `registryResult` from `todoMvcCatalog` + `demoComponents` (both from [`@xmachines/play-solid-gallery-demo`](../play-solid-gallery-demo/README.md)), and derives the `routeMap` with `createRouteMap(todoMvcMachine)`.
|
|
32
|
+
3. `src/App.tsx` creates a bare TanStack router (`createRouter({ routeTree: createRootRoute() })`) — a navigation service, not a renderer — and wires `PlayRouterProvider`.
|
|
33
|
+
4. `PlayRouterProvider` constructs the `TanStackSolidRouterBridge` synchronously and disconnects it in `onCleanup`; the App's own `onCleanup` stops the actor.
|
|
34
|
+
5. `Shell` (from the renderer gallery) receives `actor`, `router`, `registryResult`, and `inspector`.
|
|
35
|
+
6. `test/library-pattern.test.ts` pins the library pattern; `test/browser/shared-demo.browser.test.ts` delegates to the shared TodoMVC router browser suite.
|
|
36
|
+
|
|
37
|
+
## Key Files
|
|
38
|
+
|
|
39
|
+
- `src/main.tsx` - Solid entry point that mounts `<App />`
|
|
40
|
+
- `src/runtime.ts` - actor lifecycle, registry, and route map
|
|
41
|
+
- `src/App.tsx` - TanStack router construction and `PlayRouterProvider` wiring
|
|
42
|
+
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
43
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared TodoMVC router browser suite
|
|
44
|
+
|
|
45
|
+
## Why No `<RouterProvider>`
|
|
46
|
+
|
|
47
|
+
TanStack is wired as a navigation service: `createRouter({ routeTree: createRootRoute() })`, and `PlayRouterProvider` renders the gallery `Shell` itself.
|
|
48
|
+
|
|
49
|
+
The actor, and not a route tree, decides the view, so the demo needs no `<RouterProvider>`. The bridge also works under a mounted provider: it synchronizes the actor after the `router.load()` of each navigation settles, so the provider does not drop the corrective navigation of a refused URL.
|
|
50
|
+
|
|
51
|
+
## Architecture Invariants
|
|
52
|
+
|
|
53
|
+
1. **Actor Authority:** Navigation updates TanStack's location, the `PlayRouterProvider` converts it into a `play.route` event, and the actor evaluates its guards before any view changes.
|
|
54
|
+
2. **Passive Infrastructure:** TanStack gets a bare root route — no loaders, no guards, no machine routes. It only moves the URL and reports where the URL went; the actor decides whether navigation is permitted.
|
|
55
|
+
3. **State-Driven Reset:** An external history change to an invalid route is overwritten back from actor state — the URL always reflects the machine.
|
|
56
|
+
|
|
57
|
+
## Available Scripts
|
|
58
|
+
|
|
59
|
+
| Command | Description |
|
|
60
|
+
| ----------------------------------------------------------------------------------- | ---------------------------------------------- |
|
|
61
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-todomvc-demo run dev` | Start Vite dev server (http://localhost:3084/) |
|
|
62
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-todomvc-demo run build` | Build production bundle |
|
|
63
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-todomvc-demo run preview` | Preview built bundle |
|
|
64
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-todomvc-demo run test` | Run Vitest test suite |
|
|
65
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-todomvc-demo run test:browser` | Run browser-focused Vitest suite |
|
|
66
|
+
|
|
67
|
+
## Verification
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
pnpm --filter @xmachines/play-tanstack-solid-router-todomvc-demo run test
|
|
71
|
+
pnpm --filter @xmachines/play-tanstack-solid-router-todomvc-demo run test:browser
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Expected result: the library-pattern node test and the shared TodoMVC router browser suite both pass.
|
|
75
|
+
|
|
76
|
+
## Learn More
|
|
77
|
+
|
|
78
|
+
- [TanStack Solid Router adapter](../../../api/@xmachines/play-tanstack-solid-router/README.md)
|
|
79
|
+
- [Solid renderer gallery](../play-solid-gallery-demo/README.md)
|
|
80
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-tanstack-solid-router-trivia-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-tanstack-solid-router-trivia-demo
|
|
4
|
+
|
|
5
|
+
TanStack Solid 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 `@tanstack/solid-router` — the quiz states map to `/`, `/trivia`, `/win`, and `/lose`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-solid-gallery-demo`](../play-solid-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-tanstack-solid-router-trivia-demo run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then open `http://localhost:3085`.
|
|
27
|
+
|
|
28
|
+
## Step-by-Step Code Flow
|
|
29
|
+
|
|
30
|
+
1. `src/main.tsx` mounts `<App />` onto `#root` via Solid's `render`.
|
|
31
|
+
2. `src/runtime.ts` creates the inspector, starts the single trivia actor, builds the `registryResult` from `triviaCatalog` + `demoComponents` (both from [`@xmachines/play-solid-gallery-demo`](../play-solid-gallery-demo/README.md)), and derives the `routeMap` with `createRouteMap(triviaMachine)`.
|
|
32
|
+
3. `src/App.tsx` creates a bare TanStack router (`createRouter({ routeTree: createRootRoute() })`) — a navigation service, not a renderer — and wires `PlayRouterProvider`.
|
|
33
|
+
4. `PlayRouterProvider` constructs the `TanStackSolidRouterBridge` synchronously and disconnects it in `onCleanup`; the App's own `onCleanup` stops the actor.
|
|
34
|
+
5. `Shell` (from the renderer gallery) receives `actor`, `router`, `registryResult`, and `inspector`.
|
|
35
|
+
6. `test/library-pattern.test.ts` pins the library pattern; `test/browser/shared-demo.browser.test.ts` delegates to the shared trivia router browser suite.
|
|
36
|
+
|
|
37
|
+
## Key Files
|
|
38
|
+
|
|
39
|
+
- `src/main.tsx` - Solid entry point that mounts `<App />`
|
|
40
|
+
- `src/runtime.ts` - actor lifecycle, registry, and route map
|
|
41
|
+
- `src/App.tsx` - TanStack router construction and `PlayRouterProvider` wiring
|
|
42
|
+
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
43
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared trivia router browser suite
|
|
44
|
+
|
|
45
|
+
## Why No `<RouterProvider>`
|
|
46
|
+
|
|
47
|
+
TanStack is wired as a navigation service: `createRouter({ routeTree: createRootRoute() })`, and `PlayRouterProvider` renders the gallery `Shell` itself.
|
|
48
|
+
|
|
49
|
+
The actor, and not a route tree, decides the view, so the demo needs no `<RouterProvider>`. The bridge also works under a mounted provider: it synchronizes the actor after the `router.load()` of each navigation settles, so the provider does not drop the corrective navigation of a refused URL.
|
|
50
|
+
|
|
51
|
+
## Architecture Invariants
|
|
52
|
+
|
|
53
|
+
1. **Actor Authority:** Navigation updates TanStack's location, the `PlayRouterProvider` converts it into a `play.route` event, and the actor evaluates its guards before any view changes.
|
|
54
|
+
2. **Passive Infrastructure:** TanStack gets a bare root route — no loaders, no guards, no machine routes. It only moves the URL and reports where the URL went; the actor decides whether navigation is permitted.
|
|
55
|
+
3. **State-Driven Reset:** An external history change to an invalid route is overwritten back from actor state — the URL always reflects the machine.
|
|
56
|
+
|
|
57
|
+
## Available Scripts
|
|
58
|
+
|
|
59
|
+
| Command | Description |
|
|
60
|
+
| ---------------------------------------------------------------------------------- | ---------------------------------------------- |
|
|
61
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-trivia-demo run dev` | Start Vite dev server (http://localhost:3085/) |
|
|
62
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-trivia-demo run build` | Build production bundle |
|
|
63
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-trivia-demo run preview` | Preview built bundle |
|
|
64
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-trivia-demo run test` | Run Vitest test suite |
|
|
65
|
+
| `pnpm --filter @xmachines/play-tanstack-solid-router-trivia-demo run test:browser` | Run browser-focused Vitest suite |
|
|
66
|
+
|
|
67
|
+
## Verification
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
pnpm --filter @xmachines/play-tanstack-solid-router-trivia-demo run test
|
|
71
|
+
pnpm --filter @xmachines/play-tanstack-solid-router-trivia-demo run test:browser
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Expected result: the library-pattern node test and the shared trivia router browser suite both pass.
|
|
75
|
+
|
|
76
|
+
## Learn More
|
|
77
|
+
|
|
78
|
+
- [TanStack Solid Router adapter](../../../api/@xmachines/play-tanstack-solid-router/README.md)
|
|
79
|
+
- [Solid renderer gallery](../play-solid-gallery-demo/README.md)
|
|
80
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-vue-gallery-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-vue-gallery-demo
|
|
4
|
+
|
|
5
|
+
Vue 3 renderer gallery for [`@xmachines/play-vue`](../../../api/@xmachines/play-vue/README.md) — all nine demo machines behind one picker, actor + `PlayRenderer` without a router.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- All nine shared machines (fetch, stopwatch, tic-tac-toe, temperature, TodoMVC, trivia, donut, flight, and the auth login wall) reused without framework-specific business logic
|
|
12
|
+
- A home-screen picker: selecting a machine stops the previous actor, creates a FRESH actor for the chosen machine, and renders its views; "Back to gallery" returns to the picker
|
|
13
|
+
- The five-component demo kit (Page, Panel, Field, Button, Text) defined ONCE as SFCs and registered with every machine's typed `defineRegistry` catalog
|
|
14
|
+
- `Field` registering declarative `checks` with `useFieldValidation` and rendering the `formErrors` map the `validateForm` built-in writes back, in a `[data-demo-error]` node
|
|
15
|
+
- Routing machines run WITHOUT a router here — navigation happens via their in-view route-action buttons; the actor owns view switching
|
|
16
|
+
- One shared Stately inspector (`createDemoInspector()`) serving every selection — the debug panel's **Show Inspector** button opens the live machine in its own window
|
|
17
|
+
|
|
18
|
+
## Running the Demo
|
|
19
|
+
|
|
20
|
+
From the repository root:
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
pnpm install
|
|
24
|
+
pnpm --filter @xmachines/play-vue-gallery-demo run dev
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Then open `http://localhost:3024`.
|
|
28
|
+
|
|
29
|
+
## Step-by-Step Code Flow
|
|
30
|
+
|
|
31
|
+
1. `src/main.ts` mounts `<App />` — no actor is created here, `App` owns the per-selection lifecycle.
|
|
32
|
+
2. `src/App.vue` renders the picker; `openMachine(entry)` stops any previous actor and calls `entry.createRuntime(inspector.inspect)`, storing the result in a `shallowRef` so Vue never proxies the actor.
|
|
33
|
+
3. `src/machines.ts` holds one `GalleryMachineEntry` per machine: `createRuntime` builds a fresh started actor via `definePlayer({ machine, options: { inspect } })()` and its `defineRegistry(catalog, { components: demoComponents, actions: create<Prefix>ActionHandlers(actor) })`.
|
|
34
|
+
4. `src/catalogs.ts` builds all nine catalogs with `defineCatalog(schema, <prefix>CatalogDef)` — router demos import theirs from the barrel.
|
|
35
|
+
5. `Shell.vue` wraps `<PlayUIProvider :actor :registryResult><PlayRenderer /></PlayUIProvider>` in the standard demo chrome plus the `DebugPanel`; the gallery passes `title` and fills the `nav` slot with the "Back to gallery" button.
|
|
36
|
+
6. Browser tests in `test/browser/` delegate one file per machine to that machine's shared renderer suite.
|
|
37
|
+
|
|
38
|
+
## Key Files
|
|
39
|
+
|
|
40
|
+
- `src/main.ts` - Vue entry point that mounts `<App />`
|
|
41
|
+
- `src/App.vue` - picker, per-selection actor lifecycle, and `Shell` composition
|
|
42
|
+
- `src/machines.ts` - the machine registry: slug, label, and `createRuntime` per machine
|
|
43
|
+
- `src/catalogs.ts` - the nine built catalogs plus the `KitCatalog` typing alias
|
|
44
|
+
- `src/components/` - the five-component kit (Page, Panel, Field, Button, Text) plus `Shell` and `DebugPanel`
|
|
45
|
+
- `src/index.ts` - barrel exporting `App`, the kit, `demoComponents`, `Shell`, `DebugPanel`, and every built catalog for the router demos
|
|
46
|
+
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
47
|
+
- `test/browser/<slug>-demo.browser.test.ts` - one file per machine, delegating to the shared suites
|
|
48
|
+
- `test/browser/gallery-picker.browser.test.ts` - picker smoke test (open/close roundtrip)
|
|
49
|
+
|
|
50
|
+
## Architecture Invariants
|
|
51
|
+
|
|
52
|
+
1. **Actor Authority:** Views dispatch machine events (and `route` actions on routing machines) to the actor. The actor evaluates guards and transitions — Vue never decides which view to render.
|
|
53
|
+
2. **Passive Infrastructure:** `PlayRenderer` observes the `actor.currentView` atom only. It holds no business state and makes no routing decisions.
|
|
54
|
+
3. **Fresh Actor Per Selection:** Reopening a machine always starts from its initial state, matching the demo inspector's "one live machine" semantics.
|
|
55
|
+
|
|
56
|
+
## Vue Specifics
|
|
57
|
+
|
|
58
|
+
- The live selection lives in a `shallowRef`, so the actor and its registry are handed to `Shell` raw — Vue reactivity only triggers the re-render, the atoms stay the source of truth.
|
|
59
|
+
- The react gallery's `nav?: ReactNode` prop is a named `nav` **slot** on `Shell.vue`; router demos simply leave it empty.
|
|
60
|
+
- `defineRegistry` from [`@xmachines/play-vue`](../../../api/@xmachines/play-vue/README.md) wraps each SFC with `h()`, so every kit component can use composables such as `useBoundProp` inside `<script setup>`.
|
|
61
|
+
|
|
62
|
+
## Available Scripts
|
|
63
|
+
|
|
64
|
+
| Command | Description |
|
|
65
|
+
| ----------------------------------------------------------------- | ---------------------------------------------- |
|
|
66
|
+
| `pnpm --filter @xmachines/play-vue-gallery-demo run dev` | Start Vite dev server (http://localhost:3024/) |
|
|
67
|
+
| `pnpm --filter @xmachines/play-vue-gallery-demo run build` | Build production bundle |
|
|
68
|
+
| `pnpm --filter @xmachines/play-vue-gallery-demo run preview` | Preview built bundle |
|
|
69
|
+
| `pnpm --filter @xmachines/play-vue-gallery-demo run test` | Run Vitest test suite |
|
|
70
|
+
| `pnpm --filter @xmachines/play-vue-gallery-demo run test:browser` | Run browser-focused Vitest suite |
|
|
71
|
+
|
|
72
|
+
## Verification
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
pnpm --filter @xmachines/play-vue-gallery-demo run test
|
|
76
|
+
pnpm --filter @xmachines/play-vue-gallery-demo run test:browser
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Expected result: library-pattern invariant tests pass and all nine machine suites plus the picker smoke test complete.
|
|
80
|
+
|
|
81
|
+
## Learn More
|
|
82
|
+
|
|
83
|
+
- [play-vue](../../../api/@xmachines/play-vue/README.md)
|
|
84
|
+
- [Vue Router demo](../play-vue-router-demo/README.md)
|
|
85
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
86
|
+
|
|
87
|
+
## Interfaces
|
|
88
|
+
|
|
89
|
+
- [GalleryMachineEntry](interfaces/GalleryMachineEntry.md)
|
|
90
|
+
- [GalleryRuntime](interfaces/GalleryRuntime.md)
|
|
91
|
+
|
|
92
|
+
## Type Aliases
|
|
93
|
+
|
|
94
|
+
- [AuthCatalog](type-aliases/AuthCatalog.md)
|
|
95
|
+
- [DonutCatalog](type-aliases/DonutCatalog.md)
|
|
96
|
+
- [FetchCatalog](type-aliases/FetchCatalog.md)
|
|
97
|
+
- [FlightCatalog](type-aliases/FlightCatalog.md)
|
|
98
|
+
- [GalleryActor](type-aliases/GalleryActor.md)
|
|
99
|
+
- [GallerySlug](type-aliases/GallerySlug.md)
|
|
100
|
+
- [KitCatalog](type-aliases/KitCatalog.md)
|
|
101
|
+
- [StopwatchCatalog](type-aliases/StopwatchCatalog.md)
|
|
102
|
+
- [TemperatureCatalog](type-aliases/TemperatureCatalog.md)
|
|
103
|
+
- [TicTacToeCatalog](type-aliases/TicTacToeCatalog.md)
|
|
104
|
+
- [TodoMvcCatalog](type-aliases/TodoMvcCatalog.md)
|
|
105
|
+
- [TriviaCatalog](type-aliases/TriviaCatalog.md)
|
|
106
|
+
|
|
107
|
+
## Variables
|
|
108
|
+
|
|
109
|
+
- [App](variables/App.md)
|
|
110
|
+
- [authCatalog](variables/authCatalog.md)
|
|
111
|
+
- [demoComponents](variables/demoComponents.md)
|
|
112
|
+
- [donutCatalog](variables/donutCatalog.md)
|
|
113
|
+
- [fetchCatalog](variables/fetchCatalog.md)
|
|
114
|
+
- [flightCatalog](variables/flightCatalog.md)
|
|
115
|
+
- [galleryMachines](variables/galleryMachines.md)
|
|
116
|
+
- [stopwatchCatalog](variables/stopwatchCatalog.md)
|
|
117
|
+
- [temperatureCatalog](variables/temperatureCatalog.md)
|
|
118
|
+
- [ticTacToeCatalog](variables/ticTacToeCatalog.md)
|
|
119
|
+
- [todoMvcCatalog](variables/todoMvcCatalog.md)
|
|
120
|
+
- [triviaCatalog](variables/triviaCatalog.md)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-vue-gallery-demo](../README.md) / GalleryMachineEntry
|
|
2
|
+
|
|
3
|
+
# Interface: GalleryMachineEntry
|
|
4
|
+
|
|
5
|
+
Defined in: [packages/play-vue/examples/gallery/src/machines.ts:87](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/machines.ts#L87)
|
|
6
|
+
|
|
7
|
+
## Properties
|
|
8
|
+
|
|
9
|
+
| Property | Type | Description | Defined in |
|
|
10
|
+
| --------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
|
+
| <a id="property-createruntime"></a> `createRuntime` | (`inspect`) => [`GalleryRuntime`](GalleryRuntime.md) | Create a fresh, STARTED actor and its registry for one selection. The caller owns the runtime and must stop the actor when done with it. | [packages/play-vue/examples/gallery/src/machines.ts:95](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/machines.ts#L95) |
|
|
12
|
+
| <a id="property-label"></a> `label` | `string` | Picker button label and machine-view title. | [packages/play-vue/examples/gallery/src/machines.ts:90](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/machines.ts#L90) |
|
|
13
|
+
| <a id="property-slug"></a> `slug` | [`GallerySlug`](../type-aliases/GallerySlug.md) | - | [packages/play-vue/examples/gallery/src/machines.ts:88](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/machines.ts#L88) |
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-vue-gallery-demo](../README.md) / GalleryRuntime
|
|
2
|
+
|
|
3
|
+
# Interface: GalleryRuntime
|
|
4
|
+
|
|
5
|
+
Defined in: [packages/play-vue/examples/gallery/src/machines.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/machines.ts#L82)
|
|
6
|
+
|
|
7
|
+
One live selection: the started actor plus its registry.
|
|
8
|
+
|
|
9
|
+
## Properties
|
|
10
|
+
|
|
11
|
+
| Property | Type | Defined in |
|
|
12
|
+
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
13
|
+
| <a id="property-actor"></a> `actor` | [`GalleryActor`](../type-aliases/GalleryActor.md) | [packages/play-vue/examples/gallery/src/machines.ts:83](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/machines.ts#L83) |
|
|
14
|
+
| <a id="property-registryresult"></a> `registryResult` | [`DefineRegistryResult`](../../../../api/@xmachines/play-vue/interfaces/DefineRegistryResult.md) | [packages/play-vue/examples/gallery/src/machines.ts:84](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/machines.ts#L84) |
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-vue-gallery-demo](../README.md) / AuthCatalog
|
|
2
|
+
|
|
3
|
+
# Type Alias: AuthCatalog
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type AuthCatalog = typeof authCatalog;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-vue/examples/gallery/src/catalogs.ts:48](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/catalogs.ts#L48)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-vue-gallery-demo](../README.md) / DonutCatalog
|
|
2
|
+
|
|
3
|
+
# Type Alias: DonutCatalog
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type DonutCatalog = typeof donutCatalog;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-vue/examples/gallery/src/catalogs.ts:42](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/catalogs.ts#L42)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-vue-gallery-demo](../README.md) / FetchCatalog
|
|
2
|
+
|
|
3
|
+
# Type Alias: FetchCatalog
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type FetchCatalog = typeof fetchCatalog;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-vue/examples/gallery/src/catalogs.ts:24](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/catalogs.ts#L24)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-vue-gallery-demo](../README.md) / FlightCatalog
|
|
2
|
+
|
|
3
|
+
# Type Alias: FlightCatalog
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type FlightCatalog = typeof flightCatalog;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-vue/examples/gallery/src/catalogs.ts:45](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/catalogs.ts#L45)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-vue-gallery-demo](../README.md) / GalleryActor
|
|
2
|
+
|
|
3
|
+
# Type Alias: GalleryActor
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type GalleryActor =
|
|
7
|
+
| FetchActor
|
|
8
|
+
| StopwatchActor
|
|
9
|
+
| TicTacToeActor
|
|
10
|
+
| TemperatureActor
|
|
11
|
+
| TodoMvcActor
|
|
12
|
+
| TriviaActor
|
|
13
|
+
| DonutActor
|
|
14
|
+
| FlightActor
|
|
15
|
+
| AuthActor;
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Defined in: [packages/play-vue/examples/gallery/src/machines.ts:59](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/machines.ts#L59)
|
|
19
|
+
|
|
20
|
+
Any of the nine machine actors — what the gallery Shell and DebugPanel accept.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-vue-gallery-demo](../README.md) / GallerySlug
|
|
2
|
+
|
|
3
|
+
# Type Alias: GallerySlug
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type GallerySlug =
|
|
7
|
+
| "fetch"
|
|
8
|
+
| "stopwatch"
|
|
9
|
+
| "tictactoe"
|
|
10
|
+
| "temperature"
|
|
11
|
+
| "todomvc"
|
|
12
|
+
| "trivia"
|
|
13
|
+
| "donut"
|
|
14
|
+
| "flight"
|
|
15
|
+
| "auth";
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Defined in: [packages/play-vue/examples/gallery/src/machines.ts:70](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/machines.ts#L70)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-vue-gallery-demo](../README.md) / KitCatalog
|
|
2
|
+
|
|
3
|
+
# Type Alias: KitCatalog
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type KitCatalog = FetchCatalog;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-vue/examples/gallery/src/catalogs.ts:58](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/catalogs.ts#L58)
|
|
10
|
+
|
|
11
|
+
The catalog the shared component KIT is typed against.
|
|
12
|
+
|
|
13
|
+
ComponentContext only constrains a component through the catalog's component
|
|
14
|
+
schemas, and those are identical across all nine catalogs — so the kit is
|
|
15
|
+
typed once against this representative and registers cleanly with every
|
|
16
|
+
machine's defineRegistry call.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-vue-gallery-demo](../README.md) / StopwatchCatalog
|
|
2
|
+
|
|
3
|
+
# Type Alias: StopwatchCatalog
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type StopwatchCatalog = typeof stopwatchCatalog;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-vue/examples/gallery/src/catalogs.ts:27](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/catalogs.ts#L27)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-vue-gallery-demo](../README.md) / TemperatureCatalog
|
|
2
|
+
|
|
3
|
+
# Type Alias: TemperatureCatalog
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type TemperatureCatalog = typeof temperatureCatalog;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-vue/examples/gallery/src/catalogs.ts:33](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/catalogs.ts#L33)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-vue-gallery-demo](../README.md) / TicTacToeCatalog
|
|
2
|
+
|
|
3
|
+
# Type Alias: TicTacToeCatalog
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type TicTacToeCatalog = typeof ticTacToeCatalog;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-vue/examples/gallery/src/catalogs.ts:30](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/catalogs.ts#L30)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-vue-gallery-demo](../README.md) / TodoMvcCatalog
|
|
2
|
+
|
|
3
|
+
# Type Alias: TodoMvcCatalog
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
type TodoMvcCatalog = typeof todoMvcCatalog;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-vue/examples/gallery/src/catalogs.ts:36](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.2.0/packages/play-vue/examples/gallery/src/catalogs.ts#L36)
|