From da693295e96060b6a38254857b67a6d683463aec Mon Sep 17 00:00:00 2001 From: Weronika Olejniczak Date: Wed, 27 May 2026 16:15:05 +0200 Subject: [PATCH 1/2] feat(kibana-security): replace title props and wrap EuiButtonIcon with EuiToolTip --- .../rule_editor_panel/field_rule_editor.tsx | 57 +++++++++++++------ .../privileges/es/index_privilege_form.tsx | 28 +++++++-- .../es/remote_cluster_privileges_form.tsx | 23 +++++--- .../privilege_summary_table.tsx | 24 +++++--- .../privilege_space_table.tsx | 53 ++++++++++++----- .../components/space_result_details.tsx | 5 +- .../solution_view_switch_callout_internal.tsx | 34 ++++++----- .../space_selector/components/space_card.tsx | 10 ++-- 8 files changed, 160 insertions(+), 74 deletions(-) diff --git a/x-pack/platform/plugins/shared/security/public/management/role_mappings/edit_role_mapping/rule_editor_panel/field_rule_editor.tsx b/x-pack/platform/plugins/shared/security/public/management/role_mappings/edit_role_mapping/rule_editor_panel/field_rule_editor.tsx index 912c32aa34c50..c61c04080d802 100644 --- a/x-pack/platform/plugins/shared/security/public/management/role_mappings/edit_role_mapping/rule_editor_panel/field_rule_editor.tsx +++ b/x-pack/platform/plugins/shared/security/public/management/role_mappings/edit_role_mapping/rule_editor_panel/field_rule_editor.tsx @@ -16,6 +16,7 @@ import { EuiFormRow, EuiIcon, EuiSelect, + EuiToolTip, } from '@elastic/eui'; import type { ChangeEvent } from 'react'; import React, { Component } from 'react'; @@ -156,21 +157,31 @@ export class FieldRuleEditor extends Component { {this.props.readOnly === false && renderAddValueButton ? ( - + disableScreenReaderOutput + > + + ) : ( - + )} @@ -182,21 +193,31 @@ export class FieldRuleEditor extends Component { {this.props.readOnly === false ? ( - this.onRemoveAlternateValue(valueIndex)} - /> + disableScreenReaderOutput + > + this.onRemoveAlternateValue(valueIndex)} + /> + ) : ( - + )} diff --git a/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/es/index_privilege_form.tsx b/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/es/index_privilege_form.tsx index 0fffca780b976..2331578c2afe9 100644 --- a/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/es/index_privilege_form.tsx +++ b/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/es/index_privilege_form.tsx @@ -16,6 +16,7 @@ import { EuiPanel, EuiSpacer, EuiSwitch, + EuiToolTip, } from '@elastic/eui'; import { css } from '@emotion/react'; import _ from 'lodash'; @@ -104,8 +105,8 @@ export class IndexPrivilegeForm extends Component { {!this.props.isRoleReadOnly && ( - { { defaultMessage: 'Delete index privilege' } ) } - color={'danger'} - onClick={this.props.onDelete} - iconType={'trash'} - /> + disableScreenReaderOutput + > + + )} diff --git a/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/es/remote_cluster_privileges_form.tsx b/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/es/remote_cluster_privileges_form.tsx index bc8b70bd7d054..bba49ac60ad93 100644 --- a/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/es/remote_cluster_privileges_form.tsx +++ b/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/es/remote_cluster_privileges_form.tsx @@ -15,6 +15,7 @@ import { EuiFormRow, EuiPanel, EuiSpacer, + EuiToolTip, } from '@elastic/eui'; import { css } from '@emotion/react'; import React, { Fragment, useCallback } from 'react'; @@ -165,16 +166,24 @@ export const RemoteClusterPrivilegesForm: React.FunctionComponent = ({ {!isRoleReadOnly && ( - + disableScreenReaderOutput + > + + )} diff --git a/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/kibana/privilege_summary/privilege_summary_table.tsx b/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/kibana/privilege_summary/privilege_summary_table.tsx index 508b3309145f7..4622ddb37b041 100644 --- a/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/kibana/privilege_summary/privilege_summary_table.tsx +++ b/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/kibana/privilege_summary/privilege_summary_table.tsx @@ -16,6 +16,7 @@ import { EuiInMemoryTable, EuiSpacer, EuiTitle, + EuiToolTip, } from '@elastic/eui'; import React, { Fragment, useMemo, useState } from 'react'; @@ -126,12 +127,19 @@ export const PrivilegeSummaryTable = (props: PrivilegeSummaryTableProps) => { return null; } return ( - toggleExpandedFeature(featureId)} - data-test-subj={`expandPrivilegeSummaryRow`} - aria-label={expandedFeatures.includes(featureId) ? 'Collapse' : 'Expand'} - iconType={expandedFeatures.includes(featureId) ? 'chevronSingleUp' : 'chevronSingleDown'} - /> + + toggleExpandedFeature(featureId)} + data-test-subj={`expandPrivilegeSummaryRow`} + aria-label={expandedFeatures.includes(featureId) ? 'Collapse' : 'Expand'} + iconType={ + expandedFeatures.includes(featureId) ? 'chevronSingleUp' : 'chevronSingleDown' + } + /> + ); }, }; @@ -180,7 +188,7 @@ export const PrivilegeSummaryTable = (props: PrivilegeSummaryTableProps) => { /> ); } else { - iconTip = ; + iconTip = ; } return ( { > {category.euiIconType ? ( - + ) : null} diff --git a/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/kibana/space_aware_privilege_section/privilege_space_table.tsx b/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/kibana/space_aware_privilege_section/privilege_space_table.tsx index 197d243a37fd9..ebf3a98a576a0 100644 --- a/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/kibana/space_aware_privilege_section/privilege_space_table.tsx +++ b/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/kibana/space_aware_privilege_section/privilege_space_table.tsx @@ -17,6 +17,7 @@ import { EuiIcon, EuiIconTip, EuiInMemoryTable, + EuiToolTip, } from '@elastic/eui'; import React, { Component } from 'react'; @@ -187,7 +188,7 @@ export class PrivilegeSpaceTable extends Component { ? '*' : basePrivilege; - let icon = ; + let icon = ; if (privilegeCalculator.hasSupersededInheritedPrivileges(record.privilegeIndex)) { icon = ( @@ -224,38 +225,60 @@ export class PrivilegeSpaceTable extends Component { { render: (record: TableRow) => { return ( - s.name).join(', ') }, } )} - color={'primary'} - iconType={'pencil'} - onClick={() => this.props.onEdit(record.privilegeIndex)} - data-test-subj={`privilegeEditAction-${record.privilegeIndex}`} - /> + disableScreenReaderOutput + > + s.name).join(', ') }, + } + )} + color={'primary'} + iconType={'pencil'} + onClick={() => this.props.onEdit(record.privilegeIndex)} + data-test-subj={`privilegeEditAction-${record.privilegeIndex}`} + /> + ); }, }, { render: (record: TableRow) => { return ( - s.name).join(', ') }, } )} - color={'danger'} - iconType={'trash'} - onClick={() => this.onDeleteSpacePrivilege(record)} - data-test-subj={`privilegeDeleteAction-${record.privilegeIndex}`} - /> + disableScreenReaderOutput + > + s.name).join(', ') }, + } + )} + color={'danger'} + iconType={'trash'} + onClick={() => this.onDeleteSpacePrivilege(record)} + data-test-subj={`privilegeDeleteAction-${record.privilegeIndex}`} + /> + ); }, }, diff --git a/x-pack/platform/plugins/shared/spaces/public/copy_saved_objects_to_space/components/space_result_details.tsx b/x-pack/platform/plugins/shared/spaces/public/copy_saved_objects_to_space/components/space_result_details.tsx index 48768ed78194f..927fd66f11506 100644 --- a/x-pack/platform/plugins/shared/spaces/public/copy_saved_objects_to_space/components/space_result_details.tsx +++ b/x-pack/platform/plugins/shared/spaces/public/copy_saved_objects_to_space/components/space_result_details.tsx @@ -13,6 +13,7 @@ import { EuiSuperSelect, EuiSwitch, EuiText, + EuiTextTruncate, useEuiTheme, } from '@elastic/eui'; import { css } from '@emotion/react'; @@ -172,9 +173,7 @@ export const SpaceCopyResultDetails = (props: Props) => { `} > -

- {name} -

+
{switchProps.show && ( diff --git a/x-pack/platform/plugins/shared/spaces/public/solution_view_switch/components/solution_view_switch_callout_internal.tsx b/x-pack/platform/plugins/shared/spaces/public/solution_view_switch/components/solution_view_switch_callout_internal.tsx index d7f80f7bb8bd9..5b42cf51ff5fd 100644 --- a/x-pack/platform/plugins/shared/spaces/public/solution_view_switch/components/solution_view_switch_callout_internal.tsx +++ b/x-pack/platform/plugins/shared/spaces/public/solution_view_switch/components/solution_view_switch_callout_internal.tsx @@ -13,6 +13,7 @@ import { EuiHorizontalRule, EuiSpacer, EuiText, + EuiToolTip, useEuiTheme, } from '@elastic/eui'; import { css } from '@emotion/react'; @@ -77,19 +78,26 @@ export const SolutionViewSwitchCalloutInternal = ({ - + + + diff --git a/x-pack/platform/plugins/shared/spaces/public/space_selector/components/space_card.tsx b/x-pack/platform/plugins/shared/spaces/public/space_selector/components/space_card.tsx index 8468a2d47c43e..52366b4a40fc6 100644 --- a/x-pack/platform/plugins/shared/spaces/public/space_selector/components/space_card.tsx +++ b/x-pack/platform/plugins/shared/spaces/public/space_selector/components/space_card.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { EuiCard, EuiLoadingSpinner, EuiTextColor, useEuiTheme } from '@elastic/eui'; +import { EuiCard, EuiLoadingSpinner, EuiTextColor, EuiToolTip, useEuiTheme } from '@elastic/eui'; import { css } from '@emotion/react'; import React, { lazy, Suspense } from 'react'; @@ -65,9 +65,11 @@ function renderSpaceDescription(space: Space) { } return ( - - {description} - + + + {description} + + ); } From 31bb2904901faab0afa074800cf5395aa77822e6 Mon Sep 17 00:00:00 2001 From: Weronika Olejniczak Date: Wed, 27 May 2026 17:31:48 +0200 Subject: [PATCH 2/2] chore(kibana-security): update snapshots --- .../index_privilege_form.test.tsx.snap | 17 +++++++++++------ ...mote_cluster_privileges_form.test.tsx.snap | 19 ++++++++++++------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/es/__snapshots__/index_privilege_form.test.tsx.snap b/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/es/__snapshots__/index_privilege_form.test.tsx.snap index e2e3ea194eed5..c86ccca9531ea 100644 --- a/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/es/__snapshots__/index_privilege_form.test.tsx.snap +++ b/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/es/__snapshots__/index_privilege_form.test.tsx.snap @@ -135,12 +135,17 @@ exports[`it renders without crashing 1`] = ` - + + + diff --git a/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/es/__snapshots__/remote_cluster_privileges_form.test.tsx.snap b/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/es/__snapshots__/remote_cluster_privileges_form.test.tsx.snap index 228eef256bcd1..eba70f0943a6b 100644 --- a/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/es/__snapshots__/remote_cluster_privileges_form.test.tsx.snap +++ b/x-pack/platform/plugins/shared/security/public/management/roles/edit_role/privileges/es/__snapshots__/remote_cluster_privileges_form.test.tsx.snap @@ -93,13 +93,18 @@ exports[`it renders without crashing 1`] = ` - + + +