@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
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "Cell", {
6
+ Object.defineProperty(exports, "CellWrapper", {
7
7
  enumerable: true,
8
8
  get: function get() {
9
- return _data_grid_cell_wrapper.Cell;
9
+ return _data_grid_cell_wrapper.CellWrapper;
10
10
  }
11
11
  });
12
12
  Object.defineProperty(exports, "DataGridCellPopoverContext", {
@@ -573,6 +573,19 @@ EuiDataGridBody.propTypes = {
573
573
  renderFooterCellValue: _propTypes.default.oneOfType([_propTypes.default.func.isRequired, _propTypes.default.element.isRequired]),
574
574
  renderCustomGridBody: _propTypes.default.func,
575
575
  interactiveCellId: _propTypes.default.string.isRequired,
576
+ sorting: _propTypes.default.shape({
577
+ /**
578
+ * A function that receives updated column sort details in response to user interactions in the toolbar controls
579
+ */
580
+ onSort: _propTypes.default.func.isRequired,
581
+ /**
582
+ * An array of the column ids currently being sorted and their sort direction. The array order determines the sort order. `{ id: 'A'; direction: 'asc' }`
583
+ */
584
+ columns: _propTypes.default.arrayOf(_propTypes.default.shape({
585
+ id: _propTypes.default.string.isRequired,
586
+ direction: _propTypes.default.oneOf(["asc", "desc"]).isRequired
587
+ }).isRequired).isRequired
588
+ }),
576
589
  pagination: _propTypes.default.any,
577
590
  setVisibleColumns: _propTypes.default.func.isRequired,
578
591
  switchColumnPos: _propTypes.default.func.isRequired,
@@ -34,25 +34,26 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
34
34
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35
35
  var EuiDataGridBodyCustomRender = function EuiDataGridBodyCustomRender(_ref) {
36
36
  var renderCustomGridBody = _ref.renderCustomGridBody,
37
- leadingControlColumns = _ref.leadingControlColumns,
38
- trailingControlColumns = _ref.trailingControlColumns,
39
- columns = _ref.columns,
40
- visibleColCount = _ref.visibleColCount,
41
- schema = _ref.schema,
42
- schemaDetectors = _ref.schemaDetectors,
43
- visibleRows = _ref.visibleRows,
44
37
  renderCellValue = _ref.renderCellValue,
45
38
  cellContext = _ref.cellContext,
46
39
  renderCellPopover = _ref.renderCellPopover,
47
40
  renderFooterCellValue = _ref.renderFooterCellValue,
48
41
  interactiveCellId = _ref.interactiveCellId,
42
+ visibleRows = _ref.visibleRows,
43
+ visibleColCount = _ref.visibleColCount,
44
+ leadingControlColumns = _ref.leadingControlColumns,
45
+ trailingControlColumns = _ref.trailingControlColumns,
46
+ columns = _ref.columns,
49
47
  setVisibleColumns = _ref.setVisibleColumns,
50
48
  switchColumnPos = _ref.switchColumnPos,
51
49
  onColumnResize = _ref.onColumnResize,
52
- gridWidth = _ref.gridWidth,
53
- gridStyles = _ref.gridStyles,
50
+ schema = _ref.schema,
51
+ schemaDetectors = _ref.schemaDetectors,
52
+ sorting = _ref.sorting,
54
53
  pagination = _ref.pagination,
55
- rowHeightsOptions = _ref.rowHeightsOptions;
54
+ rowHeightsOptions = _ref.rowHeightsOptions,
55
+ gridWidth = _ref.gridWidth,
56
+ gridStyles = _ref.gridStyles;
56
57
  /**
57
58
  * Columns & widths
58
59
  */
@@ -91,14 +92,15 @@ var EuiDataGridBodyCustomRender = function EuiDataGridBodyCustomRender(_ref) {
91
92
  * Header & footer
92
93
  */
93
94
  var _useDataGridHeader = (0, _header.useDataGridHeader)({
94
- switchColumnPos: switchColumnPos,
95
- setVisibleColumns: setVisibleColumns,
96
95
  leadingControlColumns: leadingControlColumns,
97
96
  trailingControlColumns: trailingControlColumns,
98
97
  columns: columns,
99
98
  columnWidths: columnWidths,
100
99
  defaultColumnWidth: defaultColumnWidth,
101
100
  setColumnWidth: setColumnWidth,
101
+ setVisibleColumns: setVisibleColumns,
102
+ switchColumnPos: switchColumnPos,
103
+ sorting: sorting,
102
104
  schema: schema,
103
105
  schemaDetectors: schemaDetectors
104
106
  }),
@@ -121,25 +123,27 @@ var EuiDataGridBodyCustomRender = function EuiDataGridBodyCustomRender(_ref) {
121
123
  /**
122
124
  * Cell render fn
123
125
  */
124
- var cellProps = {
125
- schema: schema,
126
- schemaDetectors: schemaDetectors,
127
- pagination: pagination,
128
- columns: columns,
129
- leadingControlColumns: leadingControlColumns,
130
- trailingControlColumns: trailingControlColumns,
131
- visibleColCount: visibleColCount,
132
- columnWidths: columnWidths,
133
- defaultColumnWidth: defaultColumnWidth,
134
- renderCellValue: renderCellValue,
135
- cellContext: cellContext,
136
- renderCellPopover: renderCellPopover,
137
- interactiveCellId: interactiveCellId,
138
- setRowHeight: setRowHeight,
139
- rowHeightsOptions: rowHeightsOptions,
140
- rowHeightUtils: rowHeightUtils
141
- };
142
- var _Cell = (0, _react.useCallback)(function (_ref2) {
126
+ var cellProps = (0, _react.useMemo)(function () {
127
+ return {
128
+ schema: schema,
129
+ schemaDetectors: schemaDetectors,
130
+ pagination: pagination,
131
+ columns: columns,
132
+ leadingControlColumns: leadingControlColumns,
133
+ trailingControlColumns: trailingControlColumns,
134
+ visibleColCount: visibleColCount,
135
+ columnWidths: columnWidths,
136
+ defaultColumnWidth: defaultColumnWidth,
137
+ renderCellValue: renderCellValue,
138
+ cellContext: cellContext,
139
+ renderCellPopover: renderCellPopover,
140
+ interactiveCellId: interactiveCellId,
141
+ setRowHeight: setRowHeight,
142
+ rowHeightsOptions: rowHeightsOptions,
143
+ rowHeightUtils: rowHeightUtils
144
+ };
145
+ }, [schema, schemaDetectors, pagination, columns, leadingControlColumns, trailingControlColumns, visibleColCount, columnWidths, defaultColumnWidth, renderCellValue, cellContext, renderCellPopover, interactiveCellId, setRowHeight, rowHeightsOptions, rowHeightUtils]);
146
+ var Cell = (0, _react.useCallback)(function (_ref2) {
143
147
  var colIndex = _ref2.colIndex,
144
148
  visibleRowIndex = _ref2.visibleRowIndex,
145
149
  rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
@@ -151,9 +155,8 @@ var EuiDataGridBodyCustomRender = function EuiDataGridBodyCustomRender(_ref) {
151
155
  visibleRowIndex: visibleRowIndex,
152
156
  style: style
153
157
  }, cellProps);
154
- return (0, _react2.jsx)(_cell.Cell, (0, _extends2.default)({}, props, rest));
155
- }, [].concat((0, _toConsumableArray2.default)(Object.values(cellProps)), [getRowHeight]) // eslint-disable-line react-hooks/exhaustive-deps
156
- );
158
+ return (0, _react2.jsx)(_cell.CellWrapper, (0, _extends2.default)({}, props, rest));
159
+ }, [cellProps, getRowHeight, rowHeightUtils, rowHeightsOptions]);
157
160
 
158
161
  // Allow consumers to pass custom props/attributes/listeners etc. to the wrapping div
159
162
  var _useState = (0, _react.useState)({}),
@@ -165,7 +168,7 @@ var EuiDataGridBodyCustomRender = function EuiDataGridBodyCustomRender(_ref) {
165
168
  }), headerRow, renderCustomGridBody({
166
169
  visibleColumns: visibleColumns,
167
170
  visibleRowData: visibleRows,
168
- Cell: _Cell,
171
+ Cell: Cell,
169
172
  setCustomGridBodyProps: setCustomGridBodyProps
170
173
  }), footerRow);
171
174
  };
@@ -710,6 +713,19 @@ EuiDataGridBodyCustomRender.propTypes = {
710
713
  renderFooterCellValue: _propTypes.default.oneOfType([_propTypes.default.func.isRequired, _propTypes.default.element.isRequired]),
711
714
  renderCustomGridBody: _propTypes.default.func,
712
715
  interactiveCellId: _propTypes.default.string.isRequired,
716
+ sorting: _propTypes.default.shape({
717
+ /**
718
+ * A function that receives updated column sort details in response to user interactions in the toolbar controls
719
+ */
720
+ onSort: _propTypes.default.func.isRequired,
721
+ /**
722
+ * An array of the column ids currently being sorted and their sort direction. The array order determines the sort order. `{ id: 'A'; direction: 'asc' }`
723
+ */
724
+ columns: _propTypes.default.arrayOf(_propTypes.default.shape({
725
+ id: _propTypes.default.string.isRequired,
726
+ direction: _propTypes.default.oneOf(["asc", "desc"]).isRequired
727
+ }).isRequired).isRequired
728
+ }),
713
729
  pagination: _propTypes.default.any,
714
730
  setVisibleColumns: _propTypes.default.func.isRequired,
715
731
  switchColumnPos: _propTypes.default.func.isRequired,
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports._Cell = exports.EuiDataGridBodyVirtualized = exports.DataGridWrapperRowsContext = void 0;
8
+ exports.EuiDataGridBodyVirtualized = exports.DataGridWrapperRowsContext = exports.Cell = void 0;
9
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
@@ -13,6 +13,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
13
13
  var _classnames = _interopRequireDefault(require("classnames"));
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
  var _reactWindow = require("react-window");
16
+ var _services = require("../../../services");
16
17
  var _resize_observer = require("../../observer/resize_observer");
17
18
  var _header = require("./header");
18
19
  var _footer = require("./footer");
@@ -35,53 +36,56 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
35
36
  * in compliance with, at your election, the Elastic License 2.0 or the Server
36
37
  * Side Public License, v 1.
37
38
  */
38
- var _Cell = function _Cell(_ref) {
39
+ var Cell = /*#__PURE__*/(0, _react.memo)(function (_ref) {
39
40
  var columnIndex = _ref.columnIndex,
40
41
  rowIndex = _ref.rowIndex,
41
42
  style = _ref.style,
42
43
  data = _ref.data;
43
- var _useContext = (0, _react.useContext)(DataGridWrapperRowsContext),
44
- headerRowHeight = _useContext.headerRowHeight;
45
- return (0, _react2.jsx)(_cell.Cell, (0, _extends2.default)({
44
+ var memoizedStyles = (0, _services.useDeepEqual)(style);
45
+ var cellStyles = (0, _react.useMemo)(function () {
46
+ var headerRowHeight = data.headerRowHeight;
47
+ return _objectSpread(_objectSpread({}, memoizedStyles), {}, {
48
+ top: "".concat(parseFloat(memoizedStyles.top) + headerRowHeight, "px")
49
+ });
50
+ }, [memoizedStyles, data]);
51
+ return (0, _react2.jsx)(_cell.CellWrapper, (0, _extends2.default)({
46
52
  colIndex: columnIndex,
47
53
  visibleRowIndex: rowIndex,
48
- style: _objectSpread(_objectSpread({}, style), {}, {
49
- top: "".concat(parseFloat(style.top) + headerRowHeight, "px")
50
- })
54
+ style: cellStyles
51
55
  }, data));
52
- };
56
+ });
57
+ exports.Cell = Cell;
58
+ Cell.displayName = 'Cell';
53
59
 
54
60
  // Context is required to pass props to react-window's innerElementType
55
61
  // @see https://github.com/bvaughn/react-window/issues/404
56
- exports._Cell = _Cell;
57
62
  var DataGridWrapperRowsContext = /*#__PURE__*/(0, _react.createContext)({
58
63
  headerRow: (0, _react2.jsx)("div", null),
59
64
  headerRowHeight: 0,
60
65
  footerRow: null
61
66
  });
62
67
  exports.DataGridWrapperRowsContext = DataGridWrapperRowsContext;
63
- var InnerElement = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
68
+ var InnerElement = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
64
69
  var children = _ref2.children,
65
70
  style = _ref2.style,
66
71
  rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
67
- var _useContext2 = (0, _react.useContext)(DataGridWrapperRowsContext),
68
- headerRowHeight = _useContext2.headerRowHeight,
69
- headerRow = _useContext2.headerRow,
70
- footerRow = _useContext2.footerRow;
72
+ var _useContext = (0, _react.useContext)(DataGridWrapperRowsContext),
73
+ headerRowHeight = _useContext.headerRowHeight,
74
+ headerRow = _useContext.headerRow,
75
+ footerRow = _useContext.footerRow;
76
+ var memoizedStyles = (0, _services.useDeepEqual)(style);
77
+ var innerElementStyles = (0, _react.useMemo)(function () {
78
+ return _objectSpread(_objectSpread({}, memoizedStyles), {}, {
79
+ height: memoizedStyles.height + headerRowHeight
80
+ });
81
+ }, [memoizedStyles, headerRowHeight]);
71
82
  return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)("div", (0, _extends2.default)({
72
83
  ref: ref,
73
- style: _objectSpread(_objectSpread({}, style), {}, {
74
- height: style.height + headerRowHeight
75
- })
84
+ style: innerElementStyles
76
85
  }, rest), headerRow, children), footerRow);
77
- });
78
- InnerElement.propTypes = {
79
- style: _propTypes.default.shape({
80
- height: _propTypes.default.number.isRequired
81
- }).isRequired
82
- };
86
+ }));
83
87
  InnerElement.displayName = 'EuiDataGridInnerElement';
