@elastic/eui 75.1.2 → 76.0.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 (288) hide show
  1. package/es/components/accessibility/skip_link/skip_link.js +11 -42
  2. package/es/components/avatar/avatar.js +1 -1
  3. package/es/components/badge/badge.js +1 -1
  4. package/es/components/badge/badge_group/badge_group.styles.js +1 -1
  5. package/es/components/badge/beta_badge/beta_badge.js +1 -1
  6. package/es/components/basic_table/basic_table.js +1 -1
  7. package/es/components/basic_table/collapsed_item_actions.js +1 -1
  8. package/es/components/basic_table/in_memory_table.js +1 -1
  9. package/es/components/button/_button_content_deprecated.js +1 -1
  10. package/es/components/button/button_display/_button_display.js +1 -1
  11. package/es/components/button/button_display/_button_display_content.js +1 -1
  12. package/es/components/button/button_empty/button_empty.js +1 -1
  13. package/es/components/button/button_group/button_group.js +1 -1
  14. package/es/components/button/button_group/button_group_button.js +1 -1
  15. package/es/components/button/button_icon/button_icon.js +1 -1
  16. package/es/components/call_out/call_out.js +1 -1
  17. package/es/components/card/card.js +1 -1
  18. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  19. package/es/components/comment_list/comment.js +2 -2
  20. package/es/components/comment_list/comment_event.js +1 -1
  21. package/es/components/comment_list/comment_list.js +2 -2
  22. package/es/components/comment_list/comment_timeline.js +1 -1
  23. package/es/components/control_bar/control_bar.a11y.js +1 -1
  24. package/es/components/datagrid/body/data_grid_body.js +89 -94
  25. package/es/components/datagrid/body/data_grid_cell.js +34 -24
  26. package/es/components/datagrid/body/{data_grid_footer_row.js → footer/data_grid_footer_row.js} +22 -15
  27. package/es/components/datagrid/body/footer/index.js +9 -0
  28. package/es/components/datagrid/body/footer/use_data_grid_footer.js +60 -0
  29. package/es/components/datagrid/body/header/data_grid_control_header_cell.js +24 -5
  30. package/es/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  31. package/es/components/datagrid/body/header/data_grid_header_row.js +52 -17
  32. package/es/components/datagrid/body/header/index.js +2 -1
  33. package/es/components/datagrid/body/header/use_data_grid_header.js +66 -0
  34. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  35. package/es/components/datagrid/data_grid.js +52 -17
  36. package/es/components/datagrid/utils/in_memory.js +17 -12
  37. package/es/components/date_picker/date_picker.js +2 -2
  38. package/es/components/date_picker/date_picker_range.js +2 -2
  39. package/es/components/empty_prompt/empty_prompt.js +1 -1
  40. package/es/components/expression/expression.js +3 -3
  41. package/es/components/facet/facet_button.js +1 -1
  42. package/es/components/form/field_number/field_number.js +1 -1
  43. package/es/components/form/field_text/field_text.js +2 -2
  44. package/es/components/form/form_control_layout/form_control_layout.js +2 -2
  45. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  46. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  47. package/es/components/header/header_links/header_link.js +1 -1
  48. package/es/components/header/header_links/header_links.js +1 -1
  49. package/es/components/header/header_logo.js +1 -1
  50. package/es/components/icon/assets/pivot.js +41 -0
  51. package/es/components/icon/assets/{crossInACircleFilled.js → warning.js} +5 -3
  52. package/es/components/icon/icon.js +1 -1
  53. package/es/components/icon/icon_glyphs.a11y.js +1 -1
  54. package/es/components/icon/icon_map.js +2 -2
  55. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  56. package/es/components/list_group/list_group.js +2 -2
  57. package/es/components/list_group/list_group_item.js +2 -2
  58. package/es/components/list_group/list_group_item_extra_action.js +1 -1
  59. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  60. package/es/components/loading/loading_logo.js +1 -1
  61. package/es/components/markdown_editor/markdown_editor.js +1 -1
  62. package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  63. package/es/components/markdown_editor/markdown_editor_footer.js +2 -2
  64. package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  65. package/es/components/notification/notification_event.js +2 -2
  66. package/es/components/notification/notification_event_meta.js +1 -1
  67. package/es/components/page/page_header/page_header_content.js +1 -1
  68. package/es/components/pagination/pagination_button.js +1 -1
  69. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  70. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  71. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  72. package/es/components/steps/step_number.js +1 -1
  73. package/es/components/suggest/suggest.js +1 -1
  74. package/es/components/suggest/suggest_item.js +1 -1
  75. package/es/components/table/table_header_button.js +1 -1
  76. package/es/components/text/text.styles.js +1 -1
  77. package/es/components/timeline/timeline_item_icon.js +1 -1
  78. package/es/components/toast/global_toast_list.js +1 -1
  79. package/es/components/toast/toast.js +1 -1
  80. package/es/components/tool_tip/icon_tip.js +1 -1
  81. package/eui.d.ts +98 -36
  82. package/i18ntokens.json +16 -16
  83. package/lib/components/accessibility/skip_link/skip_link.js +10 -41
  84. package/lib/components/avatar/avatar.js +1 -1
  85. package/lib/components/badge/badge.js +1 -1
  86. package/lib/components/badge/badge_group/badge_group.styles.js +1 -1
  87. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  88. package/lib/components/basic_table/basic_table.js +1 -1
  89. package/lib/components/basic_table/collapsed_item_actions.js +1 -1
  90. package/lib/components/basic_table/in_memory_table.js +1 -1
  91. package/lib/components/button/_button_content_deprecated.js +1 -1
  92. package/lib/components/button/button_display/_button_display.js +1 -1
  93. package/lib/components/button/button_display/_button_display_content.js +1 -1
  94. package/lib/components/button/button_empty/button_empty.js +1 -1
  95. package/lib/components/button/button_group/button_group.js +1 -1
  96. package/lib/components/button/button_group/button_group_button.js +1 -1
  97. package/lib/components/button/button_icon/button_icon.js +1 -1
  98. package/lib/components/call_out/call_out.js +1 -1
  99. package/lib/components/card/card.js +1 -1
  100. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  101. package/lib/components/comment_list/comment.js +2 -2
  102. package/lib/components/comment_list/comment_event.js +1 -1
  103. package/lib/components/comment_list/comment_list.js +2 -2
  104. package/lib/components/comment_list/comment_timeline.js +1 -1
  105. package/lib/components/control_bar/control_bar.a11y.js +1 -1
  106. package/lib/components/datagrid/body/data_grid_body.js +88 -95
  107. package/lib/components/datagrid/body/data_grid_cell.js +34 -24
  108. package/lib/components/datagrid/body/{data_grid_footer_row.js → footer/data_grid_footer_row.js} +21 -15
  109. package/lib/components/datagrid/body/footer/index.js +21 -0
  110. package/lib/components/datagrid/body/footer/use_data_grid_footer.js +71 -0
  111. package/lib/components/datagrid/body/header/data_grid_control_header_cell.js +25 -12
  112. package/lib/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  113. package/lib/components/datagrid/body/header/data_grid_header_row.js +52 -17
  114. package/lib/components/datagrid/body/header/index.js +9 -1
  115. package/lib/components/datagrid/body/header/use_data_grid_header.js +79 -0
  116. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  117. package/lib/components/datagrid/data_grid.js +52 -17
  118. package/lib/components/datagrid/utils/in_memory.js +17 -12
  119. package/lib/components/date_picker/date_picker.js +2 -2
  120. package/lib/components/date_picker/date_picker_range.js +2 -2
  121. package/lib/components/empty_prompt/empty_prompt.js +1 -1
  122. package/lib/components/expression/expression.js +3 -3
  123. package/lib/components/facet/facet_button.js +1 -1
  124. package/lib/components/form/field_number/field_number.js +1 -1
  125. package/lib/components/form/field_text/field_text.js +2 -2
  126. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  127. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  128. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  129. package/lib/components/header/header_links/header_link.js +1 -1
  130. package/lib/components/header/header_links/header_links.js +1 -1
  131. package/lib/components/header/header_logo.js +1 -1
  132. package/lib/components/icon/assets/pivot.js +48 -0
  133. package/lib/components/icon/assets/{crossInACircleFilled.js → warning.js} +5 -3
  134. package/lib/components/icon/icon.js +1 -1
  135. package/lib/components/icon/icon_glyphs.a11y.js +1 -1
  136. package/lib/components/icon/icon_map.js +2 -2
  137. package/lib/components/icon/svgs/pivot.svg +3 -0
  138. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  139. package/lib/components/list_group/list_group.js +2 -2
  140. package/lib/components/list_group/list_group_item.js +2 -2
  141. package/lib/components/list_group/list_group_item_extra_action.js +1 -1
  142. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  143. package/lib/components/loading/loading_logo.js +1 -1
  144. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  145. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  146. package/lib/components/markdown_editor/markdown_editor_footer.js +2 -2
  147. package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  148. package/lib/components/notification/notification_event.js +2 -2
  149. package/lib/components/notification/notification_event_meta.js +1 -1
  150. package/lib/components/page/page_header/page_header_content.js +1 -1
  151. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  152. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  153. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  154. package/lib/components/steps/step_number.js +1 -1
  155. package/lib/components/suggest/suggest.js +1 -1
  156. package/lib/components/suggest/suggest_item.js +1 -1
  157. package/lib/components/table/table_header_button.js +1 -1
  158. package/lib/components/text/text.styles.js +1 -1
  159. package/lib/components/timeline/timeline_item_icon.js +1 -1
  160. package/lib/components/toast/global_toast_list.js +1 -1
  161. package/lib/components/toast/toast.js +1 -1
  162. package/lib/components/tool_tip/icon_tip.js +1 -1
  163. package/optimize/es/components/accessibility/skip_link/skip_link.js +11 -31
  164. package/optimize/es/components/badge/badge_group/badge_group.styles.js +1 -1
  165. package/optimize/es/components/control_bar/control_bar.a11y.js +1 -1
  166. package/optimize/es/components/datagrid/body/data_grid_body.js +37 -66
  167. package/optimize/es/components/datagrid/body/{data_grid_footer_row.js → footer/data_grid_footer_row.js} +22 -15
  168. package/optimize/es/components/datagrid/body/footer/index.js +9 -0
  169. package/optimize/es/components/datagrid/body/footer/use_data_grid_footer.js +45 -0
  170. package/optimize/es/components/datagrid/body/header/data_grid_control_header_cell.js +7 -3
  171. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +6 -5
  172. package/optimize/es/components/datagrid/body/header/index.js +2 -1
  173. package/optimize/es/components/datagrid/body/header/use_data_grid_header.js +51 -0
  174. package/optimize/es/components/date_picker/date_picker_range.js +1 -1
  175. package/optimize/es/components/expression/expression.js +1 -1
  176. package/optimize/es/components/icon/assets/pivot.js +37 -0
  177. package/optimize/es/components/icon/assets/{crossInACircleFilled.js → warning.js} +5 -3
  178. package/optimize/es/components/icon/icon_glyphs.a11y.js +1 -1
  179. package/optimize/es/components/icon/icon_map.js +2 -2
  180. package/optimize/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  181. package/optimize/es/components/steps/step_number.js +1 -1
  182. package/optimize/es/components/text/text.styles.js +1 -1
  183. package/optimize/lib/components/accessibility/skip_link/skip_link.js +10 -31
  184. package/optimize/lib/components/badge/badge_group/badge_group.styles.js +1 -1
  185. package/optimize/lib/components/control_bar/control_bar.a11y.js +1 -1
  186. package/optimize/lib/components/datagrid/body/data_grid_body.js +36 -68
  187. package/{test-env/components/datagrid/body → optimize/lib/components/datagrid/body/footer}/data_grid_footer_row.js +21 -15
  188. package/optimize/lib/components/datagrid/body/footer/index.js +21 -0
  189. package/optimize/lib/components/datagrid/body/footer/use_data_grid_footer.js +60 -0
  190. package/optimize/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -3
  191. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -5
  192. package/optimize/lib/components/datagrid/body/header/index.js +9 -1
  193. package/optimize/lib/components/datagrid/body/header/use_data_grid_header.js +69 -0
  194. package/optimize/lib/components/date_picker/date_picker_range.js +1 -1
  195. package/optimize/lib/components/expression/expression.js +1 -1
  196. package/optimize/lib/components/icon/assets/pivot.js +47 -0
  197. package/optimize/lib/components/icon/assets/{crossInACircleFilled.js → warning.js} +5 -3
  198. package/optimize/lib/components/icon/icon_glyphs.a11y.js +1 -1
  199. package/optimize/lib/components/icon/icon_map.js +2 -2
  200. package/optimize/lib/components/icon/svgs/pivot.svg +3 -0
  201. package/optimize/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  202. package/optimize/lib/components/steps/step_number.js +1 -1
  203. package/optimize/lib/components/text/text.styles.js +1 -1
  204. package/package.json +1 -1
  205. package/src/components/datagrid/_index.scss +1 -1
  206. package/test-env/components/accessibility/skip_link/skip_link.js +10 -31
  207. package/test-env/components/avatar/avatar.js +1 -1
  208. package/test-env/components/badge/badge.js +1 -1
  209. package/test-env/components/badge/badge_group/badge_group.styles.js +1 -1
  210. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  211. package/test-env/components/basic_table/basic_table.js +1 -1
  212. package/test-env/components/basic_table/collapsed_item_actions.js +1 -1
  213. package/test-env/components/basic_table/in_memory_table.js +1 -1
  214. package/test-env/components/button/_button_content_deprecated.js +1 -1
  215. package/test-env/components/button/button_display/_button_display.js +1 -1
  216. package/test-env/components/button/button_display/_button_display_content.js +1 -1
  217. package/test-env/components/button/button_empty/button_empty.js +1 -1
  218. package/test-env/components/button/button_group/button_group.js +1 -1
  219. package/test-env/components/button/button_group/button_group_button.js +1 -1
  220. package/test-env/components/button/button_icon/button_icon.js +1 -1
  221. package/test-env/components/call_out/call_out.js +1 -1
  222. package/test-env/components/card/card.js +1 -1
  223. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  224. package/test-env/components/comment_list/comment.js +2 -2
  225. package/test-env/components/comment_list/comment_event.js +1 -1
  226. package/test-env/components/comment_list/comment_list.js +2 -2
  227. package/test-env/components/comment_list/comment_timeline.js +1 -1
  228. package/test-env/components/control_bar/control_bar.a11y.js +1 -1
  229. package/test-env/components/datagrid/body/data_grid_body.js +88 -85
  230. package/test-env/components/datagrid/body/data_grid_cell.js +34 -24
  231. package/{optimize/lib/components/datagrid/body → test-env/components/datagrid/body/footer}/data_grid_footer_row.js +21 -15
  232. package/test-env/components/datagrid/body/footer/index.js +21 -0
  233. package/test-env/components/datagrid/body/footer/use_data_grid_footer.js +60 -0
  234. package/test-env/components/datagrid/body/header/data_grid_control_header_cell.js +25 -5
  235. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +23 -17
  236. package/test-env/components/datagrid/body/header/data_grid_header_row.js +52 -17
  237. package/test-env/components/datagrid/body/header/index.js +9 -1
  238. package/test-env/components/datagrid/body/header/use_data_grid_header.js +69 -0
  239. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  240. package/test-env/components/datagrid/data_grid.js +52 -17
  241. package/test-env/components/datagrid/utils/in_memory.js +17 -12
  242. package/test-env/components/date_picker/date_picker.js +2 -2
  243. package/test-env/components/date_picker/date_picker_range.js +2 -2
  244. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  245. package/test-env/components/expression/expression.js +3 -3
  246. package/test-env/components/facet/facet_button.js +1 -1
  247. package/test-env/components/form/field_number/field_number.js +1 -1
  248. package/test-env/components/form/field_text/field_text.js +2 -2
  249. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  250. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  251. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  252. package/test-env/components/header/header_links/header_link.js +1 -1
  253. package/test-env/components/header/header_links/header_links.js +1 -1
  254. package/test-env/components/header/header_logo.js +1 -1
  255. package/test-env/components/icon/assets/pivot.js +47 -0
  256. package/test-env/components/icon/assets/{crossInACircleFilled.js → warning.js} +5 -3
  257. package/test-env/components/icon/icon_glyphs.a11y.js +1 -1
  258. package/test-env/components/icon/icon_map.js +2 -2
  259. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  260. package/test-env/components/list_group/list_group.js +2 -2
  261. package/test-env/components/list_group/list_group_item.js +2 -2
  262. package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
  263. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  264. package/test-env/components/loading/loading_logo.js +1 -1
  265. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  266. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  267. package/test-env/components/markdown_editor/markdown_editor_footer.js +2 -2
  268. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  269. package/test-env/components/notification/notification_event.js +2 -2
  270. package/test-env/components/notification/notification_event_meta.js +1 -1
  271. package/test-env/components/page/page_header/page_header_content.js +1 -1
  272. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  273. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  274. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  275. package/test-env/components/steps/step_number.js +1 -1
  276. package/test-env/components/suggest/suggest.js +1 -1
  277. package/test-env/components/suggest/suggest_item.js +1 -1
  278. package/test-env/components/table/table_header_button.js +1 -1
  279. package/test-env/components/text/text.styles.js +1 -1
  280. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  281. package/test-env/components/toast/global_toast_list.js +1 -1
  282. package/test-env/components/toast/toast.js +1 -1
  283. package/test-env/components/tool_tip/icon_tip.js +1 -1
  284. package/lib/components/icon/svgs/crossInACircleFilled.svg +0 -3
  285. package/optimize/lib/components/icon/svgs/crossInACircleFilled.svg +0 -3
  286. /package/lib/components/icon/svgs/{alert.svg → warning.svg} +0 -0
  287. /package/optimize/lib/components/icon/svgs/{alert.svg → warning.svg} +0 -0
  288. /package/src/components/datagrid/body/{_data_grid_footer_row.scss → footer/_data_grid_footer_row.scss} +0 -0
