/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
import type { LexicalEditor } from 'lexical';
import * as React from 'react';
/**
* Props for the {@link ContentEditableElement} component. In addition to an
* `editor`, it accepts the standard `
` HTML attributes (except
* `placeholder`), including the hyphenated `aria-*` attributes, which are the
* preferred way to set ARIA properties. The camelCase `aria*` props (such as
* `ariaLabel`) are also accepted but are retained only for backwards
* compatibility.
*/
export type ContentEditableElementProps = {
editor: LexicalEditor;
ariaActiveDescendant?: React.AriaAttributes['aria-activedescendant'];
ariaAutoComplete?: React.AriaAttributes['aria-autocomplete'];
ariaControls?: React.AriaAttributes['aria-controls'];
ariaDescribedBy?: React.AriaAttributes['aria-describedby'];
ariaErrorMessage?: React.AriaAttributes['aria-errormessage'];
ariaExpanded?: React.AriaAttributes['aria-expanded'];
ariaInvalid?: React.AriaAttributes['aria-invalid'];
ariaLabel?: React.AriaAttributes['aria-label'];
ariaLabelledBy?: React.AriaAttributes['aria-labelledby'];
ariaMultiline?: React.AriaAttributes['aria-multiline'];
ariaOwns?: React.AriaAttributes['aria-owns'];
ariaRequired?: React.AriaAttributes['aria-required'];
autoCapitalize?: HTMLDivElement['autocapitalize'];
'data-testid'?: string | null | undefined;
} & Omit
, 'placeholder'>;
/**
* A lower-level building block for the editor's editable ``. It binds the
* given `editor` to the rendered element via
* {@link LexicalEditor.setRootElement}, reflects the editor's editable state on
* the `contentEditable` attribute, and applies the provided ARIA and HTML
* attributes. Prefer {@link ContentEditable}, which reads the editor from
* context and adds placeholder support, unless you need this extra control.
*/
export declare const ContentEditableElement: React.ForwardRefExoticComponent<{
editor: LexicalEditor;
ariaActiveDescendant?: React.AriaAttributes["aria-activedescendant"];
ariaAutoComplete?: React.AriaAttributes["aria-autocomplete"];
ariaControls?: React.AriaAttributes["aria-controls"];
ariaDescribedBy?: React.AriaAttributes["aria-describedby"];
ariaErrorMessage?: React.AriaAttributes["aria-errormessage"];
ariaExpanded?: React.AriaAttributes["aria-expanded"];
ariaInvalid?: React.AriaAttributes["aria-invalid"];
ariaLabel?: React.AriaAttributes["aria-label"];
ariaLabelledBy?: React.AriaAttributes["aria-labelledby"];
ariaMultiline?: React.AriaAttributes["aria-multiline"];
ariaOwns?: React.AriaAttributes["aria-owns"];
ariaRequired?: React.AriaAttributes["aria-required"];
autoCapitalize?: HTMLDivElement["autocapitalize"];
'data-testid'?: string | null | undefined;
} & Omit, "placeholder"> & React.RefAttributes>;