HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/agentcloud/airbyte/docusaurus/src/components/ProductInformation.jsx
import React from "react";
import classNames from "classnames";

import styles from "./ProductInformation.module.css";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faCheckCircle, faQuestionCircle, faXmarkCircle } from "@fortawesome/free-regular-svg-icons";

const Badge = ({ available, children }) => {
  return (
    <span className={classNames(styles.badge, { [styles.available]: available })}>
      <FontAwesomeIcon icon={available ? faCheckCircle : faXmarkCircle} title={available ? "Available" : "Not available"} />
      <span>{children}</span>
    </span>
  );
};

/**
 * @type {React.FC<{ products: string }}
 */
export const ProductInformation = ({ products }) => {
  products = Object.fromEntries(products.split(",").map(f => [f.trim(), true]));

  const ossCommunity = products["oss-community"] || products["oss-*"] || products["all"];
  const ossEnterprise = products["oss-enterprise"] || products["oss-*"] || products["all"];
  const cloud = products["cloud"] || products["cloud-teams"] || products["all"];
    // cloud add-ons need to be specifically marked and are not part of the "all" shorthand
  const cloudTeams = products["cloud-teams"];

  return (
    <div className={styles.badges}>
      <Badge available={cloud}>Cloud {cloudTeams ? <span className={styles.withAddon}>with Teams add-on</span> : ""}</Badge>
      <Badge available={ossCommunity}>Self-Managed Community (OSS)</Badge>
      <Badge available={ossEnterprise}>Self-Managed Enterprise</Badge>
      <a href="https://airbyte.com/product/features" target="_blank" className={styles.helpIcon} title="Feature comparison">
        <FontAwesomeIcon icon={faQuestionCircle} />
      </a>
    </div>
  );
}