@elastic/eui 116.2.0 → 116.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/es/components/avatar/avatar.js +18 -5
  2. package/es/components/avatar/avatar.styles.js +16 -16
  3. package/es/components/banner/banner.js +202 -0
  4. package/es/components/banner/banner.styles.js +76 -0
  5. package/es/components/banner/index.js +9 -0
  6. package/es/components/basic_table/basic_table.js +21 -10
  7. package/es/components/basic_table/collapsed_item_actions.js +5 -4
  8. package/es/components/basic_table/default_item_action.js +3 -5
  9. package/es/components/breadcrumbs/_breadcrumb_content.js +29 -19
  10. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  11. package/es/components/context_menu/context_menu_panel_title.js +0 -12
  12. package/es/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  13. package/es/components/datagrid/controls/display_selector.js +2 -1
  14. package/es/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  15. package/es/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  16. package/es/components/date_picker/react-datepicker/src/index.js +1 -5
  17. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  18. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  19. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  20. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  21. package/es/components/form/field_password/field_password.js +6 -3
  22. package/es/components/header/header.a11y.js +1 -1
  23. package/es/components/index.js +1 -0
  24. package/es/components/markdown_editor/markdown_editor_help_button.js +7 -4
  25. package/es/components/pagination/pagination_button_arrow.js +6 -2
  26. package/es/components/panel/panel.styles.js +4 -4
  27. package/es/components/panel/split_panel/split_panel.styles.js +1 -1
  28. package/es/components/search_bar/search_bar.js +20 -16
  29. package/es/components/search_bar/search_box.js +4 -2
  30. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  31. package/es/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  32. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
  33. package/es/components/table/sticky_header/context.js +32 -0
  34. package/es/components/table/sticky_header/index.js +10 -0
  35. package/es/components/table/sticky_header/sticky_header.js +151 -0
  36. package/es/components/table/sticky_header/sticky_header.styles.js +43 -0
  37. package/es/components/table/store/provider.js +37 -0
  38. package/es/components/table/store/store.js +82 -0
  39. package/es/components/table/store/use_unique_column_id.js +25 -0
  40. package/es/components/table/table.js +28 -3
  41. package/es/components/table/table.styles.js +4 -4
  42. package/es/components/table/table_header_cell.js +115 -48
  43. package/es/components/table/table_header_cell_checkbox.js +58 -25
  44. package/es/components/text_truncate/text_truncate.js +8 -3
  45. package/es/components/tool_tip/tool_tip.js +1 -1
  46. package/es/components/tool_tip/tool_tip.styles.js +14 -5
  47. package/es/utils/publisher.js +53 -0
  48. package/eui.d.ts +1284 -975
  49. package/i18ntokens.json +2390 -2372
  50. package/lib/components/avatar/avatar.js +18 -5
  51. package/lib/components/avatar/avatar.styles.js +16 -16
  52. package/lib/components/banner/banner.js +211 -0
  53. package/lib/components/banner/banner.styles.js +80 -0
  54. package/lib/components/banner/index.js +12 -0
  55. package/lib/components/basic_table/basic_table.js +21 -10
  56. package/lib/components/basic_table/collapsed_item_actions.js +5 -4
  57. package/lib/components/basic_table/default_item_action.js +3 -5
  58. package/lib/components/breadcrumbs/_breadcrumb_content.js +29 -19
  59. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  60. package/lib/components/context_menu/context_menu_panel_title.js +0 -12
  61. package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  62. package/lib/components/datagrid/controls/display_selector.js +2 -1
  63. package/lib/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  64. package/lib/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  65. package/lib/components/date_picker/react-datepicker/src/index.js +0 -4
  66. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  67. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  68. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  69. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  70. package/lib/components/form/field_password/field_password.js +6 -3
  71. package/lib/components/header/header.a11y.js +1 -1
  72. package/lib/components/index.js +11 -0
  73. package/lib/components/markdown_editor/markdown_editor_help_button.js +7 -4
  74. package/lib/components/pagination/pagination_button_arrow.js +6 -2
  75. package/lib/components/panel/panel.styles.js +4 -4
  76. package/lib/components/panel/split_panel/split_panel.styles.js +1 -1
  77. package/lib/components/search_bar/search_bar.js +20 -16
  78. package/lib/components/search_bar/search_box.js +4 -2
  79. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  80. package/lib/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  81. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
  82. package/lib/components/table/sticky_header/context.js +41 -0
  83. package/lib/components/table/sticky_header/index.js +19 -0
  84. package/lib/components/table/sticky_header/sticky_header.js +156 -0
  85. package/lib/components/table/sticky_header/sticky_header.styles.js +47 -0
  86. package/lib/components/table/store/provider.js +46 -0
  87. package/lib/components/table/store/store.js +87 -0
  88. package/lib/components/table/store/use_unique_column_id.js +34 -0
  89. package/lib/components/table/table.js +28 -3
  90. package/lib/components/table/table.styles.js +4 -4
  91. package/lib/components/table/table_header_cell.js +117 -48
  92. package/lib/components/table/table_header_cell_checkbox.js +61 -25
  93. package/lib/components/text_truncate/text_truncate.js +8 -3
  94. package/lib/components/tool_tip/tool_tip.js +1 -1
  95. package/lib/components/tool_tip/tool_tip.styles.js +14 -5
  96. package/lib/utils/publisher.js +59 -0
  97. package/optimize/es/components/avatar/avatar.js +16 -4
  98. package/optimize/es/components/avatar/avatar.styles.js +16 -16
  99. package/optimize/es/components/banner/banner.js +112 -0
  100. package/optimize/es/components/banner/banner.styles.js +76 -0
  101. package/optimize/es/components/banner/index.js +9 -0
  102. package/optimize/es/components/basic_table/basic_table.js +21 -10
  103. package/optimize/es/components/basic_table/collapsed_item_actions.js +5 -4
  104. package/optimize/es/components/basic_table/default_item_action.js +3 -5
  105. package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +27 -18
  106. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  107. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  108. package/optimize/es/components/datagrid/controls/display_selector.js +2 -1
  109. package/optimize/es/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  110. package/optimize/es/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  111. package/optimize/es/components/date_picker/react-datepicker/src/index.js +1 -5
  112. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  113. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  114. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  115. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  116. package/optimize/es/components/form/field_password/field_password.js +6 -3
  117. package/optimize/es/components/header/header.a11y.js +1 -1
  118. package/optimize/es/components/index.js +1 -0
  119. package/optimize/es/components/markdown_editor/markdown_editor_help_button.js +7 -4
  120. package/optimize/es/components/pagination/pagination_button_arrow.js +6 -2
  121. package/optimize/es/components/panel/panel.styles.js +4 -4
  122. package/optimize/es/components/panel/split_panel/split_panel.styles.js +1 -1
  123. package/optimize/es/components/search_bar/search_bar.js +20 -16
  124. package/optimize/es/components/search_bar/search_box.js +4 -2
  125. package/optimize/es/components/selectable/selectable_list/selectable_list.js +1 -1
  126. package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  127. package/optimize/es/components/table/sticky_header/context.js +32 -0
  128. package/optimize/es/components/table/sticky_header/index.js +10 -0
  129. package/optimize/es/components/table/sticky_header/sticky_header.js +146 -0
  130. package/optimize/es/components/table/sticky_header/sticky_header.styles.js +43 -0
  131. package/optimize/es/components/table/store/provider.js +37 -0
  132. package/optimize/es/components/table/store/store.js +82 -0
  133. package/optimize/es/components/table/store/use_unique_column_id.js +25 -0
  134. package/optimize/es/components/table/table.js +15 -3
  135. package/optimize/es/components/table/table.styles.js +4 -4
  136. package/optimize/es/components/table/table_header_cell.js +115 -48
  137. package/optimize/es/components/table/table_header_cell_checkbox.js +58 -25
  138. package/optimize/es/components/text_truncate/text_truncate.js +8 -3
  139. package/optimize/es/components/tool_tip/tool_tip.js +1 -1
  140. package/optimize/es/components/tool_tip/tool_tip.styles.js +14 -5
  141. package/optimize/es/utils/publisher.js +53 -0
  142. package/optimize/lib/components/avatar/avatar.js +16 -4
  143. package/optimize/lib/components/avatar/avatar.styles.js +16 -16
  144. package/optimize/lib/components/banner/banner.js +121 -0
  145. package/optimize/lib/components/banner/banner.styles.js +80 -0
  146. package/optimize/lib/components/banner/index.js +12 -0
  147. package/optimize/lib/components/basic_table/basic_table.js +21 -10
  148. package/optimize/lib/components/basic_table/collapsed_item_actions.js +5 -4
  149. package/optimize/lib/components/basic_table/default_item_action.js +3 -5
  150. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +27 -18
  151. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  152. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  153. package/optimize/lib/components/datagrid/controls/display_selector.js +2 -1
  154. package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  155. package/optimize/lib/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  156. package/optimize/lib/components/date_picker/react-datepicker/src/index.js +0 -4
  157. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  158. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  159. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  160. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  161. package/optimize/lib/components/form/field_password/field_password.js +6 -3
  162. package/optimize/lib/components/header/header.a11y.js +1 -1
  163. package/optimize/lib/components/index.js +11 -0
  164. package/optimize/lib/components/markdown_editor/markdown_editor_help_button.js +7 -4
  165. package/optimize/lib/components/pagination/pagination_button_arrow.js +6 -2
  166. package/optimize/lib/components/panel/panel.styles.js +4 -4
  167. package/optimize/lib/components/panel/split_panel/split_panel.styles.js +1 -1
  168. package/optimize/lib/components/search_bar/search_bar.js +20 -16
  169. package/optimize/lib/components/search_bar/search_box.js +4 -2
  170. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  171. package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  172. package/optimize/lib/components/table/sticky_header/context.js +41 -0
  173. package/optimize/lib/components/table/sticky_header/index.js +19 -0
  174. package/optimize/lib/components/table/sticky_header/sticky_header.js +156 -0
  175. package/optimize/lib/components/table/sticky_header/sticky_header.styles.js +47 -0
  176. package/optimize/lib/components/table/store/provider.js +46 -0
  177. package/optimize/lib/components/table/store/store.js +87 -0
  178. package/optimize/lib/components/table/store/use_unique_column_id.js +34 -0
  179. package/optimize/lib/components/table/table.js +15 -3
  180. package/optimize/lib/components/table/table.styles.js +4 -4
  181. package/optimize/lib/components/table/table_header_cell.js +118 -48
  182. package/optimize/lib/components/table/table_header_cell_checkbox.js +61 -25
  183. package/optimize/lib/components/text_truncate/text_truncate.js +8 -3
  184. package/optimize/lib/components/tool_tip/tool_tip.js +1 -1
  185. package/optimize/lib/components/tool_tip/tool_tip.styles.js +14 -5
  186. package/optimize/lib/utils/publisher.js +59 -0
  187. package/package.json +2 -2
  188. package/test-env/components/avatar/avatar.js +18 -5
  189. package/test-env/components/avatar/avatar.styles.js +16 -16
  190. package/test-env/components/banner/banner.js +210 -0
  191. package/test-env/components/banner/banner.styles.js +80 -0
  192. package/test-env/components/banner/index.js +12 -0
  193. package/test-env/components/basic_table/basic_table.js +21 -10
  194. package/test-env/components/basic_table/collapsed_item_actions.js +5 -4
  195. package/test-env/components/basic_table/default_item_action.js +3 -5
  196. package/test-env/components/breadcrumbs/_breadcrumb_content.js +29 -19
  197. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  198. package/test-env/components/context_menu/context_menu_panel_title.js +0 -12
  199. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  200. package/test-env/components/datagrid/controls/display_selector.js +2 -1
  201. package/test-env/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  202. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  203. package/test-env/components/date_picker/react-datepicker/src/index.js +0 -4
  204. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  205. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  206. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  207. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  208. package/test-env/components/form/field_password/field_password.js +6 -3
  209. package/test-env/components/header/header.a11y.js +1 -1
  210. package/test-env/components/index.js +11 -0
  211. package/test-env/components/markdown_editor/markdown_editor_help_button.js +7 -4
  212. package/test-env/components/pagination/pagination_button_arrow.js +6 -2
  213. package/test-env/components/panel/panel.styles.js +4 -4
  214. package/test-env/components/panel/split_panel/split_panel.styles.js +1 -1
  215. package/test-env/components/search_bar/search_bar.js +20 -16
  216. package/test-env/components/search_bar/search_box.js +4 -2
  217. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  218. package/test-env/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  219. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
  220. package/test-env/components/table/sticky_header/context.js +41 -0
  221. package/test-env/components/table/sticky_header/index.js +19 -0
  222. package/test-env/components/table/sticky_header/sticky_header.js +156 -0
  223. package/test-env/components/table/sticky_header/sticky_header.styles.js +47 -0
  224. package/test-env/components/table/store/provider.js +46 -0
  225. package/test-env/components/table/store/store.js +87 -0
  226. package/test-env/components/table/store/use_unique_column_id.js +34 -0
  227. package/test-env/components/table/table.js +28 -3
  228. package/test-env/components/table/table.styles.js +4 -4
  229. package/test-env/components/table/table_header_cell.js +118 -48
  230. package/test-env/components/table/table_header_cell_checkbox.js +61 -25
  231. package/test-env/components/text_truncate/text_truncate.js +8 -3
  232. package/test-env/components/tool_tip/tool_tip.js +1 -1
  233. package/test-env/components/tool_tip/tool_tip.styles.js +14 -5
  234. package/test-env/utils/publisher.js +59 -0
