/*---------------------------------------------------------------------------------------------
 * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
 * See LICENSE.md in the project root for license terms and full copyright notice.
 *--------------------------------------------------------------------------------------------*/
/** @packageDocumentation
 * @module StandardUiItemsProvider
 */
import * as React from "react";
import { StatusBarItemUtilities } from "../statusbar/StatusBarItemUtilities";
import { ToolAssistanceField } from "../statusfields/toolassistance/ToolAssistanceField";
import { MessageCenterField } from "../statusfields/message-center/MessageCenterField";
import { ActivityCenterField } from "../statusfields/ActivityCenter";
import { SnapModeField } from "../statusfields/SnapMode";
import { SelectionInfoField } from "../statusfields/SelectionInfo";
import { TileLoadingIndicator } from "../statusfields/tileloading/TileLoadingIndicator";
import { SelectionScopeField } from "../statusfields/SelectionScope";
import { StatusBarSeparator } from "../statusbar/Separator";
import { StatusBarSection } from "../statusbar/StatusBarItem";
/**
 * Provide standard statusbar fields for the SimpleStatusbarWidget
 * @beta
 */
export class StandardStatusbarUiItemsProvider {
    get id() {
        return "appui-react:StandardStatusbarUiItemsProvider";
    }
    constructor(_defaultItems) {
        this._defaultItems = _defaultItems;
    }
    provideStatusBarItems(_stageId, _stageUsage, _stageAppData) {
        const statusBarItems = [];
        if (!this._defaultItems || this._defaultItems.messageCenter) {
            statusBarItems.push(StatusBarItemUtilities.createCustomItem("uifw.MessageCenter", StatusBarSection.Left, 10, React.createElement(MessageCenterField, null)));
        }
        if (!this._defaultItems || this._defaultItems.toolAssistance) {
            if (!this._defaultItems || this._defaultItems.preToolAssistanceSeparator)
                statusBarItems.push(StatusBarItemUtilities.createCustomItem("uifw.PreToolAssistance", StatusBarSection.Left, 15, React.createElement(StatusBarSeparator, null)));
            statusBarItems.push(StatusBarItemUtilities.createCustomItem("uifw.ToolAssistance", StatusBarSection.Left, 20, React.createElement(ToolAssistanceField, null)));
            if (!this._defaultItems || this._defaultItems.postToolAssistanceSeparator)
                statusBarItems.push(StatusBarItemUtilities.createCustomItem("uifw.PostToolAssistance", StatusBarSection.Left, 25, React.createElement(StatusBarSeparator, null)));
        }
        if (this._defaultItems?.activityCenter) {
            statusBarItems.push(StatusBarItemUtilities.createCustomItem("uifw.ActivityCenter", StatusBarSection.Left, 30, React.createElement(ActivityCenterField, null)));
        }
        if (!this._defaultItems || this._defaultItems.accuSnapModePicker) {
            statusBarItems.push(StatusBarItemUtilities.createCustomItem("uifw.SnapMode", StatusBarSection.Center, 10, React.createElement(SnapModeField, null)));
        }
        if (!this._defaultItems || this._defaultItems.tileLoadIndicator) {
            statusBarItems.push(StatusBarItemUtilities.createCustomItem("uifw.TileLoadIndicator", StatusBarSection.Right, 10, React.createElement(TileLoadingIndicator, null)));
        }
        if (!this._defaultItems || this._defaultItems.selectionScope) {
            statusBarItems.push(StatusBarItemUtilities.createCustomItem("uifw.SelectionScope", StatusBarSection.Right, 20, React.createElement(SelectionScopeField, null)));
        }
        if (!this._defaultItems || this._defaultItems.selectionInfo) {
            statusBarItems.push(StatusBarItemUtilities.createCustomItem("uifw.SelectionInfo", StatusBarSection.Right, 30, 
            // eslint-disable-next-line deprecation/deprecation
            React.createElement(SelectionInfoField, null)));
        }
        return statusBarItems;
    }
}
//# sourceMappingURL=StandardStatusbarUiItemsProvider.js.map