// ~/src/siteplane/components/toggle-group/toggle-group.tsx "use client"; import type { Toggle as TogglePrimitive } from "@base-ui/react/toggle"; import { ToggleGroup as ToggleGroupPrimitive } from "@base-ui/react/toggle-group"; import type { VariantProps } from "class-variance-authority"; import * as React from "react"; import { useResolvedControlSize } from "../../system/provider/siteplane-ui-provider"; import { cn, type WithStringClassName } from "../../system/utils/cn"; import { slotClass } from "../../system/utils/slot-class"; import { Separator } from "../separator"; import { KitSeparator } from "../separator/separator-internal"; import { type toggleVariants } from "../toggle"; import { KitToggle } from "../toggle/toggle-internal"; type ToggleGroupVisualProps = Pick< VariantProps, "size" | "variant" >; type ToggleGroupContextValue = ToggleGroupVisualProps & { single?: boolean; }; export const ToggleGroupContext: React.Context = React.createContext({ single: false, variant: "default", }); export function ToggleGroup({ className, variant = "default", size, orientation = "horizontal", multiple = false, width = "auto", wrap = false, children, ...props }: WithStringClassName & ToggleGroupVisualProps & { width?: "auto" | "full"; wrap?: boolean; }): React.ReactElement { const single = !multiple; const resolvedSize = useResolvedControlSize(size); return ( {children} ); } export function ToggleGroupItem({ className, children, grow = false, maxWidth, padding = "default", ...props }: WithStringClassName & { grow?: boolean; maxWidth?: "label"; padding?: "default" | "comfortable"; }): React.ReactElement { const context = React.useContext(ToggleGroupContext); return ( {maxWidth === "label" ? ( {children} ) : ( children )} ); } export function ToggleGroupSeparator({ className, orientation = "vertical", ...props }: { className?: string; } & React.ComponentProps): React.ReactElement { return ( ); } export { ToggleGroupPrimitive }; // ~/src/siteplane/components/toggle-group/index.ts export * from "./toggle-group";