@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
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.EuiBanner = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _classnames = _interopRequireDefault(require("classnames"));
14
+ var _services = require("../../services");
15
+ var _global_styling = require("../../global_styling");
16
+ var _i18n = require("../i18n");
17
+ var _title = require("../title");
18
+ var _button = require("../button");
19
+ var _text = require("../text");
20
+ var _accessibility = require("../accessibility");
21
+ var _banner = require("./banner.styles");
22
+ var _react2 = require("@emotion/react");
23
+ var _excluded = ["title", "headingElement", "text", "size", "color", "actionProps", "media", "onDismiss", "dismissButtonProps", "children", "className", "announceOnMount", "data-test-subj"];
24
+ /*
25
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
26
+ * or more contributor license agreements. Licensed under the Elastic License
27
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
28
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
29
+ * Side Public License, v 1.
30
+ */
31
+ 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); }
32
+ 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; }
33
+ var EuiBanner = exports.EuiBanner = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
34
+ var title = _ref.title,
35
+ _ref$headingElement = _ref.headingElement,
36
+ headingElement = _ref$headingElement === void 0 ? 'h2' : _ref$headingElement,
37
+ text = _ref.text,
38
+ _ref$size = _ref.size,
39
+ size = _ref$size === void 0 ? 'm' : _ref$size,
40
+ _ref$color = _ref.color,
41
+ color = _ref$color === void 0 ? 'highlighted' : _ref$color,
42
+ actionProps = _ref.actionProps,
43
+ media = _ref.media,
44
+ onDismiss = _ref.onDismiss,
45
+ dismissButtonProps = _ref.dismissButtonProps,
46
+ children = _ref.children,
47
+ className = _ref.className,
48
+ _ref$announceOnMount = _ref.announceOnMount,
49
+ announceOnMount = _ref$announceOnMount === void 0 ? false : _ref$announceOnMount,
50
+ _ref$dataTestSubj = _ref['data-test-subj'],
51
+ dataTestSubj = _ref$dataTestSubj === void 0 ? 'euiBanner' : _ref$dataTestSubj,
52
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
53
+ var styles = (0, _services.useEuiMemoizedStyles)(_banner.euiBannerStyles);
54
+ var dismissAriaLabel = (0, _i18n.useEuiI18n)('euiBanner.dismissAriaLabel', 'Dismiss "{title}" announcement', {
55
+ title: title
56
+ });
57
+ var Heading = headingElement;
58
+ var headingSize = size === 's' ? 'xxs' : 'xs';
59
+ var primaryActionProps = actionProps === null || actionProps === void 0 ? void 0 : actionProps.primary;
60
+ var secondaryActionProps = actionProps === null || actionProps === void 0 ? void 0 : actionProps.secondary;
61
+ // a standalone secondary action is not supported
62
+ var hasActions = Boolean(primaryActionProps);
63
+ var componentClass = 'euiBanner';
64
+ var classes = (0, _classnames.default)(componentClass, className);
65
+ var backgroundColorStyles = (0, _global_styling.useEuiBackgroundColorCSS)()[color];
66
+ var cssStyles = [styles.euiBanner, backgroundColorStyles];
67
+ var containerCssStyles = [styles.container, onDismiss && styles.hasDismiss];
68
+ return (0, _react2.jsx)("div", (0, _extends2.default)({
69
+ ref: ref,
70
+ className: classes,
71
+ css: cssStyles,
72
+ "data-size": size,
73
+ "data-color": color,
74
+ "data-test-subj": dataTestSubj
75
+ }, rest), (0, _react2.jsx)("div", {
76
+ className: "".concat(componentClass, "__container"),
77
+ css: containerCssStyles
78
+ }, media ? (0, _react2.jsx)("div", {
79
+ className: "".concat(componentClass, "__media"),
80
+ css: styles.media,
81
+ "data-test-subj": "".concat(dataTestSubj, "-media")
82
+ }, media) : null, (0, _react2.jsx)("div", {
83
+ className: "".concat(componentClass, "__body"),
84
+ css: styles.body
85
+ }, (0, _react2.jsx)("div", {
86
+ className: "".concat(componentClass, "__content"),
87
+ css: styles.content
88
+ }, (0, _react2.jsx)(_title.EuiTitle, {
89
+ size: headingSize
90
+ }, (0, _react2.jsx)(Heading, {
91
+ css: styles.title,
92
+ "data-test-subj": "".concat(dataTestSubj, "-title")
93
+ }, title)), onDismiss ? (0, _react2.jsx)(_button.EuiButtonIcon, (0, _extends2.default)({
94
+ iconType: "cross",
95
+ color: "text",
96
+ "aria-label": dismissAriaLabel,
97
+ "data-test-subj": "".concat(dataTestSubj, "-dismiss")
98
+ }, dismissButtonProps, {
99
+ css: [styles.dismiss, dismissButtonProps === null || dismissButtonProps === void 0 ? void 0 : dismissButtonProps.css, ";label:EuiBanner;"],
100
+ onClick: onDismiss
101
+ })) : null, text ? (0, _react2.jsx)(_text.EuiText, {
102
+ css: styles.text,
103
+ size: "s",
104
+ color: "subdued",
105
+ "data-test-subj": "".concat(dataTestSubj, "-text")
106
+ }, text) : null, children && children), hasActions ? (0, _react2.jsx)("div", {
107
+ className: "".concat(componentClass, "__actions"),
108
+ css: styles.actions,
109
+ "data-test-subj": "".concat(dataTestSubj, "-actions")
110
+ }, primaryActionProps ? (0, _react2.jsx)(_button.EuiButton, (0, _extends2.default)({
111
+ "data-test-subj": "".concat(dataTestSubj, "-primaryAction")
112
+ }, primaryActionProps, {
113
+ color: "primary",
114
+ size: "s"
115
+ })) : null, secondaryActionProps ? (0, _react2.jsx)(_button.EuiButtonEmpty, (0, _extends2.default)({
116
+ "data-test-subj": "".concat(dataTestSubj, "-secondaryAction")
117
+ }, secondaryActionProps, {
118
+ color: "primary",
119
+ size: "s"
120
+ })) : null) : null)), announceOnMount && (0, _react2.jsx)(_accessibility.EuiLiveAnnouncer, null, title && title, title && text && ",\xA0", text && text, (title || text) && children && ",\xA0", children && children));
121
+ });
122
+ EuiBanner.propTypes = {
123
+ className: _propTypes.default.string,
124
+ "aria-label": _propTypes.default.string,
125
+ "data-test-subj": _propTypes.default.string,
126
+ css: _propTypes.default.any,
127
+ /** Heading shown at the top. */title: _propTypes.default.string.isRequired,
128
+ /**
129
+ * HTML element used to render the title.
130
+ * @default 'h2'
131
+ */
132
+ headingElement: _propTypes.default.oneOf(["h2", "h3", "h4", "h5", "h6"]),
133
+ /** Supporting copy rendered below the title. */text: _propTypes.default.node,
134
+ /** Extra content rendered directly below `text`. */children: _propTypes.default.node,
135
+ /** Illustration slot. Wrapped in a square (1:1) container. */media: _propTypes.default.node.isRequired,
136
+ /**
137
+ * Visual size variant.
138
+ * @default 'm'
139
+ */
140
+ size: _propTypes.default.any,
141
+ /**
142
+ * Defines the announcement background color.
143
+ * @default 'highlighted'
144
+ */
145
+ color: _propTypes.default.oneOf(["highlighted", "plain"]),
146
+ /** Optional action buttons. */actionProps: _propTypes.default.shape({
147
+ /** Primary call-to-action, rendered as an `EuiButton`. */primary: _propTypes.default.any,
148
+ /** Secondary action, rendered as an `EuiButtonEmpty`. Is only rendered when a primary action is available. */secondary: _propTypes.default.any
149
+ }),
150
+ /**
151
+ * When provided, a dismiss button is rendered in the top-right corner and
152
+ * this callback fires when the user activates it.
153
+ */
154
+ onDismiss: _propTypes.default.func,
155
+ /** Extra props spread onto the dismiss `EuiButtonIcon`. */dismissButtonProps: _propTypes.default.shape({
156
+ "aria-label": _propTypes.default.string,
157
+ "aria-labelledby": _propTypes.default.string,
158
+ /**
159
+ * Overall size of button.
160
+ * Matches the sizes of other EuiButtons
161
+ */
162
+ size: _propTypes.default.any,
163
+ /**
164
+ * Size of the icon only.
165
+ * This will not affect the overall size of the button
166
+ */
167
+ iconSize: _propTypes.default.any,
168
+ /**
169
+ * Applies the boolean state as the `aria-pressed` property to create a toggle button.
170
+ * *Only use when the readable text does not change between states.*
171
+ */
172
+ isSelected: _propTypes.default.bool,
173
+ /**
174
+ * Sets the display style for matching other EuiButton types.
175
+ * `base` is equivalent to a typical EuiButton
176
+ * `fill` is equivalent to a filled EuiButton
177
+ * `empty` (default) is equivalent to an EuiButtonEmpty
178
+ */
179
+ display: _propTypes.default.any,
180
+ /**
181
+ * Disables the button and changes the icon to a loading spinner
182
+ */
183
+ isLoading: _propTypes.default.bool,
184
+ className: _propTypes.default.string,
185
+ "data-test-subj": _propTypes.default.string,
186
+ css: _propTypes.default.any,
187
+ /**
188
+ * Controls the disabled behavior via the native `disabled` attribute.
189
+ */
190
+ isDisabled: _propTypes.default.bool,
191
+ /**
192
+ * NOTE: Beta feature, may be changed or removed in the future
193
+ *
194
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
195
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
196
+ *
197
+ * Use e.g. when a disabled button should have a tooltip.
198
+ */
199
+ hasAriaDisabled: _propTypes.default.bool
200
+ }),
201
+ /**
202
+ * When set to `true`, the content is announced by screen readers on mount.
203
+ * Use only when the announcement is immediately relevant, e.g. as feedback to user actions.
204
+ * Avoid using on initial page load as it may create noise for assistive technology users.
205
+ *
206
+ * @default false
207
+ */
208
+ announceOnMount: _propTypes.default.bool
209
+ };
210
+ EuiBanner.displayName = 'EuiBanner';
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiBannerStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } /*
9
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
10
+ * or more contributor license agreements. Licensed under the Elastic License
11
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
12
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
13
+ * Side Public License, v 1.
14
+ */
15
+ var CONTAINER_NAME = 'euiBanner';
16
+ var CQC_LAYOUTS = ['narrow', 'wide'];
17
+ var CQC_BREAKPOINTS = {
18
+ s: {
19
+ narrow: '(min-width: 401px)',
20
+ wide: '(min-width: 800px)'
21
+ },
22
+ m: {
23
+ narrow: '(min-width: 601px)',
24
+ wide: '(min-width: 1000px)'
25
+ }
26
+ };
27
+ var CQC_BREAKPOINT_NARROWEST = '(max-width: 400px)';
28
+
29
+ /** Maximum reading width for `text` and `children` slots. */
30
+ var TEXT_MAX_WIDTH = 1200;
31
+ var withContainerQuery = function withContainerQuery(_ref2) {
32
+ var layout = _ref2.layout,
33
+ styles = _ref2.styles;
34
+ return Object.keys(CQC_BREAKPOINTS).map(function (sizeKey) {
35
+ return "\n @container ".concat(CONTAINER_NAME, "--").concat(sizeKey, " ").concat(CQC_BREAKPOINTS[sizeKey][layout], " {\n ").concat(styles, "\n }\n ");
36
+ }).join('\n');
37
+ };
38
+ var _ref = process.env.NODE_ENV === "production" ? {
39
+ name: "qd171g-title",
40
+ styles: "[data-size='s'] &{display:inline;};label:title;"
41
+ } : {
42
+ name: "qd171g-title",
43
+ styles: "[data-size='s'] &{display:inline;};label:title;",
44
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
45
+ };
46
+ var euiBannerStyles = exports.euiBannerStyles = function euiBannerStyles(_ref3) {
47
+ var euiTheme = _ref3.euiTheme;
48
+ return {
49
+ euiBanner: /*#__PURE__*/(0, _react.css)("container-name:", CONTAINER_NAME, ";container-type:inline-size;position:relative;border:", euiTheme.border.thin, ";border-radius:", euiTheme.border.radius.medium, ";&[data-size='s']{container-name:", CONTAINER_NAME, " ", CONTAINER_NAME, "--s;}&[data-size='m']{container-name:", CONTAINER_NAME, " ", CONTAINER_NAME, "--m;};label:euiBanner;"),
50
+ container: /*#__PURE__*/(0, _react.css)("display:flex;flex-direction:column;align-items:stretch;gap:", euiTheme.size.m, ";padding-inline-start:", euiTheme.size.base, ";padding-inline-end:", euiTheme.size.base, ";[data-size='m'] &{padding-block:", euiTheme.size.base, ";}[data-size='s'] &{padding-block:", euiTheme.size.m, ";}", withContainerQuery({
51
+ layout: 'narrow',
52
+ styles: "\n flex-direction: row;\n align-items: flex-start;\n gap: ".concat(euiTheme.size.base, ";\n ")
53
+ }), ";;label:container;"),
54
+ media: /*#__PURE__*/(0, _react.css)("--euiBannerMediaSize:", "calc(".concat(euiTheme.size.base, " * 5)"), ";flex-shrink:0;inline-size:var(--euiBannerMediaSize);block-size:var(--euiBannerMediaSize);aspect-ratio:1/1;[data-size='s'] &{--euiBannerMediaSize:", "calc(".concat(euiTheme.size.base, " * 2)"), ";}", withContainerQuery({
55
+ layout: 'wide',
56
+ styles: "\n align-self: center;\n "
57
+ }), " img,svg{block-size:100%;inline-size:100%;};label:media;"),
58
+ body: /*#__PURE__*/(0, _react.css)("flex:1 1 auto;min-inline-size:0;display:flex;flex-direction:column;align-self:flex-start;inline-size:100%;gap:", euiTheme.size.m, ";", withContainerQuery({
59
+ layout: 'narrow',
60
+ styles: "\n align-self: center;\n inline-size: auto;\n "
61
+ }), " ", withContainerQuery({
62
+ layout: 'wide',
63
+ styles: "\n flex-direction: row;\n align-items: center;\n /* stretch to match the media's height so align-items has space to work */\n align-self: stretch;\n justify-content: space-between;\n gap: ".concat(euiTheme.size.xxl, ";\n ")
64
+ }), ";;label:body;"),
65
+ // At size `s` the content slot becomes a block container so the title and
66
+ // text flow inline. Other sizes keep the flex column with a fixed gap.
67
+ content: /*#__PURE__*/(0, _react.css)("flex:1 1 auto;min-inline-size:0;max-inline-size:", TEXT_MAX_WIDTH, "px;display:flex;flex-direction:column;gap:", euiTheme.size.xs, ";[data-size='s'] &{display:block;>*+*:not(.euiButtonIcon){margin-block-start:", euiTheme.size.s, ";}};label:content;"),
68
+ title: _ref,
69
+ text: /*#__PURE__*/(0, _react.css)("[data-size='s'] &{display:inline;&::before{content:'\xB7';display:inline-block;inline-size:calc(", euiTheme.size.s, " + ", euiTheme.size.xxs, ");text-align:center;color:", euiTheme.colors.textHeading, ";}};label:text;"),
70
+ actions: /*#__PURE__*/(0, _react.css)("display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:", euiTheme.size.s, ";@container ", CONTAINER_NAME, " ", CQC_BREAKPOINT_NARROWEST, "{flex-wrap:wrap;>*{inline-size:100%;}}", withContainerQuery({
71
+ layout: 'wide',
72
+ styles: "\n /* Reverses source order so primary appears last (rightmost). */\n flex-direction: row-reverse;\n flex-shrink: 0;\n align-self: center;\n "
73
+ }), ";;label:actions;"),
74
+ hasDismiss: /*#__PURE__*/(0, _react.css)(withContainerQuery({
75
+ layout: 'narrow',
76
+ styles: "\n padding-inline-end: calc(".concat(euiTheme.size.s, " * 5);\n ")
77
+ }), ";;label:hasDismiss;"),
78
+ dismiss: /*#__PURE__*/(0, _react.css)("position:absolute;inset-block-start:", euiTheme.size.s, ";inset-inline-end:", euiTheme.size.s, ";color:", euiTheme.colors.textSubdued, ";;label:dismiss;")
79
+ };
80
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "EuiBanner", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _banner.EuiBanner;
10
+ }
11
+ });
12
+ var _banner = require("./banner");
@@ -37,8 +37,9 @@ var _i18n = require("../i18n");
37
37
  var _delay_render = require("../delay_render");
