@xmachines/docs 7.0.0 → 7.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/api/@xmachines/core/README.md +1 -1
- package/api/@xmachines/core/cache/functions/createLruCache.md +7 -7
- package/api/@xmachines/core/cache/interfaces/KeyValueCache.md +6 -6
- package/api/@xmachines/core/errors/classes/BaseError.md +15 -23
- package/api/@xmachines/core/errors/classes/DisposeConflictError.md +11 -11
- package/api/@xmachines/core/utils/functions/asDisposable.md +9 -9
- package/api/@xmachines/core/utils/functions/createNullRecord.md +4 -4
- package/api/@xmachines/core/utils/functions/createWarnOnce.md +1 -1
- package/api/@xmachines/core/utils/functions/describeValue.md +1 -1
- package/api/@xmachines/core/utils/functions/isError.md +1 -1
- package/api/@xmachines/core/utils/functions/isThenable.md +4 -4
- package/api/@xmachines/core/utils/functions/releaseQuietly.md +1 -1
- package/api/@xmachines/core/utils/functions/rethrowLater.md +1 -1
- package/api/@xmachines/core/utils/functions/safeString.md +1 -1
- package/api/@xmachines/core/utils/functions/shallowEqualExcept.md +1 -1
- package/api/@xmachines/core/utils/type-aliases/DisposeKey.md +1 -1
- package/api/@xmachines/core/utils/type-aliases/DisposeMember.md +1 -1
- package/api/@xmachines/core/utils/variables/DISPOSE.md +1 -1
- package/api/@xmachines/play/README.md +1 -1
- package/api/@xmachines/play/errors/classes/NonNullableError.md +11 -11
- package/api/@xmachines/play/errors/classes/PlayError.md +11 -11
- package/api/@xmachines/play/index/functions/assertNonNullable.md +4 -4
- package/api/@xmachines/play/index/type-aliases/PlayEvent.md +9 -9
- package/api/@xmachines/play-actor/README.md +5 -3
- package/api/@xmachines/play-actor/interfaces/ActorEvent.md +4 -4
- package/api/@xmachines/play-actor/interfaces/PlayActor.md +9 -9
- package/api/@xmachines/play-atom/README.md +1 -1
- package/api/@xmachines/play-atom/functions/watchAtom.md +4 -4
- package/api/@xmachines/play-atom/interfaces/AsyncAtomOptions.md +4 -4
- package/api/@xmachines/play-atom/interfaces/Atom.md +9 -9
- package/api/@xmachines/play-atom/interfaces/AtomObserver.md +9 -9
- package/api/@xmachines/play-atom/interfaces/AtomOptions.md +7 -7
- package/api/@xmachines/play-atom/interfaces/AtomSubscription.md +2 -2
- package/api/@xmachines/play-atom/interfaces/BaseAtom.md +7 -7
- package/api/@xmachines/play-atom/interfaces/CreateAtom.md +9 -9
- package/api/@xmachines/play-atom/interfaces/Readable.md +7 -7
- package/api/@xmachines/play-atom/interfaces/ReadonlyAtom.md +7 -7
- package/api/@xmachines/play-atom/type-aliases/AnyAtom.md +1 -1
- package/api/@xmachines/play-atom/type-aliases/AsyncAtomState.md +5 -5
- package/api/@xmachines/play-atom/variables/createAsyncAtom.md +4 -4
- package/api/@xmachines/play-atom/variables/createAtom.md +1 -1
- package/api/@xmachines/play-atom/variables/createWritableAtom.md +4 -4
- package/api/@xmachines/play-dom/README.md +1 -1
- package/api/@xmachines/play-dom/classes/PlayRenderer.md +5 -5
- package/api/@xmachines/play-dom/functions/createPlayUI.md +2 -2
- package/api/@xmachines/play-dom/functions/createRenderer.md +4 -4
- package/api/@xmachines/play-dom/functions/defineRegistry.md +3 -3
- package/api/@xmachines/play-dom/interfaces/ComponentContext.md +4 -4
- package/api/@xmachines/play-dom/interfaces/CreatePlayUIOptions.md +14 -13
- package/api/@xmachines/play-dom/interfaces/MountOptions.md +5 -5
- package/api/@xmachines/play-dom/interfaces/PlayDomOptions.md +15 -15
- package/api/@xmachines/play-dom/type-aliases/ActionFn.md +4 -4
- package/api/@xmachines/play-dom/type-aliases/Actions.md +3 -3
- package/api/@xmachines/play-dom/type-aliases/BaseComponentProps.md +4 -4
- package/api/@xmachines/play-dom/type-aliases/CatalogHasActions.md +3 -3
- package/api/@xmachines/play-dom/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-dom/type-aliases/ComponentRegistry.md +3 -3
- package/api/@xmachines/play-dom/type-aliases/DefineRegistryOptions.md +7 -7
- package/api/@xmachines/play-dom/type-aliases/MountFn.md +1 -1
- package/api/@xmachines/play-dom-router/README.md +1 -1
- package/api/@xmachines/play-dom-router/classes/DomRouterBridge.md +7 -7
- package/api/@xmachines/play-dom-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-dom-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createBrowserHistory.md +1 -1
- package/api/@xmachines/play-dom-router/functions/createRouter.md +1 -1
- package/api/@xmachines/play-dom-router/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-dom-router/interfaces/BrowserHistory.md +16 -16
- package/api/@xmachines/play-dom-router/interfaces/BrowserWindow.md +16 -16
- package/api/@xmachines/play-dom-router/interfaces/ConnectRouterOptions.md +10 -10
- package/api/@xmachines/play-dom-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-dom-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-dom-router/interfaces/RouteLookupContract.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-dom-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-dom-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-dom-router/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-dom-router/interfaces/VanillaRouter.md +6 -6
- package/api/@xmachines/play-pattern/README.md +1 -1
- package/api/@xmachines/play-pattern/functions/buildPath.md +2 -2
- package/api/@xmachines/play-pattern/functions/createLruCache.md +7 -7
- package/api/@xmachines/play-pattern/functions/getIndexKey.md +1 -1
- package/api/@xmachines/play-pattern/functions/isDotSegment.md +1 -1
- package/api/@xmachines/play-pattern/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-pattern/interfaces/GroupPart.md +6 -6
- package/api/@xmachines/play-pattern/interfaces/KeyValueCache.md +6 -6
- package/api/@xmachines/play-pattern/interfaces/LiteralPart.md +5 -5
- package/api/@xmachines/play-pattern/interfaces/ParamPart.md +9 -9
- package/api/@xmachines/play-pattern/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-pattern/interfaces/ParsedPattern.md +14 -14
- package/api/@xmachines/play-pattern/interfaces/PatternParam.md +6 -6
- package/api/@xmachines/play-pattern/type-aliases/PathBuildResult.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PathParams.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PatternModifier.md +1 -1
- package/api/@xmachines/play-pattern/type-aliases/PatternPart.md +1 -1
- package/api/@xmachines/play-react/README.md +1 -1
- package/api/@xmachines/play-react/classes/PlayErrorBoundary.md +36 -75
- package/api/@xmachines/play-react/functions/defineRegistry.md +3 -3
- package/api/@xmachines/play-react/functions/useActor.md +1 -1
- package/api/@xmachines/play-react/functions/useAtomEffect.md +2 -2
- package/api/@xmachines/play-react/functions/useBoundProp.md +3 -3
- package/api/@xmachines/play-react/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-react/interfaces/ActorProviderProps.md +10 -10
- package/api/@xmachines/play-react/interfaces/ComponentContext.md +4 -4
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryProps.md +8 -8
- package/api/@xmachines/play-react/interfaces/PlayErrorBoundaryState.md +6 -6
- package/api/@xmachines/play-react/interfaces/PlayUIProviderProps.md +15 -14
- package/api/@xmachines/play-react/interfaces/ViewContextValue.md +7 -7
- package/api/@xmachines/play-react/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-react/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-react/variables/ActorProvider.md +1 -1
- package/api/@xmachines/play-react/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-react/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-react-router/README.md +2 -2
- package/api/@xmachines/play-react-router/classes/ReactRouterBridge.md +7 -7
- package/api/@xmachines/play-react-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-react-router/functions/createPlayRouterProvider.md +5 -5
- package/api/@xmachines/play-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-react-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-react-router/interfaces/PlayRouterProviderProps.md +14 -14
- package/api/@xmachines/play-react-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-react-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-react-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-react-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
- package/api/@xmachines/play-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-react-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-router/README.md +1 -1
- package/api/@xmachines/play-router/errors/classes/DuplicateBridgeError.md +11 -11
- package/api/@xmachines/play-router/errors/classes/DuplicateRoutePathError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/EmptyRoutePathError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/InvalidBasePathError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/InvalidRoutePatternError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/InvalidStateIdError.md +12 -12
- package/api/@xmachines/play-router/errors/classes/MissingBasePathParamError.md +13 -13
- package/api/@xmachines/play-router/errors/classes/RouterSyncError.md +11 -11
- package/api/@xmachines/play-router/errors/classes/UnknownStateTypeError.md +13 -13
- package/api/@xmachines/play-router/index/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-router/index/classes/RouterBridgeBase.md +14 -14
- package/api/@xmachines/play-router/index/functions/buildPlayRouteEvent.md +1 -1
- package/api/@xmachines/play-router/index/functions/buildRouteTree.md +4 -4
- package/api/@xmachines/play-router/index/functions/cleanFrameworkParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/createLruCache.md +7 -7
- package/api/@xmachines/play-router/index/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-router/index/functions/createRouterConnection.md +1 -1
- package/api/@xmachines/play-router/index/functions/detectDuplicateRoutes.md +1 -1
- package/api/@xmachines/play-router/index/functions/extractQuery.md +1 -1
- package/api/@xmachines/play-router/index/functions/extractRouteParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/findRouteById.md +1 -1
- package/api/@xmachines/play-router/index/functions/findRouteByPath.md +1 -1
- package/api/@xmachines/play-router/index/functions/isMountableBridge.md +1 -1
- package/api/@xmachines/play-router/index/functions/joinBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/mountKey.md +1 -1
- package/api/@xmachines/play-router/index/functions/normalizeBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/openProviderBridge.md +9 -9
- package/api/@xmachines/play-router/index/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-router/index/functions/pickOwnParams.md +6 -6
- package/api/@xmachines/play-router/index/functions/repointProviderBridge.md +1 -1
- package/api/@xmachines/play-router/index/functions/resolveBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/resolveFrameworkParams.md +1 -1
- package/api/@xmachines/play-router/index/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-router/index/functions/splitLocation.md +1 -1
- package/api/@xmachines/play-router/index/functions/stripBasePath.md +1 -1
- package/api/@xmachines/play-router/index/functions/validateRouteFormat.md +1 -1
- package/api/@xmachines/play-router/index/functions/validateStateExists.md +1 -1
- package/api/@xmachines/play-router/index/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/BuildPlayRouteEventOptions.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/CompileOptions.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/FrameworkParamsSource.md +9 -9
- package/api/@xmachines/play-router/index/interfaces/KeyValueCache.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/LocationLike.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/MountableRouterBridge.md +8 -8
- package/api/@xmachines/play-router/index/interfaces/OpenProviderBridgeArgs.md +14 -14
- package/api/@xmachines/play-router/index/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-router/index/interfaces/ParsedPattern.md +14 -14
- package/api/@xmachines/play-router/index/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-router/index/interfaces/PlayRouterProviderBaseProps.md +16 -16
- package/api/@xmachines/play-router/index/interfaces/ResolvedBasePath.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/ResolvedRoutePath.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/Routable.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/RouteInfo.md +10 -10
- package/api/@xmachines/play-router/index/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-router/index/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RouteMatch.md +5 -5
- package/api/@xmachines/play-router/index/interfaces/RouteNode.md +12 -12
- package/api/@xmachines/play-router/index/interfaces/RouteObject.md +7 -7
- package/api/@xmachines/play-router/index/interfaces/RouteTree.md +10 -10
- package/api/@xmachines/play-router/index/interfaces/RouteWatcherHandle.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-router/index/interfaces/RouterBridgeOptions.md +9 -8
- package/api/@xmachines/play-router/index/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-router/index/interfaces/SplitLocation.md +7 -7
- package/api/@xmachines/play-router/index/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-router/index/type-aliases/PlayRouterBridgeConstructor.md +6 -6
- package/api/@xmachines/play-router/index/type-aliases/RouteData.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/RouteDataResolver.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-router/index/type-aliases/URLPatternLike.md +3 -3
- package/api/@xmachines/play-router/index/variables/NO_BASE_PATH.md +1 -1
- package/api/@xmachines/play-router/index/variables/ROOT_NODE_ID.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/createRouteMap.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/extractMachineRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getNavigableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getRoutableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getRouteMappings.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/getTransitionReachableRoutes.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/isRouteReachable.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/machineToGraph.md +1 -1
- package/api/@xmachines/play-router/xstate/functions/routeExists.md +1 -1
- package/api/@xmachines/play-router/xstate/interfaces/MachineEdgeData.md +5 -5
- package/api/@xmachines/play-router/xstate/interfaces/MachineNodeData.md +7 -7
- package/api/@xmachines/play-router/xstate/type-aliases/MachineGraph.md +1 -1
- package/api/@xmachines/play-solid/README.md +1 -1
- package/api/@xmachines/play-solid/functions/defineRegistry.md +3 -3
- package/api/@xmachines/play-solid/functions/useActor.md +1 -1
- package/api/@xmachines/play-solid/functions/useBoundProp.md +3 -3
- package/api/@xmachines/play-solid/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-solid/functions/useStateBinding.md +3 -3
- package/api/@xmachines/play-solid/functions/useStateValue.md +3 -3
- package/api/@xmachines/play-solid/interfaces/ActorProviderProps.md +10 -10
- package/api/@xmachines/play-solid/interfaces/ComponentContext.md +4 -4
- package/api/@xmachines/play-solid/interfaces/PlayUIProviderProps.md +15 -14
- package/api/@xmachines/play-solid/interfaces/ViewContextValue.md +7 -7
- package/api/@xmachines/play-solid/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-solid/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-solid/variables/ActorContext.md +1 -1
- package/api/@xmachines/play-solid/variables/ActorProvider.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayRenderer.md +1 -1
- package/api/@xmachines/play-solid/variables/PlayUIProvider.md +1 -1
- package/api/@xmachines/play-solid-router/README.md +2 -2
- package/api/@xmachines/play-solid-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-solid-router/classes/SolidRouterBridge.md +7 -7
- package/api/@xmachines/play-solid-router/functions/createPlayRouterProvider.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/PlayActor.md +9 -9
- package/api/@xmachines/play-solid-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-solid-router/interfaces/PlayRouterProviderProps.md +14 -14
- package/api/@xmachines/play-solid-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-solid-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-solid-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-solid-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
- package/api/@xmachines/play-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-solid-router/type-aliases/SolidRouterHooks.md +4 -4
- package/api/@xmachines/play-solid-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-svelte/README.md +1 -1
- package/api/@xmachines/play-svelte/functions/defineRegistry.md +4 -4
- package/api/@xmachines/play-svelte/functions/getActorContext.md +1 -1
- package/api/@xmachines/play-svelte/functions/getPlayViewContext.md +1 -1
- package/api/@xmachines/play-svelte/functions/setActorContext.md +1 -1
- package/api/@xmachines/play-svelte/interfaces/ActorProviderProps.md +10 -10
- package/api/@xmachines/play-svelte/interfaces/BaseComponentProps.md +13 -13
- package/api/@xmachines/play-svelte/interfaces/ComponentContext.md +14 -14
- package/api/@xmachines/play-svelte/interfaces/DefineRegistryOptions.md +9 -9
- package/api/@xmachines/play-svelte/interfaces/PlayUIProviderProps.md +13 -13
- package/api/@xmachines/play-svelte/interfaces/ViewContextValue.md +7 -7
- package/api/@xmachines/play-svelte/type-aliases/ActionFn.md +4 -4
- package/api/@xmachines/play-svelte/type-aliases/Actions.md +3 -3
- package/api/@xmachines/play-svelte/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-svelte/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-svelte-spa-router/README.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-svelte-spa-router/classes/SvelteSpaRouterBridge.md +8 -8
- package/api/@xmachines/play-svelte-spa-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-svelte-spa-router/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-svelte-spa-router/interfaces/ConnectRouterOptions.md +10 -10
- package/api/@xmachines/play-svelte-spa-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-svelte-spa-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-svelte-spa-router/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-svelte-spa-router/interfaces/WindowLike.md +3 -3
- package/api/@xmachines/play-sveltekit-router/README.md +1 -1
- package/api/@xmachines/play-sveltekit-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-sveltekit-router/classes/SvelteKitRouterBridge.md +8 -8
- package/api/@xmachines/play-sveltekit-router/functions/connectRouter.md +1 -1
- package/api/@xmachines/play-sveltekit-router/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/ConnectRouterOptions.md +11 -11
- package/api/@xmachines/play-sveltekit-router/interfaces/LocationLike.md +5 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-sveltekit-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-sveltekit-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-sveltekit-router/interfaces/RouterConnection.md +8 -8
- package/api/@xmachines/play-sveltekit-router/interfaces/SvelteKitRouterBridgeOptions.md +8 -8
- package/api/@xmachines/play-sveltekit-router/type-aliases/ShallowNavigation.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/README.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/classes/TanStackReactRouterBridge.md +7 -7
- package/api/@xmachines/play-tanstack-react-router/functions/createPlayRouterProvider.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/functions/createRouteMapFromTree.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-tanstack-react-router/interfaces/PlayRouterProviderProps.md +14 -14
- package/api/@xmachines/play-tanstack-react-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
- package/api/@xmachines/play-tanstack-react-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-react-router/type-aliases/TanStackRouterLike.md +9 -9
- package/api/@xmachines/play-tanstack-react-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-tanstack-router/README.md +1 -1
- package/api/@xmachines/play-tanstack-router/classes/TanStackRouterBridgeBase.md +7 -7
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouteMapLike.md +3 -3
- package/api/@xmachines/play-tanstack-router/type-aliases/TanStackRouterLike.md +9 -9
- package/api/@xmachines/play-tanstack-solid-router/README.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/classes/TanStackSolidRouterBridge.md +7 -7
- package/api/@xmachines/play-tanstack-solid-router/functions/createPlayRouterProvider.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-tanstack-solid-router/interfaces/PlayRouterProviderProps.md +14 -14
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterBridgeConstructor.md +6 -6
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/PlayRouterProviderBaseProps.md +5 -5
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterInstance.md +1 -1
- package/api/@xmachines/play-tanstack-solid-router/type-aliases/TanStackRouterLike.md +9 -9
- package/api/@xmachines/play-tanstack-solid-router/variables/PlayRouterProvider.md +4 -4
- package/api/@xmachines/play-url/README.md +1 -1
- package/api/@xmachines/play-url/errors/classes/InvalidBasePathError.md +12 -12
- package/api/@xmachines/play-url/errors/classes/InvalidRoutePatternError.md +12 -12
- package/api/@xmachines/play-url/errors/classes/MissingBasePathParamError.md +13 -13
- package/api/@xmachines/play-url/index/functions/buildPath.md +2 -2
- package/api/@xmachines/play-url/index/functions/cleanFrameworkParams.md +1 -1
- package/api/@xmachines/play-url/index/functions/createLruCache.md +7 -7
- package/api/@xmachines/play-url/index/functions/getCandidates.md +4 -4
- package/api/@xmachines/play-url/index/functions/getCompiledPattern.md +5 -5
- package/api/@xmachines/play-url/index/functions/getIndexKey.md +1 -1
- package/api/@xmachines/play-url/index/functions/holdsUnsubstitutedParam.md +1 -1
- package/api/@xmachines/play-url/index/functions/isDotSegment.md +1 -1
- package/api/@xmachines/play-url/index/functions/joinBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/normalizeBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/parsePattern.md +1 -1
- package/api/@xmachines/play-url/index/functions/pickOwnParams.md +6 -6
- package/api/@xmachines/play-url/index/functions/resolveBasePath.md +1 -1
- package/api/@xmachines/play-url/index/functions/resolveFrameworkParams.md +1 -1
- package/api/@xmachines/play-url/index/functions/sanitizePathname.md +1 -1
- package/api/@xmachines/play-url/index/functions/splitLocation.md +1 -1
- package/api/@xmachines/play-url/index/functions/stripBasePath.md +1 -1
- package/api/@xmachines/play-url/index/interfaces/BasePathOptions.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/CompileOptions.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/FrameworkParamsSource.md +9 -9
- package/api/@xmachines/play-url/index/interfaces/GroupPart.md +6 -6
- package/api/@xmachines/play-url/index/interfaces/KeyValueCache.md +6 -6
- package/api/@xmachines/play-url/index/interfaces/LiteralPart.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/ParamPart.md +9 -9
- package/api/@xmachines/play-url/index/interfaces/ParseOptions.md +4 -4
- package/api/@xmachines/play-url/index/interfaces/ParsedPattern.md +14 -14
- package/api/@xmachines/play-url/index/interfaces/PatternParam.md +6 -6
- package/api/@xmachines/play-url/index/interfaces/ResolvedBasePath.md +5 -5
- package/api/@xmachines/play-url/index/interfaces/SplitLocation.md +7 -7
- package/api/@xmachines/play-url/index/type-aliases/PathBuildResult.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PathParams.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PatternModifier.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/PatternPart.md +1 -1
- package/api/@xmachines/play-url/index/type-aliases/URLPatternCtor.md +2 -2
- package/api/@xmachines/play-url/index/type-aliases/URLPatternLike.md +3 -3
- package/api/@xmachines/play-url/index/variables/NO_BASE_PATH.md +1 -1
- package/api/@xmachines/play-url/index/variables/URLPattern.md +1 -1
- package/api/@xmachines/play-view/README.md +1 -1
- package/api/@xmachines/play-view/errors/classes/InvalidViewOutletError.md +13 -13
- package/api/@xmachines/play-view/errors/classes/ReadOnlyContextError.md +12 -12
- package/api/@xmachines/play-view/errors/classes/ViewElementKeyCollisionError.md +13 -13
- package/api/@xmachines/play-view/index/functions/attachRenderErrorHandler.md +4 -4
- package/api/@xmachines/play-view/index/functions/bindStoreHandlers.md +4 -4
- package/api/@xmachines/play-view/index/functions/composePlayState.md +1 -1
- package/api/@xmachines/play-view/index/functions/composeViews.md +1 -1
- package/api/@xmachines/play-view/index/functions/createActorProxy.md +4 -4
- package/api/@xmachines/play-view/index/functions/createRenderErrorBinding.md +4 -4
- package/api/@xmachines/play-view/index/functions/createReportGuard.md +1 -1
- package/api/@xmachines/play-view/index/functions/createViewSession.md +4 -4
- package/api/@xmachines/play-view/index/functions/createViewStoreLifecycle.md +1 -1
- package/api/@xmachines/play-view/index/functions/forwardRenderError.md +1 -1
- package/api/@xmachines/play-view/index/functions/guardContextWrites.md +1 -1
- package/api/@xmachines/play-view/index/functions/refreshContextSubtree.md +1 -1
- package/api/@xmachines/play-view/index/functions/reuseComposedState.md +1 -1
- package/api/@xmachines/play-view/index/functions/toAtomState.md +1 -1
- package/api/@xmachines/play-view/index/functions/typedSpec.md +1 -1
- package/api/@xmachines/play-view/index/interfaces/BaseActorProviderProps.md +11 -11
- package/api/@xmachines/play-view/index/interfaces/BaseViewContextValue.md +10 -10
- package/api/@xmachines/play-view/index/interfaces/ComposedView.md +7 -7
- package/api/@xmachines/play-view/index/interfaces/HandlerFactory.md +7 -7
- package/api/@xmachines/play-view/index/interfaces/PlaySpec.md +8 -8
- package/api/@xmachines/play-view/index/interfaces/ReportGuard.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ReportGuardMessages.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ResolveViewStoreOptions.md +4 -4
- package/api/@xmachines/play-view/index/interfaces/ViewMeta.md +7 -7
- package/api/@xmachines/play-view/index/interfaces/ViewOutlet.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ViewSession.md +10 -10
- package/api/@xmachines/play-view/index/interfaces/ViewSessionOptions.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/ViewSessionSnapshot.md +11 -11
- package/api/@xmachines/play-view/index/interfaces/ViewStoreLifecycle.md +4 -4
- package/api/@xmachines/play-view/index/interfaces/ViewStoreResolution.md +7 -7
- package/api/@xmachines/play-view/index/interfaces/ViewTree.md +6 -6
- package/api/@xmachines/play-view/index/interfaces/ViewTreeChild.md +5 -5
- package/api/@xmachines/play-view/index/interfaces/Viewable.md +4 -4
- package/api/@xmachines/play-view/index/type-aliases/StateUpdater.md +1 -1
- package/api/@xmachines/play-view/index/type-aliases/ViewActor.md +5 -5
- package/api/@xmachines/play-view/index/variables/CONTEXT_STATE_KEY.md +1 -1
- package/api/@xmachines/play-vue/README.md +1 -1
- package/api/@xmachines/play-vue/functions/defineRegistry.md +4 -4
- package/api/@xmachines/play-vue/functions/useActor.md +1 -1
- package/api/@xmachines/play-vue/functions/useBoundProp.md +3 -3
- package/api/@xmachines/play-vue/functions/usePlayView.md +1 -1
- package/api/@xmachines/play-vue/interfaces/ActorProviderProps.md +8 -8
- package/api/@xmachines/play-vue/interfaces/ComponentContext.md +4 -4
- package/api/@xmachines/play-vue/interfaces/PlayUIProviderProps.md +11 -11
- package/api/@xmachines/play-vue/interfaces/ViewContextValue.md +7 -7
- package/api/@xmachines/play-vue/type-aliases/AnyPlayActor.md +1 -1
- package/api/@xmachines/play-vue/type-aliases/ComponentEntry.md +5 -5
- package/api/@xmachines/play-vue/type-aliases/ComponentFn.md +4 -4
- package/api/@xmachines/play-vue/type-aliases/ComponentsMap.md +4 -4
- package/api/@xmachines/play-vue/type-aliases/DefineRegistryOptions.md +9 -9
- package/api/@xmachines/play-vue/variables/ActionProvider.md +35 -54
- package/api/@xmachines/play-vue/variables/PlayRenderer.md +4 -2
- package/api/@xmachines/play-vue/variables/Renderer.md +61 -78
- package/api/@xmachines/play-vue/variables/StateProvider.md +44 -63
- package/api/@xmachines/play-vue/variables/ValidationProvider.md +26 -45
- package/api/@xmachines/play-vue/variables/VisibilityProvider.md +17 -30
- package/api/@xmachines/play-vue-router/README.md +2 -2
- package/api/@xmachines/play-vue-router/errors/classes/VueRouterNavigationError.md +11 -11
- package/api/@xmachines/play-vue-router/errors/classes/VueRouterSendError.md +11 -11
- package/api/@xmachines/play-vue-router/index/classes/RouteMap.md +5 -5
- package/api/@xmachines/play-vue-router/index/classes/VueRouterBridge.md +7 -7
- package/api/@xmachines/play-vue-router/index/interfaces/PlayRouteEvent.md +9 -9
- package/api/@xmachines/play-vue-router/index/interfaces/RoutableActor.md +6 -6
- package/api/@xmachines/play-vue-router/index/interfaces/RouteMapOptions.md +6 -6
- package/api/@xmachines/play-vue-router/index/interfaces/RouteMapping.md +5 -5
- package/api/@xmachines/play-vue-router/index/interfaces/RouterBridge.md +3 -3
- package/api/@xmachines/play-vue-router/index/variables/PlayRouterProvider.md +90 -105
- package/api/@xmachines/play-xstate/README.md +1 -1
- package/api/@xmachines/play-xstate/errors/classes/ActorThrewNonErrorError.md +11 -11
- package/api/@xmachines/play-xstate/errors/classes/InvalidEventError.md +12 -12
- package/api/@xmachines/play-xstate/errors/classes/InvalidMachineError.md +11 -11
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteHandlerError.md +13 -13
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteMetadataError.md +13 -13
- package/api/@xmachines/play-xstate/errors/classes/InvalidRouteParamError.md +14 -14
- package/api/@xmachines/play-xstate/errors/classes/MissingRouteParamError.md +13 -13
- package/api/@xmachines/play-xstate/errors/classes/MissingStateIdError.md +13 -13
- package/api/@xmachines/play-xstate/index/classes/PlayerActor.md +44 -68
- package/api/@xmachines/play-xstate/index/functions/compose.md +22 -22
- package/api/@xmachines/play-xstate/index/functions/definePlayer.md +9 -9
- package/api/@xmachines/play-xstate/index/interfaces/PlayerConfig.md +10 -10
- package/api/@xmachines/play-xstate/index/interfaces/PlayerFactoryResumeOptions.md +7 -7
- package/api/@xmachines/play-xstate/index/interfaces/PlayerOptions.md +12 -12
- package/api/@xmachines/play-xstate/index/type-aliases/Capability.md +5 -5
- package/api/@xmachines/play-xstate/index/type-aliases/PlayerConstructor.md +6 -6
- package/api/@xmachines/play-xstate/index/type-aliases/PlayerFactory.md +5 -5
- package/api/@xmachines/play-xstate/with-routing/functions/buildRouteUrl.md +2 -2
- package/api/@xmachines/play-xstate/with-routing/functions/deriveRoute.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/formatPlayRouteTransitions.md +4 -4
- package/api/@xmachines/play-xstate/with-routing/functions/isAbsoluteRoute.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/functions/withRouting.md +4 -4
- package/api/@xmachines/play-xstate/with-routing/interfaces/RouteContext.md +7 -7
- package/api/@xmachines/play-xstate/with-routing/interfaces/RouteObject.md +7 -7
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteData.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteDataResolver.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMachineConfig.md +7 -7
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteMetadata.md +1 -1
- package/api/@xmachines/play-xstate/with-routing/type-aliases/RouteStateNode.md +10 -10
- package/api/@xmachines/play-xstate/with-view/functions/withView.md +4 -4
- package/api/@xmachines/shared/README.md +3 -3
- package/api/@xmachines/shared/vite-aliases/functions/xmAliases.md +2 -2
- package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutput.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmBuildOutputFile.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmCacheDir.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmOptimizeDeps.md +4 -4
- package/api/@xmachines/shared/vite-aliases/functions/xmResolve.md +1 -1
- package/api/@xmachines/shared/vite-aliases/functions/xmSvelteRunes.md +4 -4
- package/api/@xmachines/shared/vite-aliases/functions/xmTestTarget.md +2 -2
- package/api/@xmachines/shared/vite-aliases/type-aliases/XmTestTarget.md +1 -1
- package/api/@xmachines/shared/vitest/functions/defineXmBrowserConfig.md +2 -2
- package/api/@xmachines/shared/vitest/functions/defineXmVitestConfig.md +1 -1
- package/api/@xmachines/shared/vitest/interfaces/XmBrowserConfigOptions.md +6 -6
- package/api/trains.json +30 -0
- package/contributing/configuration.md +24 -50
- package/contributing/deployment.md +128 -158
- package/contributing/development.md +5 -5
- package/contributing/testing.md +5 -3
- package/examples/@xmachines/play-dom-gallery-demo/README.md +127 -0
- package/examples/@xmachines/play-dom-gallery-demo/functions/createConfirmDialog.md +33 -0
- package/examples/@xmachines/play-dom-gallery-demo/functions/createDebugPanel.md +31 -0
- package/examples/@xmachines/play-dom-gallery-demo/functions/initApp.md +22 -0
- package/examples/@xmachines/play-dom-gallery-demo/functions/initShell.md +33 -0
- package/examples/@xmachines/play-dom-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-dom-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-dom-gallery-demo/interfaces/ShellOptions.md +18 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Button.md +12 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Field.md +30 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Page.md +16 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Panel.md +15 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/Text.md +15 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/demoComponents.md +21 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-dom-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/{play-dom-demo/variables/authCatalog.md → play-dom-gallery-demo/variables/todoMvcCatalog.md} +36 -82
- package/examples/@xmachines/play-dom-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-dom-router-demo/README.md +38 -31
- package/examples/@xmachines/play-dom-router-donut-demo/README.md +78 -0
- package/examples/@xmachines/play-dom-router-flight-demo/README.md +76 -0
- package/examples/@xmachines/play-dom-router-todomvc-demo/README.md +76 -0
- package/examples/@xmachines/play-dom-router-trivia-demo/README.md +76 -0
- package/examples/@xmachines/play-react-gallery-demo/README.md +123 -0
- package/examples/@xmachines/play-react-gallery-demo/functions/App.md +13 -0
- package/examples/@xmachines/play-react-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-react-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Button.md +12 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/DebugPanel.md +21 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Field.md +24 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Page.md +14 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Panel.md +15 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Shell.md +26 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/Text.md +15 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/demoComponents.md +21 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-react-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/{play-vue-demo/variables/authCatalog.md → play-react-gallery-demo/variables/todoMvcCatalog.md} +36 -82
- package/examples/@xmachines/play-react-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-react-router-demo/README.md +17 -6
- package/examples/@xmachines/play-react-router-donut-demo/README.md +85 -0
- package/examples/@xmachines/play-react-router-flight-demo/README.md +74 -0
- package/examples/@xmachines/play-react-router-todomvc-demo/README.md +74 -0
- package/examples/@xmachines/play-react-router-trivia-demo/README.md +74 -0
- package/examples/@xmachines/play-solid-gallery-demo/README.md +123 -0
- package/examples/@xmachines/play-solid-gallery-demo/functions/App.md +13 -0
- package/examples/@xmachines/play-solid-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-solid-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Button.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/DebugPanel.md +22 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Field.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Page.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Panel.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Shell.md +26 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/Text.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/demoComponents.md +21 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-solid-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/{play-react-demo/variables/authCatalog.md → play-solid-gallery-demo/variables/todoMvcCatalog.md} +36 -82
- package/examples/@xmachines/play-solid-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-solid-router-demo/README.md +8 -6
- package/examples/@xmachines/play-solid-router-donut-demo/README.md +86 -0
- package/examples/@xmachines/play-solid-router-flight-demo/README.md +75 -0
- package/examples/@xmachines/play-solid-router-todomvc-demo/README.md +75 -0
- package/examples/@xmachines/play-solid-router-trivia-demo/README.md +75 -0
- package/examples/@xmachines/play-svelte-gallery-demo/README.md +130 -0
- package/examples/@xmachines/play-svelte-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-svelte-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/App.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/App.md +9 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/demoComponents.md +21 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-svelte-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/{play-solid-demo/variables/authCatalog.md → play-svelte-gallery-demo/variables/todoMvcCatalog.md} +36 -82
- package/examples/@xmachines/play-svelte-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-svelte-spa-router-demo/README.md +8 -8
- package/examples/@xmachines/play-svelte-spa-router-donut-demo/README.md +77 -0
- package/examples/@xmachines/play-svelte-spa-router-flight-demo/README.md +76 -0
- package/examples/@xmachines/play-svelte-spa-router-todomvc-demo/README.md +76 -0
- package/examples/@xmachines/play-svelte-spa-router-trivia-demo/README.md +76 -0
- package/examples/@xmachines/play-sveltekit-router-demo/README.md +8 -8
- package/examples/@xmachines/play-sveltekit-router-donut-demo/README.md +103 -0
- package/examples/@xmachines/play-sveltekit-router-flight-demo/README.md +86 -0
- package/examples/@xmachines/play-sveltekit-router-todomvc-demo/README.md +86 -0
- package/examples/@xmachines/play-sveltekit-router-trivia-demo/README.md +86 -0
- package/examples/@xmachines/play-tanstack-react-router-demo/README.md +19 -14
- package/examples/@xmachines/play-tanstack-react-router-donut-demo/README.md +78 -0
- package/examples/@xmachines/play-tanstack-react-router-flight-demo/README.md +74 -0
- package/examples/@xmachines/play-tanstack-react-router-todomvc-demo/README.md +74 -0
- package/examples/@xmachines/play-tanstack-react-router-trivia-demo/README.md +74 -0
- package/examples/@xmachines/play-tanstack-solid-router-demo/README.md +19 -12
- package/examples/@xmachines/play-tanstack-solid-router-donut-demo/README.md +91 -0
- package/examples/@xmachines/play-tanstack-solid-router-flight-demo/README.md +80 -0
- package/examples/@xmachines/play-tanstack-solid-router-todomvc-demo/README.md +80 -0
- package/examples/@xmachines/play-tanstack-solid-router-trivia-demo/README.md +80 -0
- package/examples/@xmachines/play-vue-gallery-demo/README.md +120 -0
- package/examples/@xmachines/play-vue-gallery-demo/interfaces/GalleryMachineEntry.md +13 -0
- package/examples/@xmachines/play-vue-gallery-demo/interfaces/GalleryRuntime.md +14 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/AuthCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/DonutCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/FetchCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/FlightCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/GalleryActor.md +20 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/GallerySlug.md +18 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/KitCatalog.md +16 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/StopwatchCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TemperatureCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TicTacToeCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TodoMvcCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/type-aliases/TriviaCatalog.md +9 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/App.md +11 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/authCatalog.md +126 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/demoComponents.md +11 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/donutCatalog.md +135 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/fetchCatalog.md +119 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/flightCatalog.md +146 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/galleryMachines.md +11 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/stopwatchCatalog.md +119 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/temperatureCatalog.md +122 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/ticTacToeCatalog.md +119 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/todoMvcCatalog.md +151 -0
- package/examples/@xmachines/play-vue-gallery-demo/variables/triviaCatalog.md +129 -0
- package/examples/@xmachines/play-vue-router-demo/README.md +14 -8
- package/examples/@xmachines/play-vue-router-donut-demo/README.md +78 -0
- package/examples/@xmachines/play-vue-router-flight-demo/README.md +76 -0
- package/examples/@xmachines/play-vue-router-todomvc-demo/README.md +76 -0
- package/examples/@xmachines/play-vue-router-trivia-demo/README.md +76 -0
- package/examples/README.md +44 -6
- package/examples/routing-patterns.md +3 -1
- package/examples/xstate-example-ports.md +106 -0
- package/guides/getting-started.md +3 -1
- package/guides/inspector.md +3 -3
- package/package.json +30 -6
- package/examples/@xmachines/play-dom-demo/README.md +0 -162
- package/examples/@xmachines/play-dom-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-dom-demo/functions/createConfirmDialog.md +0 -27
- package/examples/@xmachines/play-dom-demo/functions/createNavBar.md +0 -24
- package/examples/@xmachines/play-dom-demo/functions/initShell.md +0 -25
- package/examples/@xmachines/play-dom-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-dom-demo/variables/About.md +0 -12
- package/examples/@xmachines/play-dom-demo/variables/Button.md +0 -12
- package/examples/@xmachines/play-dom-demo/variables/Contact.md +0 -12
- package/examples/@xmachines/play-dom-demo/variables/Dashboard.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Field.md +0 -19
- package/examples/@xmachines/play-dom-demo/variables/Home.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Login.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/NavBarView.md +0 -16
- package/examples/@xmachines/play-dom-demo/variables/Navigation.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Overview.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Panel.md +0 -14
- package/examples/@xmachines/play-dom-demo/variables/Profile.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Settings.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/Stats.md +0 -13
- package/examples/@xmachines/play-dom-demo/variables/demoComponents.md +0 -30
- package/examples/@xmachines/play-react-demo/README.md +0 -163
- package/examples/@xmachines/play-react-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-react-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-react-demo/variables/About.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Button.md +0 -12
- package/examples/@xmachines/play-react-demo/variables/Contact.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Dashboard.md +0 -15
- package/examples/@xmachines/play-react-demo/variables/DebugPanel.md +0 -16
- package/examples/@xmachines/play-react-demo/variables/Field.md +0 -18
- package/examples/@xmachines/play-react-demo/variables/Home.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Login.md +0 -16
- package/examples/@xmachines/play-react-demo/variables/NavBar.md +0 -16
- package/examples/@xmachines/play-react-demo/variables/NavBarView.md +0 -15
- package/examples/@xmachines/play-react-demo/variables/Navigation.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Overview.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Panel.md +0 -15
- package/examples/@xmachines/play-react-demo/variables/Profile.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Settings.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/Shell.md +0 -19
- package/examples/@xmachines/play-react-demo/variables/Stats.md +0 -14
- package/examples/@xmachines/play-react-demo/variables/demoComponents.md +0 -30
- package/examples/@xmachines/play-solid-demo/README.md +0 -163
- package/examples/@xmachines/play-solid-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-solid-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/About.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Button.md +0 -11
- package/examples/@xmachines/play-solid-demo/variables/Contact.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Dashboard.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/DebugPanel.md +0 -17
- package/examples/@xmachines/play-solid-demo/variables/Field.md +0 -11
- package/examples/@xmachines/play-solid-demo/variables/Home.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Login.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/NavBar.md +0 -11
- package/examples/@xmachines/play-solid-demo/variables/NavBarView.md +0 -15
- package/examples/@xmachines/play-solid-demo/variables/Navigation.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Overview.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Panel.md +0 -11
- package/examples/@xmachines/play-solid-demo/variables/Profile.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Settings.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/Shell.md +0 -18
- package/examples/@xmachines/play-solid-demo/variables/Stats.md +0 -9
- package/examples/@xmachines/play-solid-demo/variables/demoComponents.md +0 -30
- package/examples/@xmachines/play-svelte-demo/README.md +0 -137
- package/examples/@xmachines/play-svelte-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-svelte-demo/type-aliases/App.md +0 -9
- package/examples/@xmachines/play-svelte-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-svelte-demo/variables/App.md +0 -9
- package/examples/@xmachines/play-svelte-demo/variables/authCatalog.md +0 -197
- package/examples/@xmachines/play-svelte-demo/variables/demoComponents.md +0 -30
- package/examples/@xmachines/play-vue-demo/README.md +0 -159
- package/examples/@xmachines/play-vue-demo/functions/createAuthActionHandlers.md +0 -35
- package/examples/@xmachines/play-vue-demo/type-aliases/AuthCatalog.md +0 -9
- package/examples/@xmachines/play-vue-demo/variables/App.md +0 -9
- package/examples/@xmachines/play-vue-demo/variables/demoComponents.md +0 -11
|
@@ -8,8 +8,8 @@ Svelte 5 + `svelte-spa-router` integration demo for the XMachines Play architect
|
|
|
8
8
|
|
|
9
9
|
## What This Demonstrates
|
|
10
10
|
|
|
11
|
-
- Shared auth machine reused without framework-specific business logic
|
|
12
|
-
- `connectRouter` hash-URL ↔ actor sync via [`@xmachines/play-svelte-spa-router`](../../../api/@xmachines/play-svelte-spa-router/README.md)
|
|
11
|
+
- Shared auth machine (the login wall: `/`, `/login`, and the protected `/dashboard`) reused without framework-specific business logic
|
|
12
|
+
- `connectRouter` hash-URL ↔ actor sync via [`@xmachines/play-svelte-spa-router`](../../../api/@xmachines/play-svelte-spa-router/README.md) — a hash deep link to `#/dashboard` is bounced to `#/login` by the machine's `always` guard
|
|
13
13
|
- Shell-driven rendering via `PlayRenderer` with actor-authoritative navigation
|
|
14
14
|
- Canonical atoms lifecycle integrated with Svelte 5 runes
|
|
15
15
|
- Non-browser invariant tests plus browser E2E coverage
|
|
@@ -33,8 +33,8 @@ Use this order to understand the implementation:
|
|
|
33
33
|
1. `src/main.ts` mounts `App.svelte` and registers HMR cleanup via `cleanup`.
|
|
34
34
|
2. `src/runtime.ts` creates the actor, builds the registry, calls `createRouteMap(authMachine)`, and wires `connectRouter({ actor, routeMap })`.
|
|
35
35
|
3. `connectRouter` synchronizes hash URL changes with the actor via `play.route` events and reflects actor-approved routes back to the hash URL.
|
|
36
|
-
4. `src/App.svelte` imports the singleton `actor`, `registryResult`, and `inspector` from `src/runtime.ts` and delegates to the
|
|
37
|
-
5. `Shell.svelte` renders `<PlayUIProvider>` + `<PlayRenderer />` with the actor and registryResult and provides the shared UI shell (
|
|
36
|
+
4. `src/App.svelte` imports the singleton `actor`, `registryResult`, and `inspector` from `src/runtime.ts` and delegates to the Svelte gallery's `Shell.svelte`.
|
|
37
|
+
5. `Shell.svelte` renders `<PlayUIProvider>` + `<PlayRenderer />` with the actor and registryResult and provides the shared UI shell (header plus the debug panel with the **Show Inspector** button). There is no nav bar: the machine's own specs carry the navigation buttons.
|
|
38
38
|
6. Browser tests in `test/browser/` validate startup and auth route transitions.
|
|
39
39
|
|
|
40
40
|
```ts fragment
|
|
@@ -60,7 +60,7 @@ export function cleanup(): void {
|
|
|
60
60
|
```svelte
|
|
61
61
|
<!-- src/App.svelte (shape) -->
|
|
62
62
|
<script lang="ts">
|
|
63
|
-
import { Shell } from "@xmachines/play-svelte-demo";
|
|
63
|
+
import { Shell } from "@xmachines/play-svelte-gallery-demo";
|
|
64
64
|
import { actor, inspector, registryResult } from "./runtime.js";
|
|
65
65
|
</script>
|
|
66
66
|
|
|
@@ -69,7 +69,7 @@ export function cleanup(): void {
|
|
|
69
69
|
|
|
70
70
|
```svelte
|
|
71
71
|
<!-- Shell.svelte — rendering (shape) -->
|
|
72
|
-
<PlayUIProvider
|
|
72
|
+
<PlayUIProvider {actor} {registryResult}>
|
|
73
73
|
<PlayRenderer />
|
|
74
74
|
</PlayUIProvider>
|
|
75
75
|
```
|
|
@@ -78,7 +78,7 @@ export function cleanup(): void {
|
|
|
78
78
|
|
|
79
79
|
- `src/main.ts` - Svelte app mount and HMR cleanup registration
|
|
80
80
|
- `src/runtime.ts` - actor creation, registry construction, route map, and `connectRouter` wiring
|
|
81
|
-
- `src/App.svelte` - minimal root component delegating to
|
|
81
|
+
- `src/App.svelte` - minimal root component delegating to the gallery's `Shell.svelte`
|
|
82
82
|
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
83
83
|
- `test/browser/shared-demo.browser.test.ts` - browser startup and auth route flow coverage
|
|
84
84
|
|
|
@@ -102,7 +102,7 @@ One subscription lives for the whole watch, and no caller arms a watcher again.
|
|
|
102
102
|
|
|
103
103
|
## Adapter Boundaries
|
|
104
104
|
|
|
105
|
-
`connectRouter` (from [`@xmachines/play-svelte-spa-router`](../../../api/@xmachines/play-svelte-spa-router/README.md)) is passive infrastructure. It translates hash URL changes into `play.route` events and reflects actor-approved route changes back to the URL. Business validity remains actor-owned. The
|
|
105
|
+
`connectRouter` (from [`@xmachines/play-svelte-spa-router`](../../../api/@xmachines/play-svelte-spa-router/README.md)) is passive infrastructure. It translates hash URL changes into `play.route` events and reflects actor-approved route changes back to the URL. Business validity remains actor-owned. The `Shell.svelte`, the built `authCatalog`, and the five-component kit all come from [`@xmachines/play-svelte-gallery-demo`](../play-svelte-gallery-demo/README.md), so no view component is duplicated across the Svelte demos.
|
|
106
106
|
|
|
107
107
|
## Available Scripts
|
|
108
108
|
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-svelte-spa-router-donut-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-svelte-spa-router-donut-demo
|
|
4
|
+
|
|
5
|
+
Svelte 5 + `svelte-spa-router` integration demo of the shared **Donut** machine for the XMachines Play architecture, using hash-based URL routing.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- Shared Donut machine reused without framework-specific business logic
|
|
12
|
+
- `connectRouter` hash-URL ↔ actor sync via [`@xmachines/play-svelte-spa-router`](../../../api/@xmachines/play-svelte-spa-router/README.md) — 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-svelte-gallery-demo`](../play-svelte-gallery-demo/README.md) renderer gallery
|
|
14
|
+
- Actor-authoritative navigation: a hash deep link is honored when valid and overwritten back when invalid (State-Driven Reset)
|
|
15
|
+
- Snapshot persistence: `options.onTransition` stores `getPersistedSnapshot()` in `localStorage` and the actor resumes it on load, with a **Reset saved donut** control in the Shell header
|
|
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-svelte-spa-router-donut-demo run dev
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Then open `http://localhost:3074`.
|
|
28
|
+
|
|
29
|
+
## Step-by-Step Code Flow
|
|
30
|
+
|
|
31
|
+
1. `src/main.ts` mounts `App.svelte` and registers HMR cleanup via `cleanup`.
|
|
32
|
+
2. `src/runtime.ts` creates the actor through `createResumedPlayer()` (restoring a stored snapshot when one exists), builds the registry from `donutCatalog` + `demoComponents` (both imported from [`@xmachines/play-svelte-gallery-demo`](../play-svelte-gallery-demo/README.md)), calls `createRouteMap(donutMachine)`, and wires `connectRouter({ actor, routeMap })`.
|
|
33
|
+
3. `connectRouter` translates fragment changes into `play.route` events and reflects actor-approved routes back into `window.location.hash`.
|
|
34
|
+
4. `src/App.svelte` imports the singletons from `src/runtime.ts` and delegates to the gallery's shared `Shell.svelte`, passing the **Reset saved donut** button as the Shell's `nav` snippet.
|
|
35
|
+
5. `Shell.svelte` renders `<PlayUIProvider>` + `<PlayRenderer />` plus the debug panel with the **Show Inspector** button.
|
|
36
|
+
6. Browser tests in `test/browser/` delegate to the shared Donut router browser suite.
|
|
37
|
+
|
|
38
|
+
Everything in `src/runtime.ts` is a module singleton on purpose: `svelte-spa-router` holds its location in one module-level store and navigates by assigning `window.location.hash`, so exactly one bridge may own the fragment.
|
|
39
|
+
|
|
40
|
+
## Key Files
|
|
41
|
+
|
|
42
|
+
- `src/main.ts` - Svelte app mount and HMR cleanup registration
|
|
43
|
+
- `src/runtime.ts` - actor, registry, route map, and `connectRouter` wiring, plus the snapshot resume/save/reset helpers
|
|
44
|
+
- `src/App.svelte` - minimal root component delegating to the gallery's `Shell.svelte`
|
|
45
|
+
- `test/library-pattern.test.ts` - architecture boundary assertions over the source text
|
|
46
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared Donut router browser suite
|
|
47
|
+
|
|
48
|
+
## Architecture Invariants
|
|
49
|
+
|
|
50
|
+
1. **Actor Authority:** A fragment change becomes a `play.route` event. The actor evaluates its guards and decides whether the navigation happens.
|
|
51
|
+
2. **Passive Infrastructure:** `svelte-spa-router` runs no business logic. It transports the URL; the machine owns the truth.
|
|
52
|
+
3. **State-Driven Reset:** An external fragment change to an invalid route is overwritten back from actor state — the URL always reflects the machine.
|
|
53
|
+
|
|
54
|
+
## Available Scripts
|
|
55
|
+
|
|
56
|
+
| Command | Description |
|
|
57
|
+
| ----------------------------------------------------------------------------- | ---------------------------------------------- |
|
|
58
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-donut-demo run dev` | Start Vite dev server (http://localhost:3074/) |
|
|
59
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-donut-demo run build` | Build production bundle |
|
|
60
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-donut-demo run preview` | Preview built bundle |
|
|
61
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-donut-demo run test` | Run Vitest test suite |
|
|
62
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-donut-demo run test:browser` | Run browser-focused Vitest suite |
|
|
63
|
+
|
|
64
|
+
## Verification
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
pnpm --filter @xmachines/play-svelte-spa-router-donut-demo run test
|
|
68
|
+
pnpm --filter @xmachines/play-svelte-spa-router-donut-demo run test:browser
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Expected result: the library-pattern invariants pass and the shared Donut router browser suite completes.
|
|
72
|
+
|
|
73
|
+
## Learn More
|
|
74
|
+
|
|
75
|
+
- [Svelte SPA Router adapter](../../../api/@xmachines/play-svelte-spa-router/README.md)
|
|
76
|
+
- [Svelte renderer gallery](../play-svelte-gallery-demo/README.md)
|
|
77
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-svelte-spa-router-flight-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-svelte-spa-router-flight-demo
|
|
4
|
+
|
|
5
|
+
Svelte 5 + `svelte-spa-router` integration demo of the shared **Flight** machine for the XMachines Play architecture, using hash-based URL routing.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- Shared Flight machine reused without framework-specific business logic
|
|
12
|
+
- `connectRouter` hash-URL ↔ actor sync via [`@xmachines/play-svelte-spa-router`](../../../api/@xmachines/play-svelte-spa-router/README.md) — the wizard steps map to `#/`, `#/dates`, `#/review`, `#/submitting`, and `#/booked`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-svelte-gallery-demo`](../play-svelte-gallery-demo/README.md) renderer gallery
|
|
14
|
+
- Actor-authoritative navigation: a hash 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-svelte-spa-router-flight-demo run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then open `http://localhost:3075`.
|
|
27
|
+
|
|
28
|
+
## Step-by-Step Code Flow
|
|
29
|
+
|
|
30
|
+
1. `src/main.ts` mounts `App.svelte` and registers HMR cleanup via `cleanup`.
|
|
31
|
+
2. `src/runtime.ts` creates the actor, builds the registry from `flightCatalog` + `demoComponents` (both imported from [`@xmachines/play-svelte-gallery-demo`](../play-svelte-gallery-demo/README.md)), calls `createRouteMap(flightMachine)`, and wires `connectRouter({ actor, routeMap })`.
|
|
32
|
+
3. `connectRouter` translates fragment changes into `play.route` events and reflects actor-approved routes back into `window.location.hash`.
|
|
33
|
+
4. `src/App.svelte` imports the singletons from `src/runtime.ts` and delegates to the gallery's shared `Shell.svelte`.
|
|
34
|
+
5. `Shell.svelte` renders `<PlayUIProvider>` + `<PlayRenderer />` plus the debug panel with the **Show Inspector** button.
|
|
35
|
+
6. Browser tests in `test/browser/` delegate to the shared Flight router browser suite.
|
|
36
|
+
|
|
37
|
+
Everything in `src/runtime.ts` is a module singleton on purpose: `svelte-spa-router` holds its location in one module-level store and navigates by assigning `window.location.hash`, so exactly one bridge may own the fragment.
|
|
38
|
+
|
|
39
|
+
## Key Files
|
|
40
|
+
|
|
41
|
+
- `src/main.ts` - Svelte app mount and HMR cleanup registration
|
|
42
|
+
- `src/runtime.ts` - actor, registry, route map, and `connectRouter` wiring
|
|
43
|
+
- `src/App.svelte` - minimal root component delegating to the gallery's `Shell.svelte`
|
|
44
|
+
- `test/library-pattern.test.ts` - architecture boundary assertions over the source text
|
|
45
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared Flight router browser suite
|
|
46
|
+
|
|
47
|
+
## Architecture Invariants
|
|
48
|
+
|
|
49
|
+
1. **Actor Authority:** A fragment change becomes a `play.route` event. The actor evaluates its guards and decides whether the navigation happens.
|
|
50
|
+
2. **Passive Infrastructure:** `svelte-spa-router` runs no business logic. It transports the URL; the machine owns the truth.
|
|
51
|
+
3. **State-Driven Reset:** An external fragment change to an invalid route is overwritten back from actor state — the URL always reflects the machine.
|
|
52
|
+
|
|
53
|
+
## Available Scripts
|
|
54
|
+
|
|
55
|
+
| Command | Description |
|
|
56
|
+
| ------------------------------------------------------------------------------ | ---------------------------------------------- |
|
|
57
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-flight-demo run dev` | Start Vite dev server (http://localhost:3075/) |
|
|
58
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-flight-demo run build` | Build production bundle |
|
|
59
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-flight-demo run preview` | Preview built bundle |
|
|
60
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-flight-demo run test` | Run Vitest test suite |
|
|
61
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-flight-demo run test:browser` | Run browser-focused Vitest suite |
|
|
62
|
+
|
|
63
|
+
## Verification
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
pnpm --filter @xmachines/play-svelte-spa-router-flight-demo run test
|
|
67
|
+
pnpm --filter @xmachines/play-svelte-spa-router-flight-demo run test:browser
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Expected result: the library-pattern invariants pass and the shared Flight router browser suite completes.
|
|
71
|
+
|
|
72
|
+
## Learn More
|
|
73
|
+
|
|
74
|
+
- [Svelte SPA Router adapter](../../../api/@xmachines/play-svelte-spa-router/README.md)
|
|
75
|
+
- [Svelte renderer gallery](../play-svelte-gallery-demo/README.md)
|
|
76
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-svelte-spa-router-todomvc-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-svelte-spa-router-todomvc-demo
|
|
4
|
+
|
|
5
|
+
Svelte 5 + `svelte-spa-router` integration demo of the shared **TodoMVC** machine for the XMachines Play architecture, using hash-based URL routing.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- Shared TodoMVC machine reused without framework-specific business logic
|
|
12
|
+
- `connectRouter` hash-URL ↔ actor sync via [`@xmachines/play-svelte-spa-router`](../../../api/@xmachines/play-svelte-spa-router/README.md) — the filter states map to `#/`, `#/active`, and `#/completed`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-svelte-gallery-demo`](../play-svelte-gallery-demo/README.md) renderer gallery
|
|
14
|
+
- Actor-authoritative navigation: a hash 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-svelte-spa-router-todomvc-demo run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then open `http://localhost:3072`.
|
|
27
|
+
|
|
28
|
+
## Step-by-Step Code Flow
|
|
29
|
+
|
|
30
|
+
1. `src/main.ts` mounts `App.svelte` and registers HMR cleanup via `cleanup`.
|
|
31
|
+
2. `src/runtime.ts` creates the actor, builds the registry from `todoMvcCatalog` + `demoComponents` (both imported from [`@xmachines/play-svelte-gallery-demo`](../play-svelte-gallery-demo/README.md)), calls `createRouteMap(todoMvcMachine)`, and wires `connectRouter({ actor, routeMap })`.
|
|
32
|
+
3. `connectRouter` translates fragment changes into `play.route` events and reflects actor-approved routes back into `window.location.hash`.
|
|
33
|
+
4. `src/App.svelte` imports the singletons from `src/runtime.ts` and delegates to the gallery's shared `Shell.svelte`.
|
|
34
|
+
5. `Shell.svelte` renders `<PlayUIProvider>` + `<PlayRenderer />` plus the debug panel with the **Show Inspector** button.
|
|
35
|
+
6. Browser tests in `test/browser/` delegate to the shared TodoMVC router browser suite.
|
|
36
|
+
|
|
37
|
+
Everything in `src/runtime.ts` is a module singleton on purpose: `svelte-spa-router` holds its location in one module-level store and navigates by assigning `window.location.hash`, so exactly one bridge may own the fragment.
|
|
38
|
+
|
|
39
|
+
## Key Files
|
|
40
|
+
|
|
41
|
+
- `src/main.ts` - Svelte app mount and HMR cleanup registration
|
|
42
|
+
- `src/runtime.ts` - actor, registry, route map, and `connectRouter` wiring
|
|
43
|
+
- `src/App.svelte` - minimal root component delegating to the gallery's `Shell.svelte`
|
|
44
|
+
- `test/library-pattern.test.ts` - architecture boundary assertions over the source text
|
|
45
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared TodoMVC router browser suite
|
|
46
|
+
|
|
47
|
+
## Architecture Invariants
|
|
48
|
+
|
|
49
|
+
1. **Actor Authority:** A fragment change becomes a `play.route` event. The actor evaluates its guards and decides whether the navigation happens.
|
|
50
|
+
2. **Passive Infrastructure:** `svelte-spa-router` runs no business logic. It transports the URL; the machine owns the truth.
|
|
51
|
+
3. **State-Driven Reset:** An external fragment change to an invalid route is overwritten back from actor state — the URL always reflects the machine.
|
|
52
|
+
|
|
53
|
+
## Available Scripts
|
|
54
|
+
|
|
55
|
+
| Command | Description |
|
|
56
|
+
| ------------------------------------------------------------------------------- | ---------------------------------------------- |
|
|
57
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-todomvc-demo run dev` | Start Vite dev server (http://localhost:3072/) |
|
|
58
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-todomvc-demo run build` | Build production bundle |
|
|
59
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-todomvc-demo run preview` | Preview built bundle |
|
|
60
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-todomvc-demo run test` | Run Vitest test suite |
|
|
61
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-todomvc-demo run test:browser` | Run browser-focused Vitest suite |
|
|
62
|
+
|
|
63
|
+
## Verification
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
pnpm --filter @xmachines/play-svelte-spa-router-todomvc-demo run test
|
|
67
|
+
pnpm --filter @xmachines/play-svelte-spa-router-todomvc-demo run test:browser
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Expected result: the library-pattern invariants pass and the shared TodoMVC router browser suite completes.
|
|
71
|
+
|
|
72
|
+
## Learn More
|
|
73
|
+
|
|
74
|
+
- [Svelte SPA Router adapter](../../../api/@xmachines/play-svelte-spa-router/README.md)
|
|
75
|
+
- [Svelte renderer gallery](../play-svelte-gallery-demo/README.md)
|
|
76
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-svelte-spa-router-trivia-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-svelte-spa-router-trivia-demo
|
|
4
|
+
|
|
5
|
+
Svelte 5 + `svelte-spa-router` integration demo of the shared **Trivia** machine for the XMachines Play architecture, using hash-based URL routing.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- Shared Trivia machine reused without framework-specific business logic
|
|
12
|
+
- `connectRouter` hash-URL ↔ actor sync via [`@xmachines/play-svelte-spa-router`](../../../api/@xmachines/play-svelte-spa-router/README.md) — the game states map to `#/`, `#/trivia`, `#/win`, and `#/lose`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-svelte-gallery-demo`](../play-svelte-gallery-demo/README.md) renderer gallery
|
|
14
|
+
- Actor-authoritative navigation: a hash 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-svelte-spa-router-trivia-demo run dev
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then open `http://localhost:3073`.
|
|
27
|
+
|
|
28
|
+
## Step-by-Step Code Flow
|
|
29
|
+
|
|
30
|
+
1. `src/main.ts` mounts `App.svelte` and registers HMR cleanup via `cleanup`.
|
|
31
|
+
2. `src/runtime.ts` creates the actor, builds the registry from `triviaCatalog` + `demoComponents` (both imported from [`@xmachines/play-svelte-gallery-demo`](../play-svelte-gallery-demo/README.md)), calls `createRouteMap(triviaMachine)`, and wires `connectRouter({ actor, routeMap })`.
|
|
32
|
+
3. `connectRouter` translates fragment changes into `play.route` events and reflects actor-approved routes back into `window.location.hash`.
|
|
33
|
+
4. `src/App.svelte` imports the singletons from `src/runtime.ts` and delegates to the gallery's shared `Shell.svelte`.
|
|
34
|
+
5. `Shell.svelte` renders `<PlayUIProvider>` + `<PlayRenderer />` plus the debug panel with the **Show Inspector** button.
|
|
35
|
+
6. Browser tests in `test/browser/` delegate to the shared Trivia router browser suite.
|
|
36
|
+
|
|
37
|
+
Everything in `src/runtime.ts` is a module singleton on purpose: `svelte-spa-router` holds its location in one module-level store and navigates by assigning `window.location.hash`, so exactly one bridge may own the fragment.
|
|
38
|
+
|
|
39
|
+
## Key Files
|
|
40
|
+
|
|
41
|
+
- `src/main.ts` - Svelte app mount and HMR cleanup registration
|
|
42
|
+
- `src/runtime.ts` - actor, registry, route map, and `connectRouter` wiring
|
|
43
|
+
- `src/App.svelte` - minimal root component delegating to the gallery's `Shell.svelte`
|
|
44
|
+
- `test/library-pattern.test.ts` - architecture boundary assertions over the source text
|
|
45
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared Trivia router browser suite
|
|
46
|
+
|
|
47
|
+
## Architecture Invariants
|
|
48
|
+
|
|
49
|
+
1. **Actor Authority:** A fragment change becomes a `play.route` event. The actor evaluates its guards and decides whether the navigation happens.
|
|
50
|
+
2. **Passive Infrastructure:** `svelte-spa-router` runs no business logic. It transports the URL; the machine owns the truth.
|
|
51
|
+
3. **State-Driven Reset:** An external fragment change to an invalid route is overwritten back from actor state — the URL always reflects the machine.
|
|
52
|
+
|
|
53
|
+
## Available Scripts
|
|
54
|
+
|
|
55
|
+
| Command | Description |
|
|
56
|
+
| ------------------------------------------------------------------------------ | ---------------------------------------------- |
|
|
57
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-trivia-demo run dev` | Start Vite dev server (http://localhost:3073/) |
|
|
58
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-trivia-demo run build` | Build production bundle |
|
|
59
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-trivia-demo run preview` | Preview built bundle |
|
|
60
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-trivia-demo run test` | Run Vitest test suite |
|
|
61
|
+
| `pnpm --filter @xmachines/play-svelte-spa-router-trivia-demo run test:browser` | Run browser-focused Vitest suite |
|
|
62
|
+
|
|
63
|
+
## Verification
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
pnpm --filter @xmachines/play-svelte-spa-router-trivia-demo run test
|
|
67
|
+
pnpm --filter @xmachines/play-svelte-spa-router-trivia-demo run test:browser
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Expected result: the library-pattern invariants pass and the shared Trivia router browser suite completes.
|
|
71
|
+
|
|
72
|
+
## Learn More
|
|
73
|
+
|
|
74
|
+
- [Svelte SPA Router adapter](../../../api/@xmachines/play-svelte-spa-router/README.md)
|
|
75
|
+
- [Svelte renderer gallery](../play-svelte-gallery-demo/README.md)
|
|
76
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -8,8 +8,8 @@ Svelte 5 + SvelteKit router adapter integration demo for the XMachines Play arch
|
|
|
8
8
|
|
|
9
9
|
## What This Demonstrates
|
|
10
10
|
|
|
11
|
-
- Shared auth machine reused without framework-specific business logic
|
|
12
|
-
- `connectRouter` pathname URL ↔ actor sync via [`@xmachines/play-sveltekit-router`](../../../api/@xmachines/play-sveltekit-router/README.md)
|
|
11
|
+
- Shared auth machine (the login wall: `/`, `/login`, and the protected `/dashboard`) reused without framework-specific business logic
|
|
12
|
+
- `connectRouter` pathname URL ↔ actor sync via [`@xmachines/play-sveltekit-router`](../../../api/@xmachines/play-sveltekit-router/README.md) — a deep link to `/dashboard` is bounced to `/login` by the machine's `always` guard
|
|
13
13
|
- Shell-driven rendering via `PlayUIProvider` + `PlayRenderer` with actor-authoritative navigation
|
|
14
14
|
- Canonical atoms lifecycle integrated with Svelte 5 runes
|
|
15
15
|
- Non-browser invariant tests plus browser E2E coverage
|
|
@@ -33,8 +33,8 @@ Use this order to understand the implementation:
|
|
|
33
33
|
1. `src/main.ts` mounts `App.svelte` and registers HMR cleanup via `cleanup`.
|
|
34
34
|
2. `src/runtime.ts` creates the actor, builds the registry, calls `createRouteMap(authMachine)`, and wires `connectRouter({ actor, routeMap })`.
|
|
35
35
|
3. `connectRouter` synchronizes browser pathname changes with the actor via `play.route` events and reflects actor-approved routes back to the pathname URL.
|
|
36
|
-
4. `src/App.svelte` imports the singleton `actor`, `registryResult`, and `inspector` from `src/runtime.ts` and delegates to the
|
|
37
|
-
5. `Shell.svelte` renders `<PlayUIProvider>` + `<PlayRenderer />` with the actor and registryResult and provides the shared UI shell (
|
|
36
|
+
4. `src/App.svelte` imports the singleton `actor`, `registryResult`, and `inspector` from `src/runtime.ts` and delegates to the Svelte gallery's `Shell.svelte`.
|
|
37
|
+
5. `Shell.svelte` renders `<PlayUIProvider>` + `<PlayRenderer />` with the actor and registryResult and provides the shared UI shell (header plus the debug panel with the **Show Inspector** button). There is no nav bar: the machine's own specs carry the navigation buttons.
|
|
38
38
|
6. Browser tests in `test/browser/` validate startup and auth route transitions.
|
|
39
39
|
|
|
40
40
|
```ts fragment
|
|
@@ -60,7 +60,7 @@ export function cleanup(): void {
|
|
|
60
60
|
```svelte
|
|
61
61
|
<!-- src/App.svelte (shape) -->
|
|
62
62
|
<script lang="ts">
|
|
63
|
-
import { Shell } from "@xmachines/play-svelte-demo";
|
|
63
|
+
import { Shell } from "@xmachines/play-svelte-gallery-demo";
|
|
64
64
|
import { actor, inspector, registryResult } from "./runtime.js";
|
|
65
65
|
</script>
|
|
66
66
|
|
|
@@ -69,7 +69,7 @@ export function cleanup(): void {
|
|
|
69
69
|
|
|
70
70
|
```svelte
|
|
71
71
|
<!-- Shell.svelte — rendering (shape) -->
|
|
72
|
-
<PlayUIProvider
|
|
72
|
+
<PlayUIProvider {actor} {registryResult}>
|
|
73
73
|
<PlayRenderer />
|
|
74
74
|
</PlayUIProvider>
|
|
75
75
|
```
|
|
@@ -80,7 +80,7 @@ export function cleanup(): void {
|
|
|
80
80
|
- `src/runtime.ts` - actor creation, registry construction, route map, and `connectRouter` wiring
|
|
81
81
|
- `src/lib/navigation.ts` - History API shim implementing SvelteKit's `$app/navigation` contract for Vite dev and production builds
|
|
82
82
|
- `src/app-navigation.d.ts` - TypeScript ambient declaration for the `$app/navigation` module
|
|
83
|
-
- `src/App.svelte` - minimal root component delegating to
|
|
83
|
+
- `src/App.svelte` - minimal root component delegating to the gallery's `Shell.svelte`
|
|
84
84
|
- `test/library-pattern.test.ts` - architecture boundary and invariant assertions
|
|
85
85
|
- `test/browser/shared-demo.browser.test.ts` - browser startup and auth route flow coverage
|
|
86
86
|
|
|
@@ -104,7 +104,7 @@ One subscription lives for the whole watch, and no caller arms a watcher again.
|
|
|
104
104
|
|
|
105
105
|
## Adapter Boundaries
|
|
106
106
|
|
|
107
|
-
`connectRouter` (from [`@xmachines/play-sveltekit-router`](../../../api/@xmachines/play-sveltekit-router/README.md)) is passive infrastructure. It translates pathname URL changes into `play.route` events and reflects actor-approved route changes back to the browser pathname. Business validity remains actor-owned. The
|
|
107
|
+
`connectRouter` (from [`@xmachines/play-sveltekit-router`](../../../api/@xmachines/play-sveltekit-router/README.md)) is passive infrastructure. It translates pathname URL changes into `play.route` events and reflects actor-approved route changes back to the browser pathname. Business validity remains actor-owned. The `Shell.svelte`, the built `authCatalog`, and the five-component kit all come from [`@xmachines/play-svelte-gallery-demo`](../play-svelte-gallery-demo/README.md), so no view component is duplicated across the Svelte demos.
|
|
108
108
|
|
|
109
109
|
The `$app/navigation` module is shimmed by `src/lib/navigation.ts` using the History API, so the demo runs outside a full SvelteKit project (plain Vite dev server and production build).
|
|
110
110
|
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-sveltekit-router-donut-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-sveltekit-router-donut-demo
|
|
4
|
+
|
|
5
|
+
Svelte 5 + SvelteKit router integration demo of the shared **donut** machine for the XMachines Play architecture, using browser pathname URL routing.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- Shared donut machine reused without framework-specific business logic
|
|
12
|
+
- `connectRouter` pathname URL ↔ actor sync via [`@xmachines/play-sveltekit-router`](../../../api/@xmachines/play-sveltekit-router/README.md) — 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-svelte-gallery-demo`](../play-svelte-gallery-demo/README.md) renderer gallery
|
|
14
|
+
- Actor-authoritative navigation: a deep link to a step whose prerequisites are unmet cascades back through the guard chain and the URL is overwritten (State-Driven Reset)
|
|
15
|
+
- Snapshot persistence: the actor snapshot is stored on every transition and resumed on reload, with a **Reset saved donut** header button to drop it
|
|
16
|
+
- Atom lifecycle integrated with Svelte 5 runes
|
|
17
|
+
- Stately inspector attached at creation via `options.inspect` — the debug panel's **Show Inspector** button opens the live machine in its own window
|
|
18
|
+
|
|
19
|
+
## Running the Demo
|
|
20
|
+
|
|
21
|
+
From the repository root:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
pnpm install
|
|
25
|
+
pnpm --filter @xmachines/play-sveltekit-router-donut-demo run dev
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Then open `http://localhost:3078`.
|
|
29
|
+
|
|
30
|
+
## Step-by-Step Code Flow
|
|
31
|
+
|
|
32
|
+
1. `src/main.ts` mounts `App.svelte` and registers HMR cleanup via `cleanup`.
|
|
33
|
+
2. `src/runtime.ts` loads any stored snapshot, creates the actor through `createResumedPlayer()`, builds the registry from `donutCatalog` + `demoComponents`, calls `createRouteMap(donutMachine)`, and wires `connectRouter({ actor, routeMap })`.
|
|
34
|
+
3. `connectRouter` translates SvelteKit `afterNavigate` notifications into `play.route` events and reflects actor-approved routes back through `goto`.
|
|
35
|
+
4. `src/App.svelte` imports the singleton `actor`, `registryResult`, and `inspector` from `src/runtime.ts` and delegates to the gallery's `Shell.svelte`.
|
|
36
|
+
5. `Shell.svelte` renders `<PlayUIProvider>` + `<PlayRenderer />` plus the `DebugPanel` with the **Show Inspector** button.
|
|
37
|
+
6. Browser tests in `test/browser/` delegate to the shared donut router browser suite.
|
|
38
|
+
|
|
39
|
+
## Snapshot Persistence
|
|
40
|
+
|
|
41
|
+
The gallery creates a fresh actor per selection, so persistence belongs to this demo, which owns exactly one donut actor:
|
|
42
|
+
|
|
43
|
+
- `definePlayer({ machine: donutMachine, options: { inspect, onTransition } })` — `onTransition` calls `saveDonutSnapshot(actor)`, writing `actor.getPersistedSnapshot()` to `localStorage` after every processed event.
|
|
44
|
+
- `createResumedPlayer()` reads `loadDonutSnapshot()` and passes it through the player factory's resume options — `createDemoPlayer(undefined, { snapshot })`. An absent snapshot (`null`) becomes `undefined`, which starts the machine from its initial state.
|
|
45
|
+
- `resetSavedDonut()` calls `clearDonutSnapshot()` and reloads, wired to the `data-demo-id="reset-snapshot"` button that this demo passes into the Shell's `nav` snippet.
|
|
46
|
+
|
|
47
|
+
All three helpers come from `@xmachines/play-actor-shared` and degrade to no-ops outside a browser.
|
|
48
|
+
|
|
49
|
+
```svelte
|
|
50
|
+
<!-- src/App.svelte (shape) -->
|
|
51
|
+
<Shell {actor} {registryResult} {inspector}>
|
|
52
|
+
{#snippet nav()}
|
|
53
|
+
<button type="button" class="button" data-demo-id="reset-snapshot" onclick={resetSavedDonut}>
|
|
54
|
+
Reset saved donut
|
|
55
|
+
</button>
|
|
56
|
+
{/snippet}
|
|
57
|
+
</Shell>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Key Files
|
|
61
|
+
|
|
62
|
+
- `src/main.ts` - Svelte app mount and HMR cleanup registration
|
|
63
|
+
- `src/runtime.ts` - actor with persistence hooks, registry, route map, and `connectRouter` wiring
|
|
64
|
+
- `src/App.svelte` - hands the actor to the gallery `Shell` and fills its `nav` snippet with the reset-snapshot button
|
|
65
|
+
- `src/lib/navigation.ts` - History API shim implementing SvelteKit's `$app/navigation` contract for Vite dev and production builds
|
|
66
|
+
- `src/app-navigation.d.ts` - TypeScript ambient declaration for the `$app/navigation` module
|
|
67
|
+
- `test/library-pattern.test.ts` - architecture boundary and route-map invariant assertions
|
|
68
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared donut router browser suite
|
|
69
|
+
|
|
70
|
+
## Architecture Invariants
|
|
71
|
+
|
|
72
|
+
1. **Actor Authority:** A URL change becomes a `play.route` event. The actor evaluates it against its own guards and decides whether the navigation happens.
|
|
73
|
+
2. **Passive Infrastructure:** The SvelteKit router adapter executes no business logic — it only translates and reflects.
|
|
74
|
+
3. **State-Driven Reset:** An external history change to an invalid route is overwritten back from actor state; the URL always reflects the machine.
|
|
75
|
+
|
|
76
|
+
## Adapter Boundaries
|
|
77
|
+
|
|
78
|
+
`connectRouter` (from [`@xmachines/play-sveltekit-router`](../../../api/@xmachines/play-sveltekit-router/README.md)) is passive infrastructure. The `$app/navigation` module is shimmed by `src/lib/navigation.ts` using the History API, so the demo runs outside a full SvelteKit project (plain Vite dev server and production build).
|
|
79
|
+
|
|
80
|
+
## Available Scripts
|
|
81
|
+
|
|
82
|
+
| Command | Description |
|
|
83
|
+
| ---------------------------------------------------------------------------- | ---------------------------------------------- |
|
|
84
|
+
| `pnpm --filter @xmachines/play-sveltekit-router-donut-demo run dev` | Start Vite dev server (http://localhost:3078/) |
|
|
85
|
+
| `pnpm --filter @xmachines/play-sveltekit-router-donut-demo run build` | Build production bundle |
|
|
86
|
+
| `pnpm --filter @xmachines/play-sveltekit-router-donut-demo run preview` | Preview built bundle |
|
|
87
|
+
| `pnpm --filter @xmachines/play-sveltekit-router-donut-demo run test` | Run Vitest test suite |
|
|
88
|
+
| `pnpm --filter @xmachines/play-sveltekit-router-donut-demo run test:browser` | Run browser-focused Vitest suite |
|
|
89
|
+
|
|
90
|
+
## Verification
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
pnpm --filter @xmachines/play-sveltekit-router-donut-demo run test
|
|
94
|
+
pnpm --filter @xmachines/play-sveltekit-router-donut-demo run test:browser
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Expected result: the library-pattern invariants pass and the shared donut router browser suite completes.
|
|
98
|
+
|
|
99
|
+
## Learn More
|
|
100
|
+
|
|
101
|
+
- [SvelteKit Router adapter](../../../api/@xmachines/play-sveltekit-router/README.md)
|
|
102
|
+
- [Svelte renderer gallery](../play-svelte-gallery-demo/README.md)
|
|
103
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
[Examples](../../README.md) / @xmachines/play-sveltekit-router-flight-demo
|
|
2
|
+
|
|
3
|
+
# @xmachines/play-sveltekit-router-flight-demo
|
|
4
|
+
|
|
5
|
+
Svelte 5 + SvelteKit router integration demo of the shared **flight-booking** machine for the XMachines Play architecture, using browser pathname URL routing.
|
|
6
|
+
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
## What This Demonstrates
|
|
10
|
+
|
|
11
|
+
- Shared flight-booking machine reused without framework-specific business logic
|
|
12
|
+
- `connectRouter` pathname URL ↔ actor sync via [`@xmachines/play-sveltekit-router`](../../../api/@xmachines/play-sveltekit-router/README.md) — the wizard steps map to `/`, `/dates`, `/review`, `/submitting`, and `/booked`
|
|
13
|
+
- Shell, catalog, and component kit imported from the workspace-only [`@xmachines/play-svelte-gallery-demo`](../play-svelte-gallery-demo/README.md) renderer gallery
|
|
14
|
+
- Actor-authoritative navigation: a deep link to `/booked` without a confirmation is bounced back to `/` (State-Driven Reset)
|
|
15
|
+
- Atom lifecycle integrated with Svelte 5 runes
|
|
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-sveltekit-router-flight-demo run dev
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Then open `http://localhost:3079`.
|
|
28
|
+
|
|
29
|
+
## Step-by-Step Code Flow
|
|
30
|
+
|
|
31
|
+
1. `src/main.ts` mounts `App.svelte` and registers HMR cleanup via `cleanup`.
|
|
32
|
+
2. `src/runtime.ts` creates the actor, builds the registry from `flightCatalog` + `demoComponents`, calls `createRouteMap(flightMachine)`, and wires `connectRouter({ actor, routeMap })`.
|
|
33
|
+
3. `connectRouter` translates SvelteKit `afterNavigate` notifications into `play.route` events and reflects actor-approved routes back through `goto`.
|
|
34
|
+
4. `src/App.svelte` imports the singleton `actor`, `registryResult`, and `inspector` from `src/runtime.ts` and delegates to the gallery's `Shell.svelte`.
|
|
35
|
+
5. `Shell.svelte` renders `<PlayUIProvider>` + `<PlayRenderer />` plus the `DebugPanel` with the **Show Inspector** button.
|
|
36
|
+
6. Browser tests in `test/browser/` delegate to the shared flight router browser suite.
|
|
37
|
+
|
|
38
|
+
```svelte
|
|
39
|
+
<!-- src/App.svelte (shape) -->
|
|
40
|
+
<Shell {actor} {registryResult} {inspector} />
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Key Files
|
|
44
|
+
|
|
45
|
+
- `src/main.ts` - Svelte app mount and HMR cleanup registration
|
|
46
|
+
- `src/runtime.ts` - actor creation, registry construction, route map, and `connectRouter` wiring
|
|
47
|
+
- `src/App.svelte` - minimal root component delegating to the shared gallery `Shell.svelte`
|
|
48
|
+
- `src/lib/navigation.ts` - History API shim implementing SvelteKit's `$app/navigation` contract for Vite dev and production builds
|
|
49
|
+
- `src/app-navigation.d.ts` - TypeScript ambient declaration for the `$app/navigation` module
|
|
50
|
+
- `test/library-pattern.test.ts` - architecture boundary and route-map invariant assertions
|
|
51
|
+
- `test/browser/shared-demo.browser.test.ts` - delegates to the shared flight router browser suite
|
|
52
|
+
|
|
53
|
+
## Architecture Invariants
|
|
54
|
+
|
|
55
|
+
1. **Actor Authority:** A URL change becomes a `play.route` event. The actor evaluates it against its own guards and decides whether the navigation happens.
|
|
56
|
+
2. **Passive Infrastructure:** The SvelteKit router adapter executes no business logic — it only translates and reflects.
|
|
57
|
+
3. **State-Driven Reset:** An external history change to an invalid route is overwritten back from actor state; the URL always reflects the machine.
|
|
58
|
+
|
|
59
|
+
## Adapter Boundaries
|
|
60
|
+
|
|
61
|
+
`connectRouter` (from [`@xmachines/play-sveltekit-router`](../../../api/@xmachines/play-sveltekit-router/README.md)) is passive infrastructure. The `$app/navigation` module is shimmed by `src/lib/navigation.ts` using the History API, so the demo runs outside a full SvelteKit project (plain Vite dev server and production build).
|
|
62
|
+
|
|
63
|
+
## Available Scripts
|
|
64
|
+
|
|
65
|
+
| Command | Description |
|
|
66
|
+
| ----------------------------------------------------------------------------- | ---------------------------------------------- |
|
|
67
|
+
| `pnpm --filter @xmachines/play-sveltekit-router-flight-demo run dev` | Start Vite dev server (http://localhost:3079/) |
|
|
68
|
+
| `pnpm --filter @xmachines/play-sveltekit-router-flight-demo run build` | Build production bundle |
|
|
69
|
+
| `pnpm --filter @xmachines/play-sveltekit-router-flight-demo run preview` | Preview built bundle |
|
|
70
|
+
| `pnpm --filter @xmachines/play-sveltekit-router-flight-demo run test` | Run Vitest test suite |
|
|
71
|
+
| `pnpm --filter @xmachines/play-sveltekit-router-flight-demo run test:browser` | Run browser-focused Vitest suite |
|
|
72
|
+
|
|
73
|
+
## Verification
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
pnpm --filter @xmachines/play-sveltekit-router-flight-demo run test
|
|
77
|
+
pnpm --filter @xmachines/play-sveltekit-router-flight-demo run test:browser
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Expected result: the library-pattern invariants pass and the shared flight router browser suite completes.
|
|
81
|
+
|
|
82
|
+
## Learn More
|
|
83
|
+
|
|
84
|
+
- [SvelteKit Router adapter](../../../api/@xmachines/play-sveltekit-router/README.md)
|
|
85
|
+
- [Svelte renderer gallery](../play-svelte-gallery-demo/README.md)
|
|
86
|
+
- [Inspecting a Running Actor](../../../guides/inspector.md)
|