"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
/** @packageDocumentation
 * @module StatusBar
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.StatusBarItemUtilities = void 0;
const appui_abstract_1 = require("@itwin/appui-abstract");
const StatusBarItem_1 = require("./StatusBarItem");
/** Utility methods for creating and maintaining StatusBar items.
 * @public
 */
class StatusBarItemUtilities {
}
exports.StatusBarItemUtilities = StatusBarItemUtilities;
/** Creates a StatusBar item
 * @deprecated in 3.6 Use [[StatusBarItemUtilities.createCustomItem]] instead.
 */
StatusBarItemUtilities.createStatusBarItem = (id, section, itemPriority, reactNode, itemProps) => ({
    id, section, itemPriority, reactNode,
    isCustom: true,
    ...itemProps ? itemProps : {},
});
/** Helper class to create Abstract StatusBar Item definitions.
 * @public
 */
(function (StatusBarItemUtilities) {
    /** Creates a StatusBar item to perform an action.
     * @beta
     */
    function createActionItem(id, section, itemPriority, icon, tooltip, execute, overrides) {
        return appui_abstract_1.AbstractStatusBarItemUtilities.createActionItem(id, section, itemPriority, icon, tooltip, execute, overrides); // eslint-disable-line deprecation/deprecation
    }
    StatusBarItemUtilities.createActionItem = createActionItem;
    /** Creates a StatusBar item to display a label.
     * @beta
     */
    function createLabelItem(id, section, itemPriority, icon, label, labelSide = StatusBarItem_1.StatusBarLabelSide.Right, overrides) {
        return appui_abstract_1.AbstractStatusBarItemUtilities.createLabelItem(id, section, itemPriority, icon, label, labelSide, overrides); // eslint-disable-line deprecation/deprecation
    }
    StatusBarItemUtilities.createLabelItem = createLabelItem;
    /** Creates a StatusBar item to display a custom content.
     * @beta
     */
    function createCustomItem(id, section, itemPriority, reactNode, overrides) {
        return StatusBarItemUtilities.createStatusBarItem(id, section, itemPriority, reactNode, overrides); // eslint-disable-line deprecation/deprecation
    }
    StatusBarItemUtilities.createCustomItem = createCustomItem;
})(StatusBarItemUtilities = exports.StatusBarItemUtilities || (exports.StatusBarItemUtilities = {}));
//# sourceMappingURL=StatusBarItemUtilities.js.map