import React, { useState } from "react";
import clsx from "clsx";
import { CheckCircle } from "@site/src/refine-theme/icons/check-circle";
import { CrossCircle } from "@site/src/refine-theme/icons/cross-circle";
import { EnterpriseGetInTouchButton } from "./enterprise-get-in-touch-button";
import { ArrowLeftLongIcon } from "./icons/arrow-left-long";
import { AnimatePresence, motion } from "framer-motion";
export const EnterpriseTable = ({ className }: { className?: string }) => {
const [activeTab, setActiveTab] = useState<"community" | "enterprise">(
"enterprise",
);
return (
Compare editions
{
setActiveTab(tab);
}}
/>
{tableData.map((section) => {
const isLast =
section.title === tableData.at(-1).title;
return (
);
})}
);
};
const TableItemHeading = ({ children }) => {
return (
{children}
);
};
const TableItemContent = ({ children, valueType, activeTab, className }) => {
const isIcon = valueType[activeTab] === "icon";
return (
{children}
);
};
const TableItemDescription = ({ children, isLast }) => {
return (
{children}
);
};
const TableItemContentGroup = ({
community,
enterprise,
activeTab,
isLast,
valueType,
}) => {
const isIcon = valueType[activeTab] === "icon";
return (
);
};
const TableItem = ({
description,
community,
enterprise,
activeTab,
isLast,
valueType,
}) => {
return (
);
};
const TableSection = ({ title, items, activeTab, isLast = false }) => {
return (
<>
{title}
{items.map((item, index) => (
))}
>
);
};
const TableTabs = ({ activeTab, setActiveTab }) => {
return (
);
};
const TableStickyHeader = ({ activeTab, setActiveTab }) => {
return (
);
};
const TableSectionWrapper = ({ children }) => {
return (
{children}
);
};
const CheckIcon = () => {
return (
);
};
const CrossIcon = () => {
return (
);
};
const TableText = ({ children }) => {
return (
{children}
);
};
const tableData = [
{
title: "Pricing",
items: [
{
description: "Pricing",
community: (
forever free
),
enterprise: (
14.95€ / month
),
valueType: {
community: "text",
enterprise: "text",
},
},
],
},
{
title: "Support",
items: [
{
description: "Support Channels",
community: Community Forums & Discord,
enterprise: Ticketing & Hands-on support,
valueType: {
community: "text",
enterprise: "text",
},
},
{
description: "SLA",
community: ,
enterprise: (
Response time within one hour
),
valueType: {
community: "icon",
enterprise: "text",
},
},
],
},
{
title: "Additional Features",
items: [
{
description: "Cluster",
community: ,
enterprise: (
Manage accounts from multiple servers
),
valueType: {
community: "icon",
enterprise: "text",
},
},
{
description: "LiteSpeed",
community: ,
enterprise: ,
valueType: {
community: "icon",
enterprise: "icon",
},
},
{
description: "Sentinel AI",
community: ,
enterprise: ,
valueType: {
community: "icon",
enterprise: "icon",
},
},
{
description: "Varnish Cache",
community: ,
enterprise: ,
valueType: {
community: "icon",
enterprise: "icon",
},
},
{
description: "Remote Backups",
community: ,
enterprise: (
SSH and S3 Destinations
),
valueType: {
community: "icon",
enterprise: "text",
},
},
],
},
{
title: "Websites",
items: [
{
description: "Websites",
community: Unlimited,
enterprise: (
Unlimited
),
valueType: {
community: "text",
enterprise: "text",
},
},
{
description: "Auto Installers",
community: WordPress and NodeJS/Python,
enterprise: WordPress, NodeJS/Python and 40+ Scripts,
valueType: {
community: "text",
enterprise: "text",
},
},
{
description: "Mautic Manager",
community: ,
enterprise: ,
valueType: {
community: "icon",
enterprise: "icon",
},
},
],
},
{
title: "Accounts",
items: [
{
description: "User Accounts",
community: 3,
enterprise: (
Unlimited
),
valueType: {
community: "text",
enterprise: "text",
},
},
{
description: "Resellers",
community: ,
enterprise: ,
valueType: {
community: "icon",
enterprise: "icon",
},
},
{
description: "Admin Accounts",
community: Unlimited,
enterprise: Unlimited,
valueType: {
community: "text",
enterprise: "text",
},
},
],
},
{
title: "Domains",
items: [
{
description: "Total Domains",
community: 50,
enterprise: Unlimited,
valueType: {
community: "text",
enterprise: "text",
},
},
{
description: "DNSSEC",
community: ,
enterprise: ,
valueType: {
community: "icon",
enterprise: "icon",
},
},
{
description: "SSL",
community: Let's Encrypt,
enterprise: (
Let's Encrypt & custom SSL
),
valueType: {
community: "text",
enterprise: "text",
},
},
],
},
{
title: "Emails",
items: [
{
description: "Email Accounts",
community: ,
enterprise: ,
valueType: {
community: "icon",
enterprise: "icon",
},
},
{
description: "Webmail",
community: ,
enterprise: RoundCube, Sogo,
valueType: {
community: "icon",
enterprise: "text",
},
},
],
},
{
title: "Updates",
items: [
{
description: "Release Frequency",
community: Monthly,
enterprise: Continuous,
valueType: {
community: "text",
enterprise: "text",
},
},
{
description: "Container Updates",
community: ,
enterprise: ,
valueType: {
community: "icon",
enterprise: "icon",
},
},
],
},
{
title: "Integrations",
items: [
{
description: "API Access",
community: ,
enterprise: ,
valueType: {
community: "icon",
enterprise: "icon",
},
},
{
description: "WHMCS Module",
community: ,
enterprise: ,
valueType: {
community: "icon",
enterprise: "icon",
},
},
{
description: "FOSSBilling Module",
community: ,
enterprise: ,
valueType: {
community: "icon",
enterprise: "icon",
},
},
],
},
{
title: "Licensing",
items: [
{
description: "License",
community: (
),
enterprise: (
OpenPanel commercial license
),
valueType: {
community: "text",
enterprise: "text",
},
},
],
},
];