DocsAPI referenceUI machineshover-card

hover-card machine

The public state machine contract for @grassroot/ui-machines/hover-card. The machine owns behaviour; the matching headless layer owns composition.

@grassroot/ui-machines/hover-card

Package

14 exports
View source packages/ui-machines/src/hover-card/index.ts

Service example

hover-card.tsts
import { createService } from "@grassroot/statechart";
import { hoverCardMachine } from "@grassroot/ui-machines/hover-card";
const service = createService(hoverCardMachine, { input: {} });
service.start();
service.send({ type: "…" });
service.stop();

Exports

DeclarationView source
HoverCardChangeReasonts
type HoverCardChangeReason = HoverCardOpenReason | HoverCardCloseReason;
DeclarationView source
HoverCardCloseReasonts
type HoverCardCloseReason = "escape" | "outside-click" | "pointer" | "focus" | "delay" | "programmatic";
DeclarationView source
HoverCardCommandts
type HoverCardCommand = (CommandObject & {
readonly type: "OPEN_CHANGE_REQUEST";
readonly open: boolean;
readonly reason: HoverCardChangeReason;
}) | ScheduleCommand<HoverCardEvent> | CancelCommand;
DeclarationView source
HoverCardContextts
type HoverCardContext = PopoverContext;
DeclarationView source
HoverCardDiagnosticCodests
export declare const HoverCardDiagnosticCodes: readonly DiagnosticCatalogueEntry[];
DeclarationView source
HoverCardEventts
type HoverCardEvent = {
readonly type: "POINTER_ENTER";
} | {
readonly type: "POINTER_LEAVE";
} | {
readonly type: "FOCUS";
} | {
readonly type: "BLUR";
} | {
readonly type: "OPEN";
readonly reason: HoverCardOpenReason | "delay";
} | {
readonly type: "CLOSE";
readonly reason: HoverCardCloseReason;
};
DeclarationView source
HoverCardInputts
type HoverCardInput = Omit<PopoverInput, "align"> & {
/** Delay before an uncontested pointer-enter opens. Default 200. */
readonly openDelayMs?: number;
/** Delay before a pointer-leave closes. Default 120. */
readonly closeDelayMs?: number;
};
Name
Kind
Type
Requirement
Description
closeDelayMs
property
number
optional
Delay before a pointer-leave closes. Default 120.
openDelayMs
property
number
optional
Delay before an uncontested pointer-enter opens. Default 200.
Name
closeDelayMs
Kind
property
Type
number
Requirement
optional
Description
Delay before a pointer-leave closes. Default 120.
Name
openDelayMs
Kind
property
Type
number
Requirement
optional
Description
Delay before an uncontested pointer-enter opens. Default 200.
DeclarationView source
hoverCardMachinets
export declare const hoverCardMachine: HoverCardMachine;
DeclarationView source
HoverCardMachinets
type HoverCardMachine = Machine<HoverCardInput, HoverCardStateValue, HoverCardContext, HoverCardEvent, HoverCardCommand>;
DeclarationView source
HoverCardOpenReasonts
type HoverCardOpenReason = "pointer" | "focus" | "programmatic";
DeclarationView source
hoverCardReplaySequencets
export declare const hoverCardReplaySequence: readonly HoverCardEvent[];
DeclarationView source
hoverCardSelectorsts
export declare const hoverCardSelectors: {
open: (snapshot: HoverCardSnapshot) => boolean;
};
Name
Kind
Type
Requirement
open
property
(snapshot: HoverCardSnapshot) => boolean
required
Name
open
Kind
property
Type
(snapshot: HoverCardSnapshot) => boolean
Requirement
required
DeclarationView source
HoverCardSnapshotts
type HoverCardSnapshot = Snapshot<HoverCardStateValue, HoverCardContext>;
DeclarationView source
HoverCardStateValuets
type HoverCardStateValue = PopoverStateValue;