38
38
  var _accessibility2 = require("../../services/accessibility");
39
39
  var _basic_table = require("./basic_table.styles");
40
+ var _tool_tip = require("../tool_tip");
40
41
  var _react2 = require("@emotion/react");
41
- var _excluded = ["className", "loading", "items", "itemId", "columns", "pagination", "sorting", "selection", "onChange", "error", "noItemsMessage", "compressed", "itemIdToExpandedRowMap", "responsiveBreakpoint", "rowProps", "cellProps", "tableCaption", "rowHeader", "tableLayout", "hasBackground", "scrollableInline", "stickyScrollbar"],
42
+ var _excluded = ["className", "loading", "items", "itemId", "columns", "pagination", "sorting", "selection", "onChange", "error", "noItemsMessage", "compressed", "itemIdToExpandedRowMap", "responsiveBreakpoint", "rowProps", "cellProps", "tableCaption", "rowHeader", "tableLayout", "hasBackground", "scrollableInline", "stickyScrollbar", "stickyHeader"],
42
43
  _excluded2 = ["align", "render", "dataType", "isExpander", "textOnly", "name", "field", "description", "sortable", "footer", "mobileOptions", "nameTooltip"];
43
44
  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); }
44
45
  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; }
@@ -165,7 +166,11 @@ var EuiBasicTable = exports.EuiBasicTable = /*#__PURE__*/function (_Component) {
165
166
  var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
166
167
  selectAllRows = _ref4[0],
167
168
  deselectRows = _ref4[1];
168
- return (0, _react2.jsx)(_form.EuiCheckbox, {
169
+ return (0, _react2.jsx)(_tool_tip.EuiToolTip, {
170
+ content: checked || indeterminate ? deselectRows : selectAllRows,
171
+ display: "block",
172
+ disableScreenReaderOutput: true
173
+ }, (0, _react2.jsx)(_form.EuiCheckbox, {
169
174
  id: _this.selectAllIdGenerator(),
170
175
  checked: checked,
171
176
  indeterminate: indeterminate,
@@ -173,9 +178,8 @@ var EuiBasicTable = exports.EuiBasicTable = /*#__PURE__*/function (_Component) {
173
178
  onChange: onChange,
174
179
  "data-test-subj": "checkboxSelectAll",
175
180
  "aria-label": checked || indeterminate ? deselectRows : selectAllRows,
176
- title: checked || indeterminate ? deselectRows : selectAllRows,
177
181
  label: isMobile ? selectAllRows : null
178
- });
182
+ }));
179
183
  });