84
- var EuiDataGridBodyVirtualized = function EuiDataGridBodyVirtualized(_ref3) {
88
+ var EuiDataGridBodyVirtualized = /*#__PURE__*/(0, _react.memo)(function (_ref3) {
85
89
  var leadingControlColumns = _ref3.leadingControlColumns,
86
90
  trailingControlColumns = _ref3.trailingControlColumns,
87
91
  columns = _ref3.columns,
@@ -99,6 +103,7 @@ var EuiDataGridBodyVirtualized = function EuiDataGridBodyVirtualized(_ref3) {
99
103
  renderFooterCellValue = _ref3.renderFooterCellValue,
100
104
  interactiveCellId = _ref3.interactiveCellId,
101
105
  pagination = _ref3.pagination,
106
+ sorting = _ref3.sorting,
102
107
  setVisibleColumns = _ref3.setVisibleColumns,
103
108
  switchColumnPos = _ref3.switchColumnPos,
104
109
  onColumnResize = _ref3.onColumnResize,
@@ -148,14 +153,15 @@ var EuiDataGridBodyVirtualized = function EuiDataGridBodyVirtualized(_ref3) {
148
153
  * Header & footer
149
154
  */
150
155
  var _useDataGridHeader = (0, _header.useDataGridHeader)({
151
- switchColumnPos: switchColumnPos,
152
- setVisibleColumns: setVisibleColumns,
153
156
  leadingControlColumns: leadingControlColumns,
154
157
  trailingControlColumns: trailingControlColumns,
155
158
  columns: columns,
156
159
  columnWidths: columnWidths,
157
160
  defaultColumnWidth: defaultColumnWidth,
158
161
  setColumnWidth: setColumnWidth,
162
+ setVisibleColumns: setVisibleColumns,
163
+ switchColumnPos: switchColumnPos,
164
+ sorting: sorting,
159
165
  schema: schema,
160
166
  schemaDetectors: schemaDetectors
161
167
  }),
@@ -263,29 +269,13 @@ var EuiDataGridBodyVirtualized = function EuiDataGridBodyVirtualized(_ref3) {
263
269
  gridRef.current.resetAfterRowIndex(0);
264
270
  }
265
271
  }, [gridRef, getRowHeight]);
266
- return _utils.IS_JEST_ENVIRONMENT || finalWidth > 0 ? (0, _react2.jsx)(DataGridWrapperRowsContext.Provider, {
267
- value: {
268
- headerRowHeight: headerRowHeight,
269
- headerRow: headerRow,
270
- footerRow: footerRow
271
- }
272
- }, (0, _react2.jsx)(_reactWindow.VariableSizeGrid, (0, _extends2.default)({}, virtualizationOptions ? virtualizationOptions : {}, {
273
- ref: gridRef,
274
- className: (0, _classnames.default)('euiDataGrid__virtualized', virtualizationOptions === null || virtualizationOptions === void 0 ? void 0 : virtualizationOptions.className),
275
- onItemsRendered: function onItemsRendered(itemsRendered) {
276
- var _virtualizationOption;
277
- gridItemsRendered.current = itemsRendered;
278
- virtualizationOptions === null || virtualizationOptions === void 0 ? void 0 : (_virtualizationOption = virtualizationOptions.onItemsRendered) === null || _virtualizationOption === void 0 ? void 0 : _virtualizationOption.call(virtualizationOptions, itemsRendered);
279
- },
280
- innerElementType: InnerElement,
281
- outerRef: outerGridRef,
282
- innerRef: innerGridRef,
283
- columnCount: visibleColCount,
284
- width: finalWidth,
285
- columnWidth: getColumnWidth,
286
- height: finalHeight,
287
- rowHeight: getRowHeight,
288
- itemData: {
272
+ var onItemsRendered = (0, _react.useCallback)(function (itemsRendered) {
273
+ var _virtualizationOption;
274
+ gridItemsRendered.current = itemsRendered;
275
+ virtualizationOptions === null || virtualizationOptions === void 0 ? void 0 : (_virtualizationOption = virtualizationOptions.onItemsRendered) === null || _virtualizationOption === void 0 ? void 0 : _virtualizationOption.call(virtualizationOptions, itemsRendered);
276
+ }, [gridItemsRendered, virtualizationOptions]);
277
+ var itemData = (0, _react.useMemo)(function () {
278
+ return {
289
279
  schemaDetectors: schemaDetectors,
290
280
  setRowHeight: setRowHeight,
291
281
  leadingControlColumns: leadingControlColumns,
@@ -302,11 +292,35 @@ var EuiDataGridBodyVirtualized = function EuiDataGridBodyVirtualized(_ref3) {
302
292
  rowHeightsOptions: rowHeightsOptions,
303
293
  rowHeightUtils: rowHeightUtils,
304
294
  rowManager: rowManager,
305
- pagination: pagination
306
- },
295
+ pagination: pagination,
296
+ headerRowHeight: headerRowHeight
297
+ };
298
+ }, [schemaDetectors, setRowHeight, leadingControlColumns, trailingControlColumns, columns, visibleColCount, schema, columnWidths, defaultColumnWidth, renderCellValue, cellContext, renderCellPopover, interactiveCellId, rowHeightsOptions, rowHeightUtils, rowManager, pagination, headerRowHeight]);
299
+ var rowWrapperContextValue = (0, _react.useMemo)(function () {
300
+ return {
301
+ headerRowHeight: headerRowHeight,
302
+ headerRow: headerRow,
303
+ footerRow: footerRow
304
+ };
305
+ }, [headerRowHeight, headerRow, footerRow]);
306
+ return _utils.IS_JEST_ENVIRONMENT || finalWidth > 0 ? (0, _react2.jsx)(DataGridWrapperRowsContext.Provider, {
307
+ value: rowWrapperContextValue
308
+ }, (0, _react2.jsx)(_reactWindow.VariableSizeGrid, (0, _extends2.default)({}, virtualizationOptions, {
309
+ ref: gridRef,
310
+ className: (0, _classnames.default)('euiDataGrid__virtualized', virtualizationOptions === null || virtualizationOptions === void 0 ? void 0 : virtualizationOptions.className),
311
+ onItemsRendered: onItemsRendered,
312
+ innerElementType: InnerElement,
313
+ outerRef: outerGridRef,
314
+ innerRef: innerGridRef,
315
+ columnCount: visibleColCount,
316
+ width: finalWidth,
317
+ columnWidth: getColumnWidth,
318
+ height: finalHeight,
319
+ rowHeight: getRowHeight,
320
+ itemData: itemData,
307
321
  rowCount: _utils.IS_JEST_ENVIRONMENT || headerRowHeight > 0 ? visibleRowCount : 0
308
- }), _Cell), scrollBorderOverlay) : null;
309
- };
322
+ }), Cell), scrollBorderOverlay) : null;
323
+ });
310
324
  exports.EuiDataGridBodyVirtualized = EuiDataGridBodyVirtualized;
311
325
  EuiDataGridBodyVirtualized.propTypes = {
312
326
  leadingControlColumns: _propTypes.default.arrayOf(_propTypes.default.shape({
@@ -848,6 +862,19 @@ EuiDataGridBodyVirtualized.propTypes = {
848
862
  renderFooterCellValue: _propTypes.default.oneOfType([_propTypes.default.func.isRequired, _propTypes.default.element.isRequired]),
849
863
  renderCustomGridBody: _propTypes.default.func,
850
864
  interactiveCellId: _propTypes.default.string.isRequired,
865
+ sorting: _propTypes.default.shape({
866
+ /**
867
+ * A function that receives updated column sort details in response to user interactions in the toolbar controls
868
+ */
869
+ onSort: _propTypes.default.func.isRequired,
870
+ /**
871
+ * An array of the column ids currently being sorted and their sort direction. The array order determines the sort order. `{ id: 'A'; direction: 'asc' }`
872
+ */
873
+ columns: _propTypes.default.arrayOf(_propTypes.default.shape({
874
+ id: _propTypes.default.string.isRequired,
875
+ direction: _propTypes.default.oneOf(["asc", "desc"]).isRequired
876
+ }).isRequired).isRequired
877
+ }),
851
878
  pagination: _propTypes.default.any,
852
879
  setVisibleColumns: _propTypes.default.func.isRequired,
853
880
  switchColumnPos: _propTypes.default.func.isRequired,
@@ -933,4 +960,5 @@ EuiDataGridBodyVirtualized.propTypes = {
933
960
  gridRef: _propTypes.default.any.isRequired,
934
961
  gridItemsRendered: _propTypes.default.any.isRequired,
935
962
  wrapperRef: _propTypes.default.any.isRequired
936
- };
963
+ };
964
+ EuiDataGridBodyVirtualized.displayName = 'EuiDataGridBodyVirtualized';
@@ -95,8 +95,10 @@ var useRowManager = function useRowManager(_ref) {
95
95
  });
96
96
  }
97
97
  }, [rowClasses]);
98
- return {
99
- getRow: getRow
100
- };
98
+ return (0, _react.useMemo)(function () {
99
+ return {
100
+ getRow: getRow
101
+ };
102
+ }, [getRow]);
101
103
  };
