@xmachines/docs 7.0.0 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/api/@xmachines/core/README.md +1 -1
- package/api/@xmachines/core/cache/functions/createLruCache.md +7 -7
- package/api/@xmachines/core/cache/interfaces/KeyValueCache.md +6 -6
- package/api/@xmachines/core/errors/classes/BaseError.md +15 -23
- package/api/@xmachines/core/errors/classes/DisposeConflictError.md +11 -11
- package/api/@xmachines/core/utils/functions/asDisposable.md +9 -9
- package/api/@xmachines/core/utils/functions/createNullRecord.md +4 -4
- package/api/@xmachines/core/utils/functions/createWarnOnce.md +1 -1
- package/api/@xmachines/core/utils/functions/describeValue.md +1 -1
- package/api/@xmachines/core/utils/functions/isError.md +1 -1
- package/api/@xmachines/core/utils/functions/isThenable.md +4 -4
- package/api/@xmachines/core/utils/functions/releaseQuietly.md +1 -1
- package/api/@xmachines/core/utils/functions/rethrowLater.md +1 -1
- package/api/@xmachines/core/utils/functions/safeString.md +1 -1
- package/api/@xmachines/core/utils/functions/shallowEqualExcept.md +1 -1
- package/api/@xmachines/core/utils/type-aliases/DisposeKey.md +1 -1
- package/api/@xmachines/core/utils/type-aliases/DisposeMember.md +1 -1
- package/api/@xmachines/core/utils/variables/DISPOSE.md +1 -1
- package/api/@xmachines/play/README.md +1 -1
- package/api/@xmachines/play/errors/classes/NonNullableError.md +11 -11
- package/api/@xmachines/play/errors/classes/PlayError.md +11 -11
- package/api/@xmachines/play/index/functions/assertNonNullable.md +4 -4
- package/api/@xmachines/play/index/type-aliases/PlayEvent.md +9 -9
- package/api/@xmachines/play-actor/README.md +5 -3
- package/api/@xmachines/play-actor/interfaces/ActorEvent.md +4 -4
- package/api/@xmachines/play-actor/interfaces/PlayActor.md +9 -9
- package/api/@xmachines/play-atom/README.md +1 -1
- package/api/@xmachines/play-atom/functions/watchAtom.md +4 -4
- package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +4 -4
- package/api/@xmachines/play-atom/interfaces/Atom.md +9 -9
- package/api/@xmachines/play-atom/interfaces/AtomObserver.md +9 -9
- package/api/@xmachines/play-atom/interfaces/AtomOptions.md +7 -7
- package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +2 -2
- package/api/@xmachines/play-atom/interfaces/BaseAtom.md +7 -7
- package/api/@xmachines/play-atom/interfaces/CreateAtom.md +9 -9
- package/api/@xmachines/play-atom/interfaces/Readable.md +7 -7
- package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +7 -7
- package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +1 -1
- package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +5 -5
- package/api/@xmachines/play-atom/variables/createAsyncAtom.md +4 -4
- package/api/@xmachines/play-atom/variables/createAtom.md +1 -1
- package/api/@xmachines/play-atom/variables/createWritableAtom.md +4 -4
- package/api/@xmachines/play-dom/README.md +1 -1
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +5 -5
- package/api/@xmachines/play-dom/functions/createPlayUI.md +2 -2
- package/api/@xmachines/play-dom/functions/createRenderer.md +4 -4
- package/api/@xmachines/play-dom/functions/defineRegistry.md +3 -3
- package/api/@xmachines/play-dom/interfaces/ComponentContext.md +4 -4
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +14 -13
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -5
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +15 -15
- package/api/@xmachines/play-dom/type-aliases/ActionFn.md +4 -4
- package/api/@xmachines/play-dom/type-aliases/Actions.md +3 -3
- package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +4 -4
- package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +3 -3
- package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +3 -3
- package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +7 -7
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
- package/api/@xmachines/play-dom-router/README.md +1 -1
- package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +7 -7
- package/api/@xmachines/play-dom-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
- package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +16 -16
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +10 -10
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
- package/api/@xmachines/play-pattern/README.md +1 -1
- package/api/@xmachines/play-pattern/functions/buildPath.md +2 -2
- package/api/@xmachines/play-pattern/functions/createLruCache.md +7 -7
- package/api/@xmachines/play-pattern/functions/getIndexKey.md +1 -1
- package/api/@xmachines/play-pattern/functions/isDotSegment.md +1 -1
- package/api/@xmachines/play-pattern/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-pattern/interfaces/GroupPart.md +6 -6
- package/api/@xmachines/play-pattern/interfaces/KeyValueCache.md +6 -6
- package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +5 -5
- package/api/@xmachines/play-pattern/interfaces/ParamPart.md +9 -9
- package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +14 -14
- package/api/@xmachines/play-pattern/interfaces/PatternParam.md +6 -6
- package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PathParams.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +1 -1
- package/api/@xmachines/play-react/README.md +1 -1
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +36 -75
- package/api/@xmachines/play-react/functions/defineRegistry.md +3 -3
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useAtomEffect.md +2 -2
- package/api/@xmachines/play-react/functions/useBoundProp.md +3 -3
- package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +10 -10
- package/api/@xmachines/play-react/interfaces/ComponentContext.md +4 -4
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +8 -8
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -6
- package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +15 -14
- package/api/@xmachines/play-react/interfaces/ViewContextValue.md +7 -7
- package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-react/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
- package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-react-router/README.md +2 -2
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +7 -7
- package/api/@xmachines/play-react-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +5 -5
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +14 -14
- package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-router/README.md +1 -1
- package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +11 -11
- package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +13 -13
- package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +11 -11
- package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +13 -13
- package/api/@xmachines/play-router/index/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-router/index/classes/RouterBridgeBase.md +14 -14
- package/api/@xmachines/play-router/index/functions/buildPlayRouteEvent.md +1 -1
- package/api/@xmachines/play-router/index/functions/buildRouteTree.md +4 -4
- package/api/@xmachines/play-router/index/functions/cleanFrameworkParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/createLruCache.md +7 -7
- package/api/@xmachines/play-router/index/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-router/index/functions/createRouterConnection.md +1 -1
- package/api/@xmachines/play-router/index/functions/detectDuplicateRoutes.md +1 -1
- package/api/@xmachines/play-router/index/functions/extractQuery.md +1 -1
- package/api/@xmachines/play-router/index/functions/extractRouteParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/findRouteById.md +1 -1
- package/api/@xmachines/play-router/index/functions/findRouteByPath.md +1 -1
- package/api/@xmachines/play-router/index/functions/isMountableBridge.md +1 -1
- package/api/@xmachines/play-router/index/functions/joinBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/mountKey.md +1 -1
- package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/openProviderBridge.md +9 -9
- package/api/@xmachines/play-router/index/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-router/index/functions/pickOwnParams.md +6 -6
- package/api/@xmachines/play-router/index/functions/repointProviderBridge.md +1 -1
- package/api/@xmachines/play-router/index/functions/resolveBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-router/index/functions/splitLocation.md +1 -1
- package/api/@xmachines/play-router/index/functions/stripBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/validateRouteFormat.md +1 -1
- package/api/@xmachines/play-router/index/functions/validateStateExists.md +1 -1
- package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +9 -9
- package/api/@xmachines/play-router/index/interfaces/KeyValueCache.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/LocationLike.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +8 -8
- package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +14 -14
- package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +14 -14
- package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +16 -16
- package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/ResolvedRoutePath.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/Routable.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +10 -10
- package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RouteNode.md +12 -12
- package/api/@xmachines/play-router/index/interfaces/RouteObject.md +7 -7
- package/api/@xmachines/play-router/index/interfaces/RouteTree.md +10 -10
- package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +9 -8
- package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +7 -7
- package/api/@xmachines/play-router/index/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +6 -6
- package/api/@xmachines/play-router/index/type-aliases/RouteData.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +3 -3
- package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +1 -1
- package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getRoutableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getRouteMappings.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getTransitionReachableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/isRouteReachable.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/machineToGraph.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/routeExists.md +1 -1
- package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +5 -5
- package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +7 -7
- package/api/@xmachines/play-router/xstate/type-aliases/MachineGraph.md +1 -1
- package/api/@xmachines/play-solid/README.md +1 -1
- package/api/@xmachines/play-solid/functions/defineRegistry.md +3 -3
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/useBoundProp.md +3 -3
- package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-solid/functions/useStateBinding.md +3 -3
- package/api/@xmachines/play-solid/functions/useStateValue.md +3 -3
- package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
- package/api/@xmachines/play-solid/interfaces/ComponentContext.md +4 -4
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +15 -14
- package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +7 -7
- package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-solid-router/README.md +2 -2
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +7 -7
- package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +9 -9
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +14 -14
- package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
- package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-svelte/README.md +1 -1
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +4 -4
- package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
- package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
- package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
- package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +10 -10
- package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +13 -13
- package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +14 -14
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +9 -9
- package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +13 -13
- package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +7 -7
- package/api/@xmachines/play-svelte/type-aliases/ActionFn.md +4 -4
- package/api/@xmachines/play-svelte/type-aliases/Actions.md +3 -3
- package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/README.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +8 -8
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +10 -10
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/README.md +1 -1
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +8 -8
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +11 -11
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +5 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-sveltekit-router/interfaces/SvelteKitRouterBridgeOptions.md +8 -8
- package/api/@xmachines/play-sveltekit-router/type-aliases/ShallowNavigation.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/README.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +14 -14
- package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +9 -9
- package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-tanstack-router/README.md +1 -1
- package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +7 -7
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +9 -9
- package/api/@xmachines/play-tanstack-solid-router/README.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +7 -7
- package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +14 -14
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +9 -9
- package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-url/README.md +1 -1
- package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +12 -12
- package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +12 -12
- package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +13 -13
- package/api/@xmachines/play-url/index/functions/buildPath.md +2 -2
- package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
- package/api/@xmachines/play-url/index/functions/createLruCache.md +7 -7
- package/api/@xmachines/play-url/index/functions/getCandidates.md +4 -4
- package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +5 -5
- package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
- package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +1 -1
- package/api/@xmachines/play-url/index/functions/isDotSegment.md +1 -1
- package/api/@xmachines/play-url/index/functions/joinBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-url/index/functions/pickOwnParams.md +6 -6
- package/api/@xmachines/play-url/index/functions/resolveBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +1 -1
- package/api/@xmachines/play-url/index/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-url/index/functions/splitLocation.md +1 -1
- package/api/@xmachines/play-url/index/functions/stripBasePath.md +1 -1
- package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +9 -9
- package/api/@xmachines/play-url/index/interfaces/GroupPart.md +6 -6
- package/api/@xmachines/play-url/index/interfaces/KeyValueCache.md +6 -6
- package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/ParamPart.md +9 -9
- package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +14 -14
- package/api/@xmachines/play-url/index/interfaces/PatternParam.md +6 -6
- package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +7 -7
- package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PathParams.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +2 -2
- package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +3 -3
- package/api/@xmachines/play-url/index/variables/NO_BASE_PATH.md +1 -1
- package/api/@xmachines/play-url/index/variables/URLPattern.md +1 -1
- package/api/@xmachines/play-view/README.md +1 -1
- package/api/@xmachines/play-view/errors/classes/InvalidViewOutletError.md +13 -13
- package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +12 -12
- package/api/@xmachines/play-view/errors/classes/ViewElementKeyCollisionError.md +13 -13
- package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +4 -4
- package/api/@xmachines/play-view/index/functions/bindStoreHandlers.md +4 -4
- package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
- package/api/@xmachines/play-view/index/functions/composeViews.md +1 -1
- package/api/@xmachines/play-view/index/functions/createActorProxy.md +4 -4
- package/api/@xmachines/play-view/index/functions/createRenderErrorBinding.md +4 -4
- package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
- package/api/@xmachines/play-view/index/functions/createViewSession.md +4 -4
- package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
- package/api/@xmachines/play-view/index/functions/forwardRenderError.md +1 -1
- package/api/@xmachines/play-view/index/functions/guardContextWrites.md +1 -1
- package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
- package/api/@xmachines/play-view/index/functions/reuseComposedState.md +1 -1
- package/api/@xmachines/play-view/index/functions/toAtomState.md +1 -1
- package/api/@xmachines/play-view/index/functions/typedSpec.md +1 -1
- package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +11 -11
- package/api/@xmachines/play-view/index/interfaces/BaseViewContextValue.md +10 -10
- package/api/@xmachines/play-view/index/interfaces/ComposedView.md +7 -7
- package/api/@xmachines/play-view/index/interfaces/HandlerFactory.md +7 -7
- package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +8 -8
- package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ResolveViewStoreOptions.md +4 -4
- package/api/@xmachines/play-view/index/interfaces/ViewMeta.md +7 -7
- package/api/@xmachines/play-view/index/interfaces/ViewOutlet.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ViewSession.md +10 -10
- package/api/@xmachines/play-view/index/interfaces/ViewSessionOptions.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ViewSessionSnapshot.md +11 -11
- package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +4 -4
- package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +7 -7
- package/api/@xmachines/play-view/index/interfaces/ViewTree.md +6 -6
- package/api/@xmachines/play-view/index/interfaces/ViewTreeChild.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/Viewable.md +4 -4
- package/api/@xmachines/play-view/index/type-aliases/StateUpdater.md +1 -1
- package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +5 -5
- package/api/@xmachines/play-view/index/variables/CONTEXT_STATE_KEY.md +1 -1
- package/api/@xmachines/play-vue/README.md +1 -1
- package/api/@xmachines/play-vue/functions/defineRegistry.md +4 -4
- package/api/@xmachines/play-vue/functions/useActor.md +1 -1
- package/api/@xmachines/play-vue/functions/useBoundProp.md +3 -3
- package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +8 -8
- package/api/@xmachines/play-vue/interfaces/ComponentContext.md +4 -4
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +7 -7
- package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +5 -5
- package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +4 -4
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +9 -9
- package/api/@xmachines/play-vue/variables/ActionProvider.md +35 -54
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +4 -2
- package/api/@xmachines/play-vue/variables/Renderer.md +61 -78
- package/api/@xmachines/play-vue/variables/StateProvider.md +44 -63
- package/api/@xmachines/play-vue/variables/ValidationProvider.md +26 -45
- package/api/@xmachines/play-vue/variables/VisibilityProvider.md +17 -30
- package/api/@xmachines/play-vue-router/README.md +2 -2
- package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +11 -11
- package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +11 -11
- package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +7 -7
- package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +90 -105
- package/api/@xmachines/play-xstate/README.md +1 -1
- package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +11 -11
- package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +12 -12
- package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +11 -11
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +13 -13
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +13 -13
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +14 -14
- package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +13 -13
- package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +13 -13
- package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +44 -68
- package/api/@xmachines/play-xstate/index/functions/compose.md +22 -22
- package/api/@xmachines/play-xstate/index/functions/definePlayer.md +9 -9
- package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +10 -10
- package/api/@xmachines/play-xstate/index/interfaces/PlayerFactoryResumeOptions.md +7 -7
- package/api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md +12 -12
- package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +5 -5
- package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +6 -6
- package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +5 -5
- package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +2 -2
- package/api/@xmachines/play-xstate/with-routing/functions/deriveRoute.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md +4 -4
- package/api/@xmachines/play-xstate/with-routing/functions/isAbsoluteRoute.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +4 -4
- package/api/@xmachines/play-xstate/with-routing/interfaces/RouteContext.md +7 -7
- package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +7 -7
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMachineConfig.md +7 -7
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteStateNode.md +10 -10
- package/api/@xmachines/play-xstate/with-view/functions/withView.md +4 -4
- package/api/@xmachines/shared/README.md +3 -3
- package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +2 -2
- package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutput.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutputFile.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +4 -4
- package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +4 -4
- package/api/@xmachines/shared/vite-aliases/functions/xmTestTarget.md +2 -2
- package/api/@xmachines/shared/vite-aliases/type-aliases/XmTestTarget.md +1 -1
- package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +2 -2
- package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
- package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +6 -6
- package/contributing/configuration.md +24 -50
- package/contributing/deployment.md +128 -158
- package/contributing/development.md +5 -5
- package/contributing/testing.md +5 -3
- package/examples/@xmachines/play-dom-gallery-demo/README.md +127 -0
- package/examples/@xmachines/play-dom-gallery-demo/functions/createConfirmDialog.md +33 -0
- package/examples/@xmachines/play-dom-gallery-demo/functions/createDebugPanel.md +31 -0
- package/examples/@xmachines/play-dom-gallery-demo/functions/initApp.md +22 -0
- package/examples/@xmachines/play-dom-gallery-demo/functions/initShell.md +33 -0
- package/examples/@xmachines/play-dom-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-dom-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-dom-gallery-demo/interfaces/ShellOptions.md +18 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Button.md +12 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Field.md +30 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Page.md +16 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Panel.md +15 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Text.md +15 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/demoComponents.md +21 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/{play-dom-demo/variables/authCatalog.md → play-dom-gallery-demo/variables/todoMvcCatalog.md} +36 -82
- package/examples/@xmachines/play-dom-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-dom-router-demo/README.md +38 -31
- package/examples/@xmachines/play-dom-router-donut-demo/README.md +78 -0
- package/examples/@xmachines/play-dom-router-flight-demo/README.md +76 -0
- package/examples/@xmachines/play-dom-router-todomvc-demo/README.md +76 -0
- package/examples/@xmachines/play-dom-router-trivia-demo/README.md +76 -0
- package/examples/@xmachines/play-react-gallery-demo/README.md +123 -0
- package/examples/@xmachines/play-react-gallery-demo/functions/App.md +13 -0
- package/examples/@xmachines/play-react-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-react-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Button.md +12 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/DebugPanel.md +21 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Field.md +24 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Page.md +14 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Panel.md +15 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Shell.md +26 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Text.md +15 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/demoComponents.md +21 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/{play-vue-demo/variables/authCatalog.md → play-react-gallery-demo/variables/todoMvcCatalog.md} +36 -82
- package/examples/@xmachines/play-react-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-react-router-demo/README.md +17 -6
- package/examples/@xmachines/play-react-router-donut-demo/README.md +85 -0
- package/examples/@xmachines/play-react-router-flight-demo/README.md +74 -0
- package/examples/@xmachines/play-react-router-todomvc-demo/README.md +74 -0
- package/examples/@xmachines/play-react-router-trivia-demo/README.md +74 -0
- package/examples/@xmachines/play-solid-gallery-demo/README.md +123 -0
- package/examples/@xmachines/play-solid-gallery-demo/functions/App.md +13 -0
- package/examples/@xmachines/play-solid-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-solid-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Button.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/DebugPanel.md +22 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Field.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Page.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Panel.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Shell.md +26 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Text.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/demoComponents.md +21 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/{play-react-demo/variables/authCatalog.md → play-solid-gallery-demo/variables/todoMvcCatalog.md} +36 -82
- package/examples/@xmachines/play-solid-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-solid-router-demo/README.md +8 -6
- package/examples/@xmachines/play-solid-router-donut-demo/README.md +86 -0
- package/examples/@xmachines/play-solid-router-flight-demo/README.md +75 -0
- package/examples/@xmachines/play-solid-router-todomvc-demo/README.md +75 -0
- package/examples/@xmachines/play-solid-router-trivia-demo/README.md +75 -0
- package/examples/@xmachines/play-svelte-gallery-demo/README.md +130 -0
- package/examples/@xmachines/play-svelte-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-svelte-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/App.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/App.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/demoComponents.md +21 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/{play-solid-demo/variables/authCatalog.md → play-svelte-gallery-demo/variables/todoMvcCatalog.md} +36 -82
- package/examples/@xmachines/play-svelte-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-svelte-spa-router-demo/README.md +8 -8
- package/examples/@xmachines/play-svelte-spa-router-donut-demo/README.md +77 -0
- package/examples/@xmachines/play-svelte-spa-router-flight-demo/README.md +76 -0
- package/examples/@xmachines/play-svelte-spa-router-todomvc-demo/README.md +76 -0
- package/examples/@xmachines/play-svelte-spa-router-trivia-demo/README.md +76 -0
- package/examples/@xmachines/play-sveltekit-router-demo/README.md +8 -8
- package/examples/@xmachines/play-sveltekit-router-donut-demo/README.md +103 -0
- package/examples/@xmachines/play-sveltekit-router-flight-demo/README.md +86 -0
- package/examples/@xmachines/play-sveltekit-router-todomvc-demo/README.md +86 -0
- package/examples/@xmachines/play-sveltekit-router-trivia-demo/README.md +86 -0
- package/examples/@xmachines/play-tanstack-react-router-demo/README.md +19 -14
- package/examples/@xmachines/play-tanstack-react-router-donut-demo/README.md +78 -0
- package/examples/@xmachines/play-tanstack-react-router-flight-demo/README.md +74 -0
- package/examples/@xmachines/play-tanstack-react-router-todomvc-demo/README.md +74 -0
- package/examples/@xmachines/play-tanstack-react-router-trivia-demo/README.md +74 -0
- package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +19 -12
- package/examples/@xmachines/play-tanstack-solid-router-donut-demo/README.md +91 -0
- package/examples/@xmachines/play-tanstack-solid-router-flight-demo/README.md +80 -0
- package/examples/@xmachines/play-tanstack-solid-router-todomvc-demo/README.md +80 -0
- package/examples/@xmachines/play-tanstack-solid-router-trivia-demo/README.md +80 -0
- package/examples/@xmachines/play-vue-gallery-demo/README.md +120 -0
- package/examples/@xmachines/play-vue-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-vue-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/App.md +11 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/demoComponents.md +11 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/todoMvcCatalog.md +151 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-vue-router-demo/README.md +14 -8
- package/examples/@xmachines/play-vue-router-donut-demo/README.md +78 -0
- package/examples/@xmachines/play-vue-router-flight-demo/README.md +76 -0
- package/examples/@xmachines/play-vue-router-todomvc-demo/README.md +76 -0
- package/examples/@xmachines/play-vue-router-trivia-demo/README.md +76 -0
- package/examples/README.md +44 -6
- package/examples/routing-patterns.md +3 -1
- package/examples/xstate-example-ports.md +106 -0
- package/guides/getting-started.md +3 -1
- package/guides/inspector.md +3 -3
- package/package.json +6 -6
- package/examples/@xmachines/play-dom-demo/README.md +0 -162
- package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +0 -27
- package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +0 -24
- package/examples/@xmachines/play-dom-demo/functions/initShell.md +0 -25
- package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-dom-demo/variables/About.md +0 -12
- package/examples/@xmachines/play-dom-demo/variables/Button.md +0 -12
- package/examples/@xmachines/play-dom-demo/variables/Contact.md +0 -12
- package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Field.md +0 -19
- package/examples/@xmachines/play-dom-demo/variables/Home.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Login.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +0 -16
- package/examples/@xmachines/play-dom-demo/variables/Navigation.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Overview.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Panel.md +0 -14
- package/examples/@xmachines/play-dom-demo/variables/Profile.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Settings.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Stats.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +0 -30
- package/examples/@xmachines/play-react-demo/README.md +0 -163
- package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-react-demo/variables/About.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Button.md +0 -12
- package/examples/@xmachines/play-react-demo/variables/Contact.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Dashboard.md +0 -15
- package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +0 -16
- package/examples/@xmachines/play-react-demo/variables/Field.md +0 -18
- package/examples/@xmachines/play-react-demo/variables/Home.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Login.md +0 -16
- package/examples/@xmachines/play-react-demo/variables/NavBar.md +0 -16
- package/examples/@xmachines/play-react-demo/variables/NavBarView.md +0 -15
- package/examples/@xmachines/play-react-demo/variables/Navigation.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Overview.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Panel.md +0 -15
- package/examples/@xmachines/play-react-demo/variables/Profile.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Settings.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Shell.md +0 -19
- package/examples/@xmachines/play-react-demo/variables/Stats.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/demoComponents.md +0 -30
- package/examples/@xmachines/play-solid-demo/README.md +0 -163
- package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/About.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Button.md +0 -11
- package/examples/@xmachines/play-solid-demo/variables/Contact.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +0 -17
- package/examples/@xmachines/play-solid-demo/variables/Field.md +0 -11
- package/examples/@xmachines/play-solid-demo/variables/Home.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Login.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/NavBar.md +0 -11
- package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +0 -15
- package/examples/@xmachines/play-solid-demo/variables/Navigation.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Overview.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Panel.md +0 -11
- package/examples/@xmachines/play-solid-demo/variables/Profile.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Settings.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Shell.md +0 -18
- package/examples/@xmachines/play-solid-demo/variables/Stats.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +0 -30
- package/examples/@xmachines/play-svelte-demo/README.md +0 -137
- package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +0 -9
- package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-svelte-demo/variables/App.md +0 -9
- package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +0 -197
- package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +0 -30
- package/examples/@xmachines/play-vue-demo/README.md +0 -159
- package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-vue-demo/variables/App.md +0 -9
- package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +0 -11
|
@@ -8,9 +8,10 @@ Pure TypeScript integration demo for [`@xmachines/play-dom-router`](../../../api
|
|
|
8
8
|
|
|
9
9
|
## What This Demonstrates
|
|
10
10
|
|
|
11
|
-
- Shared auth machine reused without framework-specific business logic
|
|
11
|
+
- Shared auth machine (the login wall) reused without framework-specific business logic
|
|
12
|
+
- The renderer gallery reused wholesale for the catalog, the five-component kit, and the shell — this demo adds routing and nothing else
|
|
12
13
|
- `connectRouter` + `createBrowserHistory` wiring actor ↔ browser History API
|
|
13
|
-
-
|
|
14
|
+
- A PROTECTED deep link (`/dashboard`) bounced to `/login` by the machine's `always` guard, with the bridge rewriting the URL from actor state
|
|
14
15
|
- Manual atom watcher lifecycle — the mechanism that framework adapters abstract
|
|
15
16
|
- Non-browser invariant tests plus browser E2E coverage
|
|
16
17
|
- Stately inspector attached at creation via `options.inspect` — the debug panel's **Show Inspector** button opens the live machine in its own window
|
|
@@ -30,12 +31,13 @@ Then open `http://localhost:3005`.
|
|
|
30
31
|
|
|
31
32
|
Use this order to understand the implementation:
|
|
32
33
|
|
|
33
|
-
1. `src/main.ts` looks up the host element (throws if absent)
|
|
34
|
-
2. `src/runtime.ts`
|
|
35
|
-
3. `
|
|
36
|
-
4. `
|
|
37
|
-
5.
|
|
38
|
-
6.
|
|
34
|
+
1. `src/main.ts` looks up the host element (throws if absent), calls `initApp(app)` from `src/runtime.ts`, and registers unload cleanup.
|
|
35
|
+
2. `src/runtime.ts` is the pure wiring layer: the page's inspector (`createDemoInspector()`), the player factory (`definePlayer` with `options.inspect`), the `routeMap` built from the machine alone, and `createRegistryResult(actor)` pairing the gallery's `authCatalog` and `demoComponents` with `createAuthActionHandlers(actor)`.
|
|
36
|
+
3. `src/App.ts` starts the actor, builds the registry, connects the router, and mounts the shell — in that order, because the bridge reads the entry URL on connect. It returns one cleanup function that tears down in reverse.
|
|
37
|
+
4. `initRouter(actor)` from `src/router.ts` extracts route metadata, creates a browser history wrapper, instantiates a router, and calls `connectRouter` to wire bidirectional actor ↔ URL sync.
|
|
38
|
+
5. `initShell(container, { actor, router, registryResult, inspector, title })` is imported from [`@xmachines/play-dom-gallery-demo`](../play-dom-gallery-demo/README.md), so the router demo reuses the gallery's shell — the debug panel's inspector button and the host `onConfirm` included — instead of duplicating the scaffold and renderer wiring.
|
|
39
|
+
6. The views dispatch `route`, `login`, and `logout` catalog actions, which the shared handlers turn into `play.route`, `auth.login`, and `auth.logout` machine events — no URL mutations from the demo.
|
|
40
|
+
7. Browser tests in `test/browser/` validate the protected deep link, login, logout, and the State-Driven Reset of an invalid URL.
|
|
39
41
|
|
|
40
42
|
```ts fragment
|
|
41
43
|
// src/main.ts (shape)
|
|
@@ -50,38 +52,42 @@ initApp(app);
|
|
|
50
52
|
|
|
51
53
|
```ts fragment
|
|
52
54
|
// src/router.ts (shape)
|
|
53
|
-
export function initRouter(actor: RoutableActor) {
|
|
55
|
+
export function initRouter(actor: RoutableActor): RouterConnection {
|
|
54
56
|
const routeTree = extractMachineRoutes(authMachine);
|
|
55
|
-
const routeMap = createRouteMap(authMachine);
|
|
56
57
|
const history = createBrowserHistory({ window });
|
|
57
58
|
const router = createRouter({ routeTree, history });
|
|
58
59
|
const disconnect = connectRouter({ actor, router, routeMap });
|
|
59
60
|
|
|
60
|
-
return
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
return {
|
|
62
|
+
router,
|
|
63
|
+
disconnect: () => {
|
|
64
|
+
disconnect();
|
|
65
|
+
router.destroy();
|
|
66
|
+
},
|
|
63
67
|
};
|
|
64
68
|
}
|
|
65
69
|
```
|
|
66
70
|
|
|
67
71
|
```ts fragment
|
|
68
|
-
// src/
|
|
69
|
-
export function initApp(
|
|
70
|
-
const inspector = createDemoInspector();
|
|
71
|
-
const createPlayer = definePlayer({
|
|
72
|
-
machine: authMachine,
|
|
73
|
-
options: { inspect: inspector.inspect },
|
|
74
|
-
actor: compose(PlayerActor, withRouting, withView),
|
|
75
|
-
});
|
|
72
|
+
// src/App.ts (shape)
|
|
73
|
+
export function initApp(container: HTMLElement): () => void {
|
|
76
74
|
const actor = createPlayer();
|
|
77
75
|
actor.start();
|
|
78
76
|
|
|
79
|
-
const
|
|
80
|
-
const
|
|
77
|
+
const registryResult = createRegistryResult(actor);
|
|
78
|
+
const { router, disconnect: disconnectRouter } = initRouter(actor);
|
|
79
|
+
|
|
80
|
+
const disconnectShell = initShell(container, {
|
|
81
|
+
actor,
|
|
82
|
+
router,
|
|
83
|
+
registryResult,
|
|
84
|
+
inspector,
|
|
85
|
+
title: "XMachines Play DOM Router — Auth",
|
|
86
|
+
});
|
|
81
87
|
|
|
82
88
|
return () => {
|
|
83
|
-
|
|
84
|
-
|
|
89
|
+
disconnectShell();
|
|
90
|
+
disconnectRouter();
|
|
85
91
|
actor.stop();
|
|
86
92
|
};
|
|
87
93
|
}
|
|
@@ -89,18 +95,19 @@ export function initApp(host: HTMLElement): () => void {
|
|
|
89
95
|
|
|
90
96
|
## Key Files
|
|
91
97
|
|
|
92
|
-
- `src/main.ts` - host lookup and
|
|
93
|
-
- `src/runtime.ts` -
|
|
98
|
+
- `src/main.ts` - host lookup, app bootstrap, and unload cleanup
|
|
99
|
+
- `src/runtime.ts` - inspector, player factory, route map, and registry wiring (no DOM, no `window`)
|
|
100
|
+
- `src/App.ts` - startup order (actor → registry → router → shell) and the single cleanup function
|
|
94
101
|
- `src/router.ts` - `createBrowserHistory`, `createRouter`, and `connectRouter` wiring
|
|
95
|
-
- [`@xmachines/play-dom-demo`](../play-dom-demo/README.md) -
|
|
102
|
+
- [`@xmachines/play-dom-gallery-demo`](../play-dom-gallery-demo/README.md) - the built `authCatalog`, the five-component kit, and the shell (DebugPanel with the **Show Inspector** button, plus the host `onConfirm`) reused by this router demo
|
|
96
103
|
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
97
|
-
- `test/browser/shared-demo.browser.test.ts` -
|
|
104
|
+
- `test/browser/shared-demo.browser.test.ts` - the shared auth router browser suite (protected deep link, login, logout, State-Driven Reset)
|
|
98
105
|
|
|
99
106
|
## State Machine & Architecture Details
|
|
100
107
|
|
|
101
108
|
The demo utilizes XMachines architectural invariants at the lowest level:
|
|
102
109
|
|
|
103
|
-
1. **Actor Authority:** Intercepting browser `popstate` events or navigation button clicks dispatches a `play.route` event to the actor. The actor processes the request against the current state,
|
|
110
|
+
1. **Actor Authority:** Intercepting browser `popstate` events or navigation button clicks dispatches a `play.route` event to the actor. The actor processes the request against the current state, so the login wall (`dashboard`'s `always` guard) applies to a deep link exactly as it does to an in-view button.
|
|
104
111
|
2. **Passive Infrastructure:** The router simply updates `window.history` and the DOM solely renders HTML based on what `actor.currentView` yields. Neither holds business state.
|
|
105
112
|
3. **Atom-Only Reactivity:** The integration registers `watchAtom` observers that trigger DOM reconciliation, illustrating the underlying mechanism that framework adapters abstract.
|
|
106
113
|
|
|
@@ -133,6 +140,6 @@ These commands are defined in `package.json`:
|
|
|
133
140
|
## Learn More
|
|
134
141
|
|
|
135
142
|
- [Play DOM Router](../../../api/@xmachines/play-dom-router/README.md)
|
|
136
|
-
- [Play DOM](../play-dom-demo/README.md)
|
|
143
|
+
- [Play DOM renderer gallery](../play-dom-gallery-demo/README.md)
|
|
137
144
|
- [Play Router](../../../api/@xmachines/play-router/README.md)
|
|
138
145
|
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-dom-router-donut-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-dom-router-donut-demo
|
|
4
|
+
|
|
5
|
+
Vanilla DOM Router integration demo of the shared **donut wizard** machine — actor-authoritative routing over the browser History API, with snapshot persistence and no framework.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- Shared donut machine reused without framework-specific business logic
|
|
12
|
+
- `createBrowserHistory` + `createRouter` + `connectRouter` wiring actor ↔ `window.history` — 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-dom-gallery-demo`](../play-dom-gallery-demo/README.md) renderer gallery
|
|
14
|
+
- Snapshot persistence: `options.onTransition` saves after every processed event, and `createResumedPlayer()` restores through the player factory's resume options — a reload resumes the wizard where the visitor left it
|
|
15
|
+
- Actor-authoritative navigation: the wizard's guard chain cascades a deep link back to the first unmet prerequisite, and the bridge rewrites the URL (State-Driven Reset)
|
|
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-dom-router-donut-demo run dev
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Then open `http://localhost:3062`.
|
|
28
|
+
|
|
29
|
+
## Step-by-Step Code Flow
|
|
30
|
+
|
|
31
|
+
1. `src/main.ts` looks up `#app` (throws if absent), calls `initApp(app)`, and registers unload cleanup.
|
|
32
|
+
2. `src/App.ts` creates the actor through `createResumedPlayer()`, connects the router, mounts the shell with a "Reset saved donut" button in its `nav` slot, and returns one cleanup function. There is no component tree — `initApp(container) => cleanup` is the DOM family's top-level unit.
|
|
33
|
+
3. `src/runtime.ts` creates the inspector, the `createPlayer` factory (`definePlayer` with `options.inspect` **and** `options.onTransition: (actor) => saveDonutSnapshot(actor)`), the resume helper, the reset helper, the pre-built `routeMap` (`createRouteMap(donutMachine)`), and `createRegistryResult`.
|
|
34
|
+
4. `src/router.ts` extracts the route tree with `extractMachineRoutes`, wraps `window.history` with `createBrowserHistory`, pairs the two through `createRouter`, and installs the bridge with `connectRouter`.
|
|
35
|
+
5. `initShell` (from [`@xmachines/play-dom-gallery-demo`](../play-dom-gallery-demo/README.md)) writes the demo chrome, connects `createPlayUI(registryResult)(actor, content)`, and appends the debug panel.
|
|
36
|
+
6. Browser tests in `test/browser/` delegate to the shared donut router suite, which clears the persisted snapshot before mounting.
|
|
37
|
+
|
|
38
|
+
## Key Files
|
|
39
|
+
|
|
40
|
+
- `src/main.ts` - host lookup, app bootstrap, and unload cleanup
|
|
41
|
+
- `src/App.ts` - actor lifecycle, router connection, the reset-snapshot button, and `initShell` composition
|
|
42
|
+
- `src/runtime.ts` - actor factory, snapshot resume/save/reset helpers, pre-built `routeMap`, and `createRegistryResult`
|
|
43
|
+
- `src/router.ts` - `createBrowserHistory`, `createRouter`, and `connectRouter` wiring
|
|
44
|
+
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
45
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared donut router browser suite
|
|
46
|
+
|
|
47
|
+
## Architecture Invariants
|
|
48
|
+
|
|
49
|
+
1. **Actor Authority:** A `popstate` event or an in-view `route` action becomes a `play.route` event. The actor evaluates it against its guards and decides — the URL never decides.
|
|
50
|
+
2. **Passive Infrastructure:** The bridge writes `window.history` and the DOM renders `actor.currentView`. Neither holds business state.
|
|
51
|
+
3. **State-Driven Reset:** Entering `/done` with nothing prepared cascades done → decorate → fry → mix → recipe, and the bridge rewrites the URL back to `/`.
|
|
52
|
+
4. **Persistence Is Not Authority:** The stored snapshot restores the actor at creation; from then on the actor decides. Dropping it (**Reset saved donut**) restarts the wizard from `/`.
|
|
53
|
+
|
|
54
|
+
## Available Scripts
|
|
55
|
+
|
|
56
|
+
| Command | Description |
|
|
57
|
+
| ---------------------------------------------------------------------- | ---------------------------------------------- |
|
|
58
|
+
| `pnpm --filter @xmachines/play-dom-router-donut-demo run dev` | Start Vite dev server (http://localhost:3062/) |
|
|
59
|
+
| `pnpm --filter @xmachines/play-dom-router-donut-demo run build` | Build production bundle |
|
|
60
|
+
| `pnpm --filter @xmachines/play-dom-router-donut-demo run preview` | Preview built bundle |
|
|
61
|
+
| `pnpm --filter @xmachines/play-dom-router-donut-demo run test` | Run Vitest test suite |
|
|
62
|
+
| `pnpm --filter @xmachines/play-dom-router-donut-demo run test:browser` | Run browser-focused Vitest suite |
|
|
63
|
+
|
|
64
|
+
## Verification
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
pnpm --filter @xmachines/play-dom-router-donut-demo run test
|
|
68
|
+
pnpm --filter @xmachines/play-dom-router-donut-demo run test:browser
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Expected result: the library-pattern assertions pass, and the shared donut router browser suite completes.
|
|
72
|
+
|
|
73
|
+
## Learn More
|
|
74
|
+
|
|
75
|
+
- [Play DOM Router](../../../api/@xmachines/play-dom-router/README.md)
|
|
76
|
+
- [DOM renderer gallery](../play-dom-gallery-demo/README.md)
|
|
77
|
+
- [Play Router](../../../api/@xmachines/play-router/README.md)
|
|
78
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-dom-router-flight-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-dom-router-flight-demo
|
|
4
|
+
|
|
5
|
+
Vanilla DOM Router integration demo of the shared **flight booking** wizard — actor-authoritative routing over the browser History API, with no framework.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- Shared flight machine reused without framework-specific business logic
|
|
12
|
+
- `createBrowserHistory` + `createRouter` + `connectRouter` wiring actor ↔ `window.history` — the wizard steps map to `/`, `/dates`, `/review`, `/submitting`, and `/booked`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-dom-gallery-demo`](../play-dom-gallery-demo/README.md) renderer gallery
|
|
14
|
+
- Actor-authoritative navigation: `/dates` is honored as a direct entry, while `/booked` without a confirmation is overwritten back (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-dom-router-flight-demo run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then open `http://localhost:3063`.
|
|
27
|
+
|
|
28
|
+
## Step-by-Step Code Flow
|
|
29
|
+
|
|
30
|
+
1. `src/main.ts` looks up `#app` (throws if absent), calls `initApp(app)`, and registers unload cleanup.
|
|
31
|
+
2. `src/App.ts` starts the actor, connects the router, mounts the shell, and returns one cleanup function. There is no component tree — `initApp(container) => cleanup` is the DOM family's top-level unit.
|
|
32
|
+
3. `src/runtime.ts` creates the inspector, the `createPlayer` factory (`definePlayer` with `options.inspect`), the pre-built `routeMap` (`createRouteMap(flightMachine)`), and `createRegistryResult` — the demo's DOM-free wiring layer.
|
|
33
|
+
4. `src/router.ts` extracts the route tree with `extractMachineRoutes`, wraps `window.history` with `createBrowserHistory`, pairs the two through `createRouter`, and installs the bridge with `connectRouter`.
|
|
34
|
+
5. `initShell` (from [`@xmachines/play-dom-gallery-demo`](../play-dom-gallery-demo/README.md)) writes the demo chrome, connects `createPlayUI(registryResult)(actor, content)`, and appends the debug panel.
|
|
35
|
+
6. Browser tests in `test/browser/` delegate to the shared flight router suite.
|
|
36
|
+
|
|
37
|
+
## Key Files
|
|
38
|
+
|
|
39
|
+
- `src/main.ts` - host lookup, app bootstrap, and unload cleanup
|
|
40
|
+
- `src/App.ts` - actor lifecycle, router connection, and `initShell` composition
|
|
41
|
+
- `src/runtime.ts` - actor factory (`createPlayer`), pre-built `routeMap`, and `createRegistryResult`
|
|
42
|
+
- `src/router.ts` - `createBrowserHistory`, `createRouter`, and `connectRouter` wiring
|
|
43
|
+
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
44
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared flight router browser suite
|
|
45
|
+
|
|
46
|
+
## Architecture Invariants
|
|
47
|
+
|
|
48
|
+
1. **Actor Authority:** A `popstate` event or an in-view `route` action becomes a `play.route` event. The actor evaluates it against its guards and decides — the URL never decides.
|
|
49
|
+
2. **Passive Infrastructure:** The bridge writes `window.history` and the DOM renders `actor.currentView`. Neither holds business state.
|
|
50
|
+
3. **State-Driven Reset:** The wizard's always-transitions cascade back to the first unmet prerequisite, and the bridge rewrites the URL the actor refused.
|
|
51
|
+
|
|
52
|
+
## Available Scripts
|
|
53
|
+
|
|
54
|
+
| Command | Description |
|
|
55
|
+
| ----------------------------------------------------------------------- | ---------------------------------------------- |
|
|
56
|
+
| `pnpm --filter @xmachines/play-dom-router-flight-demo run dev` | Start Vite dev server (http://localhost:3063/) |
|
|
57
|
+
| `pnpm --filter @xmachines/play-dom-router-flight-demo run build` | Build production bundle |
|
|
58
|
+
| `pnpm --filter @xmachines/play-dom-router-flight-demo run preview` | Preview built bundle |
|
|
59
|
+
| `pnpm --filter @xmachines/play-dom-router-flight-demo run test` | Run Vitest test suite |
|
|
60
|
+
| `pnpm --filter @xmachines/play-dom-router-flight-demo run test:browser` | Run browser-focused Vitest suite |
|
|
61
|
+
|
|
62
|
+
## Verification
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
pnpm --filter @xmachines/play-dom-router-flight-demo run test
|
|
66
|
+
pnpm --filter @xmachines/play-dom-router-flight-demo run test:browser
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Expected result: the library-pattern assertions pass, and the shared flight router browser suite completes.
|
|
70
|
+
|
|
71
|
+
## Learn More
|
|
72
|
+
|
|
73
|
+
- [Play DOM Router](../../../api/@xmachines/play-dom-router/README.md)
|
|
74
|
+
- [DOM renderer gallery](../play-dom-gallery-demo/README.md)
|
|
75
|
+
- [Play Router](../../../api/@xmachines/play-router/README.md)
|
|
76
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-dom-router-todomvc-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-dom-router-todomvc-demo
|
|
4
|
+
|
|
5
|
+
Vanilla DOM Router integration demo of the shared **TodoMVC** machine — actor-authoritative routing over the browser History API, with no framework.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- Shared TodoMVC machine reused without framework-specific business logic
|
|
12
|
+
- `createBrowserHistory` + `createRouter` + `connectRouter` wiring actor ↔ `window.history` — the filter states map to `/`, `/active`, and `/completed`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-dom-gallery-demo`](../play-dom-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-dom-router-todomvc-demo run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then open `http://localhost:3060`.
|
|
27
|
+
|
|
28
|
+
## Step-by-Step Code Flow
|
|
29
|
+
|
|
30
|
+
1. `src/main.ts` looks up `#app` (throws if absent), calls `initApp(app)`, and registers unload cleanup.
|
|
31
|
+
2. `src/App.ts` starts the actor, connects the router, mounts the shell, and returns one cleanup function. There is no component tree — `initApp(container) => cleanup` is the DOM family's top-level unit.
|
|
32
|
+
3. `src/runtime.ts` creates the inspector, the `createPlayer` factory (`definePlayer` with `options.inspect`), the pre-built `routeMap` (`createRouteMap(todoMvcMachine)`), and `createRegistryResult` — the demo's DOM-free wiring layer.
|
|
33
|
+
4. `src/router.ts` extracts the route tree with `extractMachineRoutes`, wraps `window.history` with `createBrowserHistory`, pairs the two through `createRouter`, and installs the bridge with `connectRouter`.
|
|
34
|
+
5. `initShell` (from [`@xmachines/play-dom-gallery-demo`](../play-dom-gallery-demo/README.md)) writes the demo chrome, connects `createPlayUI(registryResult)(actor, content)`, and appends the debug panel.
|
|
35
|
+
6. Browser tests in `test/browser/` delegate to the shared TodoMVC router suite.
|
|
36
|
+
|
|
37
|
+
## Key Files
|
|
38
|
+
|
|
39
|
+
- `src/main.ts` - host lookup, app bootstrap, and unload cleanup
|
|
40
|
+
- `src/App.ts` - actor lifecycle, router connection, and `initShell` composition
|
|
41
|
+
- `src/runtime.ts` - actor factory (`createPlayer`), pre-built `routeMap`, and `createRegistryResult`
|
|
42
|
+
- `src/router.ts` - `createBrowserHistory`, `createRouter`, and `connectRouter` wiring
|
|
43
|
+
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
44
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared TodoMVC router browser suite
|
|
45
|
+
|
|
46
|
+
## Architecture Invariants
|
|
47
|
+
|
|
48
|
+
1. **Actor Authority:** A `popstate` event or an in-view `route` action becomes a `play.route` event. The actor evaluates it against its guards and decides — the URL never decides.
|
|
49
|
+
2. **Passive Infrastructure:** The bridge writes `window.history` and the DOM renders `actor.currentView`. Neither holds business state.
|
|
50
|
+
3. **State-Driven Reset:** An external history change to an invalid route is overwritten back from actor state — the URL always reflects the machine.
|
|
51
|
+
|
|
52
|
+
## Available Scripts
|
|
53
|
+
|
|
54
|
+
| Command | Description |
|
|
55
|
+
| ------------------------------------------------------------------------ | ---------------------------------------------- |
|
|
56
|
+
| `pnpm --filter @xmachines/play-dom-router-todomvc-demo run dev` | Start Vite dev server (http://localhost:3060/) |
|
|
57
|
+
| `pnpm --filter @xmachines/play-dom-router-todomvc-demo run build` | Build production bundle |
|
|
58
|
+
| `pnpm --filter @xmachines/play-dom-router-todomvc-demo run preview` | Preview built bundle |
|
|
59
|
+
| `pnpm --filter @xmachines/play-dom-router-todomvc-demo run test` | Run Vitest test suite |
|
|
60
|
+
| `pnpm --filter @xmachines/play-dom-router-todomvc-demo run test:browser` | Run browser-focused Vitest suite |
|
|
61
|
+
|
|
62
|
+
## Verification
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
pnpm --filter @xmachines/play-dom-router-todomvc-demo run test
|
|
66
|
+
pnpm --filter @xmachines/play-dom-router-todomvc-demo run test:browser
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Expected result: the library-pattern assertions pass, and the shared TodoMVC router browser suite completes.
|
|
70
|
+
|
|
71
|
+
## Learn More
|
|
72
|
+
|
|
73
|
+
- [Play DOM Router](../../../api/@xmachines/play-dom-router/README.md)
|
|
74
|
+
- [DOM renderer gallery](../play-dom-gallery-demo/README.md)
|
|
75
|
+
- [Play Router](../../../api/@xmachines/play-router/README.md)
|
|
76
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-dom-router-trivia-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-dom-router-trivia-demo
|
|
4
|
+
|
|
5
|
+
Vanilla DOM Router integration demo of the shared **trivia** machine — actor-authoritative routing over the browser History API, with no framework.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- Shared trivia machine reused without framework-specific business logic
|
|
12
|
+
- `createBrowserHistory` + `createRouter` + `connectRouter` wiring actor ↔ `window.history` — the quiz states map to `/`, `/trivia`, `/win`, and `/lose`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-dom-gallery-demo`](../play-dom-gallery-demo/README.md) renderer gallery
|
|
14
|
+
- Actor-authoritative navigation: only `/` is reachable from a cold start, and a deep link to `/trivia` while idle is overwritten back (State-Driven Reset)
|
|
15
|
+
- Stately inspector attached at creation via `options.inspect` — the debug panel's **Show Inspector** button opens the live machine in its own window
|
|
16
|
+
|
|
17
|
+
## Running the Demo
|
|
18
|
+
|
|
19
|
+
From the repository root:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pnpm install
|
|
23
|
+
pnpm --filter @xmachines/play-dom-router-trivia-demo run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then open `http://localhost:3061`.
|
|
27
|
+
|
|
28
|
+
## Step-by-Step Code Flow
|
|
29
|
+
|
|
30
|
+
1. `src/main.ts` looks up `#app` (throws if absent), calls `initApp(app)`, and registers unload cleanup.
|
|
31
|
+
2. `src/App.ts` starts the actor, connects the router, mounts the shell, and returns one cleanup function. There is no component tree — `initApp(container) => cleanup` is the DOM family's top-level unit.
|
|
32
|
+
3. `src/runtime.ts` creates the inspector, the `createPlayer` factory (`definePlayer` with `options.inspect`), the pre-built `routeMap` (`createRouteMap(triviaMachine)`), and `createRegistryResult` — the demo's DOM-free wiring layer.
|
|
33
|
+
4. `src/router.ts` extracts the route tree with `extractMachineRoutes`, wraps `window.history` with `createBrowserHistory`, pairs the two through `createRouter`, and installs the bridge with `connectRouter`.
|
|
34
|
+
5. `initShell` (from [`@xmachines/play-dom-gallery-demo`](../play-dom-gallery-demo/README.md)) writes the demo chrome, connects `createPlayUI(registryResult)(actor, content)`, and appends the debug panel.
|
|
35
|
+
6. Browser tests in `test/browser/` delegate to the shared trivia router suite.
|
|
36
|
+
|
|
37
|
+
## Key Files
|
|
38
|
+
|
|
39
|
+
- `src/main.ts` - host lookup, app bootstrap, and unload cleanup
|
|
40
|
+
- `src/App.ts` - actor lifecycle, router connection, and `initShell` composition
|
|
41
|
+
- `src/runtime.ts` - actor factory (`createPlayer`), pre-built `routeMap`, and `createRegistryResult`
|
|
42
|
+
- `src/router.ts` - `createBrowserHistory`, `createRouter`, and `connectRouter` wiring
|
|
43
|
+
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
44
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared trivia router browser suite
|
|
45
|
+
|
|
46
|
+
## Architecture Invariants
|
|
47
|
+
|
|
48
|
+
1. **Actor Authority:** A `popstate` event or an in-view `route` action becomes a `play.route` event. The actor evaluates it against its guards and decides — the URL never decides.
|
|
49
|
+
2. **Passive Infrastructure:** The bridge writes `window.history` and the DOM renders `actor.currentView`. Neither holds business state.
|
|
50
|
+
3. **State-Driven Reset:** A jump to `/trivia` or `/win` whose status prerequisite does not hold bounces the actor home, and the bridge writes the URL back to `/`.
|
|
51
|
+
|
|
52
|
+
## Available Scripts
|
|
53
|
+
|
|
54
|
+
| Command | Description |
|
|
55
|
+
| ----------------------------------------------------------------------- | ---------------------------------------------- |
|
|
56
|
+
| `pnpm --filter @xmachines/play-dom-router-trivia-demo run dev` | Start Vite dev server (http://localhost:3061/) |
|
|
57
|
+
| `pnpm --filter @xmachines/play-dom-router-trivia-demo run build` | Build production bundle |
|
|
58
|
+
| `pnpm --filter @xmachines/play-dom-router-trivia-demo run preview` | Preview built bundle |
|
|
59
|
+
| `pnpm --filter @xmachines/play-dom-router-trivia-demo run test` | Run Vitest test suite |
|
|
60
|
+
| `pnpm --filter @xmachines/play-dom-router-trivia-demo run test:browser` | Run browser-focused Vitest suite |
|
|
61
|
+
|
|
62
|
+
## Verification
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
pnpm --filter @xmachines/play-dom-router-trivia-demo run test
|
|
66
|
+
pnpm --filter @xmachines/play-dom-router-trivia-demo run test:browser
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Expected result: the library-pattern assertions pass, and the shared trivia router browser suite completes.
|
|
70
|
+
|
|
71
|
+
## Learn More
|
|
72
|
+
|
|
73
|
+
- [Play DOM Router](../../../api/@xmachines/play-dom-router/README.md)
|
|
74
|
+
- [DOM renderer gallery](../play-dom-gallery-demo/README.md)
|
|
75
|
+
- [Play Router](../../../api/@xmachines/play-router/README.md)
|
|
76
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-react-gallery-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-react-gallery-demo
|
|
4
|
+
|
|
5
|
+
React renderer gallery for [`@xmachines/play-react`](../../../api/@xmachines/play-react/README.md) — all nine shared machines behind one picker, actor + `PlayRenderer` without a router.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- All nine shared machines (fetch, stopwatch, tic-tac-toe, temperature, TodoMVC, trivia, donut, flight, auth) reused without framework-specific business logic
|
|
12
|
+
- A home-screen picker: selecting a machine stops the previous actor, creates a FRESH actor for the chosen machine, and renders its views; "Back to gallery" returns to the picker
|
|
13
|
+
- The five-component demo kit (Page, Panel, Field, Button, Text) defined ONCE and registered with every machine's typed `defineRegistry` catalog — `Field` also renders the declarative `checks`/`formErrors` contract behind `[data-demo-error]`
|
|
14
|
+
- Routing machines run WITHOUT a router here — navigation happens via their in-view route-action buttons; the actor owns view switching
|
|
15
|
+
- One shared Stately inspector (`createDemoInspector()`) serving every selection — the debug panel's **Show Inspector** button opens the live machine in its own window
|
|
16
|
+
|
|
17
|
+
## Running the Demo
|
|
18
|
+
|
|
19
|
+
From the repository root:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pnpm install
|
|
23
|
+
pnpm --filter @xmachines/play-react-gallery-demo run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then open `http://localhost:3021`.
|
|
27
|
+
|
|
28
|
+
## Step-by-Step Code Flow
|
|
29
|
+
|
|
30
|
+
1. `src/main.tsx` mounts `<App />`.
|
|
31
|
+
2. `src/App.tsx` renders the picker; `openMachine(entry)` stops any previous actor and calls `entry.createRuntime(inspector.inspect)`.
|
|
32
|
+
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) })`.
|
|
33
|
+
4. `src/catalogs.ts` builds all nine catalogs with `defineCatalog(schema, <prefix>CatalogDef)` — router demos import theirs from the barrel.
|
|
34
|
+
5. `Shell` wraps `<PlayUIProvider actor registryResult><PlayRenderer /></PlayUIProvider>` in the standard demo chrome plus the `DebugPanel`; the gallery passes `title` and a `nav` slot carrying the "Back to gallery" button.
|
|
35
|
+
6. Browser tests in `test/browser/` delegate one file per machine to that machine's shared renderer suite.
|
|
36
|
+
|
|
37
|
+
## Key Files
|
|
38
|
+
|
|
39
|
+
- `src/main.tsx` - React entry point that mounts `<App />`
|
|
40
|
+
- `src/App.tsx` - picker, per-selection actor lifecycle, and `Shell` composition
|
|
41
|
+
- `src/machines.ts` - the machine registry: slug, label, and `createRuntime` per machine
|
|
42
|
+
- `src/catalogs.ts` - the nine built catalogs plus the `KitCatalog` typing alias
|
|
43
|
+
- `src/components/` - the five-component kit (Page, Panel, Field, Button, Text) plus `Shell` and `DebugPanel`
|
|
44
|
+
- `src/index.ts` - barrel exporting `App`, the kit, `demoComponents`, `Shell`, `DebugPanel`, and every built catalog for the router demos
|
|
45
|
+
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
46
|
+
- `test/browser/<slug>-demo.browser.test.tsx` - one file per machine, delegating to the shared suites
|
|
47
|
+
- `test/browser/gallery-picker.browser.test.tsx` - picker smoke test (open/close roundtrip)
|
|
48
|
+
|
|
49
|
+
## Architecture Invariants
|
|
50
|
+
|
|
51
|
+
1. **Actor Authority:** Views dispatch machine events (and `route` actions on routing machines) to the actor. The actor evaluates guards and transitions — React never decides which view to render.
|
|
52
|
+
2. **Passive Infrastructure:** `PlayRenderer` observes the `actor.currentView` atom only. It holds no business state and makes no routing decisions.
|
|
53
|
+
3. **Fresh Actor Per Selection:** Reopening a machine always starts from its initial state, matching the demo inspector's "one live machine" semantics.
|
|
54
|
+
|
|
55
|
+
## Available Scripts
|
|
56
|
+
|
|
57
|
+
| Command | Description |
|
|
58
|
+
| ------------------------------------------------------------------- | ---------------------------------------------- |
|
|
59
|
+
| `pnpm --filter @xmachines/play-react-gallery-demo run dev` | Start Vite dev server (http://localhost:3021/) |
|
|
60
|
+
| `pnpm --filter @xmachines/play-react-gallery-demo run build` | Build production bundle |
|
|
61
|
+
| `pnpm --filter @xmachines/play-react-gallery-demo run preview` | Preview built bundle |
|
|
62
|
+
| `pnpm --filter @xmachines/play-react-gallery-demo run test` | Run Vitest test suite |
|
|
63
|
+
| `pnpm --filter @xmachines/play-react-gallery-demo run test:browser` | Run browser-focused Vitest suite |
|
|
64
|
+
|
|
65
|
+
## Verification
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
pnpm --filter @xmachines/play-react-gallery-demo run test
|
|
69
|
+
pnpm --filter @xmachines/play-react-gallery-demo run test:browser
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Expected result: library-pattern invariant tests pass and all nine machine suites plus the picker smoke test complete.
|
|
73
|
+
|
|
74
|
+
## Learn More
|
|
75
|
+
|
|
76
|
+
- [play-react](../../../api/@xmachines/play-react/README.md)
|
|
77
|
+
- [React Router TodoMVC demo](../play-react-router-todomvc-demo/README.md)
|
|
78
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
79
|
+
|
|
80
|
+
## Interfaces
|
|
81
|
+
|
|
82
|
+
- [GalleryMachineEntry](interfaces/GalleryMachineEntry.md)
|
|
83
|
+
- [GalleryRuntime](interfaces/GalleryRuntime.md)
|
|
84
|
+
|
|
85
|
+
## Type Aliases
|
|
86
|
+
|
|
87
|
+
- [AuthCatalog](type-aliases/AuthCatalog.md)
|
|
88
|
+
- [DonutCatalog](type-aliases/DonutCatalog.md)
|
|
89
|
+
- [FetchCatalog](type-aliases/FetchCatalog.md)
|
|
90
|
+
- [FlightCatalog](type-aliases/FlightCatalog.md)
|
|
91
|
+
- [GalleryActor](type-aliases/GalleryActor.md)
|
|
92
|
+
- [GallerySlug](type-aliases/GallerySlug.md)
|
|
93
|
+
- [KitCatalog](type-aliases/KitCatalog.md)
|
|
94
|
+
- [StopwatchCatalog](type-aliases/StopwatchCatalog.md)
|
|
95
|
+
- [TemperatureCatalog](type-aliases/TemperatureCatalog.md)
|
|
96
|
+
- [TicTacToeCatalog](type-aliases/TicTacToeCatalog.md)
|
|
97
|
+
- [TodoMvcCatalog](type-aliases/TodoMvcCatalog.md)
|
|
98
|
+
- [TriviaCatalog](type-aliases/TriviaCatalog.md)
|
|
99
|
+
|
|
100
|
+
## Variables
|
|
101
|
+
|
|
102
|
+
- [authCatalog](variables/authCatalog.md)
|
|
103
|
+
- [Button](variables/Button.md)
|
|
104
|
+
- [DebugPanel](variables/DebugPanel.md)
|
|
105
|
+
- [demoComponents](variables/demoComponents.md)
|
|
106
|
+
- [donutCatalog](variables/donutCatalog.md)
|
|
107
|
+
- [fetchCatalog](variables/fetchCatalog.md)
|
|
108
|
+
- [Field](variables/Field.md)
|
|
109
|
+
- [flightCatalog](variables/flightCatalog.md)
|
|
110
|
+
- [galleryMachines](variables/galleryMachines.md)
|
|
111
|
+
- [Page](variables/Page.md)
|
|
112
|
+
- [Panel](variables/Panel.md)
|
|
113
|
+
- [Shell](variables/Shell.md)
|
|
114
|
+
- [stopwatchCatalog](variables/stopwatchCatalog.md)
|
|
115
|
+
- [temperatureCatalog](variables/temperatureCatalog.md)
|
|
116
|
+
- [Text](variables/Text.md)
|
|
117
|
+
- [ticTacToeCatalog](variables/ticTacToeCatalog.md)
|
|
118
|
+
- [todoMvcCatalog](variables/todoMvcCatalog.md)
|
|
119
|
+
- [triviaCatalog](variables/triviaCatalog.md)
|
|
120
|
+
|
|
121
|
+
## Functions
|
|
122
|
+
|
|
123
|
+
- [App](functions/App.md)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-react-gallery-demo](../README.md) / App
|
|
2
|
+
|
|
3
|
+
# Function: App()
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
function App(): Element;
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Defined in: [packages/play-react/examples/gallery/src/App.tsx:28](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-react/examples/gallery/src/App.tsx#L28)
|
|
10
|
+
|
|
11
|
+
## Returns
|
|
12
|
+
|
|
13
|
+
`Element`
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-react-gallery-demo](../README.md) / GalleryMachineEntry
|
|
2
|
+
|
|
3
|
+
# Interface: GalleryMachineEntry
|
|
4
|
+
|
|
5
|
+
Defined in: [packages/play-react/examples/gallery/src/machines.ts:86](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-react/examples/gallery/src/machines.ts#L86)
|
|
6
|
+
|
|
7
|
+
## Properties
|
|
8
|
+
|
|
9
|
+
| Property | Type | Description | Defined in |
|
|
10
|
+
| --------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
|
+
| <a id="property-createruntime"></a> `createRuntime` | (`inspect`) => [`GalleryRuntime`](GalleryRuntime.md) | Create a fresh, STARTED actor and its registry for one selection. The caller owns the runtime and must stop the actor when done with it. | [packages/play-react/examples/gallery/src/machines.ts:94](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-react/examples/gallery/src/machines.ts#L94) |
|
|
12
|
+
| <a id="property-label"></a> `label` | `string` | Picker button label and machine-view title. | [packages/play-react/examples/gallery/src/machines.ts:89](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-react/examples/gallery/src/machines.ts#L89) |
|
|
13
|
+
| <a id="property-slug"></a> `slug` | [`GallerySlug`](../type-aliases/GallerySlug.md) | - | [packages/play-react/examples/gallery/src/machines.ts:87](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-react/examples/gallery/src/machines.ts#L87) |
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-react-gallery-demo](../README.md) / GalleryRuntime
|
|
2
|
+
|
|
3
|
+
# Interface: GalleryRuntime
|
|
4
|
+
|
|
5
|
+
Defined in: [packages/play-react/examples/gallery/src/machines.ts:81](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-react/examples/gallery/src/machines.ts#L81)
|
|
6
|
+
|
|
7
|
+
One live selection: the started actor plus its registry.
|
|
8
|
+
|
|
9
|
+
## Properties
|
|
10
|
+
|
|
11
|
+
| Property | Type | Defined in |
|
|
12
|
+
| ----------------------------------------------------- | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
13
|
+
| <a id="property-actor"></a> `actor` | [`GalleryActor`](../type-aliases/GalleryActor.md) | [packages/play-react/examples/gallery/src/machines.ts:82](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-react/examples/gallery/src/machines.ts#L82) |
|
|
14
|
+
| <a id="property-registryresult"></a> `registryResult` | [`DefineRegistryResult`](../../../../api/@xmachines/play-react/interfaces/DefineRegistryResult.md) | [packages/play-react/examples/gallery/src/machines.ts:83](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-react/examples/gallery/src/machines.ts#L83) |
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-react-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-react/examples/gallery/src/catalogs.ts:47](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-react/examples/gallery/src/catalogs.ts#L47)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[Examples](../../../README.md) / [@xmachines/play-react-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-react/examples/gallery/src/catalogs.ts:41](https://gitlab.com/xmachin-es/xmachines-js/-/blob/docs-v7.1.0/packages/play-react/examples/gallery/src/catalogs.ts#L41)
|