@macrostrat/column-components
Version:
React rendering primitives for stratigraphic columns
46 lines (45 loc) • 1.85 kB
TypeScript
import { ComponentType, ReactNode } from 'react';
import { NoteData } from './types';
import { NoteEditor, NoteTextEditor, NoteEditorContext } from './editor';
import { NodeConnectorOptions } from './connector';
export * from './types';
interface NoteComponentProps {
visibility: string;
note: NoteData;
onClick: Function;
}
declare function NoteComponent(props: NoteComponentProps): import('react').ReactElement<{
style: {
visibility: string;
};
onClick: Function;
}, string | import('react').JSXElementConstructor<any>>;
interface NotesColumnBaseProps extends NodeConnectorOptions {
width?: number;
paddingLeft?: number;
transform?: string;
notes?: NoteData[];
noteComponent?: ComponentType<any>;
onClickNote?: (note: NoteData) => void;
children?: ReactNode;
forceOptions?: object;
}
interface EditableNotesColumnProps extends NotesColumnBaseProps {
inEditMode?: boolean;
onUpdateNote?: (n: NoteData) => void;
onDeleteNote?: (n: NoteData) => void;
onCreateNote?: Function;
noteEditor?: ComponentType<any>;
allowPositionEditing?: boolean;
}
interface FocusedNotesColumnProps extends NotesColumnBaseProps {
focusedNote?: NoteData | null;
onFocusNote?: (note: NoteData | null) => void;
focusedNoteComponent?: ComponentType<any>;
}
declare function StaticNotesColumn(props: NotesColumnBaseProps): import('react').DetailedReactHTMLElement<import('react').InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>;
declare function NotesColumn(props: NotesColumnProps): import('react').FunctionComponentElement<{}> | null;
interface NotesColumnProps extends FocusedNotesColumnProps, EditableNotesColumnProps {
editable?: boolean;
}
export { NotesColumn, NoteComponent, NoteTextEditor, NoteEditor, NoteEditorContext, NotesColumnProps, StaticNotesColumn, };