@elastic/eui 60.1.2 → 61.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 (349) hide show
  1. package/dist/eui_charts_theme.js +330 -330
  2. package/dist/eui_charts_theme.js.map +1 -1
  3. package/dist/eui_theme_dark.css +9 -178
  4. package/dist/eui_theme_dark.min.css +1 -1
  5. package/dist/eui_theme_light.css +9 -178
  6. package/dist/eui_theme_light.min.css +1 -1
  7. package/es/components/accessibility/skip_link/skip_link.js +1 -1
  8. package/es/components/accordion/accordion.js +10 -5
  9. package/es/components/avatar/avatar.js +1 -1
  10. package/es/components/badge/badge.js +1 -1
  11. package/es/components/badge/beta_badge/beta_badge.js +1 -1
  12. package/es/components/basic_table/basic_table.js +1 -1
  13. package/es/components/basic_table/collapsed_item_actions.js +1 -1
  14. package/es/components/basic_table/in_memory_table.js +1 -1
  15. package/es/components/button/_button_content_deprecated.js +1 -1
  16. package/es/components/button/button.js +2 -2
  17. package/es/components/button/button_display/_button_display.js +1 -1
  18. package/es/components/button/button_display/_button_display_content.js +1 -1
  19. package/es/components/button/button_empty/button_empty.js +1 -1
  20. package/es/components/button/button_group/button_group.js +1 -1
  21. package/es/components/button/button_group/button_group_button.js +1 -1
  22. package/es/components/button/button_icon/button_icon.js +1 -1
  23. package/es/components/call_out/call_out.js +1 -1
  24. package/es/components/card/card.js +1 -1
  25. package/es/components/card/card_select.js +1 -1
  26. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  27. package/es/components/comment_list/comment.js +45 -24
  28. package/es/components/comment_list/comment_event.js +104 -33
  29. package/es/components/comment_list/comment_event.styles.js +78 -0
  30. package/es/components/comment_list/comment_list.js +38 -13
  31. package/es/components/comment_list/comment_timeline.js +22 -34
  32. package/es/components/context_menu/context_menu.js +1 -1
  33. package/es/components/datagrid/body/data_grid_body.js +38 -29
  34. package/es/components/datagrid/body/data_grid_cell.js +130 -56
  35. package/es/components/datagrid/body/header/data_grid_header_cell.js +100 -31
  36. package/es/components/datagrid/body/header/data_grid_header_row.js +27 -24
  37. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  38. package/es/components/datagrid/data_grid.js +29 -24
  39. package/es/components/datagrid/utils/focus.js +19 -10
  40. package/es/components/datagrid/utils/in_memory.js +26 -23
  41. package/es/components/datagrid/utils/ref.js +24 -3
  42. package/es/components/datagrid/utils/row_heights.js +27 -33
  43. package/es/components/date_picker/date_picker.js +2 -2
  44. package/es/components/date_picker/date_picker_range.js +1 -1
  45. package/es/components/empty_prompt/empty_prompt.js +1 -1
  46. package/es/components/form/field_number/field_number.js +1 -1
  47. package/es/components/form/field_text/field_text.js +2 -2
  48. package/es/components/form/form_control_layout/form_control_layout.js +2 -2
  49. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  50. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  51. package/es/components/header/header_links/header_link.js +1 -1
  52. package/es/components/header/header_links/header_links.js +9 -1
  53. package/es/components/header/header_logo.js +1 -1
  54. package/es/components/icon/assets/cluster.js +41 -0
  55. package/es/components/icon/assets/container.js +39 -0
  56. package/es/components/icon/assets/keyboard.js +38 -0
  57. package/es/components/icon/assets/{keyboard_shortcut.js → kubernetesNode.js} +7 -4
  58. package/es/components/icon/assets/kubernetesPod.js +41 -0
  59. package/es/components/icon/assets/namespace.js +41 -0
  60. package/es/components/icon/icon.js +1 -1
  61. package/es/components/icon/icon_map.js +6 -1
  62. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  63. package/es/components/list_group/list_group.js +2 -2
  64. package/es/components/list_group/list_group_item.js +2 -2
  65. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  66. package/es/components/loading/loading_logo.js +1 -1
  67. package/es/components/markdown_editor/markdown_editor.js +1 -1
  68. package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  69. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  70. package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  71. package/es/components/notification/notification_event.js +2 -2
  72. package/es/components/notification/notification_event_meta.js +1 -1
  73. package/es/components/page/page_header/page_header.js +1 -1
  74. package/es/components/page/page_header/page_header_content.js +1 -1
  75. package/es/components/page/page_template.js +1 -1
  76. package/es/components/pagination/pagination_button.js +1 -1
  77. package/es/components/popover/popover.js +14 -4
  78. package/es/components/selectable/selectable.js +2 -0
  79. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  80. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  81. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  82. package/es/components/suggest/suggest.js +1 -1
  83. package/es/components/suggest/suggest_item.js +1 -1
  84. package/es/components/table/table_header_button.js +1 -1
  85. package/es/components/text/text.styles.js +5 -4
  86. package/es/components/timeline/timeline_item.js +1 -2
  87. package/es/components/timeline/timeline_item_icon.js +1 -1
  88. package/es/components/toast/global_toast_list.js +1 -1
  89. package/es/components/toast/toast.js +1 -1
  90. package/es/components/token/token.js +1 -1
  91. package/es/components/tool_tip/icon_tip.js +1 -1
  92. package/es/components/tour/tour.js +8 -0
  93. package/es/components/tour/tour_step.js +8 -0
  94. package/es/services/hooks/index.js +1 -0
  95. package/es/services/hooks/useLatest.js +18 -0
  96. package/es/test/emotion-prefix.js +1 -1
  97. package/eui.d.ts +308 -172
  98. package/i18ntokens.json +49 -33
  99. package/lib/components/accessibility/skip_link/skip_link.js +1 -1
  100. package/lib/components/accordion/accordion.js +10 -5
  101. package/lib/components/avatar/avatar.js +1 -1
  102. package/lib/components/badge/badge.js +1 -1
  103. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  104. package/lib/components/basic_table/basic_table.js +1 -1
  105. package/lib/components/basic_table/collapsed_item_actions.js +1 -1
  106. package/lib/components/basic_table/in_memory_table.js +1 -1
  107. package/lib/components/button/_button_content_deprecated.js +1 -1
  108. package/lib/components/button/button.js +2 -2
  109. package/lib/components/button/button_display/_button_display.js +1 -1
  110. package/lib/components/button/button_display/_button_display_content.js +1 -1
  111. package/lib/components/button/button_empty/button_empty.js +1 -1
  112. package/lib/components/button/button_group/button_group.js +1 -1
  113. package/lib/components/button/button_group/button_group_button.js +1 -1
  114. package/lib/components/button/button_icon/button_icon.js +1 -1
  115. package/lib/components/call_out/call_out.js +1 -1
  116. package/lib/components/card/card.js +1 -1
  117. package/lib/components/card/card_select.js +1 -1
  118. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  119. package/lib/components/comment_list/comment.js +44 -25
  120. package/lib/components/comment_list/comment_event.js +105 -42
  121. package/lib/components/comment_list/comment_event.styles.js +86 -0
  122. package/lib/components/comment_list/comment_list.js +39 -13
  123. package/lib/components/comment_list/comment_timeline.js +23 -46
  124. package/lib/components/context_menu/context_menu.js +1 -1
  125. package/lib/components/datagrid/body/data_grid_body.js +38 -29
  126. package/lib/components/datagrid/body/data_grid_cell.js +129 -55
  127. package/lib/components/datagrid/body/header/data_grid_header_cell.js +105 -31
  128. package/lib/components/datagrid/body/header/data_grid_header_row.js +27 -24
  129. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  130. package/lib/components/datagrid/data_grid.js +29 -24
  131. package/lib/components/datagrid/utils/focus.js +19 -11
  132. package/lib/components/datagrid/utils/in_memory.js +26 -23
  133. package/lib/components/datagrid/utils/ref.js +24 -3
  134. package/lib/components/datagrid/utils/row_heights.js +26 -32
  135. package/lib/components/date_picker/date_picker.js +2 -2
  136. package/lib/components/date_picker/date_picker_range.js +1 -1
  137. package/lib/components/empty_prompt/empty_prompt.js +1 -1
  138. package/lib/components/form/field_number/field_number.js +1 -1
  139. package/lib/components/form/field_text/field_text.js +2 -2
  140. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  141. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  142. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  143. package/lib/components/header/header_links/header_link.js +1 -1
  144. package/lib/components/header/header_links/header_links.js +9 -1
  145. package/lib/components/header/header_logo.js +1 -1
  146. package/lib/components/icon/assets/cluster.js +48 -0
  147. package/lib/components/icon/assets/container.js +46 -0
  148. package/lib/components/icon/assets/keyboard.js +45 -0
  149. package/lib/components/icon/assets/{keyboard_shortcut.js → kubernetesNode.js} +7 -4
  150. package/lib/components/icon/assets/kubernetesPod.js +48 -0
  151. package/lib/components/icon/assets/namespace.js +48 -0
  152. package/lib/components/icon/icon.js +1 -1
  153. package/lib/components/icon/icon_map.js +6 -1
  154. package/lib/components/icon/svgs/cluster.svg +3 -0
  155. package/lib/components/icon/svgs/container.svg +3 -0
  156. package/lib/components/icon/svgs/keyboard.svg +3 -0
  157. package/lib/components/icon/svgs/kubernetesNode.svg +3 -0
  158. package/lib/components/icon/svgs/kubernetesPod.svg +3 -0
  159. package/lib/components/icon/svgs/namespace.svg +3 -0
  160. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  161. package/lib/components/list_group/list_group.js +2 -2
  162. package/lib/components/list_group/list_group_item.js +2 -2
  163. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  164. package/lib/components/loading/loading_logo.js +1 -1
  165. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  166. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  167. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  168. package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  169. package/lib/components/notification/notification_event.js +2 -2
  170. package/lib/components/notification/notification_event_meta.js +1 -1
  171. package/lib/components/page/page_header/page_header.js +1 -1
  172. package/lib/components/page/page_header/page_header_content.js +1 -1
  173. package/lib/components/page/page_template.js +1 -1
  174. package/lib/components/popover/popover.js +14 -4
  175. package/lib/components/selectable/selectable.js +2 -0
  176. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  177. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  178. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  179. package/lib/components/suggest/suggest.js +1 -1
  180. package/lib/components/suggest/suggest_item.js +1 -1
  181. package/lib/components/table/table_header_button.js +1 -1
  182. package/lib/components/text/text.styles.js +4 -3
  183. package/lib/components/timeline/timeline_item.js +1 -2
  184. package/lib/components/timeline/timeline_item_icon.js +1 -1
  185. package/lib/components/toast/global_toast_list.js +1 -1
  186. package/lib/components/toast/toast.js +1 -1
  187. package/lib/components/token/token.js +1 -1
  188. package/lib/components/tool_tip/icon_tip.js +1 -1
  189. package/lib/services/hooks/index.js +13 -0
  190. package/lib/services/hooks/useLatest.js +26 -0
  191. package/lib/test/emotion-prefix.js +1 -1
  192. package/optimize/es/components/accordion/accordion.js +10 -5
  193. package/optimize/es/components/comment_list/comment.js +22 -17
  194. package/optimize/es/components/comment_list/comment_event.js +83 -28
  195. package/optimize/es/components/comment_list/comment_event.styles.js +78 -0
  196. package/optimize/es/components/comment_list/comment_list.js +7 -3
  197. package/optimize/es/components/comment_list/comment_timeline.js +19 -31
  198. package/optimize/es/components/datagrid/body/data_grid_body.js +11 -5
  199. package/optimize/es/components/datagrid/body/data_grid_cell.js +18 -9
  200. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +74 -8
  201. package/optimize/es/components/datagrid/data_grid.js +2 -0
  202. package/optimize/es/components/datagrid/utils/focus.js +19 -11
  203. package/optimize/es/components/datagrid/utils/ref.js +24 -3
  204. package/optimize/es/components/datagrid/utils/row_heights.js +27 -33
  205. package/optimize/es/components/icon/assets/cluster.js +37 -0
  206. package/optimize/es/components/icon/assets/container.js +35 -0
  207. package/optimize/es/components/icon/assets/keyboard.js +34 -0
  208. package/optimize/es/components/icon/assets/{keyboard_shortcut.js → kubernetesNode.js} +7 -4
  209. package/optimize/es/components/icon/assets/kubernetesPod.js +37 -0
  210. package/optimize/es/components/icon/assets/namespace.js +37 -0
  211. package/optimize/es/components/icon/icon_map.js +6 -1
  212. package/optimize/es/components/popover/popover.js +6 -4
  213. package/optimize/es/components/selectable/selectable.js +2 -0
  214. package/optimize/es/components/text/text.styles.js +5 -4
  215. package/optimize/es/components/timeline/timeline_item.js +1 -2
  216. package/optimize/es/services/hooks/index.js +1 -0
  217. package/optimize/es/services/hooks/useLatest.js +18 -0
  218. package/optimize/es/test/emotion-prefix.js +1 -1
  219. package/optimize/lib/components/accordion/accordion.js +8 -5
  220. package/optimize/lib/components/comment_list/comment.js +21 -17
  221. package/optimize/lib/components/comment_list/comment_event.js +85 -31
  222. package/optimize/lib/components/comment_list/comment_event.styles.js +86 -0
  223. package/optimize/lib/components/comment_list/comment_list.js +8 -3
  224. package/optimize/lib/components/comment_list/comment_timeline.js +21 -37
  225. package/optimize/lib/components/datagrid/body/data_grid_body.js +11 -5
  226. package/optimize/lib/components/datagrid/body/data_grid_cell.js +17 -8
  227. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +79 -8
  228. package/optimize/lib/components/datagrid/data_grid.js +2 -0
  229. package/optimize/lib/components/datagrid/utils/focus.js +19 -11
  230. package/optimize/lib/components/datagrid/utils/ref.js +24 -3
  231. package/optimize/lib/components/datagrid/utils/row_heights.js +25 -30
  232. package/optimize/lib/components/icon/assets/cluster.js +47 -0
  233. package/optimize/lib/components/icon/assets/container.js +45 -0
  234. package/optimize/lib/components/icon/assets/keyboard.js +44 -0
  235. package/{test-env/components/icon/assets/keyboard_shortcut.js → optimize/lib/components/icon/assets/kubernetesNode.js} +7 -4
  236. package/optimize/lib/components/icon/assets/{keyboard_shortcut.js → kubernetesPod.js} +7 -4
  237. package/optimize/lib/components/icon/assets/namespace.js +47 -0
  238. package/optimize/lib/components/icon/icon_map.js +6 -1
  239. package/optimize/lib/components/icon/svgs/cluster.svg +3 -0
  240. package/optimize/lib/components/icon/svgs/container.svg +3 -0
  241. package/optimize/lib/components/icon/svgs/keyboard.svg +3 -0
  242. package/optimize/lib/components/icon/svgs/kubernetesNode.svg +3 -0
  243. package/optimize/lib/components/icon/svgs/kubernetesPod.svg +3 -0
  244. package/optimize/lib/components/icon/svgs/namespace.svg +3 -0
  245. package/optimize/lib/components/popover/popover.js +6 -4
  246. package/optimize/lib/components/selectable/selectable.js +2 -0
  247. package/optimize/lib/components/text/text.styles.js +4 -3
  248. package/optimize/lib/components/timeline/timeline_item.js +1 -2
  249. package/optimize/lib/services/hooks/index.js +13 -0
  250. package/optimize/lib/services/hooks/useLatest.js +26 -0
  251. package/optimize/lib/test/emotion-prefix.js +1 -1
  252. package/package.json +3 -3
  253. package/src/components/datagrid/body/header/_data_grid_header_row.scss +0 -9
  254. package/src/components/index.scss +0 -1
  255. package/src/components/markdown_editor/_markdown_editor.scss +3 -2
  256. package/src/themes/amsterdam/overrides/_index.scss +0 -1
  257. package/test-env/components/accessibility/skip_link/skip_link.js +1 -1
  258. package/test-env/components/accordion/accordion.js +8 -5
  259. package/test-env/components/avatar/avatar.js +1 -1
  260. package/test-env/components/badge/badge.js +1 -1
  261. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  262. package/test-env/components/basic_table/basic_table.js +1 -1
  263. package/test-env/components/basic_table/collapsed_item_actions.js +1 -1
  264. package/test-env/components/basic_table/in_memory_table.js +1 -1
  265. package/test-env/components/button/_button_content_deprecated.js +1 -1
  266. package/test-env/components/button/button.js +2 -2
  267. package/test-env/components/button/button_display/_button_display.js +1 -1
  268. package/test-env/components/button/button_display/_button_display_content.js +1 -1
  269. package/test-env/components/button/button_empty/button_empty.js +1 -1
  270. package/test-env/components/button/button_group/button_group.js +1 -1
  271. package/test-env/components/button/button_group/button_group_button.js +1 -1
  272. package/test-env/components/button/button_icon/button_icon.js +1 -1
  273. package/test-env/components/call_out/call_out.js +1 -1
  274. package/test-env/components/card/card.js +1 -1
  275. package/test-env/components/card/card_select.js +1 -1
  276. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  277. package/test-env/components/comment_list/comment.js +44 -24
  278. package/test-env/components/comment_list/comment_event.js +106 -36
  279. package/test-env/components/comment_list/comment_event.styles.js +86 -0
  280. package/test-env/components/comment_list/comment_list.js +39 -13
  281. package/test-env/components/comment_list/comment_timeline.js +23 -39
  282. package/test-env/components/context_menu/context_menu.js +1 -1
  283. package/test-env/components/datagrid/body/data_grid_body.js +38 -29
  284. package/test-env/components/datagrid/body/data_grid_cell.js +129 -55
  285. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +105 -31
  286. package/test-env/components/datagrid/body/header/data_grid_header_row.js +27 -24
  287. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  288. package/test-env/components/datagrid/data_grid.js +29 -24
  289. package/test-env/components/datagrid/utils/focus.js +19 -11
  290. package/test-env/components/datagrid/utils/in_memory.js +26 -23
  291. package/test-env/components/datagrid/utils/ref.js +24 -3
  292. package/test-env/components/datagrid/utils/row_heights.js +25 -30
  293. package/test-env/components/date_picker/date_picker.js +2 -2
  294. package/test-env/components/date_picker/date_picker_range.js +1 -1
  295. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  296. package/test-env/components/form/field_number/field_number.js +1 -1
  297. package/test-env/components/form/field_text/field_text.js +2 -2
  298. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  299. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  300. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  301. package/test-env/components/header/header_links/header_link.js +1 -1
  302. package/test-env/components/header/header_links/header_links.js +9 -1
  303. package/test-env/components/header/header_logo.js +1 -1
  304. package/test-env/components/icon/assets/cluster.js +47 -0
  305. package/test-env/components/icon/assets/container.js +45 -0
  306. package/test-env/components/icon/assets/keyboard.js +44 -0
  307. package/test-env/components/icon/assets/kubernetesNode.js +47 -0
  308. package/test-env/components/icon/assets/kubernetesPod.js +47 -0
  309. package/test-env/components/icon/assets/namespace.js +47 -0
  310. package/test-env/components/icon/icon_map.js +6 -1
  311. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  312. package/test-env/components/list_group/list_group.js +2 -2
  313. package/test-env/components/list_group/list_group_item.js +2 -2
  314. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  315. package/test-env/components/loading/loading_logo.js +1 -1
  316. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  317. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  318. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  319. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  320. package/test-env/components/notification/notification_event.js +2 -2
  321. package/test-env/components/notification/notification_event_meta.js +1 -1
  322. package/test-env/components/page/page_header/page_header.js +1 -1
  323. package/test-env/components/page/page_header/page_header_content.js +1 -1
  324. package/test-env/components/page/page_template.js +1 -1
  325. package/test-env/components/popover/popover.js +14 -4
  326. package/test-env/components/selectable/selectable.js +2 -0
  327. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  328. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  329. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  330. package/test-env/components/suggest/suggest.js +1 -1
  331. package/test-env/components/suggest/suggest_item.js +1 -1
  332. package/test-env/components/table/table_header_button.js +1 -1
  333. package/test-env/components/text/text.styles.js +4 -3
  334. package/test-env/components/timeline/timeline_item.js +1 -2
  335. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  336. package/test-env/components/toast/global_toast_list.js +1 -1
  337. package/test-env/components/toast/toast.js +1 -1
  338. package/test-env/components/token/token.js +1 -1
  339. package/test-env/components/tool_tip/icon_tip.js +1 -1
  340. package/test-env/services/hooks/index.js +13 -0
  341. package/test-env/services/hooks/useLatest.js +26 -0
  342. package/test-env/test/emotion-prefix.js +1 -1
  343. package/lib/components/icon/svgs/keyboard_shortcut.svg +0 -3
  344. package/optimize/lib/components/icon/svgs/keyboard_shortcut.svg +0 -3
  345. package/src/components/comment_list/_comment.scss +0 -38
  346. package/src/components/comment_list/_comment_event.scss +0 -77
  347. package/src/components/comment_list/_comment_timeline.scss +0 -27
  348. package/src/components/comment_list/_index.scss +0 -3
  349. package/src/themes/amsterdam/overrides/_comment.scss +0 -3