180
184
  });
181
185
  (0, _defineProperty2.default)(_this, "renderCopyChar", function (columnIndex) {
@@ -365,6 +369,7 @@ var EuiBasicTable = exports.EuiBasicTable = /*#__PURE__*/function (_Component) {
365
369
  hasBackground = _this$props2.hasBackground,
366
370
  scrollableInline = _this$props2.scrollableInline,
367
371
  stickyScrollbar = _this$props2.stickyScrollbar,
372
+ stickyHeader = _this$props2.stickyHeader,
368
373
  rest = (0, _objectWithoutProperties2.default)(_this$props2, _excluded);
369
374
  var classes = (0, _classnames.default)('euiBasicTable', {
370
375
  'euiBasicTable-loading': loading
@@ -385,7 +390,8 @@ var EuiBasicTable = exports.EuiBasicTable = /*#__PURE__*/function (_Component) {
385
390
  hasBackground = _this$props3.hasBackground,
386
391
  loading = _this$props3.loading,
387
392
  scrollableInline = _this$props3.scrollableInline,
388
- stickyScrollbar = _this$props3.stickyScrollbar;
393
+ stickyScrollbar = _this$props3.stickyScrollbar,
394
+ stickyHeader = _this$props3.stickyHeader;
389
395
  return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_table.EuiTableHeaderMobile, {
390
396
  responsiveBreakpoint: responsiveBreakpoint
391
397
  }, this.renderSelectAll(true), this.renderTableMobileSort()), (0, _react2.jsx)(_services.OverrideCopiedTabularContent, null, (0, _react2.jsx)(_table.EuiTable, {
@@ -396,6 +402,7 @@ var EuiBasicTable = exports.EuiBasicTable = /*#__PURE__*/function (_Component) {
396
402
  hasBackground: hasBackground,
397
403
  scrollableInline: scrollableInline,
398
404
  stickyScrollbar: stickyScrollbar,
405
+ stickyHeader: stickyHeader,
399
406
  css: loading && _basic_table.safariLoadingWorkaround
400
407
  }, this.renderTableCaption(), this.renderTableHead(), this.renderTableBody(), this.renderTableFooter())));
401
408
  }
@@ -664,8 +671,9 @@ var EuiBasicTable = exports.EuiBasicTable = /*#__PURE__*/function (_Component) {
664
671
  }
665
672
  }, (0, _react2.jsx)(_icon.EuiIcon, {
666
673
  type: "minusCircle",
667
- color: "danger"
668
- }), " ", error));
674
+ color: "danger",
675
+ "aria-hidden": true
676
+ }), ' ', error));
669
677
  }
