matrix-react-sdk
Version:
SDK for matrix.org using React
43 lines (42 loc) • 1.64 kB
TypeScript
import React from "react";
import { IState as IRovingTabIndexState } from "../../../accessibility/RovingTabIndex";
import MatrixClientContext from "../../../contexts/MatrixClientContext";
import { ITagMap } from "../../../stores/room-list/algorithms/models";
import { TagID } from "../../../stores/room-list/models";
import { ISuggestedRoom, SpaceKey } from "../../../stores/spaces";
import ResizeNotifier from "../../../utils/ResizeNotifier";
interface IProps {
onKeyDown: (ev: React.KeyboardEvent, state: IRovingTabIndexState) => void;
onFocus: (ev: React.FocusEvent) => void;
onBlur: (ev: React.FocusEvent) => void;
onResize: () => void;
onListCollapse?: (isExpanded: boolean) => void;
resizeNotifier: ResizeNotifier;
isMinimized: boolean;
activeSpace: SpaceKey;
}
interface IState {
sublists: ITagMap;
currentRoomId?: string;
suggestedRooms: ISuggestedRoom[];
}
export declare const TAG_ORDER: TagID[];
export default class RoomList extends React.PureComponent<IProps, IState> {
private dispatcherRef?;
private treeRef;
static contextType: React.Context<import("matrix-js-sdk/src/client").MatrixClient>;
context: React.ContextType<typeof MatrixClientContext>;
constructor(props: IProps, context: React.ContextType<typeof MatrixClientContext>);
componentDidMount(): void;
componentWillUnmount(): void;
private onRoomViewStoreUpdate;
private onAction;
private getRoomDelta;
private updateSuggestedRooms;
private updateLists;
private renderSuggestedRooms;
private renderSublists;
focus(): void;
render(): React.ReactNode;
}
export {};