Files
landing-ply/kits/clickup/docs/components.d.ts
T

73 lines
3.1 KiB
TypeScript

import type { Delta, Ref } from "./core";
import type { CustomField } from "./customFields";
import type { Status, Task } from "./tasks";
import type { ReactElement } from "react";
export interface AvatarProps {
/** A user or team, e.g. `task.creator` or one of `task.assignees`. */
of: Ref<"user" | "team">;
/** Diameter in px; 28 by default. */
size?: number;
className?: string;
}
/** A round avatar: the image, else initials for a user or a people glyph for a team. */
export declare function Avatar({ of, size, className, }: AvatarProps): ReactElement;
export interface AvatarGroupProps {
/** Users and teams, e.g. `task.assignees`. */
of: Array<Ref<"user" | "team">>;
/** How many to show before the rest collapse into a `+N` bubble; 3 by default. */
max?: number;
/** Diameter of each avatar in px; 28 by default. */
size?: number;
className?: string;
}
/** Overlapping avatars with a `+N` bubble for the overflow; renders nothing for an empty list. */
export declare function AvatarGroup({ of, max, size, className, }: AvatarGroupProps): ReactElement | null;
export interface StatusBadgeProps {
/** `task.status`, or one from `useStatuses`. */
status: Status;
className?: string;
}
/** The status name as ClickUp's filled, uppercase badge. Sized by the surrounding font; `className="text-xs"` makes it compact. */
export declare function StatusBadge({ status, className, }: StatusBadgeProps): ReactElement;
export interface PriorityFlagProps {
/** `task.priority`; `undefined` renders nothing unless `showEmpty`. */
priority: Task["priority"];
/** Renders a slashed circle for `undefined`; off by default. */
showEmpty?: boolean;
className?: string;
}
/** ClickUp's priority flag, without a label. Sized by the surrounding font. */
export declare function PriorityFlag({ priority, showEmpty, className, }: PriorityFlagProps): ReactElement | null;
export interface TagProps {
/** One of `task.tags`. */
tag: Task["tags"][number];
className?: string;
}
/** A tag as ClickUp's filled pill. Sized by the surrounding font. */
export declare function Tag({ tag, className }: TagProps): ReactElement;
export interface CustomFieldValueProps {
/** One of `task.customFields`. */
value: Task["customFields"][number];
/** The field's definition from `useCustomFields`, matched by `id`; adds the option colors. */
field?: CustomField;
className?: string;
}
/**
* A custom field value in the shape its type calls for: a check, a number, a
* progress bar, a date, colored option pills, avatars for people, names for
* tasks, links for attachments. Sized by the surrounding font.
*/
export declare function CustomFieldValue({ value, field, className, }: CustomFieldValueProps): ReactElement;
export interface RichTextProps {
/** A task or comment `body`. */
value: Delta;
className?: string;
}
/**
* A body as ClickUp shows it, rendered by the host: mentions, tables, embeds
* and the rest. Empty while the HTML loads; plain text if the host cannot
* render it.
*/
export declare function RichText({ value, className }: RichTextProps): ReactElement;