@@ -11,9 +11,9 @@ var _classnames = _interopRequireDefault(require("classnames"));
11
11
 
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
 
14
- var _data_grid_cell = require("./data_grid_cell");
14
+ var _data_grid_cell = require("../data_grid_cell");
15
15
 
16
- var _data_grid_cell_popover = require("./data_grid_cell_popover");
16
+ var _data_grid_cell_popover = require("../data_grid_cell_popover");
17
17
 
18
18
  var _react2 = require("@emotion/react");
19
19
 
@@ -31,6 +31,10 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
31
31
 
32
32
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
33
33
 
34
+ var renderEmpty = function renderEmpty() {
35
+ return null;
36
+ };
37
+
34
38
  var EuiDataGridFooterRow = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
35
39
  var leadingControlColumns = _ref.leadingControlColumns,
36
40
  trailingControlColumns = _ref.trailingControlColumns,
@@ -57,7 +61,6 @@ var EuiDataGridFooterRow = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _reac
57
61
  rowIndex: rowIndex,
58
62
  visibleRowIndex: visibleRowIndex,
59
63
  interactiveCellId: interactiveCellId,
60
- isExpandable: true,
61
64
  popoverContext: popoverContext
62
65
  };
63
66
  return (0, _react2.jsx)("div", _extends({
@@ -67,16 +70,17 @@ var EuiDataGridFooterRow = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _reac
67
70
  "data-test-subj": dataTestSubj
68
71
  }, rest), leadingControlColumns.map(function (_ref2, i) {
69
72
  var id = _ref2.id,
70
- width = _ref2.width;
71
- return (0, _react2.jsx)(_data_grid_cell.EuiDataGridCell, _extends({}, sharedCellProps, {
73
+ width = _ref2.width,
74
+ footerCellRender = _ref2.footerCellRender,
75
+ footerCellProps = _ref2.footerCellProps;
76
+ return (0, _react2.jsx)(_data_grid_cell.EuiDataGridCell, _extends({}, footerCellProps, sharedCellProps, {
72
77
  key: "".concat(id, "-").concat(rowIndex),
73
78
  colIndex: i,
74
79
  columnId: id,
75
80
  width: width,
76
- renderCellValue: function renderCellValue() {
77
- return null;
78
- },
79
- className: "euiDataGridFooterCell euiDataGridRowCell--controlColumn"
81
+ renderCellValue: footerCellRender !== null && footerCellRender !== void 0 ? footerCellRender : renderEmpty,
82
+ isExpandable: false,
83
+ className: (0, _classnames.default)('euiDataGridFooterCell', 'euiDataGridRowCell--controlColumn', footerCellProps === null || footerCellProps === void 0 ? void 0 : footerCellProps.className)
80
84
  }));
81
85
  }), columns.map(function (_ref3, i) {
82
86
  var id = _ref3.id;
@@ -92,21 +96,23 @@ var EuiDataGridFooterRow = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _reac
92
96
  width: width || undefined,
93
97
  renderCellValue: renderCellValue,
94
98
  renderCellPopover: renderCellPopover,
99
+ isExpandable: true,
95
100
  className: "euiDataGridFooterCell"
96
101
  }));
97
102
  }), trailingControlColumns.map(function (_ref4, i) {
98
103
  var id = _ref4.id,
99
- width = _ref4.width;
104
+ width = _ref4.width,
105
+ footerCellRender = _ref4.footerCellRender,
106
+ footerCellProps = _ref4.footerCellProps;
100
107
  var colIndex = i + columns.length + leadingControlColumns.length;
101
- return (0, _react2.jsx)(_data_grid_cell.EuiDataGridCell, _extends({}, sharedCellProps, {
108
+ return (0, _react2.jsx)(_data_grid_cell.EuiDataGridCell, _extends({}, footerCellProps, sharedCellProps, {
102
109
  key: "".concat(id, "-").concat(rowIndex),
103
110
  colIndex: colIndex,
104
111
  columnId: id,
105
112
  width: width,
106
- renderCellValue: function renderCellValue() {
107
- return null;
108
- },
109
- className: "euiDataGridFooterCell euiDataGridRowCell--controlColumn"
113
+ renderCellValue: footerCellRender !== null && footerCellRender !== void 0 ? footerCellRender : renderEmpty,
114
+ isExpandable: false,
115
+ className: (0, _classnames.default)('euiDataGridFooterCell', 'euiDataGridRowCell--controlColumn', footerCellProps === null || footerCellProps === void 0 ? void 0 : footerCellProps.className)
110
116
  }));
111
117
  }));
112
118
  }));
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "EuiDataGridFooterRow", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _data_grid_footer_row.EuiDataGridFooterRow;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "useDataGridFooter", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _use_data_grid_footer.useDataGridFooter;
16
+ }
17
+ });
18
+
19
+ var _data_grid_footer_row = require("./data_grid_footer_row");
20
+
21
+ var _use_data_grid_footer = require("./use_data_grid_footer");
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useDataGridFooter = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _resize_observer = require("../../../observer/resize_observer");
13
+
14
+ var _data_grid_footer_row = require("./data_grid_footer_row");
15
+
16
+ var _react2 = require("@emotion/react");
17
+
18
+ var _excluded = ["renderFooterCellValue"];
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
+
26
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
27
+
28
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
29
+
30
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
31
+
32
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
33
+
34
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
35
+
36
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
37
+
38
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
39
+
40
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
41
+
42
+ /**
43
+ * DRY out setting up the grid footer and its refs & observers
44
+ */
45
+ var useDataGridFooter = function useDataGridFooter(props) {
46
+ var _useState = (0, _react.useState)(null),
47
+ _useState2 = _slicedToArray(_useState, 2),
48
+ footerRowRef = _useState2[0],
49
+ setFooterRowRef = _useState2[1];
50
+
51
+ var _useResizeObserver = (0, _resize_observer.useResizeObserver)(footerRowRef, 'height'),
52
+ footerRowHeight = _useResizeObserver.height;
53
+
54
+ var footerRow = (0, _react.useMemo)(function () {
55
+ var renderFooterCellValue = props.renderFooterCellValue,
56
+ footerProps = _objectWithoutProperties(props, _excluded);
57
+
58
+ if (renderFooterCellValue == null) return null;
59
+ return (0, _react2.jsx)(_data_grid_footer_row.EuiDataGridFooterRow, _extends({
60
+ ref: setFooterRowRef,
61
+ renderCellValue: renderFooterCellValue
62
+ }, footerProps));
63
+ }, Object.values(props)); // eslint-disable-line react-hooks/exhaustive-deps
64
+
65
+ return {
66
+ footerRow: footerRow,
67
+ footerRowHeight: footerRowHeight
68
+ };
69
+ };
70
+
71
+ exports.useDataGridFooter = useDataGridFooter;
@@ -9,33 +9,31 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
12
14
  var _data_grid_header_cell_wrapper = require("./data_grid_header_cell_wrapper");
