deno.land / x / netzo@0.5.16 / components / toggle-group.tsx

toggle-group.tsx
نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
// @deno-types="npm:@types/react@18.2.60"import * as React from "react";
import * as ToggleGroupPrimitive from "../deps/@radix-ui/react-toggle-group.ts";import { VariantProps } from "../deps/class-variance-authority.ts";import { toggleVariants } from "./toggle.tsx";import { cn } from "./utils.ts";
const ToggleGroupContext = React.createContext< VariantProps<typeof toggleVariants>>({ size: "default", variant: "default",});
const ToggleGroup = React.forwardRef< React.ElementRef<typeof ToggleGroupPrimitive.Root>, & React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleVariants>>(({ className, variant, size, children, ...props }, ref) => ( <ToggleGroupPrimitive.Root ref={ref} className={cn("flex items-center justify-center gap-1", className)} {...props} > <ToggleGroupContext.Provider value={{ variant, size }}> {children} </ToggleGroupContext.Provider> </ToggleGroupPrimitive.Root>));
ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
const ToggleGroupItem = React.forwardRef< React.ElementRef<typeof ToggleGroupPrimitive.Item>, & React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>>(({ className, children, variant, size, ...props }, ref) => { const context = React.useContext(ToggleGroupContext);
return ( <ToggleGroupPrimitive.Item ref={ref} className={cn( toggleVariants({ variant: context.variant || variant, size: context.size || size, }), className, )} {...props} > {children} </ToggleGroupPrimitive.Item> );});
ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
export { ToggleGroup, ToggleGroupItem };
netzo

Version Info

Tagged at
3 weeks ago