UNPKG

@carbon/react

Version:

React components for the Carbon Design System

29 lines (27 loc) 828 B
/** * Copyright IBM Corp. 2016, 2026 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ import { useEffect, useMemo, useState } from "react"; //#region src/components/ComposedModal/useComposedModalState.ts /** * Copyright IBM Corp. 2016, 2025 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ const useComposedModalState = (open) => { const [isOpen, setIsOpen] = useState(!!open); const [wasOpen, setWasOpen] = useState(!!open); useEffect(() => { if (open !== wasOpen) { setIsOpen(!!open); setWasOpen(!!open); } }, [open, wasOpen]); return useMemo(() => [isOpen, setIsOpen], [isOpen]); }; //#endregion export { useComposedModalState };