サポート
Relume のすべてのサポートは Slack を通じて提供されます。支援を受けるには、 私たちの Slack コミュニティに参加してください Webflowプロジェクトのプレビューリンクと問題の説明を当社の専門家に送信してください。問題を確認し、解決策をご案内します。

アカウント関連の問題については、お問い合わせください support@relume.io
We're performing some maintenance. If you're experiencing any issues please reach out via Slack
Go to Slack
Your payment method has expired. Update your billing details to regain access to premium features.
Manage Billing
Now open!
Vote on new
Relume components
Vote on what components you'd like to see added to our roadmap next month.
Get started

Pricing 12

<section id="relume" class="px-[5%] py-16 md:py-24 lg:py-28">
  <div class="container max-w-xl">
    <div class="mx-auto mb-12 max-w-lg text-center md:mb-18 lg:mb-20">
      <p class="mb-3 font-semibold md:mb-4">Tagline</p>
      <h1 class="mb-5 text-5xl font-bold md:mb-6 md:text-7xl lg:text-8xl">Pricing plan</h1>
      <p class="md:text-md">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    </div>
    <div class="grid grid-cols-1 gap-8 md:grid-cols-2">
      <div class="h-full border border-border-primary px-6 py-8 md:p-8">
        <h2 class="mb-1 text-md font-bold leading-[1.4] md:text-xl">Basic plan</h2>
        <p>Lorem ipsum dolor sit amet</p>
        <div class="my-8 h-px w-full bg-border-primary"></div>
        <h3 class="my-2 text-6xl font-bold md:text-9xl lg:text-10xl">
          $19<span class="text-2xl font-bold md:text-3xl md:leading-[1.3] lg:text-4xl">/mo</span>
        </h3>
        <p>
          or
          <!-- -->$199<!-- -->
          yearly
        </p>
        <div class="mt-6 md:mt-8">
          <button
            class="focus-visible:ring-border-primary inline-flex gap-3 items-center justify-center whitespace-nowrap ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-border-primary bg-background-alternative text-text-alternative px-6 py-3 w-full"
            title="Get started"
          >
            Get started
          </button>
        </div>
        <div class="my-8 h-px w-full bg-border-primary"></div>
        <div class="grid grid-cols-1 gap-y-4 py-2">
          <div class="flex self-start">
            <div class="mr-4 flex-none self-start">
              <svg
                stroke="currentColor"
                fill="currentColor"
                stroke-width="0"
                viewBox="0 0 24 24"
                class="size-6"
                height="1em"
                width="1em"
                xmlns="http://www.w3.org/2000/svg"
              >
                <path
                  d="m10 15.586-3.293-3.293-1.414 1.414L10 18.414l9.707-9.707-1.414-1.414z"
                ></path>
              </svg>
            </div>
            <p>Feature text goes here</p>
          </div>
          <div class="flex self-start">
            <div class="mr-4 flex-none self-start">
              <svg
                stroke="currentColor"
                fill="currentColor"
                stroke-width="0"
                viewBox="0 0 24 24"
                class="size-6"
                height="1em"
                width="1em"
                xmlns="http://www.w3.org/2000/svg"
              >
                <path
                  d="m10 15.586-3.293-3.293-1.414 1.414L10 18.414l9.707-9.707-1.414-1.414z"
                ></path>
              </svg>
            </div>
            <p>Feature text goes here</p>
          </div>
          <div class="flex self-start">
            <div class="mr-4 flex-none self-start">
              <svg
                stroke="currentColor"
                fill="currentColor"
                stroke-width="0"
                viewBox="0 0 24 24"
                class="size-6"
                height="1em"
                width="1em"
                xmlns="http://www.w3.org/2000/svg"
              >
                <path
                  d="m10 15.586-3.293-3.293-1.414 1.414L10 18.414l9.707-9.707-1.414-1.414z"
                ></path>
              </svg>
            </div>
            <p>Feature text goes here</p>
          </div>
        </div>
      </div>
      <div class="h-full border border-border-primary px-6 py-8 md:p-8">
        <h2 class="mb-1 text-md font-bold leading-[1.4] md:text-xl">Business plan</h2>
        <p>Lorem ipsum dolor sit amet</p>
        <div class="my-8 h-px w-full bg-border-primary"></div>
        <h3 class="my-2 text-6xl font-bold md:text-9xl lg:text-10xl">
          $29<span class="text-2xl font-bold md:text-3xl md:leading-[1.3] lg:text-4xl">/mo</span>
        </h3>
        <p>
          or
          <!-- -->$299<!-- -->
          yearly
        </p>
        <div class="mt-6 md:mt-8">
          <button
            class="focus-visible:ring-border-primary inline-flex gap-3 items-center justify-center whitespace-nowrap ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-border-primary bg-background-alternative text-text-alternative px-6 py-3 w-full"
            title="Get started"
          >
            Get started
          </button>
        </div>
        <div class="my-8 h-px w-full bg-border-primary"></div>
        <div class="grid grid-cols-1 gap-y-4 py-2">
          <div class="flex self-start">
            <div class="mr-4 flex-none self-start">
              <svg
                stroke="currentColor"
                fill="currentColor"
                stroke-width="0"
                viewBox="0 0 24 24"
                class="size-6"
                height="1em"
                width="1em"
                xmlns="http://www.w3.org/2000/svg"
              >
                <path
                  d="m10 15.586-3.293-3.293-1.414 1.414L10 18.414l9.707-9.707-1.414-1.414z"
                ></path>
              </svg>
            </div>
            <p>Feature text goes here</p>
          </div>
          <div class="flex self-start">
            <div class="mr-4 flex-none self-start">
              <svg
                stroke="currentColor"
                fill="currentColor"
                stroke-width="0"
                viewBox="0 0 24 24"
                class="size-6"
                height="1em"
                width="1em"
                xmlns="http://www.w3.org/2000/svg"
              >
                <path
                  d="m10 15.586-3.293-3.293-1.414 1.414L10 18.414l9.707-9.707-1.414-1.414z"
                ></path>
              </svg>
            </div>
            <p>Feature text goes here</p>
          </div>
          <div class="flex self-start">
            <div class="mr-4 flex-none self-start">
              <svg
                stroke="currentColor"
                fill="currentColor"
                stroke-width="0"
                viewBox="0 0 24 24"
                class="size-6"
                height="1em"
                width="1em"
                xmlns="http://www.w3.org/2000/svg"
              >
                <path
                  d="m10 15.586-3.293-3.293-1.414 1.414L10 18.414l9.707-9.707-1.414-1.414z"
                ></path>
              </svg>
            </div>
            <p>Feature text goes here</p>
          </div>
          <div class="flex self-start">
            <div class="mr-4 flex-none self-start">
              <svg
                stroke="currentColor"
                fill="currentColor"
                stroke-width="0"
                viewBox="0 0 24 24"
                class="size-6"
                height="1em"
                width="1em"
                xmlns="http://www.w3.org/2000/svg"
              >
                <path
                  d="m10 15.586-3.293-3.293-1.414 1.414L10 18.414l9.707-9.707-1.414-1.414z"
                ></path>
              </svg>
            </div>
            <p>Feature text goes here</p>
          </div>
          <div class="flex self-start">
            <div class="mr-4 flex-none self-start">
              <svg
                stroke="currentColor"
                fill="currentColor"
                stroke-width="0"
                viewBox="0 0 24 24"
                class="size-6"
                height="1em"
                width="1em"
                xmlns="http://www.w3.org/2000/svg"
              >
                <path
                  d="m10 15.586-3.293-3.293-1.414 1.414L10 18.414l9.707-9.707-1.414-1.414z"
                ></path>
              </svg>
            </div>
            <p>Feature text goes here</p>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>
