Files
plane/apps/web/core/components/empty-state/section-empty-state-root.tsx
T

36 lines
1.0 KiB
TypeScript

/**
* Copyright (c) 2023-present Plane Software, Inc. and contributors
* SPDX-License-Identifier: AGPL-3.0-only
* See the LICENSE file for details.
*/
import type { FC } from "react";
import { cn } from "@plane/utils";
type Props = {
icon: React.ReactNode;
title: string;
description?: string;
actionElement?: React.ReactNode;
customClassName?: string;
};
export function SectionEmptyState(props: Props) {
const { title, description, icon, actionElement, customClassName } = props;
return (
<div
className={cn(
"flex flex-col items-center justify-center gap-4 rounded-md border border-subtle p-10",
customClassName
)}
>
<div className="flex flex-col items-center gap-2">
<div className="flex size-8 items-center justify-center rounded-sm bg-layer-1">{icon}</div>
<span className="text-13 font-medium">{title}</span>
{description && <span className="text-11 text-tertiary">{description}</span>}
</div>
{actionElement && <>{actionElement}</>}
</div>
);
}