react-controlled-contenteditable
Version:
على عكس الحزم الأخرى ، فإن مكوّن ContentEditable هذا يمكن التحكم فيه بالكامل. مع القدرة على التنقل عبر عناصر html للتنسيق المتداخلة باستخدام مفاتيح الأسهم. وخلافا لحزمة [react-contenteditable ](https://github.com/lovasoa/react-contenteditable) تستطيع اس
24 lines (21 loc) • 899 B
TypeScript
import React, { HTMLAttributes } from 'react';
declare type ContentEditableEvent = React.SyntheticEvent<HTMLElement, Event> & {
target: {
value: string;
};
};
declare type KeyDownEvent = React.KeyboardEvent<HTMLElement> & {
isComposing: boolean;
};
declare type Modify<T, R, R2> = Pick<T, Exclude<keyof T, keyof R> & Exclude<keyof T, keyof R2>> & R & R2;
declare type DivProps = Modify<HTMLAttributes<HTMLElement>, {
onChange: (event: ContentEditableEvent) => void;
}, {
onKeyDown?: (event: KeyDownEvent) => void;
}>;
interface ContentEditableProps extends DivProps {
tagName?: string;
html: string;
}
declare const ContentEditable: React.MemoExoticComponent<React.ForwardRefExoticComponent<ContentEditableProps & React.RefAttributes<unknown>>>;
export { ContentEditableEvent, ContentEditableProps, KeyDownEvent, ContentEditable as default };