@@ -5,15 +5,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.TYPES = exports.EuiCommentTimeline = void 0;
8
+ exports.EuiCommentTimeline = void 0;
9
9
 
10
- var _react = _interopRequireDefault(require("react"));
11
-
12
- var _common = require("../common");
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
11
 
14
- var _classnames = _interopRequireDefault(require("classnames"));
12
+ var _react = _interopRequireDefault(require("react"));
15
13
 
16
- var _icon = require("../icon");
14
+ var _avatar = require("../avatar");
17
15
 
18
16
  var _react2 = require("@emotion/react");
19
17
 
@@ -24,45 +22,31 @@ var _react2 = require("@emotion/react");
24
22
  * in compliance with, at your election, the Elastic License 2.0 or the Server
25
23
  * Side Public License, v 1.
26
24
  */
27
- var typeToClassNameMap = {
28
- regular: 'euiCommentTimeline__icon--regular',
29
- update: 'euiCommentTimeline__icon--update'
30
- };
31
- var TYPES = (0, _common.keysOf)(typeToClassNameMap);
32
- exports.TYPES = TYPES;
33
-
34
25
  var EuiCommentTimeline = function EuiCommentTimeline(_ref) {
35
- var className = _ref.className,
36
- timelineIcon = _ref.timelineIcon,
37
- _ref$type = _ref.type,
38
- type = _ref$type === void 0 ? 'regular' : _ref$type;
39
- var classes = (0, _classnames.default)('euiCommentTimeline', className);
40
- var iconClasses = (0, _classnames.default)({
41
- 'euiCommentTimeline__icon--default': !timelineIcon || typeof timelineIcon === 'string'
42
- }, typeToClassNameMap[type]);
26
+ var timelineIcon = _ref.timelineIcon,
27
+ username = _ref.username;
43
28
  var iconRender;
44
-
45
- if (typeof timelineIcon === 'string') {
46
- iconRender = (0, _react2.jsx)(_icon.EuiIcon, {
47
- size: type === 'update' ? 'm' : 'l',
48
- type: timelineIcon
29
+ var avatarClassName = 'euiCommentAvatar';
30
+ var iconIsString = typeof timelineIcon === 'string';
31
+ var iconIsNode = (0, _typeof2.default)(timelineIcon) === 'object';
32
+
33
+ if (iconIsString) {
34
+ iconRender = (0, _react2.jsx)(_avatar.EuiAvatar, {
35
+ className: avatarClassName,
36
+ name: username,
37
+ iconType: timelineIcon,
38
+ color: "subdued"
49
39
  });
50
- } else if (timelineIcon) {
40
+ } else if (iconIsNode) {
51
41
  iconRender = timelineIcon;
52
42
  } else {
53
- iconRender = (0, _react2.jsx)(_icon.EuiIcon, {
54
- type: type === 'update' ? 'dot' : 'user',
55
- size: type === 'update' ? 's' : 'l'
43
+ iconRender = (0, _react2.jsx)(_avatar.EuiAvatar, {
44
+ className: avatarClassName,
45
+ name: username
56
46
  });
57
47
  }
58
48
 
59
- return (0, _react2.jsx)("div", {
60
- className: classes
61
- }, (0, _react2.jsx)("div", {
62
- className: "euiCommentTimeline__content"
63
- }, (0, _react2.jsx)("div", {
64
- className: iconClasses
65
- }, iconRender)));
49
+ return (0, _react2.jsx)(_react.default.Fragment, null, iconRender);
66
50
  };
67
51
 
68
52
  exports.EuiCommentTimeline = EuiCommentTimeline;
@@ -82,7 +82,8 @@ var Cell = function Cell(_ref) {
82
82
  schemaDetectors = data.schemaDetectors,
83
83
  rowHeightsOptions = data.rowHeightsOptions,
84
84
  rowHeightUtils = data.rowHeightUtils,
85
- rowManager = data.rowManager;
85
+ rowManager = data.rowManager,
86
+ pagination = data.pagination;
86
87
  var popoverContext = (0, _react.useContext)(_data_grid_cell_popover.DataGridCellPopoverContext);
87
88
 
88
89
  var _useContext = (0, _react.useContext)(DataGridWrapperRowsContext),
@@ -121,7 +122,8 @@ var Cell = function Cell(_ref) {
121
122
  rowHeightUtils: rowHeightUtils,
122
123
  setRowHeight: isFirstColumn ? setRowHeight : undefined,
123
124
  rowManager: rowManager,
124
- popoverContext: popoverContext
125
+ popoverContext: popoverContext,
126
+ pagination: pagination
125
127
  };
126
128
 
127
129
  if (isLeadingControlColumn) {
@@ -351,7 +353,7 @@ var EuiDataGridBody = function EuiDataGridBody(props) {
351
353
  */
352
354
 
353
355
  var rowHeightUtils = (0, _row_heights.useRowHeightUtils)({
354
- gridRef: gridRef.current,
356
+ gridRef: gridRef,
355
357
  gridStyles: gridStyles,
356
358
  columns: columns,
357
359
  rowHeightsOptions: rowHeightsOptions
@@ -419,13 +421,16 @@ var EuiDataGridBody = function EuiDataGridBody(props) {
419
421
  }
420
422
  }, (0, _react2.jsx)(_reactWindow.VariableSizeGrid, (0, _extends2.default)({}, virtualizationOptions ? virtualizationOptions : {}, {
421
423
  ref: gridRef,
424
+ className: (0, _classnames.default)('euiDataGrid__virtualized', virtualizationOptions === null || virtualizationOptions === void 0 ? void 0 : virtualizationOptions.className),
422
425
  onItemsRendered: function onItemsRendered(itemsRendered) {
426
+ var _virtualizationOption;
427
+
423
428
  gridItemsRendered.current = itemsRendered;
429
+ virtualizationOptions === null || virtualizationOptions === void 0 ? void 0 : (_virtualizationOption = virtualizationOptions.onItemsRendered) === null || _virtualizationOption === void 0 ? void 0 : _virtualizationOption.call(virtualizationOptions, itemsRendered);
424
430
  },
425
431
  innerElementType: InnerElement,
426
432
  outerRef: outerGridRef,
427
433
  innerRef: innerGridRef,
428
- className: "euiDataGrid__virtualized",
429
434
  columnCount: visibleColCount,
430
435
  width: finalWidth,
431
436
  columnWidth: getColumnWidth,
@@ -446,7 +451,8 @@ var EuiDataGridBody = function EuiDataGridBody(props) {
446
451
  interactiveCellId: interactiveCellId,
447
452
  rowHeightsOptions: rowHeightsOptions,
448
453
  rowHeightUtils: rowHeightUtils,
449
- rowManager: rowManager
454
+ rowManager: rowManager,
455
+ pagination: pagination
450
456
  },
451
457
  rowCount: _utils.IS_JEST_ENVIRONMENT || headerRowHeight > 0 ? visibleRowCount : 0
452
458
  }), Cell), scrollBorderOverlay) : null;
@@ -55,8 +55,8 @@ var _utils = require("../../../utils");
55
55
 
56
56
  var _react2 = require("@emotion/react");
57
57
 
58
- var _excluded = ["renderCellValue", "column", "setCellContentsRef", "rowHeightsOptions", "rowIndex", "colIndex", "rowHeightUtils", "isDefinedHeight"],
59
- _excluded2 = ["width", "popoverContext", "interactiveCellId", "columnType", "className", "column", "style", "rowHeightUtils", "rowHeightsOptions", "rowManager"],
58
+ var _excluded = ["renderCellValue", "column", "setCellContentsRef", "rowHeightsOptions", "rowIndex", "colIndex", "ariaRowIndex", "rowHeightUtils", "isDefinedHeight"],
59
+ _excluded2 = ["width", "popoverContext", "interactiveCellId", "columnType", "className", "column", "style", "rowHeightUtils", "rowHeightsOptions", "rowManager", "pagination"],
60
60
  _excluded3 = ["isExpandable", "style", "className", "data-test-subj"];
61
61
 
62
62
  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); }
@@ -78,15 +78,12 @@ var EuiDataGridCellContent = /*#__PURE__*/(0, _react.memo)(function (_ref) {
78
78
  rowHeightsOptions = _ref.rowHeightsOptions,
79
79
  rowIndex = _ref.rowIndex,
80
80
  colIndex = _ref.colIndex,
81
+ ariaRowIndex = _ref.ariaRowIndex,
81
82
  rowHeightUtils = _ref.rowHeightUtils,
82
83
  isDefinedHeight = _ref.isDefinedHeight,
83
84
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
84
85
  // React is more permissible than the TS types indicate
85
86
  var CellElement = renderCellValue;
86
- var positionText = (0, _i18n.useEuiI18n)('euiDataGridCell.position', 'Row: {row}; Column: {col}', {
87
- row: rowIndex + 1,
88
- col: colIndex + 1
89
- });
90
87
  return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)("div", {
91
88
  ref: setCellContentsRef,
92
89
  "data-datagrid-cellcontent": true,
@@ -98,7 +95,15 @@ var EuiDataGridCellContent = /*#__PURE__*/(0, _react.memo)(function (_ref) {
98
95
  rowIndex: rowIndex,
99
96
  colIndex: colIndex,
100
97
  schema: (column === null || column === void 0 ? void 0 : column.schema) || rest.columnType
101
- }, rest))), (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("p", null, positionText)));
98
+ }, rest))), (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("p", null, '- ', (0, _react2.jsx)(_i18n.EuiI18n, {
99
+ token: "euiDataGridCell.position",
100
+ default: "{columnId}, column {col}, row {row}",
101
+ values: {
102
+ columnId: (column === null || column === void 0 ? void 0 : column.displayAsText) || rest.columnId,
103
+ col: colIndex + 1,
104
+ row: ariaRowIndex
105
+ }
106
+ }))));
102
107
  });
