@elastic/eui 116.2.0 → 116.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/avatar/avatar.js +14 -5
- package/es/components/banner/banner.js +202 -0
- package/es/components/banner/banner.styles.js +76 -0
- package/es/components/banner/index.js +9 -0
- package/es/components/basic_table/basic_table.js +21 -10
- package/es/components/basic_table/collapsed_item_actions.js +5 -4
- package/es/components/basic_table/default_item_action.js +3 -5
- package/es/components/breadcrumbs/_breadcrumb_content.js +29 -19
- package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
- package/es/components/context_menu/context_menu_panel_title.js +0 -12
- package/es/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
- package/es/components/datagrid/controls/display_selector.js +2 -1
- package/es/components/datagrid/controls/keyboard_shortcuts.js +2 -1
- package/es/components/date_picker/auto_refresh/auto_refresh.js +7 -4
- package/es/components/date_picker/react-datepicker/src/index.js +1 -5
- package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
- package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
- package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
- package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
- package/es/components/form/field_password/field_password.js +6 -3
- package/es/components/header/header.a11y.js +1 -1
- package/es/components/index.js +1 -0
- package/es/components/markdown_editor/markdown_editor_help_button.js +7 -4
- package/es/components/pagination/pagination_button_arrow.js +6 -2
- package/es/components/panel/panel.styles.js +4 -4
- package/es/components/panel/split_panel/split_panel.styles.js +1 -1
- package/es/components/search_bar/search_bar.js +20 -16
- package/es/components/search_bar/search_box.js +4 -2
- package/es/components/selectable/selectable_list/selectable_list.js +1 -1
- package/es/components/selectable/selectable_list/selectable_list.styles.js +1 -1
- package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
- package/es/components/table/sticky_header/context.js +32 -0
- package/es/components/table/sticky_header/index.js +10 -0
- package/es/components/table/sticky_header/sticky_header.js +151 -0
- package/es/components/table/sticky_header/sticky_header.styles.js +43 -0
- package/es/components/table/store/provider.js +37 -0
- package/es/components/table/store/store.js +82 -0
- package/es/components/table/table.js +28 -3
- package/es/components/table/table.styles.js +4 -4
- package/es/components/table/table_header_cell.js +116 -48
- package/es/components/table/table_header_cell_checkbox.js +59 -25
- package/es/components/text_truncate/text_truncate.js +8 -3
- package/es/components/tool_tip/tool_tip.js +1 -1
- package/es/components/tool_tip/tool_tip.styles.js +14 -5
- package/es/utils/publisher.js +53 -0
- package/eui.d.ts +1266 -975
- package/i18ntokens.json +2390 -2372
- package/lib/components/avatar/avatar.js +14 -5
- package/lib/components/banner/banner.js +211 -0
- package/lib/components/banner/banner.styles.js +80 -0
- package/lib/components/banner/index.js +12 -0
- package/lib/components/basic_table/basic_table.js +21 -10
- package/lib/components/basic_table/collapsed_item_actions.js +5 -4
- package/lib/components/basic_table/default_item_action.js +3 -5
- package/lib/components/breadcrumbs/_breadcrumb_content.js +29 -19
- package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
- package/lib/components/context_menu/context_menu_panel_title.js +0 -12
- package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
- package/lib/components/datagrid/controls/display_selector.js +2 -1
- package/lib/components/datagrid/controls/keyboard_shortcuts.js +2 -1
- package/lib/components/date_picker/auto_refresh/auto_refresh.js +7 -4
- package/lib/components/date_picker/react-datepicker/src/index.js +0 -4
- package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
- package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
- package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
- package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
- package/lib/components/form/field_password/field_password.js +6 -3
- package/lib/components/header/header.a11y.js +1 -1
- package/lib/components/index.js +11 -0
- package/lib/components/markdown_editor/markdown_editor_help_button.js +7 -4
- package/lib/components/pagination/pagination_button_arrow.js +6 -2
- package/lib/components/panel/panel.styles.js +4 -4
- package/lib/components/panel/split_panel/split_panel.styles.js +1 -1
- package/lib/components/search_bar/search_bar.js +20 -16
- package/lib/components/search_bar/search_box.js +4 -2
- package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
- package/lib/components/selectable/selectable_list/selectable_list.styles.js +1 -1
- package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
- package/lib/components/table/sticky_header/context.js +41 -0
- package/lib/components/table/sticky_header/index.js +19 -0
- package/lib/components/table/sticky_header/sticky_header.js +156 -0
- package/lib/components/table/sticky_header/sticky_header.styles.js +47 -0
- package/lib/components/table/store/provider.js +46 -0
- package/lib/components/table/store/store.js +87 -0
- package/lib/components/table/table.js +28 -3
- package/lib/components/table/table.styles.js +4 -4
- package/lib/components/table/table_header_cell.js +118 -48
- package/lib/components/table/table_header_cell_checkbox.js +62 -25
- package/lib/components/text_truncate/text_truncate.js +8 -3
- package/lib/components/tool_tip/tool_tip.js +1 -1
- package/lib/components/tool_tip/tool_tip.styles.js +14 -5
- package/lib/utils/publisher.js +59 -0
- package/optimize/es/components/avatar/avatar.js +12 -4
- package/optimize/es/components/banner/banner.js +112 -0
- package/optimize/es/components/banner/banner.styles.js +76 -0
- package/optimize/es/components/banner/index.js +9 -0
- package/optimize/es/components/basic_table/basic_table.js +21 -10
- package/optimize/es/components/basic_table/collapsed_item_actions.js +5 -4
- package/optimize/es/components/basic_table/default_item_action.js +3 -5
- package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +27 -18
- package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
- package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
- package/optimize/es/components/datagrid/controls/display_selector.js +2 -1
- package/optimize/es/components/datagrid/controls/keyboard_shortcuts.js +2 -1
- package/optimize/es/components/date_picker/auto_refresh/auto_refresh.js +7 -4
- package/optimize/es/components/date_picker/react-datepicker/src/index.js +1 -5
- package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
- package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
- package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
- package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
- package/optimize/es/components/form/field_password/field_password.js +6 -3
- package/optimize/es/components/header/header.a11y.js +1 -1
- package/optimize/es/components/index.js +1 -0
- package/optimize/es/components/markdown_editor/markdown_editor_help_button.js +7 -4
- package/optimize/es/components/pagination/pagination_button_arrow.js +6 -2
- package/optimize/es/components/panel/panel.styles.js +4 -4
- package/optimize/es/components/panel/split_panel/split_panel.styles.js +1 -1
- package/optimize/es/components/search_bar/search_bar.js +20 -16
- package/optimize/es/components/search_bar/search_box.js +4 -2
- package/optimize/es/components/selectable/selectable_list/selectable_list.js +1 -1
- package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +1 -1
- package/optimize/es/components/table/sticky_header/context.js +32 -0
- package/optimize/es/components/table/sticky_header/index.js +10 -0
- package/optimize/es/components/table/sticky_header/sticky_header.js +146 -0
- package/optimize/es/components/table/sticky_header/sticky_header.styles.js +43 -0
- package/optimize/es/components/table/store/provider.js +37 -0
- package/optimize/es/components/table/store/store.js +82 -0
- package/optimize/es/components/table/table.js +15 -3
- package/optimize/es/components/table/table.styles.js +4 -4
- package/optimize/es/components/table/table_header_cell.js +116 -48
- package/optimize/es/components/table/table_header_cell_checkbox.js +59 -25
- package/optimize/es/components/text_truncate/text_truncate.js +8 -3
- package/optimize/es/components/tool_tip/tool_tip.js +1 -1
- package/optimize/es/components/tool_tip/tool_tip.styles.js +14 -5
- package/optimize/es/utils/publisher.js +53 -0
- package/optimize/lib/components/avatar/avatar.js +12 -4
- package/optimize/lib/components/banner/banner.js +121 -0
- package/optimize/lib/components/banner/banner.styles.js +80 -0
- package/optimize/lib/components/banner/index.js +12 -0
- package/optimize/lib/components/basic_table/basic_table.js +21 -10
- package/optimize/lib/components/basic_table/collapsed_item_actions.js +5 -4
- package/optimize/lib/components/basic_table/default_item_action.js +3 -5
- package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +27 -18
- package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
- package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
- package/optimize/lib/components/datagrid/controls/display_selector.js +2 -1
- package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.js +2 -1
- package/optimize/lib/components/date_picker/auto_refresh/auto_refresh.js +7 -4
- package/optimize/lib/components/date_picker/react-datepicker/src/index.js +0 -4
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
- package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
- package/optimize/lib/components/form/field_password/field_password.js +6 -3
- package/optimize/lib/components/header/header.a11y.js +1 -1
- package/optimize/lib/components/index.js +11 -0
- package/optimize/lib/components/markdown_editor/markdown_editor_help_button.js +7 -4
- package/optimize/lib/components/pagination/pagination_button_arrow.js +6 -2
- package/optimize/lib/components/panel/panel.styles.js +4 -4
- package/optimize/lib/components/panel/split_panel/split_panel.styles.js +1 -1
- package/optimize/lib/components/search_bar/search_bar.js +20 -16
- package/optimize/lib/components/search_bar/search_box.js +4 -2
- package/optimize/lib/components/selectable/selectable_list/selectable_list.js +1 -1
- package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +1 -1
- package/optimize/lib/components/table/sticky_header/context.js +41 -0
- package/optimize/lib/components/table/sticky_header/index.js +19 -0
- package/optimize/lib/components/table/sticky_header/sticky_header.js +156 -0
- package/optimize/lib/components/table/sticky_header/sticky_header.styles.js +47 -0
- package/optimize/lib/components/table/store/provider.js +46 -0
- package/optimize/lib/components/table/store/store.js +87 -0
- package/optimize/lib/components/table/table.js +15 -3
- package/optimize/lib/components/table/table.styles.js +4 -4
- package/optimize/lib/components/table/table_header_cell.js +119 -48
- package/optimize/lib/components/table/table_header_cell_checkbox.js +62 -25
- package/optimize/lib/components/text_truncate/text_truncate.js +8 -3
- package/optimize/lib/components/tool_tip/tool_tip.js +1 -1
- package/optimize/lib/components/tool_tip/tool_tip.styles.js +14 -5
- package/optimize/lib/utils/publisher.js +59 -0
- package/package.json +2 -2
- package/test-env/components/avatar/avatar.js +14 -5
- package/test-env/components/banner/banner.js +210 -0
- package/test-env/components/banner/banner.styles.js +80 -0
- package/test-env/components/banner/index.js +12 -0
- package/test-env/components/basic_table/basic_table.js +21 -10
- package/test-env/components/basic_table/collapsed_item_actions.js +5 -4
- package/test-env/components/basic_table/default_item_action.js +3 -5
- package/test-env/components/breadcrumbs/_breadcrumb_content.js +29 -19
- package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
- package/test-env/components/context_menu/context_menu_panel_title.js +0 -12
- package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
- package/test-env/components/datagrid/controls/display_selector.js +2 -1
- package/test-env/components/datagrid/controls/keyboard_shortcuts.js +2 -1
- package/test-env/components/date_picker/auto_refresh/auto_refresh.js +7 -4
- package/test-env/components/date_picker/react-datepicker/src/index.js +0 -4
- package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
- package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
- package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
- package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
- package/test-env/components/form/field_password/field_password.js +6 -3
- package/test-env/components/header/header.a11y.js +1 -1
- package/test-env/components/index.js +11 -0
- package/test-env/components/markdown_editor/markdown_editor_help_button.js +7 -4
- package/test-env/components/pagination/pagination_button_arrow.js +6 -2
- package/test-env/components/panel/panel.styles.js +4 -4
- package/test-env/components/panel/split_panel/split_panel.styles.js +1 -1
- package/test-env/components/search_bar/search_bar.js +20 -16
- package/test-env/components/search_bar/search_box.js +4 -2
- package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
- package/test-env/components/selectable/selectable_list/selectable_list.styles.js +1 -1
- package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
- package/test-env/components/table/sticky_header/context.js +41 -0
- package/test-env/components/table/sticky_header/index.js +19 -0
- package/test-env/components/table/sticky_header/sticky_header.js +156 -0
- package/test-env/components/table/sticky_header/sticky_header.styles.js +47 -0
- package/test-env/components/table/store/provider.js +46 -0
- package/test-env/components/table/store/store.js +87 -0
- package/test-env/components/table/table.js +28 -3
- package/test-env/components/table/table.styles.js +4 -4
- package/test-env/components/table/table_header_cell.js +119 -48
- package/test-env/components/table/table_header_cell_checkbox.js +62 -25
- package/test-env/components/text_truncate/text_truncate.js +8 -3
- package/test-env/components/tool_tip/tool_tip.js +1 -1
- package/test-env/components/tool_tip/tool_tip.styles.js +14 -5
- package/test-env/utils/publisher.js +59 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
@@ -8,9 +9,10 @@ exports.EuiTableHeaderCell = void 0;
|
|
|
8
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
9
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
11
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
var _react =
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
13
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
14
|
var _services = require("../../services");
|
|
15
|
+
var _html_id_generator = require("../../services/accessibility/html_id_generator");
|
|
14
16
|
var _i18n = require("../i18n");
|
|
15
17
|
var _accessibility = require("../accessibility");
|
|
16
18
|
var _icon = require("../icon");
|
|
@@ -20,8 +22,12 @@ var _utils = require("./utils");
|
|
|
20
22
|
var _responsive_context = require("./mobile/responsive_context");
|
|
21
23
|
var _table_cell_content = require("./_table_cell_content");
|
|
22
24
|
var _table_cells_shared = require("./table_cells_shared.styles");
|
|
25
|
+
var _provider = require("./store/provider");
|
|
26
|
+
var _sticky_header = require("./sticky_header");
|
|
23
27
|
var _react2 = require("@emotion/react");
|
|
24
28
|
var _excluded = ["children", "align", "onSort", "isSorted", "isSortAscending", "className", "scope", "mobileOptions", "width", "minWidth", "maxWidth", "style", "readOnly", "tooltipProps", "description", "append", "sticky"];
|
|
29
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
30
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
25
31
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
26
32
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /*
|
|
27
33
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
@@ -105,58 +111,123 @@ var EuiTableHeaderCell = exports.EuiTableHeaderCell = function EuiTableHeaderCel
|
|
|
105
111
|
append = _ref2.append,
|
|
106
112
|
sticky = _ref2.sticky,
|
|
107
113
|
rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
|
|
114
|
+
var selfRef = (0, _react.useRef)(null);
|
|
115
|
+
var internalCellId = (0, _html_id_generator.useGeneratedHtmlId)();
|
|
116
|
+
var store = (0, _provider.useEuiTableColumnDataStore)();
|
|
117
|
+
var isWithinStickyHeader = (0, _sticky_header.useEuiTableWithinStickyHeader)();
|
|
108
118
|
var styles = (0, _services.useEuiMemoizedStyles)(_table_cells_shared.euiTableHeaderFooterCellStyles);
|
|
109
119
|
var stickyStyles = (0, _table_cells_shared._useEuiTableStickyCellStyles)(sticky);
|
|
110
120
|
var isResponsive = (0, _responsive_context.useEuiTableIsResponsive)();
|
|
111
121
|
var hideForDesktop = !isResponsive && (mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.only);
|
|
112
122
|
var hideForMobile = isResponsive && (mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.show) === false;
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
+
var renderHeaderCellRef = (0, _react.useRef)();
|
|
124
|
+
renderHeaderCellRef.current = function (extraProps) {
|
|
125
|
+
if (hideForDesktop || hideForMobile) return null;
|
|
126
|
+
var classes = (0, _classnames.default)('euiTableHeaderCell', className);
|
|
127
|
+
var cssStyles = [styles.euiTableHeaderCell, !isResponsive && stickyStyles];
|
|
128
|
+
var inlineWidthStyles = (0, _utils.resolveWidthPropsAsStyle)(_style, {
|
|
129
|
+
width: width,
|
|
130
|
+
minWidth: minWidth,
|
|
131
|
+
maxWidth: maxWidth
|
|
132
|
+
});
|
|
133
|
+
var CellComponent = children ? 'th' : 'td';
|
|
134
|
+
var cellScope = CellComponent === 'th' ? scope !== null && scope !== void 0 ? scope : 'col' : undefined; // `scope` is only valid on `th` elements
|
|
123
135
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
136
|
+
var canSort = !!(onSort && !readOnly);
|
|
137
|
+
var ariaSortValue;
|
|
138
|
+
if (isSorted) {
|
|
139
|
+
ariaSortValue = isSortAscending ? 'ascending' : 'descending';
|
|
140
|
+
} else if (canSort) {
|
|
141
|
+
ariaSortValue = 'none';
|
|
142
|
+
}
|
|
143
|
+
var cellContentsProps = {
|
|
144
|
+
css: styles.euiTableHeaderCell__content,
|
|
145
|
+
align: align,
|
|
146
|
+
tooltipProps: tooltipProps,
|
|
147
|
+
description: description,
|
|
148
|
+
canSort: canSort,
|
|
149
|
+
isSorted: isSorted,
|
|
150
|
+
isSortAscending: isSortAscending,
|
|
151
|
+
children: children
|
|
152
|
+
};
|
|
153
|
+
return (0, _react2.jsx)(CellComponent, (0, _extends2.default)({
|
|
154
|
+
css: cssStyles,
|
|
155
|
+
className: classes,
|
|
156
|
+
scope: cellScope,
|
|
157
|
+
role: "columnheader",
|
|
158
|
+
"aria-sort": ariaSortValue,
|
|
159
|
+
"data-sticky": !isResponsive && (sticky === null || sticky === void 0 ? void 0 : sticky.side) || undefined,
|
|
160
|
+
style: _objectSpread(_objectSpread({}, _style), inlineWidthStyles)
|
|
161
|
+
}, rest, extraProps), canSort ? (0, _react2.jsx)(_tool_tip.EuiToolTip, (0, _extends2.default)({
|
|
162
|
+
content: tooltipProps === null || tooltipProps === void 0 ? void 0 : tooltipProps.content
|
|
163
|
+
}, tooltipProps === null || tooltipProps === void 0 ? void 0 : tooltipProps.tooltipProps, {
|
|
164
|
+
display: "block"
|
|
165
|
+
}), (0, _react2.jsx)("button", {
|
|
166
|
+
type: "button",
|
|
167
|
+
css: styles.euiTableHeaderCell__button,
|
|
168
|
+
className: (0, _classnames.default)('euiTableHeaderButton', {
|
|
169
|
+
'euiTableHeaderButton-isSorted': isSorted
|
|
170
|
+
}),
|
|
171
|
+
onClick: onSort,
|
|
172
|
+
"data-test-subj": "tableHeaderSortButton"
|
|
173
|
+
}, (0, _react2.jsx)(CellContents, cellContentsProps))) : (0, _react2.jsx)(CellContents, cellContentsProps), append);
|
|
140
174
|
};
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
})
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
175
|
+
var handleResize = (0, _react.useCallback)(function (entries) {
|
|
176
|
+
var entry = entries[0];
|
|
177
|
+
if (!entry) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
store.updateColumnWidth(internalCellId, entry.contentRect.width);
|
|
181
|
+
}, [store, internalCellId]);
|
|
182
|
+
(0, _react.useEffect)(function () {
|
|
183
|
+
// Don't register the column inside the sticky header as the original
|
|
184
|
+
// column is already registered. This would cause an infinite loop.
|
|
185
|
+
if (isWithinStickyHeader || !selfRef.current || !renderHeaderCellRef.current) {
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
var unregisterColumn = store.registerColumn(internalCellId, {
|
|
189
|
+
renderHeaderCellRef: renderHeaderCellRef,
|
|
190
|
+
// getBoundingClientRect is not the cheapest, but we call it only once
|
|
191
|
+
currentWidth: selfRef.current.getBoundingClientRect().width
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
// ResizeObserver is available in all supported browsers,
|
|
195
|
+
// but jsdom and jest don't provide a polyfill for it.
|
|
196
|
+
var resizeObserver;
|
|
197
|
+
if (typeof window.ResizeObserver !== 'undefined') {
|
|
198
|
+
resizeObserver = new ResizeObserver(handleResize);
|
|
199
|
+
|
|
200
|
+
// Note: This _could_ be optimized by using a single ResizeObserver
|
|
201
|
+
// for the whole EuiTable, but it would need to be changed back to this
|
|
202
|
+
// if/when we implement resizable columns
|
|
203
|
+
resizeObserver.observe(selfRef.current);
|
|
204
|
+
}
|
|
205
|
+
return function () {
|
|
206
|
+
var _resizeObserver;
|
|
207
|
+
unregisterColumn();
|
|
208
|
+
(_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 || _resizeObserver.disconnect();
|
|
209
|
+
};
|
|
210
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
211
|
+
}, [store, internalCellId, isWithinStickyHeader]);
|
|
212
|
+
|
|
213
|
+
// Notify the store on every render so the sticky header stays in sync.
|
|
214
|
+
// React's reconciliation will efficiently handle any duplicate renders.
|
|
215
|
+
(0, _react.useEffect)(function () {
|
|
216
|
+
// Don't update the store if the component is rendered within EuiTableStickyHeader
|
|
217
|
+
if (isWithinStickyHeader) {
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
// Don't update the store if the element doesn't exist. The render function
|
|
222
|
+
// in `renderHeaderCellRef` sometimes renders null - e.g., in mobile layout
|
|
223
|
+
if (!selfRef.current) {
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
store.updateColumn(internalCellId, {
|
|
227
|
+
renderHeaderCellRef: renderHeaderCellRef
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
return renderHeaderCellRef.current({
|
|
231
|
+
ref: selfRef
|
|
232
|
+
});
|
|
162
233
|
};
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.EuiTableHeaderCellCheckbox = void 0;
|
|
8
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
-
var _react =
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
13
|
var _services = require("../../services");
|
|
14
|
+
var _html_id_generator = require("../../services/accessibility/html_id_generator");
|
|
13
15
|
var _utils = require("./utils");
|
|
14
16
|
var _table_cells_shared = require("./table_cells_shared.styles");
|
|
17
|
+
var _provider = require("./store/provider");
|
|
18
|
+
var _sticky_header = require("./sticky_header");
|
|
15
19
|
var _react2 = require("@emotion/react");
|
|
16
20
|
var _excluded = ["children", "className", "scope", "style", "width", "minWidth", "maxWidth", "append"];
|
|
17
21
|
/*
|
|
@@ -21,30 +25,63 @@ var _excluded = ["children", "className", "scope", "style", "width", "minWidth",
|
|
|
21
25
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
22
26
|
* Side Public License, v 1.
|
|
23
27
|
*/
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
29
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
30
|
+
var EuiTableHeaderCellCheckbox = exports.EuiTableHeaderCellCheckbox = function EuiTableHeaderCellCheckbox(props) {
|
|
31
|
+
var children = props.children,
|
|
32
|
+
className = props.className,
|
|
33
|
+
_props$scope = props.scope,
|
|
34
|
+
scope = _props$scope === void 0 ? 'col' : _props$scope,
|
|
35
|
+
_style = props.style,
|
|
36
|
+
width = props.width,
|
|
37
|
+
minWidth = props.minWidth,
|
|
38
|
+
maxWidth = props.maxWidth,
|
|
39
|
+
append = props.append,
|
|
40
|
+
rest = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
41
|
+
var internalCellId = (0, _html_id_generator.useGeneratedHtmlId)();
|
|
42
|
+
var store = (0, _provider.useEuiTableColumnDataStore)();
|
|
43
|
+
var isWithinStickyHeader = (0, _sticky_header.useEuiTableWithinStickyHeader)();
|
|
36
44
|
var styles = (0, _services.useEuiMemoizedStyles)(_table_cells_shared.euiTableCellCheckboxStyles);
|
|
37
|
-
var
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
45
|
+
var renderHeaderCellRef = (0, _react.useRef)();
|
|
46
|
+
renderHeaderCellRef.current = function (extraProps) {
|
|
47
|
+
var classes = (0, _classnames.default)('euiTableHeaderCellCheckbox', className);
|
|
48
|
+
var style = (0, _utils.resolveWidthPropsAsStyle)(_style, {
|
|
49
|
+
width: width,
|
|
50
|
+
minWidth: minWidth,
|
|
51
|
+
maxWidth: maxWidth
|
|
52
|
+
});
|
|
53
|
+
return (0, _react2.jsx)("th", (0, _extends2.default)({
|
|
54
|
+
css: styles.euiTableHeaderCellCheckbox,
|
|
55
|
+
className: classes,
|
|
56
|
+
scope: scope,
|
|
57
|
+
style: style
|
|
58
|
+
}, rest, extraProps), (0, _react2.jsx)("div", {
|
|
59
|
+
className: "euiTableCellContent"
|
|
60
|
+
}, children), append);
|
|
61
|
+
};
|
|
62
|
+
(0, _react.useEffect)(function () {
|
|
63
|
+
// Don't register the column inside the sticky header as the original
|
|
64
|
+
// column is already registered. This would cause an infinite loop.
|
|
65
|
+
if (isWithinStickyHeader) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
var unregisterColumn = store.registerColumn(internalCellId, {
|
|
69
|
+
renderHeaderCellRef: renderHeaderCellRef
|
|
70
|
+
});
|
|
71
|
+
return function () {
|
|
72
|
+
unregisterColumn();
|
|
73
|
+
};
|
|
74
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
75
|
+
}, [store, internalCellId, isWithinStickyHeader]);
|
|
76
|
+
(0, _react.useEffect)(function () {
|
|
77
|
+
// Notify the store on every render so the sticky header stays in sync.
|
|
78
|
+
// React's reconciliation will efficiently handle any duplicate renders.
|
|
79
|
+
if (isWithinStickyHeader) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
store.updateColumn(internalCellId, {
|
|
83
|
+
renderHeaderCellRef: renderHeaderCellRef
|
|
84
|
+
});
|
|
41
85
|
});
|
|
42
|
-
return
|
|
43
|
-
css: styles.euiTableHeaderCellCheckbox,
|
|
44
|
-
className: classes,
|
|
45
|
-
scope: scope,
|
|
46
|
-
style: style
|
|
47
|
-
}, rest), (0, _react2.jsx)("div", {
|
|
48
|
-
className: "euiTableCellContent"
|
|
49
|
-
}, children), append);
|
|
86
|
+
return renderHeaderCellRef.current({});
|
|
50
87
|
};
|
|
@@ -13,6 +13,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
14
|
var _services = require("../../services");
|
|
15
15
|
var _resize_observer = require("../observer/resize_observer");
|
|
16
|
+
var _tool_tip = require("../tool_tip");
|
|
16
17
|
var _utils = require("./utils");
|
|
17
18
|
var _text_truncate = require("./text_truncate.styles");
|
|
18
19
|
var _react2 = require("@emotion/react");
|
|
@@ -137,11 +138,10 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
|
|
|
137
138
|
}, [ready, width, text, truncation, truncationOffset, truncationPosition, ellipsis, containerEl]);
|
|
138
139
|
var isTruncating = truncatedText !== text;
|
|
139
140
|
var styles = (0, _services.useEuiMemoizedStyles)(_text_truncate.euiTextTruncateStyles);
|
|
140
|
-
|
|
141
|
+
var content = (0, _react2.jsx)("div", (0, _extends2.default)({
|
|
141
142
|
className: (0, _classnames.default)('euiTextTruncate', className),
|
|
142
143
|
css: styles.euiTextTruncate,
|
|
143
|
-
ref: refs
|
|
144
|
-
title: isTruncating ? text : undefined
|
|
144
|
+
ref: refs
|
|
145
145
|
}, rest), isTruncating ? (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)("span", {
|
|
146
146
|
className: "euiTextTruncate__truncatedText",
|
|
147
147
|
css: styles.euiTextTruncate__truncatedText,
|
|
@@ -155,6 +155,11 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
|
|
|
155
155
|
className: "euiTextTruncate__fullText",
|
|
156
156
|
"data-test-subj": "fullText"
|
|
157
157
|
}, children ? children(text) : text));
|
|
158
|
+
return isTruncating ? (0, _react2.jsx)(_tool_tip.EuiToolTip, {
|
|
159
|
+
content: text,
|
|
160
|
+
disableScreenReaderOutput: true,
|
|
161
|
+
display: "block"
|
|
162
|
+
}, content) : content;
|
|
158
163
|
};
|
|
159
164
|
var EuiTextTruncateWithResizeObserver = function EuiTextTruncateWithResizeObserver(_ref3) {
|
|
160
165
|
var _onResize = _ref3.onResize,
|
|
@@ -32,7 +32,7 @@ var _excluded = ["children", "className", "anchorClassName", "anchorProps", "con
|
|
|
32
32
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
33
33
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
34
34
|
var POSITIONS = exports.POSITIONS = ['top', 'right', 'bottom', 'left'];
|
|
35
|
-
var DISPLAYS = ['inlineBlock', 'block'];
|
|
35
|
+
var DISPLAYS = ['inlineBlock', 'block', 'flex'];
|
|
36
36
|
var DEFAULT_TOOLTIP_OFFSET = exports.DEFAULT_TOOLTIP_OFFSET = 16;
|
|
37
37
|
|
|
38
38
|
/**
|
|
@@ -48,6 +48,14 @@ var euiToolTipStyles = exports.euiToolTipStyles = function euiToolTipStyles(euiT
|
|
|
48
48
|
};
|
|
49
49
|
};
|
|
50
50
|
var _ref = process.env.NODE_ENV === "production" ? {
|
|
51
|
+
name: "1cjglks-flex",
|
|
52
|
+
styles: "display:flex;label:flex;"
|
|
53
|
+
} : {
|
|
54
|
+
name: "1cjglks-flex",
|
|
55
|
+
styles: "display:flex;label:flex;",
|
|
56
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
57
|
+
};
|
|
58
|
+
var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
51
59
|
name: "fzilnk-inlineBlock",
|
|
52
60
|
styles: "display:inline-block;label:inlineBlock;"
|
|
53
61
|
} : {
|
|
@@ -55,7 +63,7 @@ var _ref = process.env.NODE_ENV === "production" ? {
|
|
|
55
63
|
styles: "display:inline-block;label:inlineBlock;",
|
|
56
64
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
57
65
|
};
|
|
58
|
-
var
|
|
66
|
+
var _ref3 = process.env.NODE_ENV === "production" ? {
|
|
59
67
|
name: "14aceuy-block",
|
|
60
68
|
styles: "display:block;label:block;"
|
|
61
69
|
} : {
|
|
@@ -63,7 +71,7 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
|
63
71
|
styles: "display:block;label:block;",
|
|
64
72
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
65
73
|
};
|
|
66
|
-
var
|
|
74
|
+
var _ref4 = process.env.NODE_ENV === "production" ? {
|
|
67
75
|
name: "1s3i3p5-euiToolTipAnchor",
|
|
68
76
|
styles: "*[disabled]{pointer-events:none;};label:euiToolTipAnchor;"
|
|
69
77
|
} : {
|
|
@@ -74,9 +82,10 @@ var _ref3 = process.env.NODE_ENV === "production" ? {
|
|
|
74
82
|
var euiToolTipAnchorStyles = exports.euiToolTipAnchorStyles = function euiToolTipAnchorStyles() {
|
|
75
83
|
return {
|
|
76
84
|
// Elements
|
|
77
|
-
euiToolTipAnchor:
|
|
85
|
+
euiToolTipAnchor: _ref4,
|
|
78
86
|
// Variants
|
|
79
|
-
block:
|
|
80
|
-
inlineBlock:
|
|
87
|
+
block: _ref3,
|
|
88
|
+
inlineBlock: _ref2,
|
|
89
|
+
flex: _ref
|
|
81
90
|
};
|
|
82
91
|
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createPublisher = void 0;
|
|
7
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
8
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
9
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
10
|
+
/*
|
|
11
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
12
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
13
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
14
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
15
|
+
* Side Public License, v 1.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
var createPublisher = exports.createPublisher = function createPublisher() {
|
|
30
|
+
var subscribers = new Set();
|
|
31
|
+
var unsubscribe = function unsubscribe(subscriber) {
|
|
32
|
+
subscribers.delete(subscriber);
|
|
33
|
+
};
|
|
34
|
+
var subscribe = function subscribe(subscriber) {
|
|
35
|
+
subscribers.add(subscriber);
|
|
36
|
+
return function () {
|
|
37
|
+
return unsubscribe(subscriber);
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
var notify = function notify(subject) {
|
|
41
|
+
var _iterator = _createForOfIteratorHelper(subscribers),
|
|
42
|
+
_step;
|
|
43
|
+
try {
|
|
44
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
45
|
+
var _subscriber = _step.value;
|
|
46
|
+
_subscriber(subject);
|
|
47
|
+
}
|
|
48
|
+
} catch (err) {
|
|
49
|
+
_iterator.e(err);
|
|
50
|
+
} finally {
|
|
51
|
+
_iterator.f();
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
return {
|
|
55
|
+
subscribe: subscribe,
|
|
56
|
+
unsubscribe: unsubscribe,
|
|
57
|
+
notify: notify
|
|
58
|
+
};
|
|
59
|
+
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elastic/eui",
|
|
3
3
|
"description": "Elastic UI Component Library",
|
|
4
|
-
"version": "116.
|
|
4
|
+
"version": "116.3.0",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"main": "lib",
|
|
7
7
|
"module": "es",
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"@cypress/webpack-dev-server": "^1.7.0",
|
|
109
109
|
"@elastic/charts": "^64.1.0",
|
|
110
110
|
"@elastic/datemath": "^5.0.3",
|
|
111
|
-
"@elastic/eslint-plugin-eui": "2.
|
|
111
|
+
"@elastic/eslint-plugin-eui": "2.14.0",
|
|
112
112
|
"@elastic/eui-theme-borealis": "8.0.0",
|
|
113
113
|
"@emotion/babel-preset-css-prop": "^11.11.0",
|
|
114
114
|
"@emotion/cache": "^11.11.0",
|
|
@@ -17,6 +17,7 @@ var _contrast = require("../../services/color/contrast");
|
|
|
17
17
|
var _color = require("../../services/color");
|
|
18
18
|
var _services = require("../../services");
|
|
19
19
|
var _icon = require("../icon");
|
|
20
|
+
var _tool_tip = require("../tool_tip");
|
|
20
21
|
var _avatar = require("./avatar.styles");
|
|
21
22
|
var _react2 = require("@emotion/react");
|
|
22
23
|
var _excluded = ["className", "color", "imageUrl", "initials", "initialsLength", "iconType", "iconSize", "iconColor", "name", "size", "type", "isDisabled", "style"],
|
|
@@ -108,21 +109,28 @@ var EuiAvatar = exports.EuiAvatar = function EuiAvatar(_ref) {
|
|
|
108
109
|
// Fall back to the adjusted text color if it exists
|
|
109
110
|
return avatarStyle === null || avatarStyle === void 0 ? void 0 : avatarStyle.color;
|
|
110
111
|
}, [iconColor, avatarStyle === null || avatarStyle === void 0 ? void 0 : avatarStyle.color, isForcedColors, euiTheme]);
|
|
111
|
-
|
|
112
|
+
var avatarNode = (0, _react2.jsx)("div", (0, _extends2.default)({
|
|
112
113
|
css: cssStyles,
|
|
113
114
|
className: classes,
|
|
114
115
|
style: _objectSpread(_objectSpread(_objectSpread({}, style), avatarStyle), highContrastBorder),
|
|
115
116
|
"aria-label": isDisabled ? undefined : name,
|
|
116
|
-
role: isDisabled ? 'presentation' : 'img'
|
|
117
|
-
title: name
|
|
117
|
+
role: isDisabled ? 'presentation' : 'img'
|
|
118
118
|
}, rest), !imageUrl && (iconType ? (0, _react2.jsx)(_icon.EuiIcon, {
|
|
119
119
|
className: "euiAvatar__icon",
|
|
120
120
|
size: iconSize || size,
|
|
121
121
|
type: iconType,
|
|
122
|
-
color: iconCustomColor
|
|
122
|
+
color: iconCustomColor,
|
|
123
|
+
"aria-hidden": true
|
|
123
124
|
}) : (0, _react2.jsx)("span", {
|
|
124
125
|
"aria-hidden": "true"
|
|
125
126
|
}, (0, _services.toInitials)(name, initialsLength, initials))));
|
|
127
|
+
|
|
128
|
+
// `EuiAvatar` is not interactive so we don't need to add a `tabIndex`.
|
|
129
|
+
// It already has `aria-label`, the tooltip is only visual.
|
|
130
|
+
return name ? (0, _react2.jsx)(_tool_tip.EuiToolTip, {
|
|
131
|
+
content: name,
|
|
132
|
+
disableScreenReaderOutput: true
|
|
133
|
+
}, avatarNode) : avatarNode;
|
|
126
134
|
};
|
|
127
135
|
|
|
128
136
|
// TODO: Migrate to a service
|
|
@@ -158,7 +166,8 @@ EuiAvatar.propTypes = {
|
|
|
158
166
|
*/
|
|
159
167
|
iconColor: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.any.isRequired]).isRequired, _propTypes.default.oneOf([null])]),
|
|
160
168
|
/**
|
|
161
|
-
* Full name of avatar
|
|
169
|
+
* Full name of the avatar. Used as the accessible label (`aria-label`),
|
|
170
|
+
* tooltip content and used to derive initials when `initials` is not provided.
|
|
162
171
|
*/
|
|
163
172
|
name: _propTypes.default.string.isRequired,
|
|
164
173
|
/**
|