@@ -16,6 +16,7 @@ import classNames from 'classnames';
16
16
  import { useEuiMemoizedStyles } from '../../../../services';
17
17
  import { useEuiI18n } from '../../../i18n';
18
18
  import { EuiPopover } from '../../../popover';
19
+ import { EuiToolTip } from '../../../tool_tip';
19
20
  import { useFormatTimeString } from '../pretty_duration';
20
21
  import { EuiDatePopoverContent } from './date_popover_content';
21
22
  import { euiDatePopoverButtonStyles } from './date_popover_button.styles';
@@ -70,16 +71,23 @@ export var EuiDatePopoverButton = function EuiDatePopoverButton(props) {
70
71
  } else if (needsUpdating) {
71
72
  title = outdatedTitle;
72
73
  }
73
- var button = ___EmotionJSX("button", _extends({
74
+ var rawButton = ___EmotionJSX("button", _extends({
74
75
  type: "button",
75
76
  onClick: onPopoverToggle,
76
77
  className: classes,
77
- title: title,
78
78
  disabled: isDisabled,
79
79
  "data-test-subj": "superDatePicker".concat(position, "DatePopoverButton")
80
80
  }, buttonProps, {
81
81
  css: cssStyles
82
82
  }), formattedValue);
83
+ var button = title ? ___EmotionJSX(EuiToolTip, {
84
+ content: title,
85
+ display: "block",
86
+ disableScreenReaderOutput: !isInvalid && !needsUpdating,
87
+ anchorProps: {
88
+ css: styles.tooltipAnchor
89
+ }
90
+ }, rawButton) : rawButton;
83
91
  return ___EmotionJSX(EuiPopover, _extends({
84
92
  button: button,
85
93
  isOpen: isOpen,
@@ -21,7 +21,8 @@ var _ref = process.env.NODE_ENV === "production" ? {
21
21
  export var euiDatePopoverButtonStyles = function euiDatePopoverButtonStyles(euiThemeContext) {
22
22
  return {
23
23
  euiDatePopoverButton: /*#__PURE__*/css(_buttonStyles(euiThemeContext), ";;label:euiDatePopoverButton;"),
24
- now: _ref
24
+ now: _ref,
25
+ tooltipAnchor: /*#__PURE__*/css(logicalCSS('height', '100%'), " ", logicalCSS('width', '100%'), ";;label:tooltipAnchor;")
25
26
  };
26
27
  };
27
28
  export var _buttonStyles = function _buttonStyles(euiThemeContext) {
@@ -16,6 +16,7 @@ import { useEuiMemoizedStyles } from '../../../../services';
16
16
  import { useEuiI18n } from '../../../i18n';
17
17
  import { EuiPopover } from '../../../popover';
18
18
  import { EuiFormPrepend } from '../../../form';
19
+ import { EuiToolTip } from '../../../tool_tip';
19
20
  import { euiQuickSelectPopoverStyles } from './quick_select_popover.styles';
20
21
  import { EuiQuickSelectPanel } from './quick_select_panel';
21
22
  import { EuiQuickSelect } from './quick_select';
@@ -63,21 +64,23 @@ export var EuiQuickSelectPopover = function EuiQuickSelectPopover(_ref) {
63
64
  closePopover();
64
65
  }
65
66
  }, [_applyTime, closePopover]);
66
- var buttonlabel = useEuiI18n('euiQuickSelectPopover.buttonLabel', 'Date quick select');
67
+ var buttonLabel = useEuiI18n('euiQuickSelectPopover.buttonLabel', 'Date quick select');
67
68
  var quickSelectButtonOnClick = function quickSelectButtonOnClick(e) {
68
69
  togglePopover();
69
70
  buttonOnClick === null || buttonOnClick === void 0 || buttonOnClick(e);
70
71
  };
71
- var quickSelectButton = ___EmotionJSX(EuiFormPrepend, _extends({
72
+ var quickSelectButton = ___EmotionJSX(EuiToolTip, {
73
+ content: buttonLabel,
74
+ disableScreenReaderOutput: true
75
+ }, ___EmotionJSX(EuiFormPrepend, _extends({
72
76
  element: "button",
73
77
  iconLeft: "calendar",
74
78
  iconRight: "chevronSingleDown",
75
79
  isDisabled: props.isDisabled,
76
80
  onClick: quickSelectButtonOnClick,
77
- "aria-label": buttonlabel,
78
- title: buttonlabel,
81
+ "aria-label": buttonLabel,
79
82
  "data-test-subj": "superDatePickerToggleQuickMenuButton"
80
- }, quickSelectButtonProps));
83
+ }, quickSelectButtonProps)));
81
84
  return ___EmotionJSX(EuiPopover, {
82
85
  button: quickSelectButton,
83
86
  isOpen: isOpen,
@@ -16,6 +16,7 @@ import classNames from 'classnames';
16
16
  import { useCombinedRefs, useEuiMemoizedStyles } from '../../../services';
17
17
  import { useEuiI18n } from '../../i18n';
18
18
  import { EuiButtonIcon } from '../../button';
19
+ import { EuiToolTip } from '../../tool_tip';
19
20
  import { EuiFormControlLayout } from '../form_control_layout';
20
21
  import { EuiValidatableControl } from '../validatable_control';
21
22
  import { useFormContext } from '../eui_form_context';
@@ -76,16 +77,18 @@ export var EuiFieldPassword = function EuiFieldPassword(props) {
76
77
  var visibilityToggle = useMemo(function () {
77
78
  if (type === 'dual') {
78
79
  var isVisible = inputType === 'text';
79
- return ___EmotionJSX(EuiButtonIcon, _extends({
80
+ return ___EmotionJSX(EuiToolTip, {
81
+ content: isVisible ? maskPasswordLabel : showPasswordLabel,
82
+ disableScreenReaderOutput: true
83
+ }, ___EmotionJSX(EuiButtonIcon, _extends({
80
84
  iconType: isVisible ? 'eyeSlash' : 'eye',
81
85
  "aria-label": isVisible ? maskPasswordLabel : showPasswordLabel,
82
- title: isVisible ? maskPasswordLabel : showPasswordLabel,
83
86
  disabled: disabled
84
87
  }, dualToggleProps, {
85
88
  onClick: function onClick(e) {
86
89
  return handleToggle(e, isVisible);
87
90
  }
88
- }));
91
+ })));
89
92
  }
90
93
  }, [type, inputType, maskPasswordLabel, showPasswordLabel, dualToggleProps, handleToggle, disabled]);
91
94
  var finalAppend = useMemo(function () {
@@ -327,7 +327,7 @@ describe('EuiHeader', function () {
327
327
  cy.checkAxe();
328
328
  });
329
329
  it('has zero violations when a hidden breadcrumb is expanded', function () {
330
- cy.get('button[title="See collapsed breadcrumbs"]').realClick();
330
+ cy.get('[aria-label="See collapsed breadcrumbs"]').realClick();
331
331
  cy.get('a[data-test-subj="cy-breadcrumb-hidden"]').should('exist');
332
332
  cy.checkAxe();
333
333
  });
@@ -12,6 +12,7 @@ export * from './aspect_ratio';
12
12
  export * from './auto_sizer';
13
13
  export * from './avatar';
14
14
  export * from './badge';
15
+ export * from './banner';
15
16
  export * from './beacon';
16
17
  export * from './bottom_bar';
17
18
  export * from './breadcrumbs';
@@ -59,7 +59,8 @@ export var EuiMarkdownEditorHelpButton = function EuiMarkdownEditorHelpButton(_r
59
59
  var hasUiPluginsWithHelpText = uiPluginsWithHelpText.length > 0;
60
60
  if (hasUiPluginsWithHelpText) {
61
61
  return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiToolTip, _extends({}, tooltipProps, {
62
- content: syntaxTitle
62
+ content: syntaxTitle,
63
+ disableScreenReaderOutput: true
63
64
  }), ___EmotionJSX(EuiButtonIcon, {
64
65
  size: "s",
65
66
  css: styles.euiMarkdownEditorFooter__helpButton,
@@ -109,8 +110,10 @@ export var EuiMarkdownEditorHelpButton = function EuiMarkdownEditorHelpButton(_r
109
110
  })))));
110
111
  } else {
111
112
  return ___EmotionJSX(EuiPopover, {
112
- button: ___EmotionJSX(EuiButtonIcon, {
113
- title: syntaxTitle,
113
+ button: ___EmotionJSX(EuiToolTip, {
114
+ content: syntaxTitle,
115
+ disableScreenReaderOutput: true
116
+ }, ___EmotionJSX(EuiButtonIcon, {
114
117
  size: "s",
115
118
  css: styles.euiMarkdownEditorFooter__helpButton,
116
119
  className: "euiMarkdownEditorFooter__helpButton",
@@ -120,7 +123,7 @@ export var EuiMarkdownEditorHelpButton = function EuiMarkdownEditorHelpButton(_r
120
123
  onClick: function onClick() {
121
124
  return setIsShowingHelpPopover(!isShowingHelpPopover);
122
125
  }
123
- }),
126
+ })),
124
127
  isOpen: isShowingHelpPopover,
125
128
  closePopover: function closePopover() {
126
129
  return setIsShowingHelpPopover(false);
@@ -13,6 +13,7 @@ import { EuiButtonIcon } from '../button/button_icon';
13
13
  import { keysOf } from '../common';
14
14
  import { useEuiI18n } from '../i18n';
15
15
  import { useEuiTheme } from '../../services';
16
+ import { EuiToolTip } from '../tool_tip';
16
17
  import { euiPaginationButtonStyles } from './pagination_button.styles';
17
18
  import { jsx as ___EmotionJSX } from "@emotion/react";
18
19
  var typeToIconTypeMap = {
@@ -41,15 +42,18 @@ export var EuiPaginationButtonArrow = function EuiPaginationButtonArrow(_ref) {
41
42
  buttonProps.href = "#".concat(ariaControls);
42
43
  buttonProps['aria-controls'] = ariaControls;
43
44
  }
44
- return ___EmotionJSX(EuiButtonIcon, _extends({
45
+ var button = ___EmotionJSX(EuiButtonIcon, _extends({
45
46
  css: styles.euiPaginationButton,
46
47
  className: classNames('euiPaginationArrowButton', className),
47
48
  color: "text",
48
49
  "aria-label": labels[type],
49
- title: disabled ? undefined : labels[type],
50
50
  isDisabled: disabled,
51
51
  onClick: onClick,
52
52
  "data-test-subj": "pagination-button-".concat(type),
53
53
  iconType: typeToIconTypeMap[type]
54
54
  }, buttonProps));
55
+ return disabled ? button : ___EmotionJSX(EuiToolTip, {
56
+ content: labels[type],
57
+ disableScreenReaderOutput: true
58
+ }, button);
55
59
  };
@@ -31,11 +31,11 @@ var _ref = process.env.NODE_ENV === "production" ? {
31
31
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
32
32
  };
33
33
  var _ref2 = process.env.NODE_ENV === "production" ? {
34
- name: "1xyrf3k-euiPanel",
35
- styles: "position:relative;flex-grow:0;label:euiPanel;"
34
+ name: "z103qm-euiPanel",
35
+ styles: "position:relative;flex-grow:0;line-height:inherit;label:euiPanel;"
36
36
  } : {
37
- name: "1xyrf3k-euiPanel",
38
- styles: "position:relative;flex-grow:0;label:euiPanel;",
37
+ name: "z103qm-euiPanel",
38
+ styles: "position:relative;flex-grow:0;line-height:inherit;label:euiPanel;",
39
39
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
40
40
  };
41
41
  export var euiPanelStyles = function euiPanelStyles(euiThemeContext) {
@@ -11,7 +11,7 @@ import { css } from '@emotion/react';
11
11
  import { logicalCSS } from '../../../global_styling';
12
12
  import { highContrastModeStyles } from '../../../global_styling/functions/high_contrast';
13
13
  export var euiSplitPanelOuterStyles = {
14
- euiSplitPanelOuter: /*#__PURE__*/css("display:flex;", logicalCSS('min-width', 0), " overflow:hidden;;label:euiSplitPanelOuter;"),
14
+ euiSplitPanelOuter: /*#__PURE__*/css("display:flex;&:enabled{display:flex;}", logicalCSS('min-width', 0), " overflow:hidden;;label:euiSplitPanelOuter;"),
15
15
  column: process.env.NODE_ENV === "production" ? {
16
16
  name: "ll8kmq-column",
17
17
  styles: "flex-direction:column;label:column;"
@@ -24,6 +24,7 @@ import React, { Component } from 'react';
24
24
  import { RenderWithEuiTheme, htmlIdGenerator } from '../../services';
25
25
  import { isString } from '../../services/predicate';
26
26
  import { EuiFlexGroup, EuiFlexItem } from '../flex';
27
+ import { EuiToolTip } from '../tool_tip';
27
28
  import { EuiSearchBox } from './search_box';
28
29
  import { EuiSearchBarFilters } from './search_filters';
29
30
  import { Query } from './query';
@@ -186,6 +187,21 @@ export var EuiSearchBar = /*#__PURE__*/function (_Component) {
186
187
  var toolsLeftEl = this.renderTools(toolsLeft);
187
188
  var toolsRightEl = this.renderTools(toolsRight);
188
189
  var isHintVisible = (_hint$popoverProps$is = hint === null || hint === void 0 || (_hint$popoverProps = hint.popoverProps) === null || _hint$popoverProps === void 0 ? void 0 : _hint$popoverProps.isOpen) !== null && _hint$popoverProps$is !== void 0 ? _hint$popoverProps$is : isHintVisibleState;
190
+ var searchBox = ___EmotionJSX(EuiSearchBox, _extends({}, box, {
191
+ query: queryText,
192
+ onSearch: this.onSearch,
193
+ isInvalid: error != null,
194
+ "aria-describedby": isHintVisible ? "".concat(this.hintId) : undefined,
195
+ hint: hint ? _objectSpread({
196
+ isVisible: isHintVisible,
197
+ setIsVisible: function setIsVisible(isVisible) {
198
+ _this2.setState({
199
+ isHintVisible: isVisible
200
+ });
201
+ },
202
+ id: this.hintId
203
+ }, hint) : undefined
204
+ }));
189
205
  return ___EmotionJSX(RenderWithEuiTheme, null, function (euiTheme) {
190
206
  return ___EmotionJSX(EuiFlexGroup, {
191
207
  gutterSize: "s",
@@ -195,22 +211,10 @@ export var EuiSearchBar = /*#__PURE__*/function (_Component) {
195
211
  className: "euiSearchBar__searchHolder",
196
212
  css: euiSearchBar__searchHolder(euiTheme),
197
213
  grow: true
198
- }, ___EmotionJSX(EuiSearchBox, _extends({}, box, {
199
- query: queryText,
200
- onSearch: _this2.onSearch,
201
- isInvalid: error != null,
202
- title: error ? error.message : undefined,
203
- "aria-describedby": isHintVisible ? "".concat(_this2.hintId) : undefined,
204
- hint: hint ? _objectSpread({
205
- isVisible: isHintVisible,
206
- setIsVisible: function setIsVisible(isVisible) {
207
- _this2.setState({
208
- isHintVisible: isVisible
209
- });
210
- },
211
- id: _this2.hintId
212
- }, hint) : undefined
213
- }))), filters && ___EmotionJSX(EuiFlexItem, {
214
+ }, ___EmotionJSX(EuiToolTip, {
215
+ content: error === null || error === void 0 ? void 0 : error.message,
216
+ display: "block"
217
+ }, searchBox)), filters && ___EmotionJSX(EuiFlexItem, {
214
218
  className: "euiSearchBar__filtersHolder",
215
219
  css: euiSearchBar__filtersHolder(euiTheme),
216
220
  grow: false
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["query", "placeholder", "incremental", "hint"];
3
+ var _excluded = ["query", "placeholder", "incremental", "hint", "onFocus"];
4
4
  /*
5
5
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
6
6
  * or more contributor license agreements. Licensed under the Elastic License
@@ -19,6 +19,7 @@ export var EuiSearchBox = function EuiSearchBox(_ref) {
19
19
  placeholder = _ref.placeholder,
20
20
  incremental = _ref.incremental,
21
21
  hint = _ref.hint,
22
+ _onFocus = _ref.onFocus,
22
23
  rest = _objectWithoutProperties(_ref, _excluded);
23
24
  var _inputRef = useRef(null);
24
25
  useLayoutEffect(function () {
@@ -39,8 +40,9 @@ export var EuiSearchBox = function EuiSearchBox(_ref) {
39
40
  incremental: incremental,
40
41
  "aria-label": incremental ? ariaLabelIncremental : ariaLabelEnter,
41
42
  placeholder: placeholder !== null && placeholder !== void 0 ? placeholder : defaultPlaceholder,
42
- onFocus: function onFocus() {
43
+ onFocus: function onFocus(e) {
43
44
  hint === null || hint === void 0 || hint.setIsVisible(true);
45
+ _onFocus === null || _onFocus === void 0 || _onFocus(e);
44
46
  }
45
47
  }, rest));
46
48
  if (hint) {
@@ -187,7 +187,7 @@ export var EuiSelectableList = /*#__PURE__*/function (_Component) {
187
187
  _this.onAddOrRemoveOption(option, event);
188
188
  },
189
189
  isFocused: isFocused,
190
- title: searchableLabel || label,
190
+ title: !truncationProps && !option.toolTipContent ? searchableLabel || label : undefined,
191
191
  checked: checked,
192
192
  disabled: disabled,
193
193
  prepend: prepend,
@@ -45,6 +45,6 @@ export var euiSelectableListGroupLabelStyles = function euiSelectableListGroupLa
45
45
  return {
46
46
  groupLabel: /*#__PURE__*/css(euiTitle(euiThemeContext, 'xxxs'), " position:relative;display:flex;align-items:center;gap:", itemVars.spacing.horizontal, ";", logicalCSS('padding-horizontal', itemVars.textPadding.horizontal), " ", logicalCSS('padding-vertical', spacingVertical), " &:not(:first-child){", logicalCSS('padding-top', mathWithUnits([spacingVertical], function (a) {
47
47
  return a * 3;
48
- })), " &::before{content:'';position:absolute;inset:0;inset-block-start:", spacingVertical, ";", logicalCSS('border-top', "".concat(euiTheme.border.width.thin, " solid ").concat(borderColor)), ";}};label:groupLabel;")
48
+ })), " &::before{content:'';position:absolute;z-index:-1;inset:0;inset-block-start:", spacingVertical, ";", logicalCSS('border-top', "".concat(euiTheme.border.width.thin, " solid ").concat(borderColor)), ";}};label:groupLabel;")
49
49
  };
50
50
  };
@@ -0,0 +1,32 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import React, { createContext, useContext } from 'react';
10
+ import { jsx as ___EmotionJSX } from "@emotion/react";
11
+ var EuiTableWithinStickyHeaderContext = /*#__PURE__*/createContext(false);
12
+
13
+ /**
14
+ * React context provider to detect whether a component is rendered
15
+ * inside <EuiTableStickyHeader> to prevent duplicated header cell renders.
16
+ * @internal
17
+ */
18
+ export var EuiTableWithinStickyHeaderProvider = function EuiTableWithinStickyHeaderProvider(_ref) {
19
+ var children = _ref.children;
20
+ return ___EmotionJSX(EuiTableWithinStickyHeaderContext.Provider, {
21
+ value: true
22
+ }, children);
23
+ };
24
+
25
+ /**
26
+ * Returns true if the component (usually the EuiTableHeaderCell or EuiTableHeaderCellCheckbox)
27
+ * is rendered inside EuiTableStickyHeader.
28
+ * @internal
29
+ */
30
+ export var useEuiTableWithinStickyHeader = function useEuiTableWithinStickyHeader() {
31
+ return useContext(EuiTableWithinStickyHeaderContext);
32
+ };
@@ -0,0 +1,10 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ export { EuiTableStickyHeader } from './sticky_header';
10
+ export { useEuiTableWithinStickyHeader } from './context';
@@ -0,0 +1,146 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ /*
3
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
+ * or more contributor license agreements. Licensed under the Elastic License
5
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
6
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
7
+ * Side Public License, v 1.
8
+ */
9
+
10
+ import React, { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
11
+ import { useEuiTableColumnDataStore } from '../store/provider';
12
+ import { EuiTableHeader } from '../table_header';
13
+ import { EuiTableWithinStickyHeaderProvider } from './context';
14
+ import { useEuiMemoizedStyles } from '../../../services';
15
+ import { euiTableStyles } from '../table.styles';
16
+ import { euiTableStickyHeaderStyles } from './sticky_header.styles';
17
+ import { euiContainerCSS } from '../../../global_styling';
18
+ import { EUI_TABLE_CSS_CONTAINER_NAME } from '../const';
19
+
20
+ /**
21
+ * @internal
22
+ */
23
+ import { jsx as ___EmotionJSX } from "@emotion/react";
24
+ export var EuiTableStickyHeader = function EuiTableStickyHeader(_ref) {
25
+ var tableRef = _ref.tableRef,
26
+ tableWrapperRef = _ref.tableWrapperRef,
27
+ compressed = _ref.compressed,
28
+ scrollableInline = _ref.scrollableInline,
29
+ isResponsive = _ref.isResponsive;
30
+ var store = useEuiTableColumnDataStore();
31
+ var columnElements = useRef(new Map());
32
+ var stickyTableWrapperRef = useRef(null);
33
+ var stickyTableRef = useRef(null);
34
+ var _useState = useState(function () {
35
+ return Array.from(store.getColumns().entries());
36
+ }),
37
+ _useState2 = _slicedToArray(_useState, 2),
38
+ columns = _useState2[0],
39
+ setColumns = _useState2[1];
40
+ var originalStyles = useEuiMemoizedStyles(euiTableStyles);
41
+ var styles = useEuiMemoizedStyles(euiTableStickyHeaderStyles);
42
+
43
+ /**
44
+ * Get a callback ref to handle the column element ref
45
+ */
46
+ var getColumnRef = useCallback(function (id) {
47
+ return function (element) {
48
+ if (element) {
49
+ columnElements.current.set(id, element);
50
+ } else {
51
+ columnElements.current.delete(id);
52
+ }
53
+ };
54
+ }, []);
55
+ useEffect(function () {
56
+ var unsubscribe = store.subscribe(function (columns) {
57
+ setColumns(Array.from(columns.entries()));
58
+ });
59
+ var unsubscribeColumnWidths = store.subscribeToColumnWidths(function (columns) {
60
+ columns.forEach(function (width, name) {
61
+ var element = columnElements.current.get(name);
62
+ if (element) {
63
+ element.style.width = "".concat(width, "px");
64
+ }
65
+ });
66
+ });
67
+ return function () {
68
+ unsubscribe();
69
+ unsubscribeColumnWidths();
70
+ };
71
+ }, [store]);
72
+
73
+ // When columns change, apply column widths after render
74
+ useLayoutEffect(function () {
75
+ store.getColumnWidths().forEach(function (width, name) {
76
+ var element = columnElements.current.get(name);
77
+ if (element) {
78
+ element.style.width = "".concat(width, "px");
79
+ }
80
+ });
81
+ }, [store, columns]);
82
+ useEffect(function () {
83
+ if (!scrollableInline || !tableWrapperRef.current || !stickyTableRef.current || !tableRef.current) {
84
+ return;
85
+ }
86
+ var tableWrapper = tableWrapperRef.current;
87
+ var handleScroll = function handleScroll() {
88
+ if (stickyTableWrapperRef.current) {
89
+ stickyTableWrapperRef.current.scrollLeft = tableWrapper.scrollLeft;
90
+ }
91
+ };
92
+ var handleResize = function handleResize(entries) {
93
+ var element = entries[0].target;
94
+ if (!element) {
95
+ return;
96
+ }
97
+ if (stickyTableRef.current) {
98
+ stickyTableRef.current.style.minWidth = "".concat(element.clientWidth, "px");
99
+ }
100
+ };
101
+
102
+ // Initial width sync
103
+ stickyTableRef.current.style.minWidth = "".concat(tableRef.current.getBoundingClientRect().width, "px");
104
+
105
+ // Use ResizeObserver to keep table width in sync
106
+ var resizeObserver = new ResizeObserver(handleResize);
107
+ resizeObserver.observe(tableRef.current);
108
+ tableWrapper.addEventListener('scroll', handleScroll, {
109
+ passive: true
110
+ });
111
+ return function () {
112
+ tableWrapper.removeEventListener('scroll', handleScroll);
113
+ resizeObserver.disconnect();
114
+ };
115
+ }, [scrollableInline, tableRef, tableWrapperRef]);
116
+ var tableStyles = [originalStyles.euiTable, scrollableInline && originalStyles.euiTableScrollableInline, (!compressed || isResponsive) && originalStyles.uncompressed, compressed && !isResponsive && originalStyles.compressed,
117
+ // Forced fixed layout since all column widths come synced from the main table
118
+ originalStyles.layout.fixed, originalStyles.hasBackground, styles.table];
119
+ if (isResponsive) {
120
+ return null;
121
+ }
122
+ return ___EmotionJSX(EuiTableWithinStickyHeaderProvider, null, ___EmotionJSX("div", {
123
+ css: styles.wrapper,
124
+ "aria-hidden": "true"
125
+ }, ___EmotionJSX("div", {
126
+ css: [
127
+ // This CSS container is needed to feed `<EuiTableHeaderCell>`
128
+ // with `sticky` prop set the necessary scroll state
129
+ euiContainerCSS('normal', EUI_TABLE_CSS_CONTAINER_NAME, true), styles.innerWrapper, ";label:EuiTableStickyHeader;"],
130
+ ref: stickyTableWrapperRef
131
+ }, ___EmotionJSX("table", {
132
+ css: tableStyles,
133
+ ref: stickyTableRef
134
+ }, ___EmotionJSX(EuiTableHeader, {
135
+ css: styles.header
136
+ }, columns.map(function (_ref2, index) {
137
+ var _data$renderHeaderCel, _data$renderHeaderCel2;
138
+ var _ref3 = _slicedToArray(_ref2, 2),
139
+ name = _ref3[0],
140
+ data = _ref3[1];
141
+ return (_data$renderHeaderCel = (_data$renderHeaderCel2 = data.renderHeaderCellRef).current) === null || _data$renderHeaderCel === void 0 ? void 0 : _data$renderHeaderCel.call(_data$renderHeaderCel2, {
142
+ ref: getColumnRef(name),
143
+ key: "".concat(name, "-").concat(index)
144
+ });
145
+ }))))));
146
+ };
@@ -0,0 +1,43 @@
1
+ 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)."; }
2
+ /*
3
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
+ * or more contributor license agreements. Licensed under the Elastic License
5
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
6
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
7
+ * Side Public License, v 1.
8
+ */
9
+
10
+ import { css } from '@emotion/react';
11
+ var _ref = process.env.NODE_ENV === "production" ? {
12
+ name: "1uk19xy-table",
13
+ styles: "pointer-events:auto;label:table;"
14
+ } : {
15
+ name: "1uk19xy-table",
16
+ styles: "pointer-events:auto;label:table;",
17
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
18
+ };
19
+ var _ref2 = process.env.NODE_ENV === "production" ? {
20
+ name: "15dchac-innerWrapper",
21
+ styles: "overflow-inline:hidden;label:innerWrapper;"
22
+ } : {
23
+ name: "15dchac-innerWrapper",
24
+ styles: "overflow-inline:hidden;label:innerWrapper;",
25
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
26
+ };
27
+ var _ref3 = process.env.NODE_ENV === "production" ? {
28
+ name: "4w3rcu-wrapper",
29
+ styles: "position:sticky;inset-block-start:var(--euiTableStickyHeaderOffsetTop, 0);z-index:var(--euiTableStickyHeaderZIndex, 1);block-size:0;overflow-block:visible;label:wrapper;"
30
+ } : {
31
+ name: "4w3rcu-wrapper",
32
+ styles: "position:sticky;inset-block-start:var(--euiTableStickyHeaderOffsetTop, 0);z-index:var(--euiTableStickyHeaderZIndex, 1);block-size:0;overflow-block:visible;label:wrapper;",
33
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
34
+ };
35
+ export var euiTableStickyHeaderStyles = function euiTableStickyHeaderStyles(_ref4) {
36
+ var euiTheme = _ref4.euiTheme;
37
+ return {
38
+ wrapper: _ref3,
39
+ innerWrapper: _ref2,
40
+ table: _ref,
41
+ header: /*#__PURE__*/css("th::after{content:'';display:block;inline-size:100%;block-size:", euiTheme.border.width.thin, ";background-color:", euiTheme.border.color, ";};label:header;")
42
+ };
43
+ };
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import React, { createContext, useRef, useContext } from 'react';
10
+ import { createEuiTableStore } from './store';
11
+ import { jsx as ___EmotionJSX } from "@emotion/react";
12
+ var EuiTableStoreContext = /*#__PURE__*/createContext(null);
13
+
14
+ /**
15
+ * @internal
16
+ */
17
+ export var EuiTableStoreProvider = function EuiTableStoreProvider(_ref) {
18
+ var children = _ref.children;
19
+ var store = useRef(null);
20
+ if (!store.current) {
21
+ store.current = createEuiTableStore();
22
+ }
23
+ return ___EmotionJSX(EuiTableStoreContext.Provider, {
24
+ value: store.current
25
+ }, children);
26
+ };
27
+
28
+ /**
29
+ * @internal
30
+ */
31
+ export var useEuiTableColumnDataStore = function useEuiTableColumnDataStore() {
32
+ var store = useContext(EuiTableStoreContext);
33
+ if (!store) {
34
+ throw new Error('[useEuiTableColumnDataStore] Store context not found. This hook must be used within EuiTable!');
35
+ }
36
+ return store;
37
+ };