103
108
 
104
109
  var EuiDataGridCell = /*#__PURE__*/function (_Component) {
@@ -478,6 +483,7 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
478
483
  rowHeightUtils = _this$props8.rowHeightUtils,
479
484
  rowHeightsOptions = _this$props8.rowHeightsOptions,
480
485
  rowManager = _this$props8.rowManager,
486
+ pagination = _this$props8.pagination,
481
487
  rest = (0, _objectWithoutProperties2.default)(_this$props8, _excluded2);
482
488
  var rowIndex = rest.rowIndex,
483
489
  visibleRowIndex = rest.visibleRowIndex,
@@ -486,6 +492,7 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
486
492
  var popoverIsOpen = this.isPopoverOpen();
487
493
  var showCellActions = this.state.isFocused || this.state.isEntered || this.state.enableInteractions || popoverIsOpen;
488
494
  var cellClasses = (0, _classnames.default)('euiDataGridRowCell', (_classNames = {}, (0, _defineProperty2.default)(_classNames, "euiDataGridRowCell--".concat(columnType), columnType), (0, _defineProperty2.default)(_classNames, 'euiDataGridRowCell--open', popoverIsOpen), _classNames), className);
495
+ var ariaRowIndex = pagination ? visibleRowIndex + 1 + pagination.pageSize * pagination.pageIndex : visibleRowIndex + 1;
489
496
  var _this$state$cellProps2 = this.state.cellProps,
490
497
  _ = _this$state$cellProps2.isExpandable,
491
498
  cellPropsStyle = _this$state$cellProps2.style,
@@ -593,7 +600,8 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
593
600
  setCellContentsRef: this.setCellContentsRef,
594
601
  rowHeightsOptions: rowHeightsOptions,
595
602
  rowHeightUtils: rowHeightUtils,
596
- isDefinedHeight: isDefinedHeight
603
+ isDefinedHeight: isDefinedHeight,
604
+ ariaRowIndex: ariaRowIndex
597
605
  });
