DocsAPI referenceUI machineswishlist-button

wishlist-button machine

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

@grassroot/ui-machines/wishlist-button

Package

10 exports
View source packages/ui-machines/src/wishlist-button/index.ts

Service example

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

Exports

DeclarationView source
WishlistButtonCommandts
type ToggleButtonCommand = CommandObject & {
readonly type: "PRESSED_CHANGE_REQUEST";
readonly pressed: boolean;
readonly reason: ToggleButtonReason;
};
Name
Kind
Type
Requirement
pressed
property
boolean
required
reason
property
ToggleButtonReason
required
type
property
string
required
Name
pressed
Kind
property
Type
boolean
Requirement
required
Name
reason
Kind
property
Type
ToggleButtonReason
Requirement
required
Name
type
Kind
property
Type
string
Requirement
required
DeclarationView source
WishlistButtonContextts
type ToggleButtonContext = {
readonly mode: BindingMode;
readonly pressed: boolean;
};
Name
Kind
Type
Requirement
mode
property
BindingMode
required
pressed
property
boolean
required
Name
mode
Kind
property
Type
BindingMode
Requirement
required
Name
pressed
Kind
property
Type
boolean
Requirement
required
DeclarationView source
WishlistButtonDiagnosticCodests
export declare const WishlistButtonDiagnosticCodes: readonly DiagnosticCatalogueEntry[];
DeclarationView source
WishlistButtonEventts
type ToggleButtonEvent = {
readonly type: "PRESS";
readonly reason: ToggleButtonReason;
} | {
readonly type: "RESET";
};
DeclarationView source
WishlistButtonInputts
type ToggleButtonInput = {
readonly pressed?: boolean;
readonly defaultPressed?: boolean;
readonly disabled?: boolean;
};
Name
Kind
Type
Requirement
defaultPressed
property
boolean
optional
disabled
property
boolean
optional
pressed
property
boolean
optional
Name
defaultPressed
Kind
property
Type
boolean
Requirement
optional
Name
disabled
Kind
property
Type
boolean
Requirement
optional
Name
pressed
Kind
property
Type
boolean
Requirement
optional
DeclarationView source
wishlistButtonMachinets
export declare const wishlistButtonMachine: Machine<ToggleButtonInput, "ready", ToggleButtonContext, ToggleButtonEvent, ToggleButtonCommand>;
DeclarationView source
WishlistButtonReasonts
type ToggleButtonReason = "pointer" | "keyboard" | "programmatic";
DeclarationView source
wishlistButtonReplaySequencets
export declare const wishlistButtonReplaySequence: readonly ToggleButtonEvent[];
DeclarationView source
wishlistButtonSelectorsts
export declare const wishlistButtonSelectors: {
pressed: (snapshot: ToggleButtonSnapshot) => boolean;
};
Name
Kind
Type
Requirement
pressed
property
(snapshot: ToggleButtonSnapshot) => boolean
required
Name
pressed
Kind
property
Type
(snapshot: ToggleButtonSnapshot) => boolean
Requirement
required
DeclarationView source
WishlistButtonSnapshotts
type ToggleButtonSnapshot = Snapshot<"ready", ToggleButtonContext>;