@elastic/eui 116.2.0 → 116.3.0

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