import { CSSProps, DynamicContentStore } from "../../../flex-ui-core/src"; import * as React from "react"; import { TaskDetailsPanelChildrenKeys } from "../../../internal-flex-commons/src"; import { TaskCanvasChildrenProps } from "../TaskCanvas"; /** * Properties of taks details panel theme. * @typedef Theme.TaskDetailsPanelThemeProps * @property {CSSProps} Container - Styles task details panel container. * @property {CSSProps} IconContainer - Styles icon container in task details panel. * @property {CSSProps} SecondLine - Styles second line container in task details panel. */ export interface TaskDetailsPanelThemeProps { Container: CSSProps; IconContainer: CSSProps; SecondLine: CSSProps; } /** * Properties of Task Details Panel. * @typedef {TaskCanvasChildrenProps} TaskDetailsPanel.TaskDetailsPanelProps * @property {TaskDetailsPanelThemeProps} [theme.TaskDetailsPanel] - Theme * @property {DynamicContentStore} content - Represents dynamic content store. * @property {boolean} [compact=false] Whether a component should be rendered in the compact mode * @property {string} [titleLine] - Title string shown in the task details panel. * @property {string} [firstLine] - First line shown in the task details panel. * @property {string} [secondLine] - Second line shown in the task details panel. * @property {React.ComponentType>} [IconComponent] - Represents the icon. * @property {React.ComponentType>} [ActionsComponent] - Represents the actions component. * @property {React.ReactElement} [contentComponent] - Represents the content of the taks details panel. */ export interface TaskDetailsPanelProps extends TaskCanvasChildrenProps { content: DynamicContentStore; compact?: boolean; titleLine?: string; firstLine?: string; subjectLine?: string; secondLine?: string; IconComponent?: React.ComponentType>; ActionsComponent?: React.ComponentType>; contentComponent?: React.ReactElement; ref?: any; } /** * Properties of children in participants canvas. * @typedef {TaskDetailsPanelProps} TaskDetailsPanel.TaskDetailsPanelChildrenProps * @property {TaskDetailsPanelThemeProps} [theme.TaskDetailsPanel] - Theme */ export interface TaskDetailsPanelChildrenProps extends TaskDetailsPanelProps { } export { TaskDetailsPanelChildrenKeys };