UNPKG

@activecollab/components

Version:

ActiveCollab Components

35 lines 1.81 kB
import React, { ReactElement, ReactNode } from "react"; import { PortableTextComponents } from "../../components/PortableText"; /** * The in-app message dialog, as a Presentation mock. * * Two pieces, mirroring how the product is split: * * - {@link MessageDialog} — the hollow dialog shell (width, closing, * feedback), built only from design-system parts. In the product this shell * lives in the application as `InAppMessageDialog`. * - {@link messageComponents} — a demo message element catalog injected into * the design-system Portable Text engine, exactly like the typed cards * injected into the hollow StackedCard shell. In the product the catalog is * application code; the presentation ships this demo copy so the stories * need no app imports. */ export type MessageDialogSize = "sm" | "md" | "lg"; export interface MessageDialogProps { open: boolean; onClose: () => void; size?: MessageDialogSize; /** Supplying a handler shows the centred helpful / not-helpful vote. */ onVote?: (vote: "up" | "down") => void; children: ReactNode; } export declare const MessageDialog: ({ open, onClose, size, onVote, children, }: MessageDialogProps) => ReactElement; /** How a doc-link mark opens its article (by a slug-like reference). The surface that renders the message supplies the handler — in the product it closes the dialog and opens the article Sheet. */ export type OpenArticleHandler = (article?: string) => void; export declare const DocLinkContext: React.Context<OpenArticleHandler>; /** The demo catalog the presentations inject into the Portable Text engine — the stand-in for the application's `messageComponents` map. */ export declare const messageComponents: PortableTextComponents; //# sourceMappingURL=MessageDialog.d.ts.map