export enum ActionPanelQA {
    MoreBtn = 'entry-panel-more-btn',
    ActionPanel = 'entry-action-panel',
    EntryBreadcrumbs = 'entry-breadcrumbs',
}

export enum RevisionsPanelQa {
    RevisionsPanel = 'revisions-top-panel',
    DraftVersion = 'revisions-top-panel-draft-version',
    NotActualVersion = 'revisions-top-panel-not-actual-version',
    HasDraft = 'revisions-top-panel-has-draft',
    ButtonOpenActual = 'revisions-button-open-actual',
    ButtonMakeActual = 'revisions-button-make-actual',
}

export enum RevisionsListQa {
    ExpandablePanel = 'expandable-panel',
    ExpandablePanelButtonClose = 'expandable-panel-close-btn',
    List = 'revisions-list',
    RevisionsListRow = 'revisions-list-row',
    RevisionsListRowDraft = 'revisions-list-row-draft',
    RevisionsListRowActual = 'revisions-list-row-actual',
    RevisionsListRowNotActual = 'revisions-list-row-not-actual',
}

export enum SaveChartControlsQa {
    SaveButton = 'action-panel-save-btn',
}

export const DialogRelatedEntitiesQA = {
    Dialog: 'dialog-related-entities',
} as const;

export enum DialogParameterQA {
    Apply = 'dialog-parameter-apply-btn',
    Cancel = 'dialog-parameter-cancel-btn',
    Reset = 'dialog-parameter-reset-btn',
    DefaultValueInput = 'dialog-parameter-default-value-input',
    DefaultValueRadioGroup = 'dialog-parameter-default-value-radio-group',
    NameInput = 'dialog-parameter-name-input',
    TypeSelector = 'dialog-parameter-type_selector',
    Dialog = 'dialog-parameter',
}

export enum AddFieldQA {
    Option = 'add-field-option',
    AddFieldButton = 'add-field-button',
    MeasureFieldIcon = 'add-measure-field-icon',
    DimensionsFieldIcon = 'add-dimension-field-icon',
}

export enum DialogTabsQA {
    Dialog = 'dialog-tabs',
    PopupWidgetOrder = 'popup-widget-order',
    PopupWidgetOrderList = 'popup-widget-order-list',
    TabItemMenu = 'tab-item-menu',
    TabItemMenuOrder = 'tab-item-menu-order',
    RowAdd = 'dialog-tabs-row-add',
    Save = 'dialog-tabs-save-button',
    Cancel = 'dialog-tabs-cancel-button',
    EditTabItem = 'edit-tab-input',
    ReadOnlyTabItem = 'read-only-tab-item',
}

export enum EntryDialogQA {
    Apply = 'entry-dialog-apply-button',
    Cancel = 'entry-dialog-cancel-button',
    Reset = 'entry-dialog-reset-button',
    FolderSelect = 'entry-dialog-select',
    Content = 'entry-dialog-content',
    PathSelect = 'path-select',
}

export enum MenuItemsQA {
    EXPORT = 'export',
    EXPORT_CSV = 'exportCsv',
    EXPORT_MARKDOWN = 'exportMarkdown',
    EXPORT_SCREENSHOT = 'exportScreenshot',
    INSPECTOR = 'inspector',
    NEW_WINDOW = 'openInNewWindow',
    GET_LINK = 'getLink',
    ALERTS = 'alerts',
}

export enum ParamsSettingsQA {
    Settings = 'params-settings',
    Open = 'params-settings-open-btn',
    Add = 'params-settings-add-btn',
    Remove = 'params-settings-remove-btn',
    RemoveAll = 'params-settings-remove-all-btn',
    ParamRow = 'params-settings-param-row',
    ParamTitle = 'params-settings-param-title',
    ParamValue = 'params-settings-param-value',
    ParamAddValue = 'params-settings-param-add-value-btn',
}

export enum NavigationInputQA {
    Apply = 'navigation-input-ok-button',
    Input = 'navigation-input',
    Link = 'navigation-input-use-link-button',
    Open = 'navigation-input-open-button',
}