598
606
 
599
607
  var anchorClass = 'euiDataGridRowCell__expandFlex';
@@ -639,6 +647,7 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
639
647
 
640
648
  var content = (0, _react2.jsx)("div", (0, _extends2.default)({
641
649
  role: "gridcell",
650
+ "aria-rowindex": ariaRowIndex,
642
651
  tabIndex: this.state.isFocused && !this.state.disableCellTabIndex ? 0 : -1,
643
652
  ref: this.cellRef
644
653
  }, cellProps, {
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.EuiDataGridHeaderCell = void 0;
10
+ exports.usePopoverArrowNavigation = exports.EuiDataGridHeaderCell = void 0;
11
11
 
12
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
13
 
@@ -19,6 +19,10 @@ var _classnames2 = _interopRequireDefault(require("classnames"));
19
19
 
20
20
  var _react = _interopRequireWildcard(require("react"));
21
21
 
22
+ var _tabbable = require("tabbable");
23
+
24
+ var _services = require("../../../../services");
25
+
22
26
  var _accessibility = require("../../../../services/accessibility");
23
27
 
24
28
  var _accessibility2 = require("../../../accessibility");
@@ -119,6 +123,7 @@ var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
119
123
  isPopoverOpen = _useState2[0],
120
124
  setIsPopoverOpen = _useState2[1];
121
125
 
126
+ var popoverArrowNavigationProps = usePopoverArrowNavigation();
122
127
  var columnActions = (0, _column_actions.getColumnActions)({
123
128
  column: column,
124
129
  columns: columns,
@@ -154,9 +159,11 @@ var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
154
159
  }) : null, sortString && (0, _react2.jsx)(_accessibility2.EuiScreenReaderOnly, null, (0, _react2.jsx)("div", {
155
160
  id: screenReaderId
156
161
  }, sortString)), !showColumnActions ? (0, _react2.jsx)(_react.default.Fragment, null, sortingArrow, (0, _react2.jsx)("div", {
157
- className: "euiDataGridHeaderCell__content"
158
- }, display || displayAsText || id)) : (0, _react2.jsx)(_popover.EuiPopover, {
159
- anchorClassName: "euiDataGridHeaderCell__anchor",
162
+ className: "euiDataGridHeaderCell__content",
163
+ title: displayAsText || id
164
+ }, display || displayAsText || id)) : (0, _react2.jsx)(_popover.EuiPopover, (0, _extends2.default)({
165
+ className: "eui-fullWidth",
166
+ anchorClassName: "eui-fullWidth",
160
167
  panelPaddingSize: "none",
161
168
  offset: 7,
162
169
  button: (0, _react2.jsx)("button", {
@@ -168,7 +175,8 @@ var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
168
175
  });
169
176
  }
170
177
  }, sortingArrow, (0, _react2.jsx)("div", {
171
- className: "euiDataGridHeaderCell__content"
178
+ className: "euiDataGridHeaderCell__content",
179
+ title: displayAsText || id
172
180
  }, display || displayAsText || id), (0, _react2.jsx)(_icon.EuiIcon, {
173
181
  className: "euiDataGridHeaderCell__icon",
174
182
  type: "arrowDown",
@@ -181,11 +189,74 @@ var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
181
189
  closePopover: function closePopover() {
182
190
  return setIsPopoverOpen(false);
183
191
  }
184
- }, (0, _react2.jsx)("div", null, (0, _react2.jsx)(_list_group.EuiListGroup, {
192
+ }, popoverArrowNavigationProps), (0, _react2.jsx)(_list_group.EuiListGroup, {
185
193
  listItems: columnActions,
186
194
  gutterSize: "none",
187
195
  "data-test-subj": "dataGridHeaderCellActionGroup-".concat(id)
188
- }))));
196
+ })));
197
+ };
198
+ /**
199
+ * Add keyboard arrow navigation to the cell actions popover
200
+ * to match the UX of the rest of EuiDataGrid
201
+ */
202
+
203
+
204
+ exports.EuiDataGridHeaderCell = EuiDataGridHeaderCell;
205
+
206
+ var usePopoverArrowNavigation = function usePopoverArrowNavigation() {
207
+ var popoverPanelRef = (0, _react.useRef)(null);
208
+ var actionsRef = (0, _react.useRef)(undefined);
209
+ var panelRef = (0, _react.useCallback)(function (ref) {
210
+ popoverPanelRef.current = ref;
211
+ actionsRef.current = ref ? (0, _tabbable.tabbable)(ref) : undefined;
212
+ }, []);
213
+ var onKeyDown = (0, _react.useCallback)(function (e) {
214
+ var _actionsRef$current;
215
+
216
+ if (e.key !== _services.keys.ARROW_DOWN && e.key !== _services.keys.ARROW_UP) return;
217
+ if (!((_actionsRef$current = actionsRef.current) !== null && _actionsRef$current !== void 0 && _actionsRef$current.length)) return;
218
+ e.preventDefault();
219
+ var initialState = document.activeElement === popoverPanelRef.current;
220
+ var currentIndex = !initialState ? actionsRef.current.findIndex(function (el) {
221
+ return document.activeElement === el;
222
+ }) : -1;
223
+ var lastIndex = actionsRef.current.length - 1;
224
+ var indexToFocus;
225
+
226
+ if (initialState) {
227
+ if (e.key === _services.keys.ARROW_DOWN) {
228
+ indexToFocus = 0;
229
+ } else if (e.key === _services.keys.ARROW_UP) {
230
+ indexToFocus = lastIndex;
231
+ }
232
+ } else {
233
+ if (e.key === _services.keys.ARROW_DOWN) {
234
+ indexToFocus = currentIndex + 1;
235
+
236
+ if (indexToFocus > lastIndex) {
237
+ indexToFocus = 0;
238
+ }
239
+ } else if (e.key === _services.keys.ARROW_UP) {
240
+ indexToFocus = currentIndex - 1;
241
+
242
+ if (indexToFocus < 0) {
243
+ indexToFocus = lastIndex;
244
+ }
245
+ }
246
+ }
247
+
248
+ actionsRef.current[indexToFocus].focus();
249
+ }, []);
250
+ return {
251
+ panelRef: panelRef,
252
+ panelProps: {
253
+ onKeyDown: onKeyDown
254
+ },
255
+ popoverScreenReaderText: (0, _react2.jsx)(_i18n.EuiI18n, {
256
+ token: "euiDataGridHeaderCell.actionsPopoverScreenReaderText",
257
+ default: "To navigate through the list of column actions, press the Tab or Up and Down arrow keys."
258
+ })
259
+ };
189
260
  };
