@elastic/eui 116.2.0 → 116.3.1
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 +18 -5
- package/es/components/avatar/avatar.styles.js +16 -16
- 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/store/use_unique_column_id.js +25 -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 +115 -48
- package/es/components/table/table_header_cell_checkbox.js +58 -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 +1284 -975
- package/i18ntokens.json +2390 -2372
- package/lib/components/avatar/avatar.js +18 -5
- package/lib/components/avatar/avatar.styles.js +16 -16
- 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/store/use_unique_column_id.js +34 -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 +117 -48
- package/lib/components/table/table_header_cell_checkbox.js +61 -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 +16 -4
- package/optimize/es/components/avatar/avatar.styles.js +16 -16
- 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/store/use_unique_column_id.js +25 -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 +115 -48
- package/optimize/es/components/table/table_header_cell_checkbox.js +58 -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 +16 -4
- package/optimize/lib/components/avatar/avatar.styles.js +16 -16
- 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/store/use_unique_column_id.js +34 -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 +118 -48
- package/optimize/lib/components/table/table_header_cell_checkbox.js +61 -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 +18 -5
- package/test-env/components/avatar/avatar.styles.js +16 -16
- 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/store/use_unique_column_id.js +34 -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 +118 -48
- package/test-env/components/table/table_header_cell_checkbox.js +61 -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
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.EuiTableHeaderCell = void 0;
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _react =
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
11
|
var _services = require("../../services");
|
|
12
12
|
var _i18n = require("../i18n");
|
|
@@ -18,8 +18,13 @@ var _utils = require("./utils");
|
|
|
18
18
|
var _responsive_context = require("./mobile/responsive_context");
|
|
19
19
|
var _table_cell_content = require("./_table_cell_content");
|
|
20
20
|
var _table_cells_shared = require("./table_cells_shared.styles");
|
|
21
|
+
var _provider = require("./store/provider");
|
|
22
|
+
var _sticky_header = require("./sticky_header");
|
|
23
|
+
var _use_unique_column_id = require("./store/use_unique_column_id");
|
|
21
24
|
var _react2 = require("@emotion/react");
|
|
22
25
|
var _excluded = ["children", "align", "onSort", "isSorted", "isSortAscending", "className", "scope", "mobileOptions", "width", "minWidth", "maxWidth", "style", "readOnly", "tooltipProps", "description", "append", "sticky"];
|
|
26
|
+
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); }
|
|
27
|
+
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; }
|
|
23
28
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
24
29
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
25
30
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
|
|
@@ -110,60 +115,124 @@ var EuiTableHeaderCell = exports.EuiTableHeaderCell = function EuiTableHeaderCel
|
|
|
110
115
|
append = _ref2.append,
|
|
111
116
|
sticky = _ref2.sticky,
|
|
112
117
|
rest = _objectWithoutProperties(_ref2, _excluded);
|
|
118
|
+
var selfRef = (0, _react.useRef)(null);
|
|
119
|
+
var storeCellId = (0, _use_unique_column_id.useEuiTableStoreUniqueColumnId)();
|
|
120
|
+
var store = (0, _provider.useEuiTableColumnDataStore)();
|
|
121
|
+
var isWithinStickyHeader = (0, _sticky_header.useEuiTableWithinStickyHeader)();
|
|
113
122
|
var styles = (0, _services.useEuiMemoizedStyles)(_table_cells_shared.euiTableHeaderFooterCellStyles);
|
|
114
123
|
var stickyStyles = (0, _table_cells_shared._useEuiTableStickyCellStyles)(sticky);
|
|
115
124
|
var isResponsive = (0, _responsive_context.useEuiTableIsResponsive)();
|
|
116
125
|
var hideForDesktop = !isResponsive && (mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.only);
|
|
117
126
|
var hideForMobile = isResponsive && (mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.show) === false;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
127
|
+
var renderHeaderCellRef = (0, _react.useRef)();
|
|
128
|
+
renderHeaderCellRef.current = function (extraProps) {
|
|
129
|
+
if (hideForDesktop || hideForMobile) return null;
|
|
130
|
+
var classes = (0, _classnames.default)('euiTableHeaderCell', className);
|
|
131
|
+
var cssStyles = [styles.euiTableHeaderCell, !isResponsive && stickyStyles];
|
|
132
|
+
var inlineWidthStyles = (0, _utils.resolveWidthPropsAsStyle)(_style, {
|
|
133
|
+
width: width,
|
|
134
|
+
minWidth: minWidth,
|
|
135
|
+
maxWidth: maxWidth
|
|
136
|
+
});
|
|
137
|
+
var CellComponent = children ? 'th' : 'td';
|
|
138
|
+
var cellScope = CellComponent === 'th' ? scope !== null && scope !== void 0 ? scope : 'col' : undefined; // `scope` is only valid on `th` elements
|
|
128
139
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
140
|
+
var canSort = !!(onSort && !readOnly);
|
|
141
|
+
var ariaSortValue;
|
|
142
|
+
if (isSorted) {
|
|
143
|
+
ariaSortValue = isSortAscending ? 'ascending' : 'descending';
|
|
144
|
+
} else if (canSort) {
|
|
145
|
+
ariaSortValue = 'none';
|
|
146
|
+
}
|
|
147
|
+
var cellContentsProps = {
|
|
148
|
+
css: styles.euiTableHeaderCell__content,
|
|
149
|
+
align: align,
|
|
150
|
+
tooltipProps: tooltipProps,
|
|
151
|
+
description: description,
|
|
152
|
+
canSort: canSort,
|
|
153
|
+
isSorted: isSorted,
|
|
154
|
+
isSortAscending: isSortAscending,
|
|
155
|
+
children: children
|
|
156
|
+
};
|
|
157
|
+
return (0, _react2.jsx)(CellComponent, _extends({
|
|
158
|
+
css: cssStyles,
|
|
159
|
+
className: classes,
|
|
160
|
+
scope: cellScope,
|
|
161
|
+
role: "columnheader",
|
|
162
|
+
"aria-sort": ariaSortValue,
|
|
163
|
+
"data-sticky": !isResponsive && (sticky === null || sticky === void 0 ? void 0 : sticky.side) || undefined,
|
|
164
|
+
style: _objectSpread(_objectSpread({}, _style), inlineWidthStyles)
|
|
165
|
+
}, rest, extraProps), canSort ? (0, _react2.jsx)(_tool_tip.EuiToolTip, _extends({
|
|
166
|
+
content: tooltipProps === null || tooltipProps === void 0 ? void 0 : tooltipProps.content
|
|
167
|
+
}, tooltipProps === null || tooltipProps === void 0 ? void 0 : tooltipProps.tooltipProps, {
|
|
168
|
+
display: "block"
|
|
169
|
+
}), (0, _react2.jsx)("button", {
|
|
170
|
+
type: "button",
|
|
171
|
+
css: styles.euiTableHeaderCell__button,
|
|
172
|
+
className: (0, _classnames.default)('euiTableHeaderButton', {
|
|
173
|
+
'euiTableHeaderButton-isSorted': isSorted
|
|
174
|
+
}),
|
|
175
|
+
onClick: onSort,
|
|
176
|
+
"data-test-subj": "tableHeaderSortButton"
|
|
177
|
+
}, (0, _react2.jsx)(CellContents, cellContentsProps))) : (0, _react2.jsx)(CellContents, cellContentsProps), append);
|
|
145
178
|
};
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
})
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
179
|
+
var handleResize = (0, _react.useCallback)(function (entries) {
|
|
180
|
+
var entry = entries[0];
|
|
181
|
+
if (!entry) {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
store.updateColumnWidth(storeCellId, entry.contentRect.width);
|
|
185
|
+
}, [store, storeCellId]);
|
|
186
|
+
(0, _react.useEffect)(function () {
|
|
187
|
+
// Don't register the column inside the sticky header as the original
|
|
188
|
+
// column is already registered. This would cause an infinite loop.
|
|
189
|
+
if (isWithinStickyHeader || !selfRef.current || !renderHeaderCellRef.current) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
var unregisterColumn = store.registerColumn(storeCellId, {
|
|
193
|
+
renderHeaderCellRef: renderHeaderCellRef,
|
|
194
|
+
// getBoundingClientRect is not the cheapest, but we call it only once
|
|
195
|
+
currentWidth: selfRef.current.getBoundingClientRect().width
|
|
196
|
+
});
|
|
197
|
+
|
|
198
|
+
// ResizeObserver is available in all supported browsers,
|
|
199
|
+
// but jsdom and jest don't provide a polyfill for it.
|
|
200
|
+
var resizeObserver;
|
|
201
|
+
if (typeof window.ResizeObserver !== 'undefined') {
|
|
202
|
+
resizeObserver = new ResizeObserver(handleResize);
|
|
203
|
+
|
|
204
|
+
// Note: This _could_ be optimized by using a single ResizeObserver
|
|
205
|
+
// for the whole EuiTable, but it would need to be changed back to this
|
|
206
|
+
// if/when we implement resizable columns
|
|
207
|
+
resizeObserver.observe(selfRef.current);
|
|
208
|
+
}
|
|
209
|
+
return function () {
|
|
210
|
+
var _resizeObserver;
|
|
211
|
+
unregisterColumn();
|
|
212
|
+
(_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 || _resizeObserver.disconnect();
|
|
213
|
+
};
|
|
214
|
+
}, [store, isWithinStickyHeader, handleResize, storeCellId]);
|
|
215
|
+
|
|
216
|
+
// Notify the store on every render so the sticky header stays in sync.
|
|
217
|
+
// React's reconciliation will efficiently handle any duplicate renders.
|
|
218
|
+
(0, _react.useEffect)(function () {
|
|
219
|
+
// Don't update the store if the component is rendered within EuiTableStickyHeader
|
|
220
|
+
if (isWithinStickyHeader) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// Don't update the store if the element doesn't exist. The render function
|
|
225
|
+
// in `renderHeaderCellRef` sometimes renders null - e.g., in mobile layout
|
|
226
|
+
if (!selfRef.current) {
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
store.updateColumn(storeCellId, {
|
|
230
|
+
renderHeaderCellRef: renderHeaderCellRef
|
|
231
|
+
});
|
|
232
|
+
});
|
|
233
|
+
return renderHeaderCellRef.current({
|
|
234
|
+
ref: selfRef
|
|
235
|
+
});
|
|
167
236
|
};
|
|
168
237
|
EuiTableHeaderCell.propTypes = {
|
|
169
238
|
className: _propTypes.default.string,
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.EuiTableHeaderCellCheckbox = void 0;
|
|
7
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
11
|
var _services = require("../../services");
|
|
11
12
|
var _utils = require("./utils");
|
|
12
13
|
var _table_cells_shared = require("./table_cells_shared.styles");
|
|
14
|
+
var _provider = require("./store/provider");
|
|
15
|
+
var _sticky_header = require("./sticky_header");
|
|
16
|
+
var _use_unique_column_id = require("./store/use_unique_column_id");
|
|
13
17
|
var _react2 = require("@emotion/react");
|
|
14
18
|
var _excluded = ["children", "className", "scope", "style", "width", "minWidth", "maxWidth", "append"];
|
|
15
19
|
/*
|
|
@@ -20,35 +24,67 @@ var _excluded = ["children", "className", "scope", "style", "width", "minWidth",
|
|
|
20
24
|
* Side Public License, v 1.
|
|
21
25
|
*/
|
|
22
26
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
27
|
+
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); }
|
|
28
|
+
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; }
|
|
23
29
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
24
30
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
25
31
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
|
|
26
|
-
var EuiTableHeaderCellCheckbox = exports.EuiTableHeaderCellCheckbox = function EuiTableHeaderCellCheckbox(
|
|
27
|
-
var children =
|
|
28
|
-
className =
|
|
29
|
-
|
|
30
|
-
scope =
|
|
31
|
-
_style =
|
|
32
|
-
width =
|
|
33
|
-
minWidth =
|
|
34
|
-
maxWidth =
|
|
35
|
-
append =
|
|
36
|
-
rest = _objectWithoutProperties(
|
|
37
|
-
var
|
|
32
|
+
var EuiTableHeaderCellCheckbox = exports.EuiTableHeaderCellCheckbox = function EuiTableHeaderCellCheckbox(props) {
|
|
33
|
+
var children = props.children,
|
|
34
|
+
className = props.className,
|
|
35
|
+
_props$scope = props.scope,
|
|
36
|
+
scope = _props$scope === void 0 ? 'col' : _props$scope,
|
|
37
|
+
_style = props.style,
|
|
38
|
+
width = props.width,
|
|
39
|
+
minWidth = props.minWidth,
|
|
40
|
+
maxWidth = props.maxWidth,
|
|
41
|
+
append = props.append,
|
|
42
|
+
rest = _objectWithoutProperties(props, _excluded);
|
|
43
|
+
var storeCellId = (0, _use_unique_column_id.useEuiTableStoreUniqueColumnId)();
|
|
44
|
+
var store = (0, _provider.useEuiTableColumnDataStore)();
|
|
45
|
+
var isWithinStickyHeader = (0, _sticky_header.useEuiTableWithinStickyHeader)();
|
|
38
46
|
var styles = (0, _services.useEuiMemoizedStyles)(_table_cells_shared.euiTableCellCheckboxStyles);
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
47
|
+
var renderHeaderCellRef = (0, _react.useRef)();
|
|
48
|
+
renderHeaderCellRef.current = function (extraProps) {
|
|
49
|
+
var classes = (0, _classnames.default)('euiTableHeaderCellCheckbox', className);
|
|
50
|
+
var style = (0, _utils.resolveWidthPropsAsStyle)(_style, {
|
|
51
|
+
width: width,
|
|
52
|
+
minWidth: minWidth,
|
|
53
|
+
maxWidth: maxWidth
|
|
54
|
+
});
|
|
55
|
+
return (0, _react2.jsx)("th", _extends({
|
|
56
|
+
css: styles.euiTableHeaderCellCheckbox,
|
|
57
|
+
className: classes,
|
|
58
|
+
scope: scope,
|
|
59
|
+
style: style
|
|
60
|
+
}, rest, extraProps), (0, _react2.jsx)("div", {
|
|
61
|
+
className: "euiTableCellContent"
|
|
62
|
+
}, children), append);
|
|
63
|
+
};
|
|
64
|
+
(0, _react.useEffect)(function () {
|
|
65
|
+
// Don't register the column inside the sticky header as the original
|
|
66
|
+
// column is already registered. This would cause an infinite loop.
|
|
67
|
+
if (isWithinStickyHeader) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
var unregisterColumn = store.registerColumn(storeCellId, {
|
|
71
|
+
renderHeaderCellRef: renderHeaderCellRef
|
|
72
|
+
});
|
|
73
|
+
return function () {
|
|
74
|
+
unregisterColumn();
|
|
75
|
+
};
|
|
76
|
+
}, [store, isWithinStickyHeader, storeCellId]);
|
|
77
|
+
(0, _react.useEffect)(function () {
|
|
78
|
+
// Notify the store on every render so the sticky header stays in sync.
|
|
79
|
+
// React's reconciliation will efficiently handle any duplicate renders.
|
|
80
|
+
if (isWithinStickyHeader) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
store.updateColumn(storeCellId, {
|
|
84
|
+
renderHeaderCellRef: renderHeaderCellRef
|
|
85
|
+
});
|
|
43
86
|
});
|
|
44
|
-
return
|
|
45
|
-
css: styles.euiTableHeaderCellCheckbox,
|
|
46
|
-
className: classes,
|
|
47
|
-
scope: scope,
|
|
48
|
-
style: style
|
|
49
|
-
}, rest), (0, _react2.jsx)("div", {
|
|
50
|
-
className: "euiTableCellContent"
|
|
51
|
-
}, children), append);
|
|
87
|
+
return renderHeaderCellRef.current({});
|
|
52
88
|
};
|
|
53
89
|
EuiTableHeaderCellCheckbox.propTypes = {
|
|
54
90
|
className: _propTypes.default.string,
|
|
@@ -10,6 +10,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
10
10
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
11
|
var _services = require("../../services");
|
|
12
12
|
var _resize_observer = require("../observer/resize_observer");
|
|
13
|
+
var _tool_tip = require("../tool_tip");
|
|
13
14
|
var _utils = require("./utils");
|
|
14
15
|
var _text_truncate = require("./text_truncate.styles");
|
|
15
16
|
var _react2 = require("@emotion/react");
|
|
@@ -213,11 +214,10 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
|
|
|
213
214
|
}, [ready, width, text, truncation, truncationOffset, truncationPosition, ellipsis, containerEl]);
|
|
214
215
|
var isTruncating = truncatedText !== text;
|
|
215
216
|
var styles = (0, _services.useEuiMemoizedStyles)(_text_truncate.euiTextTruncateStyles);
|
|
216
|
-
|
|
217
|
+
var content = (0, _react2.jsx)("div", _extends({
|
|
217
218
|
className: (0, _classnames.default)('euiTextTruncate', className),
|
|
218
219
|
css: styles.euiTextTruncate,
|
|
219
|
-
ref: refs
|
|
220
|
-
title: isTruncating ? text : undefined
|
|
220
|
+
ref: refs
|
|
221
221
|
}, rest), isTruncating ? (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)("span", {
|
|
222
222
|
className: "euiTextTruncate__truncatedText",
|
|
223
223
|
css: styles.euiTextTruncate__truncatedText,
|
|
@@ -231,6 +231,11 @@ var EuiTextTruncateWithWidth = function EuiTextTruncateWithWidth(_ref2) {
|
|
|
231
231
|
className: "euiTextTruncate__fullText",
|
|
232
232
|
"data-test-subj": "fullText"
|
|
233
233
|
}, children ? children(text) : text));
|
|
234
|
+
return isTruncating ? (0, _react2.jsx)(_tool_tip.EuiToolTip, {
|
|
235
|
+
content: text,
|
|
236
|
+
disableScreenReaderOutput: true,
|
|
237
|
+
display: "block"
|
|
238
|
+
}, content) : content;
|
|
234
239
|
};
|
|
235
240
|
EuiTextTruncateWithWidth.propTypes = {
|
|
236
241
|
width: _propTypes.default.number.isRequired,
|
|
@@ -39,7 +39,7 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
|
39
39
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
40
40
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
|
|
41
41
|
var POSITIONS = exports.POSITIONS = ['top', 'right', 'bottom', 'left'];
|
|
42
|
-
var DISPLAYS = ['inlineBlock', 'block'];
|
|
42
|
+
var DISPLAYS = ['inlineBlock', 'block', 'flex'];
|
|
43
43
|
var DEFAULT_TOOLTIP_OFFSET = exports.DEFAULT_TOOLTIP_OFFSET = 16;
|
|
44
44
|
|
|
45
45
|
/**
|
|
@@ -47,6 +47,14 @@ var euiToolTipStyles = exports.euiToolTipStyles = function euiToolTipStyles(euiT
|
|
|
47
47
|
};
|
|
48
48
|
};
|
|
49
49
|
var _ref = process.env.NODE_ENV === "production" ? {
|
|
50
|
+
name: "1cjglks-flex",
|
|
51
|
+
styles: "display:flex;label:flex;"
|
|
52
|
+
} : {
|
|
53
|
+
name: "1cjglks-flex",
|
|
54
|
+
styles: "display:flex;label:flex;",
|
|
55
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
56
|
+
};
|
|
57
|
+
var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
50
58
|
name: "fzilnk-inlineBlock",
|
|
51
59
|
styles: "display:inline-block;label:inlineBlock;"
|
|
52
60
|
} : {
|
|
@@ -54,7 +62,7 @@ var _ref = process.env.NODE_ENV === "production" ? {
|
|
|
54
62
|
styles: "display:inline-block;label:inlineBlock;",
|
|
55
63
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
56
64
|
};
|
|
57
|
-
var
|
|
65
|
+
var _ref3 = process.env.NODE_ENV === "production" ? {
|
|
58
66
|
name: "14aceuy-block",
|
|
59
67
|
styles: "display:block;label:block;"
|
|
60
68
|
} : {
|
|
@@ -62,7 +70,7 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
|
|
|
62
70
|
styles: "display:block;label:block;",
|
|
63
71
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
64
72
|
};
|
|
65
|
-
var
|
|
73
|
+
var _ref4 = process.env.NODE_ENV === "production" ? {
|
|
66
74
|
name: "1s3i3p5-euiToolTipAnchor",
|
|
67
75
|
styles: "*[disabled]{pointer-events:none;};label:euiToolTipAnchor;"
|
|
68
76
|
} : {
|
|
@@ -73,9 +81,10 @@ var _ref3 = process.env.NODE_ENV === "production" ? {
|
|
|
73
81
|
var euiToolTipAnchorStyles = exports.euiToolTipAnchorStyles = function euiToolTipAnchorStyles() {
|
|
74
82
|
return {
|
|
75
83
|
// Elements
|
|
76
|
-
euiToolTipAnchor:
|
|
84
|
+
euiToolTipAnchor: _ref4,
|
|
77
85
|
// Variants
|
|
78
|
-
block:
|
|
79
|
-
inlineBlock:
|
|
86
|
+
block: _ref3,
|
|
87
|
+
inlineBlock: _ref2,
|
|
88
|
+
flex: _ref
|
|
80
89
|
};
|
|
81
90
|
};
|
|
@@ -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
|
+
};
|
|
@@ -20,6 +20,7 @@ import { warnIfContrastBelowMin, wcagContrastMin } from '../../services/color/co
|
|
|
20
20
|
import { isColorDark, hexToRgb, isValidHex, useEuiPaletteColorBlindBehindText } from '../../services/color';
|
|
21
21
|
import { toInitials, useEuiMemoizedStyles, useEuiTheme } from '../../services';
|
|
22
22
|
import { EuiIcon } from '../icon';
|
|
23
|
+
import { EuiToolTip } from '../tool_tip';
|
|
23
24
|
import { euiAvatarStyles } from './avatar.styles';
|
|
24
25
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
25
26
|
export var SIZES = ['s', 'm', 'l', 'xl'];
|
|
@@ -64,6 +65,7 @@ export var EuiAvatar = function EuiAvatar(_ref) {
|
|
|
64
65
|
var classes = classNames('euiAvatar', _defineProperty(_defineProperty(_defineProperty({}, "euiAvatar--".concat(size), size), "euiAvatar--".concat(type), type), 'euiAvatar-isDisabled', isDisabled), className);
|
|
65
66
|
var styles = useEuiMemoizedStyles(euiAvatarStyles);
|
|
66
67
|
var cssStyles = [styles.euiAvatar, styles[type], styles[size], styles[casing], isPlain && styles.plain, isSubdued && styles.subdued, isDisabled && styles.isDisabled];
|
|
68
|
+
var tooltipCssStyles = [styles.tooltip[type]];
|
|
67
69
|
var avatarStyle = useMemo(function () {
|
|
68
70
|
if (imageUrl) {
|
|
69
71
|
return {
|
|
@@ -98,21 +100,31 @@ export var EuiAvatar = function EuiAvatar(_ref) {
|
|
|
98
100
|
// Fall back to the adjusted text color if it exists
|
|
99
101
|
return avatarStyle === null || avatarStyle === void 0 ? void 0 : avatarStyle.color;
|
|
100
102
|
}, [iconColor, avatarStyle === null || avatarStyle === void 0 ? void 0 : avatarStyle.color, isForcedColors, euiTheme]);
|
|
101
|
-
|
|
103
|
+
var avatarNode = ___EmotionJSX("div", _extends({
|
|
102
104
|
css: cssStyles,
|
|
103
105
|
className: classes,
|
|
104
106
|
style: _objectSpread(_objectSpread(_objectSpread({}, style), avatarStyle), highContrastBorder),
|
|
105
107
|
"aria-label": isDisabled ? undefined : name,
|
|
106
|
-
role: isDisabled ? 'presentation' : 'img'
|
|
107
|
-
title: name
|
|
108
|
+
role: isDisabled ? 'presentation' : 'img'
|
|
108
109
|
}, rest), !imageUrl && (iconType ? ___EmotionJSX(EuiIcon, {
|
|
109
110
|
className: "euiAvatar__icon",
|
|
110
111
|
size: iconSize || size,
|
|
111
112
|
type: iconType,
|
|
112
|
-
color: iconCustomColor
|
|
113
|
+
color: iconCustomColor,
|
|
114
|
+
"aria-hidden": true
|
|
113
115
|
}) : ___EmotionJSX("span", {
|
|
114
116
|
"aria-hidden": "true"
|
|
115
117
|
}, toInitials(name, initialsLength, initials))));
|
|
118
|
+
|
|
119
|
+
// `EuiAvatar` is not interactive so we don't need to add a `tabIndex`.
|
|
120
|
+
// It already has `aria-label`, the tooltip is only visual.
|
|
121
|
+
return name ? ___EmotionJSX(EuiToolTip, {
|
|
122
|
+
content: name,
|
|
123
|
+
anchorProps: {
|
|
124
|
+
css: tooltipCssStyles
|
|
125
|
+
},
|
|
126
|
+
disableScreenReaderOutput: true
|
|
127
|
+
}, avatarNode) : avatarNode;
|
|
116
128
|
};
|
|
117
129
|
|
|
118
130
|
// TODO: Migrate to a service
|
|
@@ -9,9 +9,9 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
|
|
|
9
9
|
|
|
10
10
|
import { css } from '@emotion/react';
|
|
11
11
|
import { logicalSizeCSS, mathWithUnits } from '../../global_styling';
|
|
12
|
-
var _avatarSize = function _avatarSize(
|
|
13
|
-
var size =
|
|
14
|
-
fontSize =
|
|
12
|
+
var _avatarSize = function _avatarSize(_ref6) {
|
|
13
|
+
var size = _ref6.size,
|
|
14
|
+
fontSize = _ref6.fontSize;
|
|
15
15
|
return "\n ".concat(logicalSizeCSS(size), ";\n font-size: ").concat(fontSize, ";\n ");
|
|
16
16
|
};
|
|
17
17
|
var _ref = process.env.NODE_ENV === "production" ? {
|
|
@@ -54,24 +54,20 @@ var _ref5 = process.env.NODE_ENV === "production" ? {
|
|
|
54
54
|
styles: "cursor:not-allowed;filter:grayscale(100%);label:isDisabled;",
|
|
55
55
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
56
56
|
};
|
|
57
|
-
var
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
64
|
-
};
|
|
65
|
-
export var euiAvatarStyles = function euiAvatarStyles(_ref8) {
|
|
66
|
-
var euiTheme = _ref8.euiTheme;
|
|
57
|
+
export var euiAvatarStyles = function euiAvatarStyles(_ref7) {
|
|
58
|
+
var euiTheme = _ref7.euiTheme;
|
|
59
|
+
var borderRadius = {
|
|
60
|
+
user: '50%',
|
|
61
|
+
space: euiTheme.border.radius.medium
|
|
62
|
+
};
|
|
67
63
|
return {
|
|
68
64
|
// Base
|
|
69
65
|
euiAvatar: /*#__PURE__*/css("flex-shrink:0;display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;background-size:cover;background-color:", euiTheme.colors.lightShade, ";overflow:hidden;font-weight:", euiTheme.font.weight.medium, ";;label:euiAvatar;"),
|
|
70
66
|
// Variants
|
|
71
67
|
plain: /*#__PURE__*/css("background-color:", euiTheme.colors.emptyShade, ";;label:plain;"),
|
|
72
68
|
subdued: /*#__PURE__*/css("background-color:", euiTheme.colors.lightestShade, ";;label:subdued;"),
|
|
73
|
-
user:
|
|
74
|
-
space: /*#__PURE__*/css("border-radius:",
|
|
69
|
+
user: /*#__PURE__*/css("border-radius:", borderRadius.user, ";;label:user;"),
|
|
70
|
+
space: /*#__PURE__*/css("border-radius:", borderRadius.space, ";;label:space;"),
|
|
75
71
|
// States
|
|
76
72
|
isDisabled: _ref5,
|
|
77
73
|
// Sizes
|
|
@@ -101,6 +97,10 @@ export var euiAvatarStyles = function euiAvatarStyles(_ref8) {
|
|
|
101
97
|
capitalize: _ref4,
|
|
102
98
|
uppercase: _ref3,
|
|
103
99
|
lowercase: _ref2,
|
|
104
|
-
none: _ref
|
|
100
|
+
none: _ref,
|
|
101
|
+
tooltip: {
|
|
102
|
+
user: /*#__PURE__*/css("border-radius:", borderRadius.user, ";;label:user;"),
|
|
103
|
+
space: /*#__PURE__*/css("border-radius:", borderRadius.space, ";;label:space;")
|
|
104
|
+
}
|
|
105
105
|
};
|
|
106
106
|
};
|