import { ButtonThemeProps, CSSProps } from "../../../flex-ui-core/src"; import React from "react"; import { ITask } from "../../../models/CommonModels"; import { TaskContextProps } from "../../context/TaskContext"; import { TaskCanvasChildrenProps } from "../TaskCanvas/TaskCanvas.definitions"; export { TaskCanvasHeaderChildrenKeys } from "../../../internal-flex-commons/src"; /** * Properties of task canvas header theme. * * @typedef Theme.TaskCanvasHeaderThemeProps * @property {CSSProps} Container - Styles task canvas header container. * @property {ButtonThemeProps} EndTaskButton - Styles end task button. * @property {ButtonThemeProps} WrapupTaskButton - Styles wrap up task button. */ export interface TaskCanvasHeaderThemeProps { Container: CSSProps; EndTaskButton: ButtonThemeProps; WrapupTaskButton: ButtonThemeProps; } /** * Properties of Task Canvas Header. * * @typedef {Partial} TaskCanvasHeader.TaskCanvasHeaderProps * @property {React.ComponentType<{ task: ITask }>} [ActionsComponent] - Represents the actions component. * @property {string | React.ReactNode} [icon] - Represents the icon. * @property {string} [titleTemplateCode] - Represents title template code. * @property {any} [titleTemplateContext] - Represents context for title templete. * @property {string} [secondLineTemplateCode] - Represents second line template code. * @property {any} [secondLineTemplateContext] - Represents context for second line templete. * @property {string} titleTemplate - Title template. * @property {string} secondLineTemplate - Second line template. */ export interface TaskCanvasHeaderProps extends Partial { ActionsComponent?: React.ComponentType<{ task: ITask; }>; icon?: string | React.ReactNode; titleTemplateCode?: string; titleTemplateContext?: any; secondLineTemplateCode?: string; secondLineTemplateContext?: any; titleTemplate: string; secondLineTemplate: string; } /** * Properties of children in task canvas header. * * @typedef {TaskCanvasHeaderProps} TaskCanvasHeader.TaskCanvasHeaderChildrenProps * @property {TaskCanvasHeaderThemeProps} [theme.TaskCanvasHeader] - Theme */ export interface TaskCanvasHeaderChildrenProps extends TaskCanvasHeaderProps, TaskContextProps { } /** * Properties of children in the new task canvas header * @private */ export interface NewTaskCanvasHeaderChildrenProps { task: ITask; }