matrix-react-sdk
Version:
SDK for matrix.org using React
42 lines (41 loc) • 1.22 kB
TypeScript
import React, { ChangeEvent } from "react";
import { ButtonEvent } from "./AccessibleButton";
interface IItemProps {
index: number;
value?: string;
onRemove?(index: number): void;
}
interface IItemState {
verifyRemove: boolean;
}
export declare class EditableItem extends React.Component<IItemProps, IItemState> {
state: {
verifyRemove: boolean;
};
private onRemove;
private onDontRemove;
private onActuallyRemove;
render(): React.ReactNode;
}
interface IProps {
id: string;
items: string[];
itemsLabel?: string;
noItemsLabel?: string;
placeholder?: string;
newItem?: string;
canEdit?: boolean;
canRemove?: boolean;
suggestionsListId?: string;
onItemAdded?(item?: string): void;
onItemRemoved?(index: number): void;
onNewItemChanged?(item: string): void;
}
export default class EditableItemList<P = {}> extends React.PureComponent<IProps & P> {
protected onItemAdded: (e: ButtonEvent) => void;
protected onItemRemoved: (index: number) => void;
protected onNewItemChanged: (e: ChangeEvent<HTMLInputElement>) => void;
protected renderNewItemField(): JSX.Element;
render(): React.ReactNode;
}
export {};