13
15
 
14
16
  var _react2 = require("@emotion/react");
15
17
 
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
19
 
18
- /*
19
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
20
- * or more contributor license agreements. Licensed under the Elastic License
21
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
22
- * in compliance with, at your election, the Elastic License 2.0 or the Server
23
- * Side Public License, v 1.
24
- */
20
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
+
25
22
  var EuiDataGridControlHeaderCell = function EuiDataGridControlHeaderCell(_ref) {
26
23
  var controlColumn = _ref.controlColumn,
27
24
  index = _ref.index,
28
25
  headerIsInteractive = _ref.headerIsInteractive;
29
26
  var HeaderCellRender = controlColumn.headerCellRender,
27
+ headerCellProps = controlColumn.headerCellProps,
30
28
  width = controlColumn.width,
31
29
  id = controlColumn.id;
32
- return (0, _react2.jsx)(_data_grid_header_cell_wrapper.EuiDataGridHeaderCellWrapper, {
33
- className: "euiDataGridHeaderCell--controlColumn",
30
+ return (0, _react2.jsx)(_data_grid_header_cell_wrapper.EuiDataGridHeaderCellWrapper, _extends({}, headerCellProps, {
31
+ className: (0, _classnames.default)('euiDataGridHeaderCell--controlColumn', headerCellProps === null || headerCellProps === void 0 ? void 0 : headerCellProps.className),
34
32
  id: id,
35
33
  index: index,
36
34
  width: width,
37
35
  headerIsInteractive: headerIsInteractive
38
- }, (0, _react2.jsx)("div", {
36
+ }), (0, _react2.jsx)("div", {
39
37
  className: "euiDataGridHeaderCell__content"
40
38
  }, (0, _react2.jsx)(HeaderCellRender, null)));
41
39
  };
@@ -49,20 +47,35 @@ EuiDataGridControlHeaderCell.propTypes = {
49
47
  */
50
48
  id: _propTypes.default.string.isRequired,
51
49
 
50
+ /**
51
+ * Width of the column, users are unable to change this
52
+ */
53
+ width: _propTypes.default.number.isRequired,
54
+
52
55
  /**
53
56
  * Component to render in the column header
54
57
  */
55
58
  headerCellRender: _propTypes.default.elementType.isRequired,
56
59
 
60
+ /**
61
+ * Optional props to pass to the column header cell
62
+ */
63
+ headerCellProps: _propTypes.default.any,
64
+
57
65
  /**
58
66
  * Component to render for each row in the column
59
67
  */
60
68
  rowCellRender: _propTypes.default.oneOfType([_propTypes.default.func.isRequired, _propTypes.default.func.isRequired]).isRequired,
61
69
 
62
70
  /**
63
- * Width of the column, uses are unable to change this
71
+ * Component to render in the optional column footer
72
+ */
73
+ footerCellRender: _propTypes.default.oneOfType([_propTypes.default.func.isRequired, _propTypes.default.func.isRequired]),
74
+
75
+ /**
76
+ * Optional props to pass to the column footer cell
64
77
  */
65
- width: _propTypes.default.number.isRequired
78
+ footerCellProps: _propTypes.default.any
66
79
  }).isRequired,
67
80
  headerIsInteractive: _propTypes.default.bool.isRequired
68
81
  };