102
104
  exports.useRowManager = useRowManager;
@@ -41,8 +41,7 @@ var useDataGridFooter = function useDataGridFooter(props) {
41
41
  ref: setFooterRowRef,
42
42
  renderCellValue: renderFooterCellValue
43
43
  }, footerProps));
44
- }, Object.values(props)); // eslint-disable-line react-hooks/exhaustive-deps
45
-
44
+ }, [props]);
46
45
  return {
47
46
  footerRow: footerRow,
48
47
  footerRowHeight: footerRowHeight
@@ -1,16 +1,19 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.EuiDataGridControlHeaderCell = void 0;
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
10
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
12
  var _classnames = _interopRequireDefault(require("classnames"));
12
13
  var _data_grid_header_cell_wrapper = require("./data_grid_header_cell_wrapper");
13
14
  var _react2 = require("@emotion/react");
15
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
17
  /*
15
18
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
16
19
  * or more contributor license agreements. Licensed under the Elastic License
@@ -19,7 +22,7 @@ var _react2 = require("@emotion/react");
19
22
  * Side Public License, v 1.
20
23
  */
21
24
 
22
- var EuiDataGridControlHeaderCell = function EuiDataGridControlHeaderCell(_ref) {
25
+ var EuiDataGridControlHeaderCell = /*#__PURE__*/(0, _react.memo)(function (_ref) {
23
26
  var controlColumn = _ref.controlColumn,
24
27
  index = _ref.index;
25
28
  var HeaderCellRender = controlColumn.headerCellRender,
@@ -34,7 +37,7 @@ var EuiDataGridControlHeaderCell = function EuiDataGridControlHeaderCell(_ref) {
34
37
  }), (0, _react2.jsx)("div", {
35
38
  className: "euiDataGridHeaderCell__content"
36
39
  }, (0, _react2.jsx)(HeaderCellRender, null)));
37
- };
40
+ });
38
41
  exports.EuiDataGridControlHeaderCell = EuiDataGridControlHeaderCell;
39
42
  EuiDataGridControlHeaderCell.propTypes = {
40
43
  index: _propTypes.default.number.isRequired,
@@ -68,4 +71,5 @@ EuiDataGridControlHeaderCell.propTypes = {
68
71
  */
69
72
  footerCellProps: _propTypes.default.any
70
73
  }).isRequired
71
- };
74
+ };
75
+ EuiDataGridControlHeaderCell.displayName = 'EuiDataGridControlHeaderCell';