diff --git a/packages/propel/src/collapsible/collapsible.tsx b/packages/propel/src/collapsible/collapsible.tsx index 9178b44a42c..e105b9c6c8a 100644 --- a/packages/propel/src/collapsible/collapsible.tsx +++ b/packages/propel/src/collapsible/collapsible.tsx @@ -47,7 +47,7 @@ const useCollapsible = () => { // Components function Root({ children, className, isOpen: controlledIsOpen, onToggle, defaultOpen }: RootProps) { - const [localIsOpen, setLocalIsOpen] = useState(controlledIsOpen || defaultOpen || false); + const [localIsOpen, setLocalIsOpen] = useState(controlledIsOpen !== undefined ? controlledIsOpen : !!defaultOpen); useEffect(() => { if (controlledIsOpen !== undefined) { diff --git a/packages/ui/src/collapsible/collapsible.tsx b/packages/ui/src/collapsible/collapsible.tsx index 0831db3bb1a..97a9992513b 100644 --- a/packages/ui/src/collapsible/collapsible.tsx +++ b/packages/ui/src/collapsible/collapsible.tsx @@ -4,7 +4,6 @@ * See the LICENSE file for details. */ -import { Disclosure, Transition } from "@headlessui/react"; import React, { useState, useEffect, useCallback } from "react"; export type TCollapsibleProps = { @@ -21,7 +20,7 @@ export type TCollapsibleProps = { export function Collapsible(props: TCollapsibleProps) { const { title, children, buttonRef, className, buttonClassName, isOpen, onToggle, defaultOpen } = props; // state - const [localIsOpen, setLocalIsOpen] = useState(isOpen || defaultOpen ? true : false); + const [localIsOpen, setLocalIsOpen] = useState(isOpen !== undefined ? isOpen : !!defaultOpen); useEffect(() => { if (isOpen !== undefined) { @@ -39,24 +38,15 @@ export function Collapsible(props: TCollapsibleProps) { }, [isOpen, onToggle]); return ( - - +
+ + {localIsOpen && ( +
{children} - - - +
+ )} +
); }