shadcn-vue/packages/shadcn-vue/src/components/uiv2/cva.ts
khairulhaaziq 4998de0b76 add
2023-07-18 05:21:56 +08:00

31 lines
1.0 KiB
TypeScript

import { cva, type VariantProps } from "class-variance-authority";
export const AccordionClass = cva("", {
variants: {
variant: {
default: "",
},
component: {
root: "",
item: "",
header: "",
trigger: "",
content: "",
contentWrapper: "",
},
},
compoundVariants: [
{ variant: "default", component: "root", class: "w-[300px]" },
{ variant: "default", component: "item", class: "border-b w-full" },
{ variant: "default", component: "trigger", class: "flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180" },
{ variant: "default", component: "content", class: "overflow-hidden text-sm data-[state=open]:animate-accordion-down data-[state=closed]:animate-accordion-up" },
{ variant: "default", component: "contentWrapper", class: "overflow-hidden text-sm" },
{ variant: "default", component: "header", class: "flex" },
],
defaultVariants: {
variant: "default",
},
});
export type AccordionClassProps = VariantProps<typeof AccordionClass>;