"use client";

import { Button } from "@relume_io/relume-ui";
import type { ButtonProps } from "@relume_io/relume-ui";
import { BiCheck } from "react-icons/bi";

type Feature = {
  icon: React.ReactNode;
  text: string;
};

type PricingPlan = {
  planName: string;
  description: string;
  monthlyPrice: string;
  yearlyPrice: string;
  features: Feature[];
  button: ButtonProps;
};

type Props = {
  tagline: string;
  heading: string;
  description: string;
  pricingPlans: PricingPlan[];
};

export type Pricing12Props = React.ComponentPropsWithoutRef<"section"> & Partial<Props>;

export const Pricing12 = (props: Pricing12Props) => {
  const { tagline, heading, description, pricingPlans } = {
    ...Pricing12Defaults,
    ...props,
  };
  return (
    <section id="relume" className="px-[5%] py-16 md:py-24 lg:py-28">
      <div className="container max-w-xl">
        <div className="mx-auto mb-12 max-w-lg text-center md:mb-18 lg:mb-20">
          <p className="mb-3 font-semibold md:mb-4">{tagline}</p>
          <h1 className="mb-5 text-5xl font-bold md:mb-6 md:text-7xl lg:text-8xl">{heading}</h1>
          <p className="md:text-md">{description}</p>
        </div>
        <div className="grid grid-cols-1 gap-8 md:grid-cols-2">
          {pricingPlans.map((pricingPlan, index) => (
            <PricingPlan key={index} plan={pricingPlan} />
          ))}
        </div>
      </div>
    </section>
  );
};

