/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
/** @packageDocumentation
 * @module Backstage
 */
import * as React from "react";
/** Hook that returns items from [[BackstageItemsManager]].
 * @internal
 */
export const useDefaultBackstageItems = (manager) => {
    const [items, setItems] = React.useState(manager.items);
    const isInitialMount = React.useRef(true);
    React.useEffect(() => {
        if (isInitialMount.current)
            isInitialMount.current = false;
        else {
            setItems(manager.items);
        }
    }, [manager, manager.items]);
    React.useEffect(() => {
        const handleChanged = (args) => {
            setItems(args.items);
        };
        manager.onItemsChanged.addListener(handleChanged);
        return () => {
            manager.onItemsChanged.removeListener(handleChanged);
        };
    }, [manager]);
    return items;
};
//# sourceMappingURL=useDefaultBackstageItems.js.map