@elastic/eui 93.3.0 → 93.4.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 (286) hide show
  1. package/dist/eui_charts_theme.d.ts +9 -0
  2. package/dist/eui_charts_theme.js +56 -14
  3. package/dist/eui_charts_theme.js.map +1 -1
  4. package/es/components/breadcrumbs/_breadcrumb_content.js +362 -0
  5. package/es/components/breadcrumbs/_breadcrumb_content.styles.js +48 -0
  6. package/es/components/breadcrumbs/breadcrumb.js +10 -327
  7. package/es/components/breadcrumbs/breadcrumb.styles.js +5 -27
  8. package/es/components/breadcrumbs/breadcrumbs.js +4 -4
  9. package/es/components/breadcrumbs/types.js +1 -0
  10. package/es/components/button/button_group/button_group.js +16 -2
  11. package/es/components/button/button_group/button_group.styles.js +1 -1
  12. package/es/components/button/button_group/button_group_button.js +59 -5
  13. package/es/components/button/button_group/button_group_button.styles.js +39 -3
  14. package/es/components/datagrid/body/cell/data_grid_cell.js +97 -58
  15. package/es/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  16. package/es/components/datagrid/body/cell/data_grid_cell_popover.js +64 -56
  17. package/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  18. package/es/components/datagrid/body/cell/index.js +1 -1
  19. package/es/components/datagrid/body/data_grid_body.js +13 -0
  20. package/es/components/datagrid/body/data_grid_body_custom.js +52 -36
  21. package/es/components/datagrid/body/data_grid_body_virtualized.js +84 -56
  22. package/es/components/datagrid/body/data_grid_row_manager.js +6 -4
  23. package/es/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  24. package/es/components/datagrid/body/header/data_grid_control_header_cell.js +5 -4
  25. package/es/components/datagrid/body/header/data_grid_header_cell.js +73 -53
  26. package/es/components/datagrid/body/header/data_grid_header_row.js +15 -551
  27. package/es/components/datagrid/body/header/use_data_grid_header.js +7 -6
  28. package/es/components/datagrid/controls/column_selector.js +126 -123
  29. package/es/components/datagrid/controls/column_sorting.js +605 -103
  30. package/es/components/datagrid/controls/column_sorting_draggable.js +24 -22
  31. package/es/components/datagrid/controls/display_selector.js +109 -107
  32. package/es/components/datagrid/data_grid.a11y.js +13 -12
  33. package/es/components/datagrid/data_grid.js +45 -22
  34. package/es/components/datagrid/utils/col_widths.js +12 -8
  35. package/es/components/datagrid/utils/focus.js +10 -8
  36. package/es/components/datagrid/utils/grid_height_width.js +31 -30
  37. package/es/components/datagrid/utils/ref.js +1 -1
  38. package/es/components/datagrid/utils/row_heights.js +2 -2
  39. package/es/components/datagrid/utils/sorting.js +29 -27
  40. package/es/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  41. package/es/components/date_picker/super_date_picker/super_update_button.js +57 -29
  42. package/es/components/flex/flex_grid.js +22 -8
  43. package/es/components/flex/flex_grid.styles.js +13 -6
  44. package/es/components/flex/flex_group.js +10 -11
  45. package/es/components/flex/flex_item.js +9 -11
  46. package/es/components/flex/flex_item.styles.js +107 -122
  47. package/es/components/flyout/flyout.js +16 -18
  48. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  49. package/es/components/modal/confirm_modal.js +2 -1
  50. package/es/components/modal/modal.js +12 -3
  51. package/es/components/observer/resize_observer/resize_observer.js +15 -24
  52. package/es/components/spacer/spacer.js +2 -3
  53. package/es/components/toast/global_toast_list.js +70 -73
  54. package/es/components/toast/toast.js +27 -42
  55. package/es/components/toast/toast.styles.js +2 -17
  56. package/es/services/color/eui_palettes.js +21 -13
  57. package/es/services/color/index.js +1 -1
  58. package/es/services/hooks/index.js +1 -0
  59. package/es/services/hooks/useDeepEqual.js +23 -0
  60. package/es/services/index.js +1 -1
  61. package/eui.d.ts +2442 -2337
  62. package/i18ntokens.json +259 -259
  63. package/lib/components/breadcrumbs/_breadcrumb_content.js +372 -0
  64. package/lib/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  65. package/lib/components/breadcrumbs/breadcrumb.js +11 -331
  66. package/lib/components/breadcrumbs/breadcrumb.styles.js +5 -29
  67. package/lib/components/breadcrumbs/breadcrumbs.js +3 -3
  68. package/lib/components/breadcrumbs/types.js +5 -0
  69. package/lib/components/button/button_group/button_group.js +16 -2
  70. package/lib/components/button/button_group/button_group.styles.js +1 -1
  71. package/lib/components/button/button_group/button_group_button.js +59 -5
  72. package/lib/components/button/button_group/button_group_button.styles.js +45 -11
  73. package/lib/components/datagrid/body/cell/data_grid_cell.js +95 -57
  74. package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  75. package/lib/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  76. package/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  77. package/lib/components/datagrid/body/cell/index.js +2 -2
  78. package/lib/components/datagrid/body/data_grid_body.js +13 -0
  79. package/lib/components/datagrid/body/data_grid_body_custom.js +51 -35
  80. package/lib/components/datagrid/body/data_grid_body_virtualized.js +83 -55
  81. package/lib/components/datagrid/body/data_grid_row_manager.js +5 -3
  82. package/lib/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  83. package/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  84. package/lib/components/datagrid/body/header/data_grid_header_cell.js +72 -52
  85. package/lib/components/datagrid/body/header/data_grid_header_row.js +14 -550
  86. package/lib/components/datagrid/body/header/use_data_grid_header.js +7 -6
  87. package/lib/components/datagrid/controls/column_selector.js +126 -123
  88. package/lib/components/datagrid/controls/column_sorting.js +615 -110
  89. package/lib/components/datagrid/controls/column_sorting_draggable.js +27 -22
  90. package/lib/components/datagrid/controls/display_selector.js +109 -107
  91. package/lib/components/datagrid/data_grid.a11y.js +13 -12
  92. package/lib/components/datagrid/data_grid.js +43 -20
  93. package/lib/components/datagrid/utils/col_widths.js +12 -8
  94. package/lib/components/datagrid/utils/focus.js +10 -8
  95. package/lib/components/datagrid/utils/grid_height_width.js +29 -28
  96. package/lib/components/datagrid/utils/ref.js +1 -1
  97. package/lib/components/datagrid/utils/row_heights.js +1 -1
  98. package/lib/components/datagrid/utils/sorting.js +31 -29
  99. package/lib/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  100. package/lib/components/date_picker/super_date_picker/super_update_button.js +57 -29
  101. package/lib/components/flex/flex_grid.js +23 -7
  102. package/lib/components/flex/flex_grid.styles.js +13 -6
  103. package/lib/components/flex/flex_group.js +10 -10
  104. package/lib/components/flex/flex_item.js +13 -13
  105. package/lib/components/flex/flex_item.styles.js +107 -122
  106. package/lib/components/flyout/flyout.js +16 -18
  107. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  108. package/lib/components/modal/confirm_modal.js +2 -1
  109. package/lib/components/modal/modal.js +12 -3
  110. package/lib/components/observer/resize_observer/resize_observer.js +15 -24
  111. package/lib/components/spacer/spacer.js +1 -2
  112. package/lib/components/toast/global_toast_list.js +68 -71
  113. package/lib/components/toast/toast.js +25 -40
  114. package/lib/components/toast/toast.styles.js +11 -25
  115. package/lib/services/color/eui_palettes.js +24 -14
  116. package/lib/services/color/index.js +14 -0
  117. package/lib/services/hooks/index.js +11 -0
  118. package/lib/services/hooks/useDeepEqual.js +30 -0
  119. package/lib/services/index.js +15 -1
  120. package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +153 -0
  121. package/optimize/es/components/breadcrumbs/_breadcrumb_content.styles.js +48 -0
  122. package/optimize/es/components/breadcrumbs/breadcrumb.js +10 -110
  123. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +5 -27
  124. package/optimize/es/components/breadcrumbs/breadcrumbs.js +4 -4
  125. package/optimize/es/components/breadcrumbs/types.js +1 -0
  126. package/optimize/es/components/button/button_group/button_group.js +2 -2
  127. package/optimize/es/components/button/button_group/button_group.styles.js +1 -1
  128. package/optimize/es/components/button/button_group/button_group_button.js +36 -4
  129. package/optimize/es/components/button/button_group/button_group_button.styles.js +39 -3
  130. package/optimize/es/components/datagrid/body/cell/data_grid_cell.js +80 -55
  131. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  132. package/optimize/es/components/datagrid/body/cell/data_grid_cell_popover.js +64 -56
  133. package/optimize/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  134. package/optimize/es/components/datagrid/body/cell/index.js +1 -1
  135. package/optimize/es/components/datagrid/body/data_grid_body_custom.js +39 -36
  136. package/optimize/es/components/datagrid/body/data_grid_body_virtualized.js +69 -49
  137. package/optimize/es/components/datagrid/body/data_grid_row_manager.js +6 -4
  138. package/optimize/es/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  139. package/optimize/es/components/datagrid/body/header/data_grid_control_header_cell.js +4 -3
  140. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +65 -49
  141. package/optimize/es/components/datagrid/body/header/data_grid_header_row.js +15 -13
  142. package/optimize/es/components/datagrid/body/header/use_data_grid_header.js +7 -6
  143. package/optimize/es/components/datagrid/controls/column_selector.js +126 -123
  144. package/optimize/es/components/datagrid/controls/column_sorting.js +121 -103
  145. package/optimize/es/components/datagrid/controls/column_sorting_draggable.js +24 -22
  146. package/optimize/es/components/datagrid/controls/display_selector.js +109 -107
  147. package/optimize/es/components/datagrid/data_grid.a11y.js +13 -12
  148. package/optimize/es/components/datagrid/data_grid.js +45 -22
  149. package/optimize/es/components/datagrid/utils/col_widths.js +9 -5
  150. package/optimize/es/components/datagrid/utils/focus.js +10 -8
  151. package/optimize/es/components/datagrid/utils/grid_height_width.js +31 -30
  152. package/optimize/es/components/datagrid/utils/ref.js +1 -1
  153. package/optimize/es/components/datagrid/utils/row_heights.js +2 -2
  154. package/optimize/es/components/datagrid/utils/sorting.js +29 -27
  155. package/optimize/es/components/date_picker/super_date_picker/super_update_button.js +49 -29
  156. package/optimize/es/components/flex/flex_grid.js +19 -8
  157. package/optimize/es/components/flex/flex_grid.styles.js +13 -6
  158. package/optimize/es/components/flex/flex_group.js +9 -10
  159. package/optimize/es/components/flex/flex_item.js +9 -11
  160. package/optimize/es/components/flex/flex_item.styles.js +107 -122
  161. package/optimize/es/components/flyout/flyout.js +16 -18
  162. package/optimize/es/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  163. package/optimize/es/components/modal/confirm_modal.js +2 -1
  164. package/optimize/es/components/modal/modal.js +6 -2
  165. package/optimize/es/components/observer/resize_observer/resize_observer.js +15 -24
  166. package/optimize/es/components/spacer/spacer.js +2 -3
  167. package/optimize/es/components/toast/global_toast_list.js +70 -73
  168. package/optimize/es/components/toast/toast.js +27 -42
  169. package/optimize/es/components/toast/toast.styles.js +2 -17
  170. package/optimize/es/services/color/eui_palettes.js +21 -13
  171. package/optimize/es/services/color/index.js +1 -1
  172. package/optimize/es/services/hooks/index.js +1 -0
  173. package/optimize/es/services/hooks/useDeepEqual.js +23 -0
  174. package/optimize/es/services/index.js +1 -1
  175. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +163 -0
  176. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  177. package/optimize/lib/components/breadcrumbs/breadcrumb.js +10 -113
  178. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +5 -29
  179. package/optimize/lib/components/breadcrumbs/breadcrumbs.js +3 -3
  180. package/optimize/lib/components/breadcrumbs/types.js +5 -0
  181. package/optimize/lib/components/button/button_group/button_group.js +2 -2
  182. package/optimize/lib/components/button/button_group/button_group.styles.js +1 -1
  183. package/optimize/lib/components/button/button_group/button_group_button.js +37 -5
  184. package/optimize/lib/components/button/button_group/button_group_button.styles.js +45 -11
  185. package/optimize/lib/components/datagrid/body/cell/data_grid_cell.js +78 -54
  186. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  187. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  188. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  189. package/optimize/lib/components/datagrid/body/cell/index.js +2 -2
  190. package/optimize/lib/components/datagrid/body/data_grid_body_custom.js +38 -35
  191. package/optimize/lib/components/datagrid/body/data_grid_body_virtualized.js +70 -50
  192. package/optimize/lib/components/datagrid/body/data_grid_row_manager.js +5 -3
  193. package/optimize/lib/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  194. package/optimize/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  195. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +65 -49
  196. package/optimize/lib/components/datagrid/body/header/data_grid_header_row.js +14 -12
  197. package/optimize/lib/components/datagrid/body/header/use_data_grid_header.js +7 -6
  198. package/optimize/lib/components/datagrid/controls/column_selector.js +126 -123
  199. package/optimize/lib/components/datagrid/controls/column_sorting.js +125 -107
  200. package/optimize/lib/components/datagrid/controls/column_sorting_draggable.js +27 -22
  201. package/optimize/lib/components/datagrid/controls/display_selector.js +109 -107
  202. package/optimize/lib/components/datagrid/data_grid.a11y.js +13 -12
  203. package/optimize/lib/components/datagrid/data_grid.js +43 -20
  204. package/optimize/lib/components/datagrid/utils/col_widths.js +9 -5
  205. package/optimize/lib/components/datagrid/utils/focus.js +10 -8
  206. package/optimize/lib/components/datagrid/utils/grid_height_width.js +29 -28
  207. package/optimize/lib/components/datagrid/utils/ref.js +1 -1
  208. package/optimize/lib/components/datagrid/utils/row_heights.js +1 -1
  209. package/optimize/lib/components/datagrid/utils/sorting.js +31 -29
  210. package/optimize/lib/components/date_picker/super_date_picker/super_update_button.js +49 -29
  211. package/optimize/lib/components/flex/flex_grid.js +21 -7
  212. package/optimize/lib/components/flex/flex_grid.styles.js +13 -6
  213. package/optimize/lib/components/flex/flex_group.js +9 -9
  214. package/optimize/lib/components/flex/flex_item.js +13 -13
  215. package/optimize/lib/components/flex/flex_item.styles.js +107 -122
  216. package/optimize/lib/components/flyout/flyout.js +16 -18
  217. package/optimize/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  218. package/optimize/lib/components/modal/confirm_modal.js +2 -1
  219. package/optimize/lib/components/modal/modal.js +6 -2
  220. package/optimize/lib/components/observer/resize_observer/resize_observer.js +15 -24
  221. package/optimize/lib/components/spacer/spacer.js +1 -2
  222. package/optimize/lib/components/toast/global_toast_list.js +68 -71
  223. package/optimize/lib/components/toast/toast.js +25 -40
  224. package/optimize/lib/components/toast/toast.styles.js +11 -25
  225. package/optimize/lib/services/color/eui_palettes.js +24 -14
  226. package/optimize/lib/services/color/index.js +14 -0
  227. package/optimize/lib/services/hooks/index.js +11 -0
  228. package/optimize/lib/services/hooks/useDeepEqual.js +30 -0
  229. package/optimize/lib/services/index.js +15 -1
  230. package/package.json +2 -2
  231. package/test-env/components/breadcrumbs/_breadcrumb_content.js +363 -0
  232. package/test-env/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  233. package/test-env/components/breadcrumbs/breadcrumb.js +11 -326
  234. package/test-env/components/breadcrumbs/breadcrumb.styles.js +5 -29
  235. package/test-env/components/breadcrumbs/breadcrumbs.js +3 -3
  236. package/test-env/components/breadcrumbs/types.js +5 -0
  237. package/test-env/components/button/button_group/button_group.js +16 -2
  238. package/test-env/components/button/button_group/button_group.styles.js +1 -1
  239. package/test-env/components/button/button_group/button_group_button.js +56 -5
  240. package/test-env/components/button/button_group/button_group_button.styles.js +45 -11
  241. package/test-env/components/datagrid/body/cell/data_grid_cell.js +95 -57
  242. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  243. package/test-env/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  244. package/test-env/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  245. package/test-env/components/datagrid/body/cell/index.js +2 -2
  246. package/test-env/components/datagrid/body/data_grid_body.js +13 -0
  247. package/test-env/components/datagrid/body/data_grid_body_custom.js +51 -35
  248. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +83 -55
  249. package/test-env/components/datagrid/body/data_grid_row_manager.js +5 -3
  250. package/test-env/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  251. package/test-env/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  252. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +72 -52
  253. package/test-env/components/datagrid/body/header/data_grid_header_row.js +14 -550
  254. package/test-env/components/datagrid/body/header/use_data_grid_header.js +7 -6
  255. package/test-env/components/datagrid/controls/column_selector.js +126 -123
  256. package/test-env/components/datagrid/controls/column_sorting.js +607 -106
  257. package/test-env/components/datagrid/controls/column_sorting_draggable.js +27 -22
  258. package/test-env/components/datagrid/controls/display_selector.js +109 -107
  259. package/test-env/components/datagrid/data_grid.a11y.js +13 -12
  260. package/test-env/components/datagrid/data_grid.js +43 -20
  261. package/test-env/components/datagrid/utils/col_widths.js +9 -5
  262. package/test-env/components/datagrid/utils/focus.js +10 -8
  263. package/test-env/components/datagrid/utils/grid_height_width.js +29 -28
  264. package/test-env/components/datagrid/utils/ref.js +1 -1
  265. package/test-env/components/datagrid/utils/row_heights.js +1 -1
  266. package/test-env/components/datagrid/utils/sorting.js +31 -29
  267. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  268. package/test-env/components/date_picker/super_date_picker/super_update_button.js +57 -29
  269. package/test-env/components/flex/flex_grid.js +21 -7
  270. package/test-env/components/flex/flex_grid.styles.js +13 -6
  271. package/test-env/components/flex/flex_group.js +10 -10
  272. package/test-env/components/flex/flex_item.js +13 -13
  273. package/test-env/components/flex/flex_item.styles.js +107 -122
  274. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  275. package/test-env/components/modal/confirm_modal.js +2 -1
  276. package/test-env/components/modal/modal.js +12 -3
  277. package/test-env/components/spacer/spacer.js +1 -2
  278. package/test-env/components/toast/global_toast_list.js +68 -71
  279. package/test-env/components/toast/toast.js +25 -40
  280. package/test-env/components/toast/toast.styles.js +11 -25
  281. package/test-env/services/color/eui_palettes.js +24 -14
  282. package/test-env/services/color/index.js +14 -0
  283. package/test-env/services/hooks/index.js +11 -0
  284. package/test-env/services/hooks/useDeepEqual.js +30 -0
  285. package/test-env/services/index.js +15 -1
  286. package/src/themes/charts/theme.scss +0 -5
