@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.
Files changed (234) hide show
  1. package/es/components/avatar/avatar.js +18 -5
  2. package/es/components/avatar/avatar.styles.js +16 -16
  3. package/es/components/banner/banner.js +202 -0
  4. package/es/components/banner/banner.styles.js +76 -0
  5. package/es/components/banner/index.js +9 -0
  6. package/es/components/basic_table/basic_table.js +21 -10
  7. package/es/components/basic_table/collapsed_item_actions.js +5 -4
  8. package/es/components/basic_table/default_item_action.js +3 -5
  9. package/es/components/breadcrumbs/_breadcrumb_content.js +29 -19
  10. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  11. package/es/components/context_menu/context_menu_panel_title.js +0 -12
  12. package/es/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  13. package/es/components/datagrid/controls/display_selector.js +2 -1
  14. package/es/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  15. package/es/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  16. package/es/components/date_picker/react-datepicker/src/index.js +1 -5
  17. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  18. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  19. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  20. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  21. package/es/components/form/field_password/field_password.js +6 -3
  22. package/es/components/header/header.a11y.js +1 -1
  23. package/es/components/index.js +1 -0
  24. package/es/components/markdown_editor/markdown_editor_help_button.js +7 -4
  25. package/es/components/pagination/pagination_button_arrow.js +6 -2
  26. package/es/components/panel/panel.styles.js +4 -4
  27. package/es/components/panel/split_panel/split_panel.styles.js +1 -1
  28. package/es/components/search_bar/search_bar.js +20 -16
  29. package/es/components/search_bar/search_box.js +4 -2
  30. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  31. package/es/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  32. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
  33. package/es/components/table/sticky_header/context.js +32 -0
  34. package/es/components/table/sticky_header/index.js +10 -0
  35. package/es/components/table/sticky_header/sticky_header.js +151 -0
  36. package/es/components/table/sticky_header/sticky_header.styles.js +43 -0
  37. package/es/components/table/store/provider.js +37 -0
  38. package/es/components/table/store/store.js +82 -0
  39. package/es/components/table/store/use_unique_column_id.js +25 -0
  40. package/es/components/table/table.js +28 -3
  41. package/es/components/table/table.styles.js +4 -4
  42. package/es/components/table/table_header_cell.js +115 -48
  43. package/es/components/table/table_header_cell_checkbox.js +58 -25
  44. package/es/components/text_truncate/text_truncate.js +8 -3
  45. package/es/components/tool_tip/tool_tip.js +1 -1
  46. package/es/components/tool_tip/tool_tip.styles.js +14 -5
  47. package/es/utils/publisher.js +53 -0
  48. package/eui.d.ts +1284 -975
  49. package/i18ntokens.json +2390 -2372
  50. package/lib/components/avatar/avatar.js +18 -5
  51. package/lib/components/avatar/avatar.styles.js +16 -16
  52. package/lib/components/banner/banner.js +211 -0
  53. package/lib/components/banner/banner.styles.js +80 -0
  54. package/lib/components/banner/index.js +12 -0
  55. package/lib/components/basic_table/basic_table.js +21 -10
  56. package/lib/components/basic_table/collapsed_item_actions.js +5 -4
  57. package/lib/components/basic_table/default_item_action.js +3 -5
  58. package/lib/components/breadcrumbs/_breadcrumb_content.js +29 -19
  59. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  60. package/lib/components/context_menu/context_menu_panel_title.js +0 -12
  61. package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  62. package/lib/components/datagrid/controls/display_selector.js +2 -1
  63. package/lib/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  64. package/lib/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  65. package/lib/components/date_picker/react-datepicker/src/index.js +0 -4
  66. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  67. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  68. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  69. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  70. package/lib/components/form/field_password/field_password.js +6 -3
  71. package/lib/components/header/header.a11y.js +1 -1
  72. package/lib/components/index.js +11 -0
  73. package/lib/components/markdown_editor/markdown_editor_help_button.js +7 -4
  74. package/lib/components/pagination/pagination_button_arrow.js +6 -2
  75. package/lib/components/panel/panel.styles.js +4 -4
  76. package/lib/components/panel/split_panel/split_panel.styles.js +1 -1
  77. package/lib/components/search_bar/search_bar.js +20 -16
  78. package/lib/components/search_bar/search_box.js +4 -2
  79. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  80. package/lib/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  81. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
  82. package/lib/components/table/sticky_header/context.js +41 -0
  83. package/lib/components/table/sticky_header/index.js +19 -0
  84. package/lib/components/table/sticky_header/sticky_header.js +156 -0
  85. package/lib/components/table/sticky_header/sticky_header.styles.js +47 -0
  86. package/lib/components/table/store/provider.js +46 -0
  87. package/lib/components/table/store/store.js +87 -0
  88. package/lib/components/table/store/use_unique_column_id.js +34 -0
  89. package/lib/components/table/table.js +28 -3
  90. package/lib/components/table/table.styles.js +4 -4
  91. package/lib/components/table/table_header_cell.js +117 -48
  92. package/lib/components/table/table_header_cell_checkbox.js +61 -25
  93. package/lib/components/text_truncate/text_truncate.js +8 -3
  94. package/lib/components/tool_tip/tool_tip.js +1 -1
  95. package/lib/components/tool_tip/tool_tip.styles.js +14 -5
  96. package/lib/utils/publisher.js +59 -0
  97. package/optimize/es/components/avatar/avatar.js +16 -4
  98. package/optimize/es/components/avatar/avatar.styles.js +16 -16
  99. package/optimize/es/components/banner/banner.js +112 -0
  100. package/optimize/es/components/banner/banner.styles.js +76 -0
  101. package/optimize/es/components/banner/index.js +9 -0
  102. package/optimize/es/components/basic_table/basic_table.js +21 -10
  103. package/optimize/es/components/basic_table/collapsed_item_actions.js +5 -4
  104. package/optimize/es/components/basic_table/default_item_action.js +3 -5
  105. package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +27 -18
  106. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  107. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  108. package/optimize/es/components/datagrid/controls/display_selector.js +2 -1
  109. package/optimize/es/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  110. package/optimize/es/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  111. package/optimize/es/components/date_picker/react-datepicker/src/index.js +1 -5
  112. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  113. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  114. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  115. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  116. package/optimize/es/components/form/field_password/field_password.js +6 -3
  117. package/optimize/es/components/header/header.a11y.js +1 -1
  118. package/optimize/es/components/index.js +1 -0
  119. package/optimize/es/components/markdown_editor/markdown_editor_help_button.js +7 -4
  120. package/optimize/es/components/pagination/pagination_button_arrow.js +6 -2
  121. package/optimize/es/components/panel/panel.styles.js +4 -4
  122. package/optimize/es/components/panel/split_panel/split_panel.styles.js +1 -1
  123. package/optimize/es/components/search_bar/search_bar.js +20 -16
  124. package/optimize/es/components/search_bar/search_box.js +4 -2
  125. package/optimize/es/components/selectable/selectable_list/selectable_list.js +1 -1
  126. package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  127. package/optimize/es/components/table/sticky_header/context.js +32 -0
  128. package/optimize/es/components/table/sticky_header/index.js +10 -0
  129. package/optimize/es/components/table/sticky_header/sticky_header.js +146 -0
  130. package/optimize/es/components/table/sticky_header/sticky_header.styles.js +43 -0
  131. package/optimize/es/components/table/store/provider.js +37 -0
  132. package/optimize/es/components/table/store/store.js +82 -0
  133. package/optimize/es/components/table/store/use_unique_column_id.js +25 -0
  134. package/optimize/es/components/table/table.js +15 -3
  135. package/optimize/es/components/table/table.styles.js +4 -4
  136. package/optimize/es/components/table/table_header_cell.js +115 -48
  137. package/optimize/es/components/table/table_header_cell_checkbox.js +58 -25
  138. package/optimize/es/components/text_truncate/text_truncate.js +8 -3
  139. package/optimize/es/components/tool_tip/tool_tip.js +1 -1
  140. package/optimize/es/components/tool_tip/tool_tip.styles.js +14 -5
  141. package/optimize/es/utils/publisher.js +53 -0
  142. package/optimize/lib/components/avatar/avatar.js +16 -4
  143. package/optimize/lib/components/avatar/avatar.styles.js +16 -16
  144. package/optimize/lib/components/banner/banner.js +121 -0
  145. package/optimize/lib/components/banner/banner.styles.js +80 -0
  146. package/optimize/lib/components/banner/index.js +12 -0
  147. package/optimize/lib/components/basic_table/basic_table.js +21 -10
  148. package/optimize/lib/components/basic_table/collapsed_item_actions.js +5 -4
  149. package/optimize/lib/components/basic_table/default_item_action.js +3 -5
  150. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +27 -18
  151. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  152. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  153. package/optimize/lib/components/datagrid/controls/display_selector.js +2 -1
  154. package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  155. package/optimize/lib/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  156. package/optimize/lib/components/date_picker/react-datepicker/src/index.js +0 -4
  157. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  158. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  159. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  160. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  161. package/optimize/lib/components/form/field_password/field_password.js +6 -3
  162. package/optimize/lib/components/header/header.a11y.js +1 -1
  163. package/optimize/lib/components/index.js +11 -0
  164. package/optimize/lib/components/markdown_editor/markdown_editor_help_button.js +7 -4
  165. package/optimize/lib/components/pagination/pagination_button_arrow.js +6 -2
  166. package/optimize/lib/components/panel/panel.styles.js +4 -4
  167. package/optimize/lib/components/panel/split_panel/split_panel.styles.js +1 -1
  168. package/optimize/lib/components/search_bar/search_bar.js +20 -16
  169. package/optimize/lib/components/search_bar/search_box.js +4 -2
  170. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  171. package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  172. package/optimize/lib/components/table/sticky_header/context.js +41 -0
  173. package/optimize/lib/components/table/sticky_header/index.js +19 -0
  174. package/optimize/lib/components/table/sticky_header/sticky_header.js +156 -0
  175. package/optimize/lib/components/table/sticky_header/sticky_header.styles.js +47 -0
  176. package/optimize/lib/components/table/store/provider.js +46 -0
  177. package/optimize/lib/components/table/store/store.js +87 -0
  178. package/optimize/lib/components/table/store/use_unique_column_id.js +34 -0
  179. package/optimize/lib/components/table/table.js +15 -3
  180. package/optimize/lib/components/table/table.styles.js +4 -4
  181. package/optimize/lib/components/table/table_header_cell.js +118 -48
  182. package/optimize/lib/components/table/table_header_cell_checkbox.js +61 -25
  183. package/optimize/lib/components/text_truncate/text_truncate.js +8 -3
  184. package/optimize/lib/components/tool_tip/tool_tip.js +1 -1
  185. package/optimize/lib/components/tool_tip/tool_tip.styles.js +14 -5
  186. package/optimize/lib/utils/publisher.js +59 -0
  187. package/package.json +2 -2
  188. package/test-env/components/avatar/avatar.js +18 -5
  189. package/test-env/components/avatar/avatar.styles.js +16 -16
  190. package/test-env/components/banner/banner.js +210 -0
  191. package/test-env/components/banner/banner.styles.js +80 -0
  192. package/test-env/components/banner/index.js +12 -0
  193. package/test-env/components/basic_table/basic_table.js +21 -10
  194. package/test-env/components/basic_table/collapsed_item_actions.js +5 -4
  195. package/test-env/components/basic_table/default_item_action.js +3 -5
  196. package/test-env/components/breadcrumbs/_breadcrumb_content.js +29 -19
  197. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  198. package/test-env/components/context_menu/context_menu_panel_title.js +0 -12
  199. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  200. package/test-env/components/datagrid/controls/display_selector.js +2 -1
  201. package/test-env/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  202. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  203. package/test-env/components/date_picker/react-datepicker/src/index.js +0 -4
  204. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  205. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  206. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  207. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  208. package/test-env/components/form/field_password/field_password.js +6 -3
  209. package/test-env/components/header/header.a11y.js +1 -1
  210. package/test-env/components/index.js +11 -0
  211. package/test-env/components/markdown_editor/markdown_editor_help_button.js +7 -4
  212. package/test-env/components/pagination/pagination_button_arrow.js +6 -2
  213. package/test-env/components/panel/panel.styles.js +4 -4
  214. package/test-env/components/panel/split_panel/split_panel.styles.js +1 -1
  215. package/test-env/components/search_bar/search_bar.js +20 -16
  216. package/test-env/components/search_bar/search_box.js +4 -2
  217. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  218. package/test-env/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  219. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
  220. package/test-env/components/table/sticky_header/context.js +41 -0
  221. package/test-env/components/table/sticky_header/index.js +19 -0
  222. package/test-env/components/table/sticky_header/sticky_header.js +156 -0
  223. package/test-env/components/table/sticky_header/sticky_header.styles.js +47 -0
  224. package/test-env/components/table/store/provider.js +46 -0
  225. package/test-env/components/table/store/store.js +87 -0
  226. package/test-env/components/table/store/use_unique_column_id.js +34 -0
  227. package/test-env/components/table/table.js +28 -3
  228. package/test-env/components/table/table.styles.js +4 -4
  229. package/test-env/components/table/table_header_cell.js +118 -48
  230. package/test-env/components/table/table_header_cell_checkbox.js +61 -25
  231. package/test-env/components/text_truncate/text_truncate.js +8 -3
  232. package/test-env/components/tool_tip/tool_tip.js +1 -1
  233. package/test-env/components/tool_tip/tool_tip.styles.js +14 -5
  234. 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 = _interopRequireDefault(require("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
- if (hideForDesktop || hideForMobile) return null;
119
- var classes = (0, _classnames.default)('euiTableHeaderCell', className);
120
- var cssStyles = [styles.euiTableHeaderCell, !isResponsive && stickyStyles];
121
- var inlineWidthStyles = (0, _utils.resolveWidthPropsAsStyle)(_style, {
122
- width: width,
123
- minWidth: minWidth,
124
- maxWidth: maxWidth
125
- });
126
- var CellComponent = children ? 'th' : 'td';
127
- var cellScope = CellComponent === 'th' ? scope !== null && scope !== void 0 ? scope : 'col' : undefined; // `scope` is only valid on `th` elements
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
- var canSort = !!(onSort && !readOnly);
130
- var ariaSortValue;
131
- if (isSorted) {
132
- ariaSortValue = isSortAscending ? 'ascending' : 'descending';
133
- } else if (canSort) {
134
- ariaSortValue = 'none';
135
- }
136
- var cellContentsProps = {
137
- css: styles.euiTableHeaderCell__content,
138
- align: align,
139
- tooltipProps: tooltipProps,
140
- description: description,
141
- canSort: canSort,
142
- isSorted: isSorted,
143
- isSortAscending: isSortAscending,
144
- children: children
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
- return (0, _react2.jsx)(CellComponent, _extends({
147
- css: cssStyles,
148
- className: classes,
149
- scope: cellScope,
150
- role: "columnheader",
151
- "aria-sort": ariaSortValue,
152
- "data-sticky": !isResponsive && (sticky === null || sticky === void 0 ? void 0 : sticky.side) || undefined,
153
- style: _objectSpread(_objectSpread({}, _style), inlineWidthStyles)
154
- }, rest), canSort ? (0, _react2.jsx)(_tool_tip.EuiToolTip, _extends({
155
- content: tooltipProps === null || tooltipProps === void 0 ? void 0 : tooltipProps.content
156
- }, tooltipProps === null || tooltipProps === void 0 ? void 0 : tooltipProps.tooltipProps, {
157
- display: "block"
158
- }), (0, _react2.jsx)("button", {
159
- type: "button",
160
- css: styles.euiTableHeaderCell__button,
161
- className: (0, _classnames.default)('euiTableHeaderButton', {
162
- 'euiTableHeaderButton-isSorted': isSorted
163
- }),
164
- onClick: onSort,
165
- "data-test-subj": "tableHeaderSortButton"
166
- }, (0, _react2.jsx)(CellContents, cellContentsProps))) : (0, _react2.jsx)(CellContents, cellContentsProps), append);
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 = _interopRequireDefault(require("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(_ref) {
27
- var children = _ref.children,
28
- className = _ref.className,
29
- _ref$scope = _ref.scope,
30
- scope = _ref$scope === void 0 ? 'col' : _ref$scope,
31
- _style = _ref.style,
32
- width = _ref.width,
33
- minWidth = _ref.minWidth,
34
- maxWidth = _ref.maxWidth,
35
- append = _ref.append,
36
- rest = _objectWithoutProperties(_ref, _excluded);
37
- var classes = (0, _classnames.default)('euiTableHeaderCellCheckbox', className);
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 style = (0, _utils.resolveWidthPropsAsStyle)(_style, {
40
- width: width,
41
- minWidth: minWidth,
42
- maxWidth: maxWidth
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 (0, _react2.jsx)("th", _extends({
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
- return (0, _react2.jsx)("div", _extends({
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 _ref2 = process.env.NODE_ENV === "production" ? {
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 _ref3 = process.env.NODE_ENV === "production" ? {
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: _ref3,
84
+ euiToolTipAnchor: _ref4,
77
85
  // Variants
78
- block: _ref2,
79
- inlineBlock: _ref
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
- return ___EmotionJSX("div", _extends({
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(_ref7) {
13
- var size = _ref7.size,
14
- fontSize = _ref7.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 _ref6 = process.env.NODE_ENV === "production" ? {
58
- name: "ont6vs-user",
59
- styles: "border-radius:50%;label:user;"
60
- } : {
61
- name: "ont6vs-user",
62
- styles: "border-radius:50%;label:user;",
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: _ref6,
74
- space: /*#__PURE__*/css("border-radius:", euiTheme.border.radius.medium, ";;label:space;"),
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
  };