* feat: add card component to propel package and update tooltip imports * refactor: remove @plane/ui dependency and update tooltip imports to use local card component * fix: lint * refactor: update import from @plane/ui to @plane/utils in command component * refactor: extend CardProps interface to include HTML attributes for better flexibility
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
export enum ECardVariant {
|
|
WITHOUT_SHADOW = "without-shadow",
|
|
WITH_SHADOW = "with-shadow",
|
|
}
|
|
export enum ECardDirection {
|
|
ROW = "row",
|
|
COLUMN = "column",
|
|
}
|
|
export enum ECardSpacing {
|
|
SM = "sm",
|
|
LG = "lg",
|
|
}
|
|
export type TCardVariant = ECardVariant.WITHOUT_SHADOW | ECardVariant.WITH_SHADOW;
|
|
export type TCardDirection = ECardDirection.ROW | ECardDirection.COLUMN;
|
|
export type TCardSpacing = ECardSpacing.SM | ECardSpacing.LG;
|
|
|
|
export interface ICardProperties {
|
|
[key: string]: string;
|
|
}
|
|
|
|
const DEFAULT_STYLE =
|
|
"bg-custom-background-100 rounded-lg border-[0.5px] border-custom-border-200 w-full flex flex-col";
|
|
export const containerStyle: ICardProperties = {
|
|
[ECardVariant.WITHOUT_SHADOW]: "",
|
|
[ECardVariant.WITH_SHADOW]: "hover:shadow-custom-shadow-4xl duration-300",
|
|
};
|
|
export const spacings = {
|
|
[ECardSpacing.SM]: "p-4",
|
|
[ECardSpacing.LG]: "p-6",
|
|
};
|
|
export const directions = {
|
|
[ECardDirection.ROW]: "flex-row space-x-3",
|
|
[ECardDirection.COLUMN]: "flex-col space-y-3",
|
|
};
|
|
export const getCardStyle = (variant: TCardVariant, spacing: TCardSpacing, direction: TCardDirection) =>
|
|
DEFAULT_STYLE + " " + directions[direction] + " " + containerStyle[variant] + " " + spacings[spacing];
|