@hisptz/react-ui
Version:
A collection of reusable complex DHIS2 react ui components.
45 lines (44 loc) • 1.74 kB
TypeScript
import React from "react";
import CustomAccordion from "./components/CustomAccordion";
import DataSource from "./components/DataSource";
export interface DataConfigurationAreaItemProps {
id: string;
name: string;
icon?: React.ReactNode;
subLabel?: string;
}
export interface DataConfigurationAreaGroupProps {
id: string;
name: string;
items: Array<DataConfigurationAreaItemProps>;
}
export interface DataConfigurationAreaProps {
groups: Array<DataConfigurationAreaGroupProps>;
onItemClick: (groupId: string, itemId: string) => void;
editableTitle?: boolean;
onGroupTitleEdit?: (groupId: string, value: string) => void;
deletableGroups?: boolean;
onGroupDelete?: (groupId: string) => void;
deletableItems?: boolean;
onItemDelete?: (groupId: string, itemId: string) => void;
groupFooter?: (group: DataConfigurationAreaGroupProps, index: number) => React.ReactNode;
draggableItems?: boolean;
onItemDragEnd?: (groupId: string, result: {
source: {
index: number;
};
destination: {
index: number;
};
}) => void;
selectedItems?: Array<{
groupId: string;
itemId: string;
}>;
titleRightAdornment?: (props: {
id: string;
}) => React.ReactNode;
defaultExpanded?: boolean;
}
export default function DataConfigurationArea({ groups, onItemClick, editableTitle, onGroupTitleEdit, deletableGroups, onGroupDelete, onItemDelete, deletableItems, groupFooter, draggableItems, onItemDragEnd, selectedItems, titleRightAdornment, defaultExpanded, }: DataConfigurationAreaProps): JSX.Element;
export { DataSource as DataConfigurationAreaItem, CustomAccordion as DataConfigurationAreaGroup };