Multiple Selector Max Selected

PreviousNext

component for the Multiple Selector Max Selected

Docs
spectrumuicomponent

Preview

Loading preview…
app/registry/multiple-selector/usage/multiple-selector-max-selected.tsx
"use client";
import React from "react";

import MultipleSelector, {
  Option,
} from "@/app/registry/spectrumui/multiple-selector-dependencies";
import { toast } from "@/app/registry/spectrumui/use-toast";

const OPTIONS: Option[] = [
  { label: "nextjs", value: "Nextjs" },
  { label: "React", value: "react" },
  { label: "Remix", value: "remix" },
  { label: "Vite", value: "vite" },
  { label: "Nuxt", value: "nuxt" },
  { label: "Vue", value: "vue" },
  { label: "Svelte", value: "svelte" },
  { label: "Angular", value: "angular" },
  { label: "Ember", value: "ember" },
  { label: "Gatsby", value: "gatsby" },
  { label: "Astro", value: "astro" },
];

const MultipleSelectorWithMaxSelected = () => {
  return (
    <div className="flex w-full flex-col gap-5 px-10">
      <MultipleSelector
        maxSelected={3}
        onMaxSelected={(maxLimit) => {
          toast({
            title: `You have reached max selected: ${maxLimit}`,
          });
        }}
        defaultOptions={OPTIONS}
        placeholder="Select frameworks you like..."
        emptyIndicator={
          <p className="text-center text-lg leading-10 text-gray-600 dark:text-gray-400">
            no results found.
          </p>
        }
      />
    </div>
  );
};

export default MultipleSelectorWithMaxSelected;

Installation

npx shadcn@latest add @spectrumui/multiple-selector-max-selected

Usage

import { MultipleSelectorMaxSelected } from "@/components/multiple-selector-max-selected"
<MultipleSelectorMaxSelected />