@@ -20,7 +20,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
20
20
 
21
21
  import classnames from 'classnames';
22
22
  import PropTypes from "prop-types";
23
- import React, { useContext, useState, useRef, useCallback, useMemo } from 'react';
23
+ import React, { useContext, useState, useRef, useCallback, useMemo, memo } from 'react';
24
24
  import { tabbable } from 'tabbable';
25
25
  import { keys } from '../../../../services';
26
26
  import { useGeneratedHtmlId } from '../../../../services/accessibility';
@@ -29,13 +29,25 @@ import { EuiI18n } from '../../../i18n';
29
29
  import { EuiIcon } from '../../../icon';
30
30
  import { EuiListGroup } from '../../../list_group';
31
31
  import { EuiPopover } from '../../../popover';
32
- import { DataGridSortingContext } from '../../utils/sorting';
33
32
  import { DataGridFocusContext } from '../../utils/focus';
34
33
  import { getColumnActions } from './column_actions';
35
34
  import { EuiDataGridColumnResizer } from './data_grid_column_resizer';
36
35
  import { EuiDataGridHeaderCellWrapper } from './data_grid_header_cell_wrapper';
37
36
  import { jsx as ___EmotionJSX } from "@emotion/react";
38
- var _ref2 = process.env.NODE_ENV === "production" ? {
37
+ var CellContent = function CellContent(_ref) {
38
+ var children = _ref.children,
39
+ title = _ref.title,
40
+ arrow = _ref.arrow;
41
+ return ___EmotionJSX(React.Fragment, null, ___EmotionJSX("div", {
42
+ title: title,
43
+ className: "euiDataGridHeaderCell__content"
44
+ }, children), arrow);
45
+ };
46
+ CellContent.propTypes = {
47
+ title: PropTypes.string.isRequired,
48
+ arrow: PropTypes.node
49
+ };
50
+ var _ref3 = process.env.NODE_ENV === "production" ? {
39
51
  name: "mc0thx-EuiDataGridHeaderCell",
40
52
  styles: "margin-inline-start:auto;label:EuiDataGridHeaderCell;"
41
53
  } : {
@@ -43,18 +55,19 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
43
55
  styles: "margin-inline-start:auto;label:EuiDataGridHeaderCell;",
44
56
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
45
57
  };
46
- export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
58
+ export var EuiDataGridHeaderCell = /*#__PURE__*/memo(function (_ref2) {
47
59
  var _classnames;
48
- var column = _ref.column,
49
- index = _ref.index,
50
- columns = _ref.columns,
51
- columnWidths = _ref.columnWidths,
52
- schema = _ref.schema,
53
- schemaDetectors = _ref.schemaDetectors,
54
- defaultColumnWidth = _ref.defaultColumnWidth,
55
- setColumnWidth = _ref.setColumnWidth,
56
- setVisibleColumns = _ref.setVisibleColumns,
57
- switchColumnPos = _ref.switchColumnPos;
60
+ var index = _ref2.index,
61
+ column = _ref2.column,
62
+ columns = _ref2.columns,
63
+ columnWidths = _ref2.columnWidths,
64
+ defaultColumnWidth = _ref2.defaultColumnWidth,
65
+ setColumnWidth = _ref2.setColumnWidth,
66
+ setVisibleColumns = _ref2.setVisibleColumns,
67
+ switchColumnPos = _ref2.switchColumnPos,
68
+ sorting = _ref2.sorting,
69
+ schema = _ref2.schema,
70
+ schemaDetectors = _ref2.schemaDetectors;
58
71
  var id = column.id,
59
72
  display = column.display,
60
73
  displayAsText = column.displayAsText,
@@ -64,25 +77,25 @@ export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
64
77
  var _useContext = useContext(DataGridFocusContext),
65
78
  setFocusedCell = _useContext.setFocusedCell,
66
79
  focusFirstVisibleInteractiveCell = _useContext.focusFirstVisibleInteractiveCell;
67
- var _useContext2 = useContext(DataGridSortingContext),
68
- sorting = _useContext2.sorting;
69
80
  var _useState = useState(false),
70
81
  _useState2 = _slicedToArray(_useState, 2),
71
82
  isPopoverOpen = _useState2[0],
72
83
  setIsPopoverOpen = _useState2[1];
73
84
  var popoverArrowNavigationProps = usePopoverArrowNavigation();
74
- var columnActions = getColumnActions({
75
- column: column,
76
- columns: columns,
77
- schema: schema,
78
- schemaDetectors: schemaDetectors,
79
- setVisibleColumns: setVisibleColumns,
80
- focusFirstVisibleInteractiveCell: focusFirstVisibleInteractiveCell,
81
- setIsPopoverOpen: setIsPopoverOpen,
82
- sorting: sorting,
83
- switchColumnPos: switchColumnPos,
84
- setFocusedCell: setFocusedCell
85
- });
85
+ var columnActions = useMemo(function () {
86
+ return getColumnActions({
87
+ column: column,
88
+ columns: columns,
89
+ schema: schema,
90
+ schemaDetectors: schemaDetectors,
91
+ setVisibleColumns: setVisibleColumns,
92
+ focusFirstVisibleInteractiveCell: focusFirstVisibleInteractiveCell,
93
+ setIsPopoverOpen: setIsPopoverOpen,
94
+ sorting: sorting,
95
+ switchColumnPos: switchColumnPos,
96
+ setFocusedCell: setFocusedCell
97
+ });
98
+ }, [column, columns, schema, schemaDetectors, setVisibleColumns, focusFirstVisibleInteractiveCell, setIsPopoverOpen, sorting, switchColumnPos, setFocusedCell]);
86
99
  var showColumnActions = columnActions && columnActions.length > 0;
87
100
  var actionsButtonRef = useRef(null);
88
101
  var focusActionsButton = useCallback(function () {
@@ -109,11 +122,9 @@ export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
109
122
  prefix: 'euiDataGridCellHeader',
110
123
  suffix: 'actions'
111
124
  });
112
- var cellContent = ___EmotionJSX(React.Fragment, null, ___EmotionJSX("div", {
113
- title: displayAsText || id,
114
- className: "euiDataGridHeaderCell__content"
115
- }, display || displayAsText || id), sortingArrow);
116
125
  var classes = classnames((_classnames = {}, _defineProperty(_classnames, "euiDataGridHeaderCell--".concat(columnType), columnType), _defineProperty(_classnames, 'euiDataGridHeaderCell--hasColumnActions', showColumnActions), _defineProperty(_classnames, 'euiDataGridHeaderCell--isActionsPopoverOpen', isPopoverOpen), _classnames), displayHeaderCellProps === null || displayHeaderCellProps === void 0 ? void 0 : displayHeaderCellProps.className);
126
+ var title = displayAsText || id;
127
+ var children = display || displayAsText || id;
117
128
  return ___EmotionJSX(EuiDataGridHeaderCellWrapper, _extends({}, displayHeaderCellProps, {
118
129
  className: classes,
119
130
  id: id,
@@ -127,7 +138,10 @@ export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
127
138
  columnId: id,
128
139
  columnWidth: width,
129
140
  setColumnWidth: setColumnWidth
130
- }) : null, !showColumnActions ? ___EmotionJSX(React.Fragment, null, cellContent, sortingScreenReaderText && ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", null, sortingScreenReaderText))) : ___EmotionJSX(React.Fragment, null, ___EmotionJSX("button", {
141
+ }) : null, !showColumnActions ? ___EmotionJSX(React.Fragment, null, ___EmotionJSX(CellContent, {
142
+ title: title,
143
+ arrow: sortingArrow
144
+ }, children), sortingScreenReaderText && ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", null, sortingScreenReaderText))) : ___EmotionJSX(React.Fragment, null, ___EmotionJSX("button", {
131
145
  className: "euiDataGridHeaderCell__button",
132
146
  onClick: function onClick() {
133
147
  return setIsPopoverOpen(function (isPopoverOpen) {
@@ -143,12 +157,15 @@ export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
143
157
  "aria-describedby": "".concat(sortingAriaId, " ").concat(actionsAriaId),
144
158
  ref: actionsButtonRef,
145
159
  "data-test-subj": "dataGridHeaderCellActionButton-".concat(id)
146
- }, cellContent, ___EmotionJSX(EuiPopover, _extends({
160
+ }, ___EmotionJSX(CellContent, {
161
+ title: title,
162
+ arrow: sortingArrow
163
+ }, children), ___EmotionJSX(EuiPopover, _extends({
147
164
  display: "block",
148
165
  panelPaddingSize: "none",
149
166
  offset: 7,
150
167
  anchorPosition: "downRight",
151
- css: _ref2 // Align to right
168
+ css: _ref3 // Align to right
152
169
  ,
153
170
  focusTrapProps: {
154
171
  // We need to override the default EuiPopover `onClickOutside` since the anchor is separate from the actual button
@@ -184,11 +201,7 @@ export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
184
201
  token: "euiDataGridHeaderCell.headerActions",
185
202
  default: "Click to view column header actions"
186
203
  }))));
187
- };
188
-
189
- /**
190
- * Column sorting utility helpers
191
- */
204
+ });
192
205
  EuiDataGridHeaderCell.propTypes = {
193
206
  column: PropTypes.shape({
194
207
  /**
@@ -615,11 +628,16 @@ EuiDataGridHeaderCell.propTypes = {
615
628
  }).isRequired,
616
629
  index: PropTypes.number.isRequired
617
630
  };
618
- export var useSortingUtils = function useSortingUtils(_ref3) {
631
+ EuiDataGridHeaderCell.displayName = 'EuiDataGridHeaderCell';
632
+
633
+ /**
634
+ * Column sorting utility helpers
635
+ */
636
+ export var useSortingUtils = function useSortingUtils(_ref4) {
619
637
  var _sorting$columns;
620
- var sorting = _ref3.sorting,
621
- id = _ref3.id,
622
- showColumnActions = _ref3.showColumnActions;
638
+ var sorting = _ref4.sorting,
639
+ id = _ref4.id,
640
+ showColumnActions = _ref4.showColumnActions;
623
641
  var sortedColumn = useMemo(function () {
624
642
  return sorting === null || sorting === void 0 ? void 0 : sorting.columns.find(function (col) {
625
643
  return col.id === id;
@@ -631,12 +649,14 @@ export var useSortingUtils = function useSortingUtils(_ref3) {
631
649
  /**
632
650
  * Arrow icon
633
651
  */
634
- var sortingArrow = isColumnSorted ? ___EmotionJSX(EuiIcon, {
635
- type: sortedColumn.direction === 'asc' ? 'sortUp' : 'sortDown',
636
- color: "text",
637
- className: "euiDataGridHeaderCell__sortingArrow",
638
- "data-test-subj": "dataGridHeaderCellSortingIcon-".concat(id)
639
- }) : null;
652
+ var sortingArrow = useMemo(function () {
653
+ return isColumnSorted ? ___EmotionJSX(EuiIcon, {
654
+ type: sortedColumn.direction === 'asc' ? 'sortUp' : 'sortDown',
655
+ color: "text",
656
+ className: "euiDataGridHeaderCell__sortingArrow",
657
+ "data-test-subj": "dataGridHeaderCellSortingIcon-".concat(id)
658
+ }) : null;
659
+ }, [id, isColumnSorted, sortedColumn]);
640
660
 
641
661
  /**
642
662
  * aria-sort attribute - should only be used when a single column is being sorted
@@ -653,9 +673,9 @@ export var useSortingUtils = function useSortingUtils(_ref3) {
653
673
  var _sorting$columns2;
654
674
  if (!isColumnSorted) return null;
655
675
  if (!showColumnActions && hasOnlyOneSort) return null; // in this scenario, the `aria-sort` attribute will be used by screen readers
656
- return ___EmotionJSX(React.Fragment, null, sorting === null || sorting === void 0 ? void 0 : (_sorting$columns2 = sorting.columns) === null || _sorting$columns2 === void 0 ? void 0 : _sorting$columns2.map(function (_ref4, index) {
657
- var columnId = _ref4.id,
658
- direction = _ref4.direction;
676
+ return ___EmotionJSX(React.Fragment, null, sorting === null || sorting === void 0 ? void 0 : (_sorting$columns2 = sorting.columns) === null || _sorting$columns2 === void 0 ? void 0 : _sorting$columns2.map(function (_ref5, index) {
677
+ var columnId = _ref5.id,
678
+ direction = _ref5.direction;
659
679
  if (hasOnlyOneSort) {
660
680
  if (direction === 'asc') {
661
681
  return ___EmotionJSX(EuiI18n, {