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 (
{community}
{enterprise}
); }; const TableItem = ({ description, community, enterprise, activeTab, isLast, valueType, }) => { return (
{description}
); }; const TableSection = ({ title, items, activeTab, isLast = false }) => { return ( <> {title} {items.map((item, index) => ( ))} ); }; const TableTabs = ({ activeTab, setActiveTab }) => { return (
Community edition
Enterprise edition
); }; const TableStickyHeader = ({ activeTab, setActiveTab }) => { return (
); }; const TableSectionWrapper = ({ children }) => { return (
{children}
); }; const CheckIcon = () => { return ( ); }; const CrossIcon = () => { return ( ); }; const TableText = ({ children }) => { return (
{children}
); }; const tableData = [ { title: "Support", items: [ { description: "Support Level", community: Community Support, enterprise: Priority Support, valueType: { community: "text", enterprise: "text", }, }, { description: "Support Channels", community: Community Channels, enterprise: Private Support Channel, valueType: { community: "text", enterprise: "text", }, }, { description: "SLA", community: , enterprise: ( Response time within one business day ), 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: "Varnish Cache", community: , enterprise: , valueType: { community: "icon", enterprise: "icon", }, }, ], }, { title: "Number of Accounts", items: [ { description: "Admin Accounts", community: 1, enterprise: Unlimited, valueType: { community: "text", enterprise: "text", }, }, { description: "User Accounts", community: 3, enterprise: ( Unlimited ), valueType: { community: "text", 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: "Professional Services", items: [ { description: "Trainings", community: , enterprise: , valueType: { community: "icon", enterprise: "icon", }, }, { description: "Branding & Integration", community: , enterprise: , valueType: { community: "icon", enterprise: "icon", }, }, ], }, { title: "Licensing", items: [ { description: "License", community: (
MIT license
), enterprise: (
OpenPanel commercial license
), valueType: { community: "text", enterprise: "text", }, }, ], }, ];