UNPKG

@carbon/react

Version:

React components for the Carbon Design System

27 lines (21 loc) 672 B
/** * Copyright IBM Corp. 2016, 2023 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ 'use strict'; var React = require('react'); const useComposedModalState = open => { const [isOpen, setIsOpen] = React.useState(!!open); const [wasOpen, setWasOpen] = React.useState(!!open); // Keep track of modal open/close state React.useEffect(() => { if (open !== wasOpen) { setIsOpen(!!open); setWasOpen(!!open); } }, [open, wasOpen]); return React.useMemo(() => [isOpen, setIsOpen], [isOpen]); }; exports.useComposedModalState = useComposedModalState;