@majapisoftwares/ui 4.1.0 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -3,25 +3,25 @@ import { useId } from "react";
|
|
|
3
3
|
import * as RAccordion from "@radix-ui/react-accordion";
|
|
4
4
|
import clsx from "../../utils/clsx";
|
|
5
5
|
export default function Accordion({ children, className, type = "multiple", }) {
|
|
6
|
-
return (<RAccordion.Root type={type} className={clsx("flex flex-col gap-2", className)} collapsible>
|
|
7
|
-
{children}
|
|
6
|
+
return (<RAccordion.Root type={type} className={clsx("flex flex-col gap-2", className)} collapsible={type === "single" || undefined}>
|
|
7
|
+
{children}
|
|
8
8
|
</RAccordion.Root>);
|
|
9
9
|
}
|
|
10
10
|
Accordion.Item = AccordionItem;
|
|
11
11
|
function AccordionItem({ children, title, value, className, triggerClassName, contentClassName, contentInnerClassName, }) {
|
|
12
12
|
const id = useId();
|
|
13
13
|
value = value || id;
|
|
14
|
-
return (<RAccordion.Item value={value} className={className}>
|
|
15
|
-
<RAccordion.Header>
|
|
16
|
-
<RAccordion.Trigger className={clsx("group focus-visible:ring-opacity-75 flex w-full justify-between rounded-lg bg-zinc-200 px-4 py-2 text-left text-sm font-medium transition hover:bg-zinc-300 focus:outline-hidden focus-visible:ring-3 focus-visible:ring-purple-500 dark:bg-zinc-800 dark:hover:bg-zinc-700", triggerClassName)}>
|
|
17
|
-
{title}
|
|
18
|
-
<ChevronUpIcon className="h-5 w-5 transition-transform duration-300 ease-[cubic-bezier(0.87,_0,_0.13,_1)] group-data-[state=open]:rotate-180"/>
|
|
19
|
-
</RAccordion.Trigger>
|
|
20
|
-
</RAccordion.Header>
|
|
21
|
-
<RAccordion.Content className={clsx("data-[state=closed]:animate-slide-up data-[state=open]:animate-slide-down overflow-hidden", contentClassName)}>
|
|
22
|
-
<div className={clsx("px-4 pt-2 pb-2", contentInnerClassName)}>
|
|
23
|
-
{children}
|
|
24
|
-
</div>
|
|
25
|
-
</RAccordion.Content>
|
|
14
|
+
return (<RAccordion.Item value={value} className={className}>
|
|
15
|
+
<RAccordion.Header>
|
|
16
|
+
<RAccordion.Trigger className={clsx("group focus-visible:ring-opacity-75 flex w-full justify-between rounded-lg bg-zinc-200 px-4 py-2 text-left text-sm font-medium transition hover:bg-zinc-300 focus:outline-hidden focus-visible:ring-3 focus-visible:ring-purple-500 dark:bg-zinc-800 dark:hover:bg-zinc-700", triggerClassName)}>
|
|
17
|
+
{title}
|
|
18
|
+
<ChevronUpIcon className="h-5 w-5 transition-transform duration-300 ease-[cubic-bezier(0.87,_0,_0.13,_1)] group-data-[state=open]:rotate-180"/>
|
|
19
|
+
</RAccordion.Trigger>
|
|
20
|
+
</RAccordion.Header>
|
|
21
|
+
<RAccordion.Content className={clsx("data-[state=closed]:animate-slide-up data-[state=open]:animate-slide-down overflow-hidden", contentClassName)}>
|
|
22
|
+
<div className={clsx("px-4 pt-2 pb-2", contentInnerClassName)}>
|
|
23
|
+
{children}
|
|
24
|
+
</div>
|
|
25
|
+
</RAccordion.Content>
|
|
26
26
|
</RAccordion.Item>);
|
|
27
27
|
}
|