export enum TabMenuQA {
    List = 'tab-menu-list',
    Item = 'tab-menu-list-item',
    ItemRemove = 'tab-menu-list-item-remove',
    Add = 'tab-menu-add',
    Paste = 'tab-menu-paste',
}

export enum DialogConfirmQA {
    Dialog = 'dialog-confirm',
    ApplyButton = 'dialog-confirm-apply-button',
    CancelButton = 'dialog-confirm-cancel-button',
}

export enum DialogInfoQA {
    Dialog = 'dialog-info',
    CloseButton = 'dialog-close-button',
}

export enum DialogWarningQA {
    Dialog = 'dialog-warning',
    ApplyButton = 'dialog-warning-apply-button',
}

export enum DialogDraftWarningQA {
    Dialog = 'dialog-draft-warning',
    EditButton = 'dialog-draft-warning-edit-btn',
}

export enum DialogDashWidgetItemQA {
    Text = 'dialog-widget-text',
    Title = 'dialog-widget-title',
    Image = 'dialog-widget-image',
}

export enum DialogDashTitleQA {
    Input = 'dialog-dash-title-input',
}

export enum DialogDashWidgetQA {
    Apply = 'dialog-widget-apply-btn',
    Cancel = 'dialog-widget-cancel-btn',
    DialogChartWidget = 'dialog-widget-chart-widget',
}

export const enum DialogFieldEditorQA {
    ApplyButton = 'dialog-field-editor-apply-button',
    CancelButton = 'dialog-field-editor-cancel-button',
    EditNameButton = 'dialog-field-editor-edit-name-button',
}

export const DialogFilterQA = {
    Dialog: 'dialog-filter',
    ApplyButton: 'dialog-filter-apply-button',
    CancelButton: 'dialog-filter-cancel-button',
    ListItem: 'dialog-filter-list-item',
    OperationSelect: 'operation-select',
} as const;

export const enum NavigationMinimalPlaceSelectQa {
    Connections = 'navigation-minimal-place-connections',
    Datasets = 'navigation-minimal-place-datasets',
}

export const enum RelativeDatepickerQa {
    ScaleSelectStart = 'scale-select-start',
    ScaleSelectEnd = 'scale-select-end',
}

export const enum WorkbookNavigationMinimalQa {
    Popup = 'workbook-navigation-minimal-popup',
    Input = 'workbook-navigation-minimal-input',
    List = 'workbook-navigation-minimal-list',
}

export const enum DialogCreateWorkbookEntryQa {
    Root = 'dialog-create-workbook-entry-root',
    Input = 'dialog-create-workbook-entry-input',
    ApplyButton = 'dialog-create-workbook-entry-apply-button',
}

export const enum DialogEntryDescriptionQa {
    Root = 'dialog-entry-description-root',
    SaveButton = 'dialog-entry-description-save-button',
    EditButton = 'dialog-entry-description-edit-button',
}

export const enum CreateEntityButton {
    Button = 'create-entry-button',
    Popup = 'create-entry-button-popup',
}

export enum DocSectionQa {
    Group = 'doc-section-group',
    Item = 'doc-section-item',
    Title = 'doc-item-title',
}

export enum PreviewQa {
    ChartWrapper = 'preview-chart-wrapper',
}

export enum DatalensTabsQa {
    MobileItem = 'dash-mobile-tab-item',
    Item = 'dash-tab-item',
    SwitcherItem = 'dash-tab-switcher-item',
}

export enum DatalensHeaderQa {
    DesktopContainer = 'datalens-header-desktop-container',
    MobileContainer = 'datalens-header-mobile-container',
}

export enum TextWidgetQa {
    Wrapper = 'text-widget-wrapper',
}

// copied from @gravity-ui/uikit
export enum UikitListQa {
    ACTIVE_ITEM = 'list-active-item',
}

export enum WysiwygEditorQa {
    Editor = 'wysiwyg-editor',
    SettingsButton = 'g-md-settings-button',
    ModeMarkupItemMenu = 'g-md-settings-mode-markup',
}

export enum ErrorTextQa {
    ErrorMessage = 'error-message',
}
