accounts
Version:
Tempo Accounts SDK
34 lines • 1.75 kB
TypeScript
import type * as CoreRemote from '../core/Remote.js';
/** Monitors element visibility using IntersectionObserver v2. */
export declare function useEnsureVisibility(remote: CoreRemote.Remote, options?: useEnsureVisibility.Options): useEnsureVisibility.ReturnType;
/** React hook to select state from a remote context's store. */
export declare function useState(remote: CoreRemote.Remote): CoreRemote.State;
export declare function useState<selected>(remote: CoreRemote.Remote, selector: (state: CoreRemote.State) => selected): selected;
/** Applies theme overrides from URL search params and live messenger updates. */
export declare function useTheme(remote?: CoreRemote.Remote | undefined): void;
export declare namespace useEnsureVisibility {
type Options = {
/** Whether visibility monitoring is enabled. @default true */
enabled?: boolean | undefined;
/**
* Override how the popup switch is requested when the element is
* occluded (e.g. a wata session notification). @default Sends the
* bespoke `switch-mode` message through the remote messenger.
*/
invokePopup?: (() => void) | undefined;
/**
* Override the consumer origin used for the trusted-host check (e.g.
* a wata session's pinned origin). @default The remote store origin.
*/
origin?: string | undefined;
};
type ReturnType = {
/** Requests the host switch to a popup dialog. */
invokePopup: () => void;
/** Ref to attach to the element being monitored. */
ref: React.RefObject<HTMLDivElement | null>;
/** Whether the element is currently visible. */
visible: boolean;
};
}
//# sourceMappingURL=Remote.d.ts.map