React Form Wizard
Legacy demos (0.2.x)

Custom Icon

Form wizard with 3 steps. Currently on step 1.
Step 1 of 3: Personal details

First Tab with custom SVG icon

Some content for the first tab

Code

import React, { SVGProps } from "react";
import FormWizard from "react-form-wizard-component";
import "react-form-wizard-component/styles.css";

export default function FormWizardSample() {
  const handleComplete = () => {
    console.log("Form completed!");
    // Handle form completion logic here
  };

  function SolarUserLinear(props?: SVGProps<SVGSVGElement>) {
    return (
      <svg
        xmlns="http://www.w3.org/2000/svg"
        width="1em"
        height="1em"
        viewBox="0 0 24 24"
        {...props}
      >
        <g fill="none" stroke="black" strokeWidth="1.5">
          <circle cx="12" cy="6" r="4"></circle>
          <path d="M20 17.5c0 2.485 0 4.5-8 4.5s-8-2.015-8-4.5S7.582 13 12 13s8 2.015 8 4.5Z"></path>
        </g>
      </svg>
    );
  }
  function vsCodeIcon() {
    return (
      <img
        src="https://vitejs.dev/logo-with-shadow.png"
        alt="vitejs"
        width="24"
        height="24"
      />
    );
  }
  return (
    <>
      <FormWizard onComplete={handleComplete}>
        <FormWizard.TabContent
          title="Personal details"
          icon={SolarUserLinear()}
        >
          <h3>First Tab with custom SVG icon</h3>
          <p>Some content for the first tab</p>
        </FormWizard.TabContent>
        <FormWizard.TabContent title="Additional Info">
          <h3>Second Tab without icon</h3>
          <p>Some content for the second tab</p>
        </FormWizard.TabContent>
        <FormWizard.TabContent title="Last step" icon={vsCodeIcon()}>
          <h3>Last Tab with img tag</h3>
          <p>Some content for the last tab</p>
        </FormWizard.TabContent>
      </FormWizard>
    </>
  );
}

On this page