const PricingPlan = ({ plan }: { plan: PricingPlan }) => (
  <div className="h-full border border-border-primary px-6 py-8 md:p-8">
    <h2 className="mb-1 text-md font-bold leading-[1.4] md:text-xl">{plan.planName}</h2>
    <p>{plan.description}</p>
    <div className="my-8 h-px w-full bg-border-primary" />
    <h3 className="my-2 text-6xl font-bold md:text-9xl lg:text-10xl">
      {plan.monthlyPrice}
      <span className="text-2xl font-bold md:text-3xl md:leading-[1.3] lg:text-4xl">/mo</span>
    </h3>
    <p>or {plan.yearlyPrice} yearly</p>
    <div className="mt-6 md:mt-8">
      <Button {...plan.button} className="w-full">
        {plan.button.title}
      </Button>
    </div>
    <div className="my-8 h-px w-full bg-border-primary" />
    <div className="grid grid-cols-1 gap-y-4 py-2">
      {plan.features.map((feature, index) => (
        <div key={index} className="flex self-start">
          <div className="mr-4 flex-none self-start">{feature.icon}</div>
          <p>{feature.text}</p>
        </div>
      ))}
    </div>
  </div>
);

export const Pricing12Defaults: Props = {
  tagline: "Tagline",
  heading: "Pricing plan",
  description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
  pricingPlans: [
    {
      planName: "Basic plan",
      description: "Lorem ipsum dolor sit amet",
      monthlyPrice: "$19",
      yearlyPrice: "$199",
      features: [
        { icon: <BiCheck className="size-6" />, text: "Feature text goes here" },
        { icon: <BiCheck className="size-6" />, text: "Feature text goes here" },
        { icon: <BiCheck className="size-6" />, text: "Feature text goes here" },
      ],
      button: { title: "Get started" },
    },
    {
      planName: "Business plan",
      description: "Lorem ipsum dolor sit amet",
      monthlyPrice: "$29",
      yearlyPrice: "$299",
      features: [
        { icon: <BiCheck className="size-6" />, text: "Feature text goes here" },
        { icon: <BiCheck className="size-6" />, text: "Feature text goes here" },
        { icon: <BiCheck className="size-6" />, text: "Feature text goes here" },
        { icon: <BiCheck className="size-6" />, text: "Feature text goes here" },
        { icon: <BiCheck className="size-6" />, text: "Feature text goes here" },
      ],
      button: { title: "Get started" },
    },
  ],
};
You need to be logged in to view the code.
Get the code
Upgrade your plan to view the code.
Upgrade
Details
Last updated
March 12, 2025
React version
18
Tailwind version
3.4
Need help?
For installation guidelines and API information, visit the docs.
Examples
No items found.