190
261
 
191
- exports.EuiDataGridHeaderCell = EuiDataGridHeaderCell;
262
+ exports.usePopoverArrowNavigation = usePopoverArrowNavigation;
@@ -264,6 +264,7 @@ var EuiDataGrid = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
264
264
 
265
265
  (0, _ref.useImperativeGridRef)({
266
266
  ref: ref,
267
+ gridRef: gridRef,
267
268
  setIsFullScreen: setIsFullScreen,
268
269
  focusContext: focusContext,
269
270
  cellPopoverContext: cellPopoverContext,
@@ -367,6 +368,7 @@ var EuiDataGrid = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
367
368
  "data-test-subj": "euiDataGridBody",
368
369
  className: "euiDataGrid__content",
369
370
  role: "grid",
371
+ "aria-rowcount": rowCount,
370
372
  id: gridId
371
373
  }, wrappingDivFocusProps, gridAriaProps), (0, _react2.jsx)(_body.EuiDataGridBody, {
372
374
  columns: orderedVisibleColumns,
@@ -59,11 +59,17 @@ var useFocus = function useFocus(_ref) {
59
59
  focusedCell = _useState4[0],
60
60
  _setFocusedCell = _useState4[1];
61
61
 
62
- var setFocusedCell = (0, _react.useCallback)(function (focusedCell) {
63
- _setFocusedCell(focusedCell);
62
+ var setFocusedCell = (0, _react.useCallback)(function (nextFocusedCell) {
63
+ // If the x/y coordinates remained the same, don't update. This keeps the focusedCell
64
+ // reference stable, and allows it to be used in places that need reference equality.
65
+ if (nextFocusedCell[0] === (focusedCell === null || focusedCell === void 0 ? void 0 : focusedCell[0]) && nextFocusedCell[1] === (focusedCell === null || focusedCell === void 0 ? void 0 : focusedCell[1])) {
66
+ return;
67
+ }
68
+
69
+ _setFocusedCell(nextFocusedCell);
64
70
 
65
71
  setIsFocusedCellInView(true); // scrolling.ts ensures focused cells are fully in view
66
- }, []);
72
+ }, [focusedCell]);
67
73
  var previousCell = (0, _react.useRef)(undefined);
68
74
  (0, _react.useEffect)(function () {
69
75
  if (previousCell.current) {
@@ -95,13 +101,16 @@ var useFocus = function useFocus(_ref) {
95
101
  tabIndex: -1
96
102
  } : {
97
103
  tabIndex: 0,
98
- onFocus: function onFocus(e) {
99
- // if e.target (the source element of the `focus event`
100
- // matches e.currentTarget (always the div with this onFocus listener)
101
- // then the user has focused directly on the data grid wrapper (almost definitely by tabbing)
102
- // so shift focus to the first visible and interactive cell within the grid
103
- if (e.target === e.currentTarget) {
104
- focusFirstVisibleInteractiveCell();
104
+ onKeyUp: function onKeyUp(e) {
105
+ // Ensure we only manually focus into the grid via keyboard tab -
106
+ // mouse users can accidentally trigger focus by clicking on scrollbars
107
+ if (e.key === _services.keys.TAB) {
108
+ // if e.target (the source element of the `focus event`) matches
109
+ // e.currentTarget (always the div with this onKeyUp listener)
110
+ // then the user has focused directly on the data grid wrapper
111
+ if (e.target === e.currentTarget) {
112
+ focusFirstVisibleInteractiveCell();
113
+ }
105
114
  }
106
115
  }
107
116
  };
@@ -160,7 +169,6 @@ var createKeyDownHandler = function createKeyDownHandler(_ref2) {
160
169
 
161
170
  var key = event.key,
162
171
  ctrlKey = event.ctrlKey;
163
- console.log('???', event);
164
172
 
165
173
  if (key === _services.keys.ARROW_DOWN) {
166
174
  event.preventDefault();
@@ -16,6 +16,7 @@ var _react = require("react");
16
16
  */
17
17
  var useImperativeGridRef = function useImperativeGridRef(_ref) {
18
18
  var ref = _ref.ref,
19
+ gridRef = _ref.gridRef,
19
20
  setIsFullScreen = _ref.setIsFullScreen,
20
21
  focusContext = _ref.focusContext,
21
22
  cellPopoverContext = _ref.cellPopoverContext,
@@ -70,16 +71,36 @@ var useImperativeGridRef = function useImperativeGridRef(_ref) {
70
71
  rowIndex: visibleRowIndex,
71
72
  colIndex: colIndex
72
73
  });
73
- }, [_openCellPopover, checkCellExists, findVisibleRowIndex]); // Set the ref APIs
74
+ }, [_openCellPopover, checkCellExists, findVisibleRowIndex]);
75
+ var scrollTo = (0, _react.useCallback)(function () {
76
+ var _gridRef$current;
77
+
78
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
79
+ args[_key] = arguments[_key];
80
+ }
81
+
82
+ return (_gridRef$current = gridRef.current) === null || _gridRef$current === void 0 ? void 0 : _gridRef$current.scrollTo.apply(_gridRef$current, args);
83
+ }, [gridRef]);
84
+ var scrollToItem = (0, _react.useCallback)(function () {
85
+ var _gridRef$current2;
86
+
87
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
88
+ args[_key2] = arguments[_key2];
89
+ }
90
+
91
+ return (_gridRef$current2 = gridRef.current) === null || _gridRef$current2 === void 0 ? void 0 : _gridRef$current2.scrollToItem.apply(_gridRef$current2, args);
92
+ }, [gridRef]); // Set the ref APIs
74
93
 
75
94
  (0, _react.useImperativeHandle)(ref, function () {
76
95
  return {
77
96
  setIsFullScreen: setIsFullScreen,
78
97
  setFocusedCell: setFocusedCell,
79
98
  openCellPopover: openCellPopover,
80
- closeCellPopover: closeCellPopover
99
+ closeCellPopover: closeCellPopover,
100
+ scrollTo: scrollTo,
101
+ scrollToItem: scrollToItem
81
102
  };
82
- }, [setIsFullScreen, setFocusedCell, openCellPopover, closeCellPopover]);
103
+ }, [setIsFullScreen, setFocusedCell, openCellPopover, closeCellPopover, scrollTo, scrollToItem]);
83
104
  };
84
105
  /**
85
106
  * Throw a digestible error if the consumer attempts to focus into an invalid
@@ -45,10 +45,12 @@ var DEFAULT_ROW_HEIGHT = 34;
45
45
  exports.DEFAULT_ROW_HEIGHT = DEFAULT_ROW_HEIGHT;
46
46
 
47
47
  var RowHeightUtils = /*#__PURE__*/function () {
48
- function RowHeightUtils() {
48
+ function RowHeightUtils(gridRef, rerenderGridBodyRef) {
49
49
  var _this = this;
50
50
 
51
51
  (0, _classCallCheck2.default)(this, RowHeightUtils);
52
+ this.gridRef = gridRef;
53
+ this.rerenderGridBodyRef = rerenderGridBodyRef;
52
54
  (0, _defineProperty2.default)(this, "styles", {
53
55
  paddingTop: 0,
54
56
  paddingBottom: 0
@@ -79,9 +81,7 @@ var RowHeightUtils = /*#__PURE__*/function () {
79
81
  });
80
82
  (0, _defineProperty2.default)(this, "heightsCache", new Map());
81
83
  (0, _defineProperty2.default)(this, "timerId", void 0);
82
- (0, _defineProperty2.default)(this, "grid", void 0);
83
84
  (0, _defineProperty2.default)(this, "lastUpdatedRow", Infinity);
84
- (0, _defineProperty2.default)(this, "rerenderGridBody", function () {});
85
85
  }
86
86
 
87
87
  (0, _createClass2.default)(RowHeightUtils, [{
@@ -179,6 +179,8 @@ var RowHeightUtils = /*#__PURE__*/function () {
179
179
  }, {
180
180
  key: "setRowHeight",
181
181
  value: function setRowHeight(rowIndex, colId) {
182
+ var _this$rerenderGridBod, _this$rerenderGridBod2;
183
+
182
184
  var height = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_ROW_HEIGHT;
183
185
  var visibleRowIndex = arguments.length > 3 ? arguments[3] : undefined;
184
186
  var rowHeights = this.heightsCache.get(rowIndex) || new Map();
@@ -193,7 +195,7 @@ var RowHeightUtils = /*#__PURE__*/function () {
193
195
  this.resetRow(visibleRowIndex); // When an auto row height is updated, force a re-render
194
196
  // of the grid body to update the unconstrained height
195
197
 
196
- this.rerenderGridBody();
198
+ (_this$rerenderGridBod = (_this$rerenderGridBod2 = this.rerenderGridBodyRef).current) === null || _this$rerenderGridBod === void 0 ? void 0 : _this$rerenderGridBod.call(_this$rerenderGridBod2);
197
199
  }
198
200
  }, {
199
201
  key: "pruneHiddenColumnHeights",
@@ -233,21 +235,11 @@ var RowHeightUtils = /*#__PURE__*/function () {
233
235
  }, {
234
236
  key: "resetGrid",
235
237
  value: function resetGrid() {
236
- var _this$grid;
238
+ var _this$gridRef$current;
237
239
 
238
- (_this$grid = this.grid) === null || _this$grid === void 0 ? void 0 : _this$grid.resetAfterRowIndex(this.lastUpdatedRow);
240
+ (_this$gridRef$current = this.gridRef.current) === null || _this$gridRef$current === void 0 ? void 0 : _this$gridRef$current.resetAfterRowIndex(this.lastUpdatedRow);
239
241
  this.lastUpdatedRow = Infinity;
240
242
  }
241
- }, {
242
- key: "setGrid",
243
- value: function setGrid(grid) {
244
- this.grid = grid;
245
- }
246
- }, {
247
- key: "setRerenderGridBody",
248
- value: function setRerenderGridBody(rerenderGridBody) {
249
- this.rerenderGridBody = rerenderGridBody;
250
- }
251
243
  }]);
252
244
  return RowHeightUtils;
253
245
  }();
@@ -264,22 +256,25 @@ var useRowHeightUtils = function useRowHeightUtils(_ref2) {
264
256
  gridStyles = _ref2.gridStyles,
265
257
  columns = _ref2.columns,
266
258
  rowHeightsOptions = _ref2.rowHeightsOptions;
267
- var rowHeightUtils = (0, _react.useMemo)(function () {
268
- return new RowHeightUtils();
269
- }, []); // Update rowHeightUtils with internal vars from outside dependencies
259
+ var forceRenderRef = (0, _services.useLatest)((0, _services.useForceRender)());
270
260
 
271
- var forceRender = (0, _services.useForceRender)();
272
- (0, _react.useEffect)(function () {
273
- if (gridRef) rowHeightUtils.setGrid(gridRef);
274
- rowHeightUtils.setRerenderGridBody(forceRender);
275
- }, [gridRef, forceRender, rowHeightUtils]); // Forces a rerender whenever the row heights change, as this can cause the
261
+ var _useState = (0, _react.useState)(function () {
262
+ return new RowHeightUtils(gridRef, forceRenderRef);
263
+ }),
264
+ _useState2 = (0, _slicedToArray2.default)(_useState, 1),
265
+ rowHeightUtils = _useState2[0]; // Forces a rerender whenever the row heights change, as this can cause the
276
266
  // grid to change height/have scrollbars. Without this, grid rerendering is stale
277
267
 
268
+
278
269
  (0, _react.useEffect)(function () {
279
- requestAnimationFrame(forceRender);
270
+ if (forceRenderRef.current == null) {
271
+ return;
272
+ }
273
+
274
+ requestAnimationFrame(forceRenderRef.current);
280
275
  }, [// Effects that should cause rerendering
281
276
  rowHeightsOptions === null || rowHeightsOptions === void 0 ? void 0 : rowHeightsOptions.defaultHeight, rowHeightsOptions === null || rowHeightsOptions === void 0 ? void 0 : rowHeightsOptions.rowHeights, // Dependencies
282
- rowHeightUtils, forceRender]); // Re-cache styles whenever grid density changes
277
+ rowHeightUtils, forceRenderRef]); // Re-cache styles whenever grid density changes
283
278
 
284
279
  (0, _react.useEffect)(function () {
285
280
  rowHeightUtils.cacheStyles({
@@ -304,10 +299,10 @@ var useDefaultRowHeight = function useDefaultRowHeight(_ref3) {
304
299
  // and ignored by auto & static heights (unless the static height is < the min)
305
300
 
306
301
 
307
- var _useState = (0, _react.useState)(DEFAULT_ROW_HEIGHT),
308
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
309
- minRowHeight = _useState2[0],
310
- setRowHeight = _useState2[1]; // Default/fallback height for all rows
302
+ var _useState3 = (0, _react.useState)(DEFAULT_ROW_HEIGHT),
303
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
304
+ minRowHeight = _useState4[0],
305
+ setRowHeight = _useState4[1]; // Default/fallback height for all rows
311
306
 
312
307
 
313
308
  var defaultRowHeight = (0, _react.useMemo)(function () {
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.icon = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
16
+ var React = _interopRequireWildcard(require("react"));
17
+
18
+ var _react2 = require("@emotion/react");
19
+
20
+ var _excluded = ["title", "titleId"];
21
+
22
+ 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); }
23
+
24
+ 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; }
25
+
26
+ var EuiIconCluster = function EuiIconCluster(_ref) {
27
+ var title = _ref.title,
28
+ titleId = _ref.titleId,
29
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
30
+ return (0, _react2.jsx)("svg", (0, _extends2.default)({
31
+ width: 16,
32
+ height: 16,
33
+ viewBox: "0 0 16 16",
34
+ fill: "none",
35
+ xmlns: "http://www.w3.org/2000/svg",
36
+ "aria-labelledby": titleId
37
+ }, props), title ? (0, _react2.jsx)("title", {
38
+ id: titleId
39
+ }, title) : null, (0, _react2.jsx)("path", {
40
+ fillRule: "evenodd",
41
+ clipRule: "evenodd",
42
+ d: "M4.5 7a2.5 2.5 0 100-5 2.5 2.5 0 000 5zm0-6a3.5 3.5 0 013.465 3h3.12a1.5 1.5 0 110 1h-3.12a3.482 3.482 0 01-.662 1.596l2.1 2.1A3.5 3.5 0 118.036 12h-3.12a1.5 1.5 0 110-.999h3.12a3.482 3.482 0 01.662-1.596l-2.1-2.1A3.5 3.5 0 114.5 1zM12 4.5a.5.5 0 101 0 .5.5 0 00-1 0zm-.5 9.5a2.5 2.5 0 110-5 2.5 2.5 0 010 5zM4 11.5a.5.5 0 11-1 0 .5.5 0 011 0z"
43
+ }));
44
+ };
45
+
46
+ var icon = EuiIconCluster;
47
+ exports.icon = icon;