variant-selector-multiple
stackzero/variant-selector-multipleFreeComponent
stackzero publishes no description for this item.
Install it
npx shadcn@latest add https://ui.stackzero.co/r/variant-selector-multiple.jsonSource
1"use client";23import * as React from "react";4import { ToggleGroup, ToggleGroupItem } from "@radix-ui/react-toggle-group";56import { cn } from "@/lib/utils";78export interface VariantItem {9 id: string;10 value: string;11 label: string;12 disabled?: boolean;13}1415interface VariantSelectorMultipleProps {16 values: string[];17 onValuesChange: (values: string[]) => void;18 variants: VariantItem[];19 className?: string;20 itemClassName?: string;21 labelClassName?: string;22}2324const VariantSelectorMultiple = ({25 className,26 itemClassName,27 labelClassName,28 onValuesChange,29 values,30 variants,31}: VariantSelectorMultipleProps) => {32 return (33 <ToggleGroup34 type="multiple"35 className={cn("flex flex-wrap gap-3", className)}36 value={values}37 onValueChange={onValuesChange}38 >39 {variants.map((variant) => (40 <div key={variant.id} className="flex items-center">41 <ToggleGroupItem42 value={variant.value}43 disabled={variant.disabled}44 className={cn(45 "relative h-10 w-full min-w-[80px] rounded-md border border-gray-300 px-3 py-2 text-center text-sm transition-all",46 "dark:border-gray-600 dark:text-gray-100",47 "data-[state=on]:border-2 data-[state=on]:border-black dark:data-[state=on]:border-white",48 "focus:ring-2 focus:ring-black focus:ring-offset-2 focus:outline-none",49 "dark:focus:ring-white dark:focus:ring-offset-gray-900",50 "cursor-pointer disabled:cursor-not-allowed disabled:opacity-50",51 itemClassName52 )}53 >54 <span className={cn("font-medium", labelClassName)}>55 {variant.label}56 </span>57 </ToggleGroupItem>58 </div>59 ))}60 </ToggleGroup>61 );62};6364export default VariantSelectorMultiple;
What it pulls in
npm packages
Files it writes
More from stackzero
All 112 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| face-rating-basicface-rating-basic | stackzero | Components | Free | 1 dep | |
| face-rating-gradientface-rating-gradient | stackzero | Components | Free | 2 deps | |
| image-carousel-basicimage-carousel-basic | stackzero | Components | Free | 5 deps | |
| image-viewer-basicimage-viewer-basic | stackzero | Components | Free | 3 deps | |
| image-viewer-basic-ex-01image-viewer-basic-ex-01 | stackzero | Components | Free | 1 dep | |
| image-viewer-basic-ex-02image-viewer-basic-ex-02 | stackzero | Components | Free | 1 dep | |
| image-viewer-motionimage-viewer-motion | stackzero | Components | Free | 4 deps | |
| image-viewer-motion-ex-01image-viewer-motion-ex-01 | stackzero | Components | Free | 1 dep |