670
678
  }, {
671
679
  key: "renderEmptyMessage",
@@ -792,15 +800,18 @@ var EuiBasicTable = exports.EuiBasicTable = /*#__PURE__*/function (_Component) {
792
800
  index: displayedRowIndex + 1
793
801
  }
794
802
  }, function (selectThisRow) {
795
- return (0, _react2.jsx)(_form.EuiCheckbox, {
803
+ return (0, _react2.jsx)(_tool_tip.EuiToolTip, {
804
+ content: title || selectThisRow,
805
+ display: "block",
806
+ disableScreenReaderOutput: true
807
+ }, (0, _react2.jsx)(_form.EuiCheckbox, {
796
808
  id: "".concat(_this6.tableId).concat(key, "-checkbox"),
797
809
  disabled: disabled,
798
810
  checked: checked,
799
811
  onChange: onChange,
800
- title: title || selectThisRow,
801
812
  "aria-label": title || selectThisRow,
802
813
  "data-test-subj": "checkboxSelectRow-".concat(itemId)
803
- });
814
+ }));
804
815
  })), disabled];
805
816
  }
806
817
  }, {
@@ -100,10 +100,10 @@ var CollapsedItemActions = exports.CollapsedItemActions = function CollapsedItem
100
100
  var popoverButton = (0, _react2.jsx)(_button.EuiButtonIcon, {
101
101
  className: className,
102
102
  "aria-label": actionsDisabled ? allActionsButtonDisabledAriaLabel : allActionsButtonAriaLabel,
103
- title: actionsDisabled ? allActionsButtonDisabledAriaLabel : undefined,
104
103
  iconType: "boxesVertical",
105
104
  color: "text",
106
105
  isDisabled: actionsDisabled,
106
+ hasAriaDisabled: actionsDisabled,
107
107
  onClick: function onClick() {
108
108
  return setPopoverOpen(function (isOpen) {
109
109
  return !isOpen;
@@ -111,14 +111,15 @@ var CollapsedItemActions = exports.CollapsedItemActions = function CollapsedItem
111
111
  },
112
112
  "data-test-subj": "euiCollapsedItemActionsButton"
113
113
  });
114
- var withTooltip = !actionsDisabled && (0, _react2.jsx)(_tool_tip.EuiToolTip, {
115
- content: allActionsTooltip
114
+ var withTooltip = (0, _react2.jsx)(_tool_tip.EuiToolTip, {
115
+ content: actionsDisabled ? allActionsButtonDisabledAriaLabel : allActionsTooltip,
116
+ disableScreenReaderOutput: true
116
117
  }, popoverButton);
117
118
  return (0, _react2.jsx)(_popover.EuiPopover, {
118
119
  className: className,
119
120
  id: "".concat(itemId, "-actions"),
120
121
  isOpen: popoverOpen,
121
- button: withTooltip || popoverButton,
122
+ button: withTooltip,
122
123
  closePopover: closePopover,
123
124
  panelPaddingSize: "none",
124
125
  anchorPosition: "leftCenter"
@@ -57,16 +57,13 @@ var DefaultItemAction = exports.DefaultItemAction = function DefaultItemAction(_
57
57
  className: className,
58
58
  "aria-labelledby": ariaLabelId,
59
59
  isDisabled: !enabled,
60
+ hasAriaDisabled: !enabled,
60
61
  color: color,
61
62
  iconType: icon,
62
63
  onClick: onClick,
63
64
  href: href,
64
65
  target: action.target,
65
66
  "data-test-subj": dataTestSubj
66
- // If action is disabled, the normal tooltip can't show - attempt to
67
- // provide some amount of affordance with a browser title tooltip
68
- ,
69
- title: !enabled ? tooltipContent : undefined
70
67
  });
71
68
  // actionContent (action.name) is a ReactNode and must be rendered
72
69
  // to an element and referenced by ID for screen readers
@@ -78,6 +75,7 @@ var DefaultItemAction = exports.DefaultItemAction = function DefaultItemAction(_
78
75
  className: className,
79
76
  size: "s",
80
77
  isDisabled: !enabled,
78
+ hasAriaDisabled: !enabled,
81
79
  color: color,
82
80
  iconType: icon,
83
81
  onClick: onClick,
@@ -87,5 +85,5 @@ var DefaultItemAction = exports.DefaultItemAction = function DefaultItemAction(_
87
85
  flush: "right"
88
86
  }, actionContent);
89
87
  }
90
- return enabled ? (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_tool_tip.EuiToolTip, tooltipProps, button), ariaLabelledBy) : (0, _react2.jsx)(_react.default.Fragment, null, button, ariaLabelledBy);
88
+ return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_tool_tip.EuiToolTip, tooltipProps, button), ariaLabelledBy);
91
89
  };
@@ -19,11 +19,12 @@ var _link = require("../link");
19
19
  var _popover = require("../popover");
20
20
  var _icon = require("../icon");
21
21
  var _i18n = require("../i18n");
22
+ var _tool_tip = require("../tool_tip");
22
23
  var _breadcrumb_content = require("./_breadcrumb_content.styles");
23
24
  var _react2 = require("@emotion/react");
24
- var _excluded = ["text", "truncate", "type", "href", "rel", "onClick", "popoverContent", "popoverProps", "className", "color", "isFirstBreadcrumb", "isLastBreadcrumb", "isOnlyBreadcrumb", "highlightLastBreadcrumb", "truncateLastBreadcrumb"],
25
+ var _excluded = ["text", "truncate", "type", "href", "rel", "onClick", "popoverContent", "popoverProps", "className", "color", "isFirstBreadcrumb", "isLastBreadcrumb", "isOnlyBreadcrumb", "highlightLastBreadcrumb", "truncateLastBreadcrumb", "title"],
25
26
  _excluded2 = ["css"],
26
- _excluded3 = ["popoverContent", "popoverProps", "color", "type", "title", "aria-current", "className", "isLastBreadcrumb", "breadcrumbCss", "truncationCss", "children"];
27
+ _excluded3 = ["popoverContent", "popoverProps", "color", "type", "title", "hasExplicitTitle", "aria-current", "className", "isLastBreadcrumb", "breadcrumbCss", "truncationCss", "children"];
27
28
  /*
28
29
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
29
30
  * or more contributor license agreements. Licensed under the Elastic License
@@ -49,6 +50,7 @@ var EuiBreadcrumbContent = exports.EuiBreadcrumbContent = function EuiBreadcrumb
49
50
  isOnlyBreadcrumb = _ref.isOnlyBreadcrumb,
50
51
  highlightLastBreadcrumb = _ref.highlightLastBreadcrumb,
51
52
  truncateLastBreadcrumb = _ref.truncateLastBreadcrumb,
53
+ propTitle = _ref.title,
52
54
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
53
55
  var isApplication = type === 'application';
54
56
  var classes = (0, _classnames.default)('euiBreadcrumb__content', className);
@@ -71,8 +73,9 @@ var EuiBreadcrumbContent = exports.EuiBreadcrumbContent = function EuiBreadcrumb
71
73
  var linkColor = color || 'subdued';
72
74
  var ariaCurrent = highlightLastBreadcrumb ? 'page' : undefined;
73
75
  var interactionStyles = (isInteractiveBreadcrumb || isBreadcrumbWithPopover) && !isApplication && styles.isInteractive;
76
+ var hasExplicitTitle = propTitle != null && propTitle !== '';
74
77
  return (0, _react2.jsx)(_inner_text.EuiInnerText, null, function (ref, innerText) {
75
- var title = innerText === '' ? undefined : innerText;
78
+ var title = propTitle || (innerText === '' ? undefined : innerText);
76
79
  var baseProps = {
77
80
  ref: ref,
78
81
  title: title,
@@ -84,6 +87,8 @@ var EuiBreadcrumbContent = exports.EuiBreadcrumbContent = function EuiBreadcrumb
84
87
  var _ = baseProps.css,
85
88
  popoverButtonProps = (0, _objectWithoutProperties2.default)(baseProps, _excluded2);
86
89
  return (0, _react2.jsx)(EuiBreadcrumbPopover, (0, _extends2.default)({}, popoverButtonProps, {
90
+ title: title,
91
+ hasExplicitTitle: hasExplicitTitle,
87
92
  breadcrumbCss: [].concat(cssStyles, [interactionStyles]),
88
93
  truncationCss: truncationStyles,
89
94
  isLastBreadcrumb: isLastBreadcrumb,
@@ -303,6 +308,7 @@ var EuiBreadcrumbPopover = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2,
303
308
  color = _ref2.color,
304
309
  type = _ref2.type,
305
310
  title = _ref2.title,
311
+ hasExplicitTitle = _ref2.hasExplicitTitle,
306
312
  ariaCurrent = _ref2['aria-current'],
307
313
  className = _ref2.className,
308
314
  isLastBreadcrumb = _ref2.isLastBreadcrumb,
@@ -331,29 +337,33 @@ var EuiBreadcrumbPopover = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2,
331
337
  var wrapperStyles = [styles.popoverWrapper.euiBreadcrumb__popoverWrapper, !isLastBreadcrumb && styles.popoverWrapper[type]];
332
338
  var buttonStyles = [styles.euiBreadcrumb__popoverButton].concat((0, _toConsumableArray2.default)(breadcrumbCss));
333
339
  var truncationStyles = [styles.euiBreadcrumb__popoverTruncation].concat((0, _toConsumableArray2.default)(truncationCss));
340
+ var linkButton = (0, _react2.jsx)(_link.EuiLink, (0, _extends2.default)({
341
+ ref: ref,
342
+ "aria-current": ariaCurrent,
343
+ className: className,
344
+ css: buttonStyles,
345
+ color: color,
346
+ onClick: togglePopover
347
+ }, rest), (0, _react2.jsx)("span", {
348
+ css: truncationStyles
349
+ }, children), (0, _react2.jsx)(_icon.EuiIcon, {
350
+ type: "chevronSingleDown",
351
+ size: "s",
352
+ "aria-label": " - ".concat(popoverAriaLabel)
353
+ }));
334
354
  return (0, _react2.jsx)(_popover.EuiPopover, (0, _extends2.default)({}, popoverProps, {
335
355
  isOpen: isPopoverOpen,
336
356
  closePopover: closePopover,
337
357
  css: wrapperStyles,
338
- button: (0, _react2.jsx)(_link.EuiLink, (0, _extends2.default)({
339
- ref: ref,
340
- title: title,
341
- "aria-current": ariaCurrent,
342
- className: className,
343
- css: buttonStyles,
344
- color: color,
345
- onClick: togglePopover
346
- }, rest), (0, _react2.jsx)("span", {
347
- css: truncationStyles
348
- }, children), (0, _react2.jsx)(_icon.EuiIcon, {
349
- type: "chevronSingleDown",
350
- size: "s",
351
- "aria-label": " - ".concat(popoverAriaLabel)
352
- }))
358
+ button: title ? (0, _react2.jsx)(_tool_tip.EuiToolTip, {
359
+ content: title,
360
+ disableScreenReaderOutput: !hasExplicitTitle
361
+ }, linkButton) : linkButton
353
362
  }), typeof popoverContent === 'function' ? popoverContent(closePopover) : popoverContent);
354
363
  });
355
364
  EuiBreadcrumbPopover.propTypes = {
356
365
  breadcrumbCss: _propTypes.default.any.isRequired,
357
- truncationCss: _propTypes.default.any.isRequired
366
+ truncationCss: _propTypes.default.any.isRequired,
367
+ hasExplicitTitle: _propTypes.default.bool.isRequired
358
368
  };
359
369
  EuiBreadcrumbPopover.displayName = 'EuiBreadcrumbPopover';
@@ -130,6 +130,7 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
130
130
  var optionIsFocused = activeOptionIndex === index;
131
131
  var optionIsDisabled = option.hasOwnProperty('disabled') && option.disabled === true;
132
132
  var hasOnFocusBadge = onFocusBadge && optionIsFocused && !optionIsDisabled;
133
+ var hasNativeTruncation = !hasTruncationProps && !searchValue && rowHeight !== 'auto';
133
134
  return (0, _react2.jsx)(_list_item_layout.EuiListItemLayout, (0, _extends2.default)({
134
135
  element: "li",
135
136
  role: "option"
@@ -144,8 +145,8 @@ var EuiComboBoxOptionsList = exports.EuiComboBoxOptionsList = /*#__PURE__*/funct
144
145
  // loses focus on selecting an option (due to actively removing it from the list)
145
146
  ,
146
147
  id: rootId("_option-".concat(options.indexOf(option))),
148
+ title: hasNativeTruncation && !toolTipContent ? label : undefined,
147
149
  key: (_option$key = option.key) !== null && _option$key !== void 0 ? _option$key : option.label,
148
- title: label,
149
150
  prepend: option.prepend,
150
151
  append: hasOnFocusBadge ? (0, _react2.jsx)(_react.default.Fragment, null, option.append, hitEnterBadge) : option.append,
151
152
  checked: checked,
@@ -68,18 +68,6 @@ EuiContextMenuPanelTitle.propTypes = {
68
68
  title: _propTypes.default.node,
69
69
  buttonRef: _propTypes.default.any,
70
70
  buttonProps: _propTypes.default.shape({
71
- iconType: _propTypes.default.oneOfType([_propTypes.default.oneOf(["accessibility", "addDataApp", "addToDashboard", "advancedSettingsApp", "agentApp", "aggregate", "alignBottom", "alignBottomLeft", "alignBottomRight", "alignCenterHorizontal", "alignCenterVertical", "alignLeft", "alignRight", "alignTop", "alignTopLeft", "alignTopRight", "alert", "analyzeEvent", "annotation", "anomalyChart", "chartAnomaly", "anomalySwimLane", "apmApp", "apmTrace", "chartWaterfall", "appSearchApp", "apps", "arrowDown", "chevronSingleDown", "arrowLeft", "chevronSingleLeft", "arrowRight", "chevronSingleRight", "arrowUp", "chevronSingleUp", "arrowStart", "chevronLimitLeft", "arrowEnd", "chevronLimitRight", "article", "asterisk", "at", "archive", "axisX", "axisYLeft", "axisYRight", "auditbeatApp", "backgroundTask", "beaker", "bell", "bellSlash", "beta", "bolt", "boxesHorizontal", "boxesVertical", "branch", "briefcase", "branchUser", "broom", "brush", "bug", "bulb", "bullseye", "calendar", "canvasApp", "casesApp", "changePointDetection", "chartChangePoint", "chartArea", "chartAreaStack", "chartBarHorizontal", "chartBarHorizontalStack", "chartBarVertical", "chartBarVerticalStack", "chartGauge", "chartHeatmap", "chartLine", "chartPie", "chartTagCloud", "chartThreshold", "check", "checkCircle", "checkInCircleFilled", "checkCircleFill", "cheer", "popper", "classificationJob", "clickLeft", "clickRight", "clock", "clockCounter", "clockControl", "cloud", "cloudDrizzle", "cloudStormy", "cloudSunny", "cluster", "code", "codeApp", "color", "paintBucket", "commandLine", "comment", "compare", "compute", "processor", "console", "consoleApp", "container", "continuityAbove", "continuityAboveBelow", "continuityBelow", "continuityWithin", "contrast", "contrastHigh", "contrastFill", "controls", "controlsHorizontal", "controlsVertical", "copy", "copyClipboard", "crossProjectSearch", "createAdvancedJob", "createGenericJob", "createGeoJob", "createMultiMetricJob", "createPopulationJob", "createSingleMetricJob", "cross", "crossClusterReplicationApp", "crossInCircle", "crossCircle", "crosshair", "crosshairs", "currency", "money", "cut", "scissors", "dashboardApp", "dashedCircle", "dataVisualizer", "database", "desktop", "display", "devToolsApp", "diff", "discoverApp", "distributeHorizontal", "distributeVertical", "download", "drag", "dragHorizontal", "dragVertical", "discuss", "document", "documentEdit", "documentation", "documents", "dot", "dotInCircle", "doubleArrowLeft", "chevronDoubleLeft", "doubleArrowRight", "chevronDoubleRight", "ellipsis", "editorAlignCenter", "textAlignCenter", "editorAlignLeft", "textAlignLeft", "editorAlignRight", "textAlignRight", "editorBold", "textBold", "editorChecklist", "listCheck", "editorCodeBlock", "editorComment", "editorDistributeHorizontal", "editorDistributeVertical", "editorHeading", "textHeading", "editorItalic", "textItalic", "editorItemAlignBottom", "editorItemAlignCenter", "editorItemAlignLeft", "editorItemAlignMiddle", "editorItemAlignRight", "editorItemAlignTop", "editorLink", "editorOrderedList", "listNumber", "editorPositionBottomLeft", "editorPositionBottomRight", "editorPositionTopLeft", "editorPositionTopRight", "editorRedo", "redo", "editorStrike", "textStrike", "editorTable", "table", "editorUnderline", "textUnderline", "editorUndo", "undo", "editorUnorderedList", "listBullet", "email", "mail", "empty", "emsApp", "endpoint", "eql", "query", "eraser", "error", "errorFilled", "errorFill", "esqlVis", "exit", "logOut", "expand", "maximize", "expandMini", "export", "exportAction", "upload", "external", "eye", "eyeClosed", "eyeSlash", "faceHappy", "faceNeutral", "faceSad", "fieldStatistics", "tableInfo", "filebeatApp", "filter", "filterExclude", "filterIgnore", "filterInclude", "filterInCircle", "flask", "flag", "fleetApp", "fold", "folder", "folderClosed", "folderClose", "folderCheck", "folderExclamation", "folderOpen", "folderOpened", "frameNext", "framePrevious", "fullScreen", "fullScreenExit", "function", "gear", "gisApp", "glasses", "globe", "grab", "grabHorizontal", "grabOmnidirectional", "gradient", "graphApp", "grid", "grokApp", "heart", "heartbeatApp", "heatmap", "help", "home", "hourglass", "if", "info", "image", "importAction", "index", "indexClose", "indexEdit", "indexFlush", "indexManagementApp", "indexMapping", "mapping", "indexOpen", "indexPatternApp", "indexRollupApp", "indexRuntime", "indexSettings", "indexTemporary", "tableTime", "infinity", "inputOutput", "inspect", "invert", "ip", "key", "keyboard", "kqlField", "queryField", "kqlFunction", "kqlOperand", "queryOperand", "kqlSelector", "querySelector", "kqlValue", "queryValue", "kubernetesNode", "kubernetesPod", "launch", "rocket", "layers", "lensApp", "lettering", "text", "lineBreak", "lineBreakSlash", "lineDash", "lineDashed", "lineDot", "lineDotted", "lineSolid", "link", "linkSlash", "list", "listAdd", "lock", "lockOpen", "logPatternAnalysis", "pattern", "logRateAnalysis", "logoAWS", "logoAWSMono", "logoAerospike", "logoApache", "logoAppSearch", "logoAzure", "logoAzureMono", "logoBeats", "logoBusinessAnalytics", "logoCeph", "logoCloud", "logoCloudEnterprise", "logoCode", "logoCodesandbox", "logoCouchbase", "logoDocker", "logoDropwizard", "logoElastic", "logoElasticStack", "logoElasticsearch", "logoEnterpriseSearch", "logoEtcd", "logoGCP", "logoGCPMono", "logoGithub", "logoGmail", "logoGolang", "logoGoogleG", "logoHAproxy", "logoIBM", "logoIBMMono", "logoKafka", "logoKibana", "logoKubernetes", "logoLogging", "logoLogstash", "logoMaps", "logoMemcached", "logoMetrics", "logoMongodb", "logoMySQL", "logoNginx", "logoObservability", "logoOsquery", "logoPhp", "logoPostgres", "logoPrometheus", "logoRabbitmq", "logoRedis", "logoSecurity", "logoSiteSearch", "logoSketch", "logoSlack", "logoUptime", "logoVulnerabilityManagement", "logoWebhook", "logoWindows", "logoWorkplaceSearch", "logsApp", "logstashFilter", "logstashIf", "logstashInput", "logstashOutput", "logstashQueue", "queue", "machineLearningApp", "magnet", "magnify", "magnifyExclamation", "magnifyMinus", "magnifyPlus", "magnifyWithExclamation", "magnifyWithMinus", "magnifyWithPlus", "managementApp", "map", "mapMarker", "waypoint", "megaphone", "memory", "menu", "menuDown", "menuLeft", "menuRight", "menuUp", "merge", "metricbeatApp", "metricsApp", "minimize", "minus", "minusCircle", "minusInCircle", "minusInCircleFilled", "minusInSquare", "minusSquare", "mobile", "monitoringApp", "moon", "move", "namespace", "nested", "newChat", "node", "vectorTriangle", "notebookApp", "number", "offline", "wifiSlash", "online", "wifi", "outlierDetectionJob", "package", "packetbeatApp", "pageSelect", "pagesSelect", "palette", "paperClip", "partial", "pause", "payment", "pencil", "percent", "pin", "pinFill", "pinFilled", "pipeBreaks", "pipelineApp", "pipeNoBreaks", "pivot", "play", "playFilled", "plugs", "plus", "plusCircle", "plusInCircle", "plusInCircleFilled", "plusInSquare", "plusSquare", "popout", "presentation", "productRobot", "productAgent", "productCloudInfra", "productDashboard", "productDiscover", "productML", "productStreamsClassic", "productStreamsWired", "push", "send", "question", "quote", "radar", "readOnly", "recentlyViewedApp", "refresh", "regressionJob", "reporter", "reportingApp", "return", "returnKey", "save", "savedObjectsApp", "scale", "search", "searchProfilerApp", "section", "securityAnalyticsApp", "securityApp", "securitySignal", "securitySignalDetected", "securitySignalResolved", "server", "sessionViewer", "shard", "share", "significantEvents", "singleMetricViewer", "snowflake", "sortAscending", "sortDescending", "sortDown", "sortLeft", "sortRight", "sortUp", "sortable", "spaces", "spacesApp", "sparkles", "sqlApp", "star", "starEmpty", "starEmptySpace", "starFill", "starFilled", "starFillSpace", "starFilledSpace", "starMinusEmpty", "starMinusFill", "starMinusFilled", "starPlusEmpty", "starPlusFill", "starPlusFilled", "stats", "stop", "stopFill", "stopFilled", "stopSlash", "storage", "streamsClassic", "streamsWired", "string", "submodule", "sun", "swatchInput", "symlink", "tableDensityCompact", "tableDensityHigh", "tableDensityExpanded", "tableDensityLow", "tableDensityNormal", "tableOfContents", "tag", "tear", "temperature", "thermometer", "thumbDown", "thumbUp", "timeline", "timelineWithArrow", "timelionApp", "timeRefresh", "refreshTime", "timeslider", "training", "transitionBottomIn", "transitionBottomOut", "transitionLeftIn", "transitionLeftOut", "transitionTopIn", "transitionTopOut", "trash", "unfold", "unlink", "upgradeAssistantApp", "uptimeApp", "user", "userAvatar", "users", "usersRolesApp", "unarchive", "vector", "vectorSquare", "videoPlayer", "visArea", "visAreaStacked", "visBarHorizontal", "visBarHorizontalStacked", "visBarVertical", "visBarVerticalStacked", "visGauge", "visGoal", "visLine", "visMapCoordinate", "visMapRegion", "visMetric", "chartMetric", "visPie", "visTable", "visTagCloud", "visText", "visTimelion", "visVega", "visVisualBuilder", "visualizeApp", "vulnerabilityManagementApp", "warning", "warningFilled", "warningFill", "watchesApp", "web", "wordWrap", "wordWrapDisabled", "workflowsApp", "workflow", "workplaceSearchApp", "wrench", "tokenAlias", "tokenAnnotation", "tokenArray", "tokenBinary", "tokenBoolean", "tokenClass", "tokenCompletionSuggester", "tokenConstant", "tokenDate", "tokenDimension", "tokenElement", "tokenEnum", "tokenEnumMember", "tokenEvent", "tokenException", "tokenField", "tokenFile", "tokenFlattened", "tokenFunction", "tokenGeo", "tokenHistogram", "tokenInterface", "tokenIP", "tokenJoin", "tokenKey", "tokenKeyword", "tokenMethod", "tokenMetricCounter", "tokenMetricGauge", "tokenModule", "tokenNamespace", "tokenNested", "tokenNull", "tokenNumber", "tokenObject", "tokenOperator", "tokenPackage", "tokenParameter", "tokenPercolator", "tokenProperty", "tokenRange", "tokenRankFeature", "tokenRankFeatures", "tokenRepo", "tokenSearchType", "tokenSemanticText", "tokenShape", "tokenString", "tokenStruct", "tokenSymbol", "tokenTag", "tokenText", "tokenTokenCount", "tokenVariable", "tokenVectorDense", "tokenDenseVector", "tokenVectorSparse"]).isRequired, _propTypes.default.string.isRequired, _propTypes.default.elementType.isRequired]).isRequired,
72
- /**
73
- * Any of the named color palette options.
74
- *
75
- * Do not use the following colors for standalone buttons directly,
76
- * they exist to serve other components:
77
- * - accent
78
- * - warning
79
- * - neutral
80
- * - risk
81
- */
82
- color: _propTypes.default.any,
83
71
  "aria-label": _propTypes.default.string,
84
72
  "aria-labelledby": _propTypes.default.string,
85
73
  /**