import "./markdown_toolbar.css"; import type * as React from "react"; import { Toolbar } from "@base-ui/react/toolbar"; import type { MarkdownEditorHandle } from "@lotics/markdown-editor/editor_view"; import { type StyleProps } from "./style_props"; interface MarkdownToolbarProps extends StyleProps { handle: MarkdownEditorHandle | null; disabled?: boolean; /** * The band's accessible name. Defaults to the `markdownToolbar` locale slice's * `label`, because a `role="toolbar"` announces as nothing unnamed and this * band's function is fixed — pass one only where a page carries two. */ "aria-label"?: string; testID?: string; ref?: React.Ref; render?: Toolbar.Root.Props["render"]; } /** * The formatting band. * * It renders whether or not there is an editor behind it yet, and whether or not * that editor is enabled — the buttons simply go inert. Presence belongs to the * caller (`MarkdownEditor`'s `toolbar`), never to a state that changes while the * reader is looking: a band that arrives when the view mounts, or when the field * gains focus, moves everything under it at exactly the moment attention is * there. * * It IS a Base UI `Toolbar`, and it is the shape that test permits: one function * across every control on it, and no text field. A band carrying a text field * takes no Toolbar — a composite selects the field's whole value the moment * focus lands anywhere inside it and claims the arrow keys at either end of the * caret. */ export declare function MarkdownToolbar(props: MarkdownToolbarProps): React.JSX.Element; export {};