@elastic/eui 116.1.0 → 116.2.0-snapshot.1780097782326

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 (445) hide show
  1. package/es/components/avatar/avatar.js +15 -6
  2. package/es/components/badge/badge.js +1 -1
  3. package/es/components/badge/beta_badge/beta_badge.js +1 -1
  4. package/es/components/banner/banner.js +202 -0
  5. package/es/components/banner/banner.styles.js +76 -0
  6. package/es/components/banner/index.js +9 -0
  7. package/es/components/basic_table/basic_table.js +28 -14
  8. package/es/components/basic_table/collapsed_item_actions.js +5 -4
  9. package/es/components/basic_table/default_item_action.js +3 -5
  10. package/es/components/basic_table/in_memory_table.js +4 -4
  11. package/es/components/breadcrumbs/_breadcrumb_content.js +29 -19
  12. package/es/components/button/button_display/_button_display_content.js +1 -1
  13. package/es/components/button/button_empty/button_empty.js +1 -1
  14. package/es/components/button/button_icon/button_icon.js +1 -1
  15. package/es/components/call_out/call_out.js +1 -1
  16. package/es/components/card/card.js +1 -1
  17. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  18. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  19. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  20. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  21. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  22. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  23. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  24. package/es/components/comment_list/comment.js +2 -2
  25. package/es/components/comment_list/comment_event.js +1 -1
  26. package/es/components/comment_list/comment_list.js +2 -2
  27. package/es/components/comment_list/comment_timeline.js +1 -1
  28. package/es/components/context_menu/context_menu_item.js +1 -1
  29. package/es/components/context_menu/context_menu_panel_title.js +0 -12
  30. package/es/components/datagrid/body/cell/data_grid_cell.js +12 -12
  31. package/es/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  32. package/es/components/datagrid/body/cell/data_grid_cell_actions.styles.js +2 -2
  33. package/es/components/datagrid/body/data_grid_body.js +7 -7
  34. package/es/components/datagrid/body/data_grid_body_custom.js +7 -7
  35. package/es/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  36. package/es/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  37. package/es/components/datagrid/controls/column_sorting.js +7 -7
  38. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  39. package/es/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  40. package/es/components/datagrid/controls/display_selector.js +2 -1
  41. package/es/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  42. package/es/components/datagrid/utils/in_memory.js +6 -6
  43. package/es/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  44. package/es/components/date_picker/date_picker.js +2 -2
  45. package/es/components/date_picker/date_picker_range.js +1 -1
  46. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  47. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  48. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  49. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  50. package/es/components/empty_prompt/empty_prompt.js +1 -1
  51. package/es/components/flyout/flyout_menu.js +2 -2
  52. package/es/components/flyout/manager/flyout_child.js +1 -1
  53. package/es/components/flyout/manager/flyout_managed.js +1 -1
  54. package/es/components/form/field_number/field_number.js +2 -2
  55. package/es/components/form/field_password/field_password.js +6 -3
  56. package/es/components/form/field_text/field_text.js +2 -2
  57. package/es/components/form/form_control_button/form_control_button.js +1 -1
  58. package/es/components/form/form_control_layout/append_prepend/form_append_prepend.js +2 -2
  59. package/es/components/form/form_control_layout/form_control_layout.js +2 -2
  60. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  61. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  62. package/es/components/form/text_area/text_area.js +2 -2
  63. package/es/components/header/header.a11y.js +1 -1
  64. package/es/components/header/header_links/header_link.js +1 -1
  65. package/es/components/header/header_links/header_links.js +1 -1
  66. package/es/components/header/header_logo/header_logo.js +1 -1
  67. package/es/components/header/header_section/header_section_item_button.js +1 -1
  68. package/es/components/icon/assets/significant_events.js +39 -0
  69. package/es/components/icon/icon.js +1 -1
  70. package/es/components/icon/icon_glyphs.a11y.js +1 -1
  71. package/es/components/icon/icon_map.js +3 -0
  72. package/es/components/index.js +1 -0
  73. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  74. package/es/components/list_group/list_group.js +2 -2
  75. package/es/components/list_group/list_group_item.js +2 -2
  76. package/es/components/list_group/list_group_item_extra_action.js +1 -1
  77. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  78. package/es/components/list_item_layout/_list_item_layout.styles.js +1 -1
  79. package/es/components/loading/loading_logo.js +1 -1
  80. package/es/components/markdown_editor/markdown_editor.js +1 -1
  81. package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  82. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  83. package/es/components/markdown_editor/markdown_editor_help_button.js +7 -4
  84. package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  85. package/es/components/outside_click_detector/outside_click_detector.js +71 -108
  86. package/es/components/page/page_header/page_header_content.js +1 -1
  87. package/es/components/pagination/pagination_button.js +1 -1
  88. package/es/components/pagination/pagination_button_arrow.js +6 -2
  89. package/es/components/search_bar/search_bar.js +20 -16
  90. package/es/components/search_bar/search_box.js +4 -2
  91. package/es/components/selectable/selectable_list/selectable_list.js +2 -2
  92. package/es/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  93. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  94. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +3 -2
  95. package/es/components/table/sticky_header/context.js +32 -0
  96. package/es/components/table/sticky_header/index.js +10 -0
  97. package/es/components/table/sticky_header/sticky_header.js +151 -0
  98. package/es/components/table/sticky_header/sticky_header.styles.js +43 -0
  99. package/es/components/table/sticky_scrollbar/index.js +9 -0
  100. package/es/components/table/sticky_scrollbar/sticky_scrollbar.js +141 -0
  101. package/es/components/table/sticky_scrollbar/sticky_scrollbar.styles.js +27 -0
  102. package/es/components/table/store/provider.js +37 -0
  103. package/es/components/table/store/store.js +75 -0
  104. package/es/components/table/table.js +43 -6
  105. package/es/components/table/table.styles.js +4 -4
  106. package/es/components/table/table_header_cell.js +117 -49
  107. package/es/components/table/table_header_cell_checkbox.js +59 -25
  108. package/es/components/text_truncate/text_truncate.js +8 -3
  109. package/es/components/timeline/timeline_item_icon.js +1 -1
  110. package/es/components/toast/global_toast_list.js +1 -1
  111. package/es/components/toast/toast.js +1 -1
  112. package/es/components/tool_tip/icon_tip.js +1 -1
  113. package/es/components/tool_tip/tool_tip.js +1 -1
  114. package/es/components/tool_tip/tool_tip.styles.js +14 -5
  115. package/es/utils/publisher.js +53 -0
  116. package/eui.d.ts +1300 -989
  117. package/i18ntokens.json +2390 -2372
  118. package/lib/components/avatar/avatar.js +15 -6
  119. package/lib/components/badge/badge.js +1 -1
  120. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  121. package/lib/components/banner/banner.js +211 -0
  122. package/lib/components/banner/banner.styles.js +80 -0
  123. package/lib/components/banner/index.js +12 -0
  124. package/lib/components/basic_table/basic_table.js +28 -14
  125. package/lib/components/basic_table/collapsed_item_actions.js +5 -4
  126. package/lib/components/basic_table/default_item_action.js +3 -5
  127. package/lib/components/basic_table/in_memory_table.js +4 -4
  128. package/lib/components/breadcrumbs/_breadcrumb_content.js +29 -19
  129. package/lib/components/button/button_display/_button_display_content.js +1 -1
  130. package/lib/components/button/button_empty/button_empty.js +1 -1
  131. package/lib/components/button/button_icon/button_icon.js +1 -1
  132. package/lib/components/call_out/call_out.js +1 -1
  133. package/lib/components/card/card.js +1 -1
  134. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  135. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  136. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  137. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  138. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  139. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  140. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  141. package/lib/components/comment_list/comment.js +2 -2
  142. package/lib/components/comment_list/comment_event.js +1 -1
  143. package/lib/components/comment_list/comment_list.js +2 -2
  144. package/lib/components/comment_list/comment_timeline.js +1 -1
  145. package/lib/components/context_menu/context_menu_item.js +1 -1
  146. package/lib/components/context_menu/context_menu_panel_title.js +0 -12
  147. package/lib/components/datagrid/body/cell/data_grid_cell.js +12 -12
  148. package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  149. package/lib/components/datagrid/body/cell/data_grid_cell_actions.styles.js +1 -1
  150. package/lib/components/datagrid/body/data_grid_body.js +7 -7
  151. package/lib/components/datagrid/body/data_grid_body_custom.js +7 -7
  152. package/lib/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  153. package/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  154. package/lib/components/datagrid/controls/column_sorting.js +7 -7
  155. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  156. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  157. package/lib/components/datagrid/controls/display_selector.js +2 -1
  158. package/lib/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  159. package/lib/components/datagrid/utils/in_memory.js +6 -6
  160. package/lib/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  161. package/lib/components/date_picker/date_picker.js +2 -2
  162. package/lib/components/date_picker/date_picker_range.js +1 -1
  163. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  164. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  165. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  166. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  167. package/lib/components/empty_prompt/empty_prompt.js +1 -1
  168. package/lib/components/flyout/flyout_menu.js +2 -2
  169. package/lib/components/flyout/manager/flyout_child.js +1 -1
  170. package/lib/components/form/field_number/field_number.js +2 -2
  171. package/lib/components/form/field_password/field_password.js +6 -3
  172. package/lib/components/form/field_text/field_text.js +2 -2
  173. package/lib/components/form/form_control_button/form_control_button.js +1 -1
  174. package/lib/components/form/form_control_layout/append_prepend/form_append_prepend.js +2 -2
  175. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  176. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  177. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  178. package/lib/components/form/text_area/text_area.js +2 -2
  179. package/lib/components/header/header.a11y.js +1 -1
  180. package/lib/components/header/header_links/header_link.js +1 -1
  181. package/lib/components/header/header_links/header_links.js +1 -1
  182. package/lib/components/header/header_logo/header_logo.js +1 -1
  183. package/lib/components/header/header_section/header_section_item_button.js +1 -1
  184. package/lib/components/icon/assets/significant_events.js +46 -0
  185. package/lib/components/icon/icon.js +1 -1
  186. package/lib/components/icon/icon_glyphs.a11y.js +1 -1
  187. package/lib/components/icon/icon_map.js +5 -0
  188. package/lib/components/icon/svgs/significant_events.svg +11 -0
  189. package/lib/components/index.js +11 -0
  190. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  191. package/lib/components/list_group/list_group.js +2 -2
  192. package/lib/components/list_group/list_group_item.js +2 -2
  193. package/lib/components/list_group/list_group_item_extra_action.js +1 -1
  194. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  195. package/lib/components/list_item_layout/_list_item_layout.styles.js +1 -1
  196. package/lib/components/loading/loading_logo.js +1 -1
  197. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  198. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  199. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  200. package/lib/components/markdown_editor/markdown_editor_help_button.js +7 -4
  201. package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  202. package/lib/components/outside_click_detector/outside_click_detector.js +69 -106
  203. package/lib/components/page/page_header/page_header_content.js +1 -1
  204. package/lib/components/pagination/pagination_button.js +1 -1
  205. package/lib/components/pagination/pagination_button_arrow.js +6 -2
  206. package/lib/components/search_bar/search_bar.js +20 -16
  207. package/lib/components/search_bar/search_box.js +4 -2
  208. package/lib/components/selectable/selectable_list/selectable_list.js +2 -2
  209. package/lib/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  210. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  211. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +3 -2
  212. package/lib/components/table/sticky_header/context.js +41 -0
  213. package/lib/components/table/sticky_header/index.js +19 -0
  214. package/lib/components/table/sticky_header/sticky_header.js +156 -0
  215. package/lib/components/table/sticky_header/sticky_header.styles.js +47 -0
  216. package/lib/components/table/sticky_scrollbar/index.js +12 -0
  217. package/lib/components/table/sticky_scrollbar/sticky_scrollbar.js +148 -0
  218. package/lib/components/table/sticky_scrollbar/sticky_scrollbar.styles.js +31 -0
  219. package/lib/components/table/store/provider.js +46 -0
  220. package/lib/components/table/store/store.js +80 -0
  221. package/lib/components/table/table.js +46 -6
  222. package/lib/components/table/table.styles.js +4 -4
  223. package/lib/components/table/table_header_cell.js +119 -49
  224. package/lib/components/table/table_header_cell_checkbox.js +62 -25
  225. package/lib/components/text_truncate/text_truncate.js +8 -3
  226. package/lib/components/timeline/timeline_item_icon.js +1 -1
  227. package/lib/components/toast/global_toast_list.js +1 -1
  228. package/lib/components/toast/toast.js +1 -1
  229. package/lib/components/tool_tip/icon_tip.js +1 -1
  230. package/lib/components/tool_tip/tool_tip.js +1 -1
  231. package/lib/components/tool_tip/tool_tip.styles.js +14 -5
  232. package/lib/utils/publisher.js +59 -0
  233. package/optimize/es/components/avatar/avatar.js +12 -4
  234. package/optimize/es/components/banner/banner.js +112 -0
  235. package/optimize/es/components/banner/banner.styles.js +76 -0
  236. package/optimize/es/components/banner/index.js +9 -0
  237. package/optimize/es/components/basic_table/basic_table.js +24 -10
  238. package/optimize/es/components/basic_table/collapsed_item_actions.js +5 -4
  239. package/optimize/es/components/basic_table/default_item_action.js +3 -5
  240. package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +27 -18
  241. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  242. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  243. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.styles.js +2 -2
  244. package/optimize/es/components/datagrid/controls/display_selector.js +2 -1
  245. package/optimize/es/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  246. package/optimize/es/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  247. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  248. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  249. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  250. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  251. package/optimize/es/components/form/field_password/field_password.js +6 -3
  252. package/optimize/es/components/header/header.a11y.js +1 -1
  253. package/optimize/es/components/icon/assets/significant_events.js +38 -0
  254. package/optimize/es/components/icon/icon_glyphs.a11y.js +1 -1
  255. package/optimize/es/components/icon/icon_map.js +3 -0
  256. package/optimize/es/components/index.js +1 -0
  257. package/optimize/es/components/list_item_layout/_list_item_layout.styles.js +1 -1
  258. package/optimize/es/components/markdown_editor/markdown_editor_help_button.js +7 -4
  259. package/optimize/es/components/outside_click_detector/outside_click_detector.js +70 -104
  260. package/optimize/es/components/pagination/pagination_button_arrow.js +6 -2
  261. package/optimize/es/components/search_bar/search_bar.js +20 -16
  262. package/optimize/es/components/search_bar/search_box.js +4 -2
  263. package/optimize/es/components/selectable/selectable_list/selectable_list.js +1 -1
  264. package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  265. package/optimize/es/components/table/sticky_header/context.js +32 -0
  266. package/optimize/es/components/table/sticky_header/index.js +10 -0
  267. package/optimize/es/components/table/sticky_header/sticky_header.js +146 -0
  268. package/optimize/es/components/table/sticky_header/sticky_header.styles.js +43 -0
  269. package/optimize/es/components/table/sticky_scrollbar/index.js +9 -0
  270. package/optimize/es/components/table/sticky_scrollbar/sticky_scrollbar.js +136 -0
  271. package/optimize/es/components/table/sticky_scrollbar/sticky_scrollbar.styles.js +27 -0
  272. package/optimize/es/components/table/store/provider.js +37 -0
  273. package/optimize/es/components/table/store/store.js +75 -0
  274. package/optimize/es/components/table/table.js +25 -6
  275. package/optimize/es/components/table/table.styles.js +4 -4
  276. package/optimize/es/components/table/table_header_cell.js +116 -48
  277. package/optimize/es/components/table/table_header_cell_checkbox.js +59 -25
  278. package/optimize/es/components/text_truncate/text_truncate.js +8 -3
  279. package/optimize/es/components/tool_tip/tool_tip.js +1 -1
  280. package/optimize/es/components/tool_tip/tool_tip.styles.js +14 -5
  281. package/optimize/es/utils/publisher.js +53 -0
  282. package/optimize/lib/components/avatar/avatar.js +12 -4
  283. package/optimize/lib/components/banner/banner.js +121 -0
  284. package/optimize/lib/components/banner/banner.styles.js +80 -0
  285. package/optimize/lib/components/banner/index.js +12 -0
  286. package/optimize/lib/components/basic_table/basic_table.js +24 -10
  287. package/optimize/lib/components/basic_table/collapsed_item_actions.js +5 -4
  288. package/optimize/lib/components/basic_table/default_item_action.js +3 -5
  289. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +27 -18
  290. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  291. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  292. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.styles.js +1 -1
  293. package/optimize/lib/components/datagrid/controls/display_selector.js +2 -1
  294. package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  295. package/optimize/lib/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  296. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  297. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  298. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  299. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  300. package/optimize/lib/components/form/field_password/field_password.js +6 -3
  301. package/optimize/lib/components/header/header.a11y.js +1 -1
  302. package/optimize/lib/components/icon/assets/significant_events.js +46 -0
  303. package/optimize/lib/components/icon/icon_glyphs.a11y.js +1 -1
  304. package/optimize/lib/components/icon/icon_map.js +5 -0
  305. package/optimize/lib/components/icon/svgs/significant_events.svg +11 -0
  306. package/optimize/lib/components/index.js +11 -0
  307. package/optimize/lib/components/list_item_layout/_list_item_layout.styles.js +1 -1
  308. package/optimize/lib/components/markdown_editor/markdown_editor_help_button.js +7 -4
  309. package/optimize/lib/components/outside_click_detector/outside_click_detector.js +69 -103
  310. package/optimize/lib/components/pagination/pagination_button_arrow.js +6 -2
  311. package/optimize/lib/components/search_bar/search_bar.js +20 -16
  312. package/optimize/lib/components/search_bar/search_box.js +4 -2
  313. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  314. package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  315. package/optimize/lib/components/table/sticky_header/context.js +41 -0
  316. package/optimize/lib/components/table/sticky_header/index.js +19 -0
  317. package/optimize/lib/components/table/sticky_header/sticky_header.js +156 -0
  318. package/optimize/lib/components/table/sticky_header/sticky_header.styles.js +47 -0
  319. package/optimize/lib/components/table/sticky_scrollbar/index.js +12 -0
  320. package/optimize/lib/components/table/sticky_scrollbar/sticky_scrollbar.js +146 -0
  321. package/optimize/lib/components/table/sticky_scrollbar/sticky_scrollbar.styles.js +31 -0
  322. package/optimize/lib/components/table/store/provider.js +46 -0
  323. package/optimize/lib/components/table/store/store.js +80 -0
  324. package/optimize/lib/components/table/table.js +28 -6
  325. package/optimize/lib/components/table/table.styles.js +4 -4
  326. package/optimize/lib/components/table/table_header_cell.js +119 -48
  327. package/optimize/lib/components/table/table_header_cell_checkbox.js +62 -25
  328. package/optimize/lib/components/text_truncate/text_truncate.js +8 -3
  329. package/optimize/lib/components/tool_tip/tool_tip.js +1 -1
  330. package/optimize/lib/components/tool_tip/tool_tip.styles.js +14 -5
  331. package/optimize/lib/utils/publisher.js +59 -0
  332. package/package.json +4 -4
  333. package/test-env/components/avatar/avatar.js +15 -6
  334. package/test-env/components/badge/badge.js +1 -1
  335. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  336. package/test-env/components/banner/banner.js +210 -0
  337. package/test-env/components/banner/banner.styles.js +80 -0
  338. package/test-env/components/banner/index.js +12 -0
  339. package/test-env/components/basic_table/basic_table.js +28 -14
  340. package/test-env/components/basic_table/collapsed_item_actions.js +5 -4
  341. package/test-env/components/basic_table/default_item_action.js +3 -5
  342. package/test-env/components/basic_table/in_memory_table.js +4 -4
  343. package/test-env/components/breadcrumbs/_breadcrumb_content.js +29 -19
  344. package/test-env/components/button/button_display/_button_display_content.js +1 -1
  345. package/test-env/components/button/button_empty/button_empty.js +1 -1
  346. package/test-env/components/button/button_icon/button_icon.js +1 -1
  347. package/test-env/components/call_out/call_out.js +1 -1
  348. package/test-env/components/card/card.js +1 -1
  349. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  350. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +1 -1
  351. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +1 -1
  352. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  353. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -2
  354. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +4 -4
  355. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  356. package/test-env/components/comment_list/comment.js +2 -2
  357. package/test-env/components/comment_list/comment_event.js +1 -1
  358. package/test-env/components/comment_list/comment_list.js +2 -2
  359. package/test-env/components/comment_list/comment_timeline.js +1 -1
  360. package/test-env/components/context_menu/context_menu_item.js +1 -1
  361. package/test-env/components/context_menu/context_menu_panel_title.js +0 -12
  362. package/test-env/components/datagrid/body/cell/data_grid_cell.js +12 -12
  363. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  364. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.styles.js +1 -1
  365. package/test-env/components/datagrid/body/data_grid_body.js +7 -7
  366. package/test-env/components/datagrid/body/data_grid_body_custom.js +7 -7
  367. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +7 -7
  368. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +6 -6
  369. package/test-env/components/datagrid/controls/column_sorting.js +7 -7
  370. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  371. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +1 -1
  372. package/test-env/components/datagrid/controls/display_selector.js +2 -1
  373. package/test-env/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  374. package/test-env/components/datagrid/utils/in_memory.js +6 -6
  375. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  376. package/test-env/components/date_picker/date_picker.js +2 -2
  377. package/test-env/components/date_picker/date_picker_range.js +1 -1
  378. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  379. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  380. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  381. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  382. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  383. package/test-env/components/flyout/flyout_menu.js +2 -2
  384. package/test-env/components/flyout/manager/flyout_child.js +1 -1
  385. package/test-env/components/form/field_number/field_number.js +2 -2
  386. package/test-env/components/form/field_password/field_password.js +6 -3
  387. package/test-env/components/form/field_text/field_text.js +2 -2
  388. package/test-env/components/form/form_control_button/form_control_button.js +1 -1
  389. package/test-env/components/form/form_control_layout/append_prepend/form_append_prepend.js +2 -2
  390. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  391. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  392. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  393. package/test-env/components/form/text_area/text_area.js +2 -2
  394. package/test-env/components/header/header.a11y.js +1 -1
  395. package/test-env/components/header/header_links/header_link.js +1 -1
  396. package/test-env/components/header/header_links/header_links.js +1 -1
  397. package/test-env/components/header/header_logo/header_logo.js +1 -1
  398. package/test-env/components/header/header_section/header_section_item_button.js +1 -1
  399. package/test-env/components/icon/assets/significant_events.js +46 -0
  400. package/test-env/components/icon/icon_glyphs.a11y.js +1 -1
  401. package/test-env/components/icon/icon_map.js +5 -0
  402. package/test-env/components/index.js +11 -0
  403. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  404. package/test-env/components/list_group/list_group.js +2 -2
  405. package/test-env/components/list_group/list_group_item.js +2 -2
  406. package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
  407. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  408. package/test-env/components/list_item_layout/_list_item_layout.styles.js +1 -1
  409. package/test-env/components/loading/loading_logo.js +1 -1
  410. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  411. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  412. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  413. package/test-env/components/markdown_editor/markdown_editor_help_button.js +7 -4
  414. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  415. package/test-env/components/outside_click_detector/outside_click_detector.js +70 -104
  416. package/test-env/components/page/page_header/page_header_content.js +1 -1
  417. package/test-env/components/pagination/pagination_button.js +1 -1
  418. package/test-env/components/pagination/pagination_button_arrow.js +6 -2
  419. package/test-env/components/search_bar/search_bar.js +20 -16
  420. package/test-env/components/search_bar/search_box.js +4 -2
  421. package/test-env/components/selectable/selectable_list/selectable_list.js +2 -2
  422. package/test-env/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  423. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  424. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +3 -2
  425. package/test-env/components/table/sticky_header/context.js +41 -0
  426. package/test-env/components/table/sticky_header/index.js +19 -0
  427. package/test-env/components/table/sticky_header/sticky_header.js +156 -0
  428. package/test-env/components/table/sticky_header/sticky_header.styles.js +47 -0
  429. package/test-env/components/table/sticky_scrollbar/index.js +12 -0
  430. package/test-env/components/table/sticky_scrollbar/sticky_scrollbar.js +146 -0
  431. package/test-env/components/table/sticky_scrollbar/sticky_scrollbar.styles.js +31 -0
  432. package/test-env/components/table/store/provider.js +46 -0
  433. package/test-env/components/table/store/store.js +80 -0
  434. package/test-env/components/table/table.js +46 -6
  435. package/test-env/components/table/table.styles.js +4 -4
  436. package/test-env/components/table/table_header_cell.js +120 -49
  437. package/test-env/components/table/table_header_cell_checkbox.js +62 -25
  438. package/test-env/components/text_truncate/text_truncate.js +8 -3
  439. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  440. package/test-env/components/toast/global_toast_list.js +1 -1
  441. package/test-env/components/toast/toast.js +1 -1
  442. package/test-env/components/tool_tip/icon_tip.js +1 -1
  443. package/test-env/components/tool_tip/tool_tip.js +1 -1
  444. package/test-env/components/tool_tip/tool_tip.styles.js +14 -5
  445. package/test-env/utils/publisher.js +59 -0
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.EuiTableStickyHeader = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _provider = require("../store/provider");
10
+ var _table_header = require("../table_header");
11
+ var _context = require("./context");
12
+ var _services = require("../../../services");
13
+ var _table = require("../table.styles");
14
+ var _sticky_header = require("./sticky_header.styles");
15
+ var _global_styling = require("../../../global_styling");
16
+ var _const = require("../const");
17
+ var _react2 = require("@emotion/react");
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
21
+ 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."); }
22
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
23
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
24
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
25
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /*
26
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
27
+ * or more contributor license agreements. Licensed under the Elastic License
28
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
29
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
30
+ * Side Public License, v 1.
31
+ */ /**
32
+ * @internal
33
+ */
34
+ var EuiTableStickyHeader = exports.EuiTableStickyHeader = function EuiTableStickyHeader(_ref) {
35
+ var tableRef = _ref.tableRef,
36
+ tableWrapperRef = _ref.tableWrapperRef,
37
+ compressed = _ref.compressed,
38
+ scrollableInline = _ref.scrollableInline,
39
+ isResponsive = _ref.isResponsive;
40
+ var store = (0, _provider.useEuiTableColumnDataStore)();
41
+ var columnElements = (0, _react.useRef)(new Map());
42
+ var stickyTableWrapperRef = (0, _react.useRef)(null);
43
+ var stickyTableRef = (0, _react.useRef)(null);
44
+ var _useState = (0, _react.useState)(function () {
45
+ return Array.from(store.getColumns().entries());
46
+ }),
47
+ _useState2 = _slicedToArray(_useState, 2),
48
+ columns = _useState2[0],
49
+ setColumns = _useState2[1];
50
+ var originalStyles = (0, _services.useEuiMemoizedStyles)(_table.euiTableStyles);
51
+ var styles = (0, _services.useEuiMemoizedStyles)(_sticky_header.euiTableStickyHeaderStyles);
52
+
53
+ /**
54
+ * Get a callback ref to handle the column element ref
55
+ */
56
+ var getColumnRef = (0, _react.useCallback)(function (id) {
57
+ return function (element) {
58
+ if (element) {
59
+ columnElements.current.set(id, element);
60
+ } else {
61
+ columnElements.current.delete(id);
62
+ }
63
+ };
64
+ }, []);
65
+ (0, _react.useEffect)(function () {
66
+ var unsubscribe = store.subscribe(function (columns) {
67
+ setColumns(Array.from(columns.entries()));
68
+ });
69
+ var unsubscribeColumnWidths = store.subscribeToColumnWidths(function (columns) {
70
+ columns.forEach(function (width, name) {
71
+ var element = columnElements.current.get(name);
72
+ if (element) {
73
+ element.style.width = "".concat(width, "px");
74
+ }
75
+ });
76
+ });
77
+ return function () {
78
+ unsubscribe();
79
+ unsubscribeColumnWidths();
80
+ };
81
+ }, [store]);
82
+
83
+ // When columns change, apply column widths after render
84
+ (0, _react.useLayoutEffect)(function () {
85
+ store.getColumnWidths().forEach(function (width, name) {
86
+ var element = columnElements.current.get(name);
87
+ if (element) {
88
+ element.style.width = "".concat(width, "px");
89
+ }
90
+ });
91
+ }, [store, columns]);
92
+ (0, _react.useEffect)(function () {
93
+ if (!scrollableInline || !tableWrapperRef.current || !stickyTableRef.current || !tableRef.current) {
94
+ return;
95
+ }
96
+ var tableWrapper = tableWrapperRef.current;
97
+ var handleScroll = function handleScroll() {
98
+ if (stickyTableWrapperRef.current) {
99
+ stickyTableWrapperRef.current.scrollLeft = tableWrapper.scrollLeft;
100
+ }
101
+ };
102
+ var handleResize = function handleResize(entries) {
103
+ var element = entries[0].target;
104
+ if (!element) {
105
+ return;
106
+ }
107
+ if (stickyTableRef.current) {
108
+ stickyTableRef.current.style.minWidth = "".concat(element.clientWidth, "px");
109
+ }
110
+ };
111
+
112
+ // Initial width sync
113
+ stickyTableRef.current.style.minWidth = "".concat(tableRef.current.getBoundingClientRect().width, "px");
114
+
115
+ // Use ResizeObserver to keep table width in sync
116
+ var resizeObserver = new ResizeObserver(handleResize);
117
+ resizeObserver.observe(tableRef.current);
118
+ tableWrapper.addEventListener('scroll', handleScroll, {
119
+ passive: true
120
+ });
121
+ return function () {
122
+ tableWrapper.removeEventListener('scroll', handleScroll);
123
+ resizeObserver.disconnect();
124
+ };
125
+ }, [scrollableInline, tableRef, tableWrapperRef]);
126
+ var tableStyles = [originalStyles.euiTable, scrollableInline && originalStyles.euiTableScrollableInline, (!compressed || isResponsive) && originalStyles.uncompressed, compressed && !isResponsive && originalStyles.compressed,
127
+ // Forced fixed layout since all column widths come synced from the main table
128
+ originalStyles.layout.fixed, originalStyles.hasBackground, styles.table];
129
+ if (isResponsive) {
130
+ return null;
131
+ }
132
+ return (0, _react2.jsx)(_context.EuiTableWithinStickyHeaderProvider, null, (0, _react2.jsx)("div", {
133
+ css: styles.wrapper,
134
+ "aria-hidden": "true"
135
+ }, (0, _react2.jsx)("div", {
136
+ css: [
137
+ // This CSS container is needed to feed `<EuiTableHeaderCell>`
138
+ // with `sticky` prop set the necessary scroll state
139
+ (0, _global_styling.euiContainerCSS)('normal', _const.EUI_TABLE_CSS_CONTAINER_NAME, true), styles.innerWrapper, ";label:EuiTableStickyHeader;"],
140
+ ref: stickyTableWrapperRef
141
+ }, (0, _react2.jsx)("table", {
142
+ css: tableStyles,
143
+ ref: stickyTableRef
144
+ }, (0, _react2.jsx)(_table_header.EuiTableHeader, {
145
+ css: styles.header
146
+ }, columns.map(function (_ref2, index) {
147
+ var _data$renderHeaderCel, _data$renderHeaderCel2;
148
+ var _ref3 = _slicedToArray(_ref2, 2),
149
+ name = _ref3[0],
150
+ data = _ref3[1];
151
+ return (_data$renderHeaderCel = (_data$renderHeaderCel2 = data.renderHeaderCellRef).current) === null || _data$renderHeaderCel === void 0 ? void 0 : _data$renderHeaderCel.call(_data$renderHeaderCel2, {
152
+ ref: getColumnRef(name),
153
+ key: "".concat(name, "-").concat(index)
154
+ });
155
+ }))))));
156
+ };
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiTableStickyHeaderStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } /*
9
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
10
+ * or more contributor license agreements. Licensed under the Elastic License
11
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
12
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
13
+ * Side Public License, v 1.
14
+ */
15
+ var _ref = process.env.NODE_ENV === "production" ? {
16
+ name: "1uk19xy-table",
17
+ styles: "pointer-events:auto;label:table;"
18
+ } : {
19
+ name: "1uk19xy-table",
20
+ styles: "pointer-events:auto;label:table;",
21
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
22
+ };
23
+ var _ref2 = process.env.NODE_ENV === "production" ? {
24
+ name: "15dchac-innerWrapper",
25
+ styles: "overflow-inline:hidden;label:innerWrapper;"
26
+ } : {
27
+ name: "15dchac-innerWrapper",
28
+ styles: "overflow-inline:hidden;label:innerWrapper;",
29
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
30
+ };
31
+ var _ref3 = process.env.NODE_ENV === "production" ? {
32
+ name: "4w3rcu-wrapper",
33
+ styles: "position:sticky;inset-block-start:var(--euiTableStickyHeaderOffsetTop, 0);z-index:var(--euiTableStickyHeaderZIndex, 1);block-size:0;overflow-block:visible;label:wrapper;"
34
+ } : {
35
+ name: "4w3rcu-wrapper",
36
+ styles: "position:sticky;inset-block-start:var(--euiTableStickyHeaderOffsetTop, 0);z-index:var(--euiTableStickyHeaderZIndex, 1);block-size:0;overflow-block:visible;label:wrapper;",
37
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
38
+ };
39
+ var euiTableStickyHeaderStyles = exports.euiTableStickyHeaderStyles = function euiTableStickyHeaderStyles(_ref4) {
40
+ var euiTheme = _ref4.euiTheme;
41
+ return {
42
+ wrapper: _ref3,
43
+ innerWrapper: _ref2,
44
+ table: _ref,
45
+ header: /*#__PURE__*/(0, _react.css)("th::after{content:'';display:block;inline-size:100%;block-size:", euiTheme.border.width.thin, ";background-color:", euiTheme.border.color, ";};label:header;")
46
+ };
47
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "EuiTableStickyScrollbar", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _sticky_scrollbar.EuiTableStickyScrollbar;
10
+ }
11
+ });
12
+ var _sticky_scrollbar = require("./sticky_scrollbar");
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.EuiTableStickyScrollbar = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _services = require("../../../services");
10
+ var _sticky_scrollbar = require("./sticky_scrollbar.styles");
11
+ var _react2 = require("@emotion/react");
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
15
+ 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."); }
16
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
17
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
18
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
19
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /*
20
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
21
+ * or more contributor license agreements. Licensed under the Elastic License
22
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
23
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
24
+ * Side Public License, v 1.
25
+ */
26
+ var EuiTableStickyScrollbar = exports.EuiTableStickyScrollbar = function EuiTableStickyScrollbar(_ref) {
27
+ var tableWrapperRef = _ref.tableWrapperRef;
28
+ var styles = (0, _services.useEuiMemoizedStyles)(_sticky_scrollbar.euiTableStickyScrollbarStyles);
29
+ var trackElementRef = (0, _react.useRef)(null);
30
+ var dragStartRef = (0, _react.useRef)(null);
31
+ var requestAnimationFramePendingRef = (0, _react.useRef)(false);
32
+ var _useState = (0, _react.useState)(false),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ isActive = _useState2[0],
35
+ setIsActive = _useState2[1];
36
+ var _useState3 = (0, _react.useState)(false),
37
+ _useState4 = _slicedToArray(_useState3, 2),
38
+ isHidden = _useState4[0],
39
+ setIsHidden = _useState4[1];
40
+ var updateTrack = (0, _react.useCallback)(function (element) {
41
+ var clientWidth = element.clientWidth,
42
+ scrollWidth = element.scrollWidth,
43
+ scrollLeft = element.scrollLeft;
44
+ if (!requestAnimationFramePendingRef.current) {
45
+ requestAnimationFramePendingRef.current = true;
46
+ requestAnimationFrame(function () {
47
+ var el = trackElementRef.current;
48
+ if (el) {
49
+ el.style.inlineSize = "".concat(clientWidth / scrollWidth * 100, "%");
50
+ el.style.marginInlineStart = "".concat(scrollLeft / scrollWidth * 100, "%");
51
+ }
52
+ requestAnimationFramePendingRef.current = false;
53
+ });
54
+ }
55
+ }, []);
56
+ var handleScroll = (0, _react.useCallback)(function (event) {
57
+ if (event.target) {
58
+ updateTrack(event.target);
59
+ }
60
+ }, [updateTrack]);
61
+ var handleResize = (0, _react.useCallback)(function (entries) {
62
+ var element = entries[0].target;
63
+ if (!element) {
64
+ return;
65
+ }
66
+ updateTrack(element);
67
+ setIsActive(element.clientWidth < element.scrollWidth);
68
+ }, [updateTrack]);
69
+ var handleBottomCornerIntersection = (0, _react.useCallback)(function (entries) {
70
+ var entry = entries[0];
71
+ var element = entry.target;
72
+ if (!element) {
73
+ return;
74
+ }
75
+ setIsHidden(!entry.isIntersecting);
76
+ }, []);
77
+ var handlePointerDown = (0, _react.useCallback)(function (event) {
78
+ var _el$scrollLeft;
79
+ var el = tableWrapperRef.current;
80
+ dragStartRef.current = {
81
+ x: event.clientX,
82
+ scrollLeft: (_el$scrollLeft = el === null || el === void 0 ? void 0 : el.scrollLeft) !== null && _el$scrollLeft !== void 0 ? _el$scrollLeft : 0
83
+ };
84
+ event.currentTarget.setPointerCapture(event.pointerId);
85
+ }, [tableWrapperRef]);
86
+ var handlePointerUp = (0, _react.useCallback)(function () {
87
+ dragStartRef.current = null;
88
+ }, [dragStartRef]);
89
+ var handlePointerMove = (0, _react.useCallback)(function (event) {
90
+ var el = tableWrapperRef.current;
91
+ if (!dragStartRef.current || !el) {
92
+ return;
93
+ }
94
+ var diff = event.clientX - dragStartRef.current.x;
95
+ var ratio = el.scrollWidth / el.clientWidth;
96
+ el.scrollLeft = dragStartRef.current.scrollLeft + diff * ratio;
97
+ }, [tableWrapperRef]);
98
+ (0, _react.useEffect)(function () {
99
+ var element = tableWrapperRef.current;
100
+ if (!element) {
101
+ return;
102
+ }
103
+ updateTrack(element);
104
+ element.addEventListener('scroll', handleScroll, {
105
+ passive: true
106
+ });
107
+
108
+ // ResizeObserver is available in all supported browsers,
109
+ // but jsdom and jest don't provide a polyfill for it.
110
+ var resizeObserver;
111
+ if (typeof window.ResizeObserver !== 'undefined') {
112
+ resizeObserver = new ResizeObserver(handleResize);
113
+ resizeObserver.observe(element);
114
+ }
115
+
116
+ // IntersectionOserver is available in all supported browsers,
117
+ // but jsdom and jest don't provide a polyfill for it.
118
+ var intersectionObserver;
119
+ if (typeof window.IntersectionObserver !== 'undefined') {
120
+ intersectionObserver = new IntersectionObserver(handleBottomCornerIntersection, {
121
+ threshold: 0,
122
+ rootMargin: '-100% 0px 0px 0px'
123
+ });
124
+ intersectionObserver.observe(element);
125
+ }
126
+ return function () {
127
+ var _resizeObserver, _intersectionObserver;
128
+ element.removeEventListener('scroll', handleScroll);
129
+ (_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 || _resizeObserver.disconnect();
130
+ (_intersectionObserver = intersectionObserver) === null || _intersectionObserver === void 0 || _intersectionObserver.disconnect();
131
+ };
132
+ }, [tableWrapperRef, updateTrack, handleResize, handleScroll, handleBottomCornerIntersection]);
133
+ if (!isActive) {
134
+ return null;
135
+ }
136
+ return (0, _react2.jsx)("div", {
137
+ css: [styles.wrapper, isHidden && styles.wrapperHidden, ";label:EuiTableStickyScrollbar;"],
138
+ "data-test-subj": "euiTableStickyScrollbar",
139
+ "aria-hidden": true
140
+ }, (0, _react2.jsx)("div", {
141
+ css: styles.track,
142
+ ref: trackElementRef,
143
+ onPointerDown: handlePointerDown,
144
+ onPointerMove: handlePointerMove,
145
+ onPointerUp: handlePointerUp,
146
+ "data-test-subj": "euiTableStickyScrollbarTrack"
147
+ }));
148
+ };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiTableStickyScrollbarStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _services = require("../../../services");
9
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } /*
10
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
+ * or more contributor license agreements. Licensed under the Elastic License
12
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
13
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
14
+ * Side Public License, v 1.
15
+ */
16
+ var _ref = process.env.NODE_ENV === "production" ? {
17
+ name: "j6fg69-wrapperHidden",
18
+ styles: "display:none;label:wrapperHidden;"
19
+ } : {
20
+ name: "j6fg69-wrapperHidden",
21
+ styles: "display:none;label:wrapperHidden;",
22
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
23
+ };
24
+ var euiTableStickyScrollbarStyles = exports.euiTableStickyScrollbarStyles = function euiTableStickyScrollbarStyles(_ref2) {
25
+ var euiTheme = _ref2.euiTheme;
26
+ return {
27
+ wrapper: /*#__PURE__*/(0, _react.css)("block-size:", euiTheme.size.base, ";padding:", euiTheme.size.xs, ";position:sticky;background:", euiTheme.components.scrollbarTrackColor, ";inset-block-end:var(--euiTableStickyScrollbarOffsetBottom, 0);z-index:var(--euiTableStickyScrollbarZIndex, 0);;label:wrapper;"),
28
+ wrapperHidden: _ref,
29
+ track: /*#__PURE__*/(0, _react.css)("block-size:100%;background:", (0, _services.transparentize)(euiTheme.colors.darkShade, 0.5), ";border-radius:", euiTheme.border.radius.small, ";;label:track;")
30
+ };
31
+ };
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useEuiTableColumnDataStore = exports.EuiTableStoreProvider = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _store = require("./store");
10
+ var _react2 = require("@emotion/react");
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ /*
14
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
15
+ * or more contributor license agreements. Licensed under the Elastic License
16
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
17
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
18
+ * Side Public License, v 1.
19
+ */
20
+
21
+ var EuiTableStoreContext = /*#__PURE__*/(0, _react.createContext)(null);
22
+
23
+ /**
24
+ * @internal
25
+ */
26
+ var EuiTableStoreProvider = exports.EuiTableStoreProvider = function EuiTableStoreProvider(_ref) {
27
+ var children = _ref.children;
28
+ var store = (0, _react.useRef)(null);
29
+ if (!store.current) {
30
+ store.current = (0, _store.createEuiTableStore)();
31
+ }
32
+ return (0, _react2.jsx)(EuiTableStoreContext.Provider, {
33
+ value: store.current
34
+ }, children);
35
+ };
36
+
37
+ /**
38
+ * @internal
39
+ */
40
+ var useEuiTableColumnDataStore = exports.useEuiTableColumnDataStore = function useEuiTableColumnDataStore() {
41
+ var store = (0, _react.useContext)(EuiTableStoreContext);
42
+ if (!store) {
43
+ throw new Error('[useEuiTableColumnDataStore] Store context not found. This hook must be used within EuiTable!');
44
+ }
45
+ return store;
46
+ };
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createEuiTableStore = void 0;
7
+ var _publisher = require("../../../utils/publisher");
8
+ /*
9
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
10
+ * or more contributor license agreements. Licensed under the Elastic License
11
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
12
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
13
+ * Side Public License, v 1.
14
+ */
15
+
16
+ /**
17
+ * @internal
18
+ */
19
+
20
+ /**
21
+ * @internal
22
+ */
23
+
24
+ /**
25
+ * @internal
26
+ */
27
+
28
+ var createEuiTableStore = exports.createEuiTableStore = function createEuiTableStore() {
29
+ var columns = new Map();
30
+ var columnsPublisher = (0, _publisher.createPublisher)();
31
+ var columnWidths = new Map();
32
+ var columnWidthsPublisher = (0, _publisher.createPublisher)();
33
+ var registerColumn = function registerColumn(id, data) {
34
+ var _data$currentWidth;
35
+ if (columns.has(id)) {
36
+ throw new Error("[EuiTableStore] Column '".concat(id, "' already registered"));
37
+ }
38
+ columns.set(id, data);
39
+ // Initialize column in the columnWidths map to keep both maps in sync
40
+ columnWidths.set(id, (_data$currentWidth = data.currentWidth) !== null && _data$currentWidth !== void 0 ? _data$currentWidth : 0);
41
+ columnsPublisher.notify(columns);
42
+ return function () {
43
+ columns.delete(id);
44
+ columnWidths.delete(id);
45
+ columnsPublisher.notify(columns);
46
+ };
47
+ };
48
+ var updateColumn = function updateColumn(id, data) {
49
+ var currentData = columns.get(id);
50
+ if (!currentData) {
51
+ throw new Error("[EuiTableStore] Column '".concat(id, "' not found"));
52
+ }
53
+ columns.set(id, data);
54
+ columnsPublisher.notify(columns);
55
+ };
56
+ var updateColumnWidth = function updateColumnWidth(id, width) {
57
+ var currentWidth = columnWidths.get(id);
58
+ if (currentWidth === undefined) {
59
+ throw new Error("[EuiTableStore] No width stored for column '".concat(id, "'"));
60
+ }
61
+ if (currentWidth === width) {
62
+ return;
63
+ }
64
+ columnWidths.set(id, width);
65
+ columnWidthsPublisher.notify(columnWidths);
66
+ };
67
+ return {
68
+ registerColumn: registerColumn,
69
+ updateColumn: updateColumn,
70
+ updateColumnWidth: updateColumnWidth,
71
+ subscribe: columnsPublisher.subscribe,
72
+ subscribeToColumnWidths: columnWidthsPublisher.subscribe,
73
+ getColumns: function getColumns() {
74
+ return columns;
75
+ },
76
+ getColumnWidths: function getColumnWidths() {
77
+ return columnWidths;
78
+ }
79
+ };
80
+ };
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.EuiTable = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
8
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
10
  var _classnames = _interopRequireDefault(require("classnames"));
10
11
  var _services = require("../../services");
@@ -14,8 +15,11 @@ var _table = require("./table.styles");
14
15
  var _component_defaults = require("../provider/component_defaults");
15
16
  var _global_styling = require("../../global_styling");
16
17
  var _const = require("./const");
18
+ var _sticky_scrollbar = require("./sticky_scrollbar");
19
+ var _sticky_header = require("./sticky_header/sticky_header");
20
+ var _provider = require("./store/provider");
17
21
  var _react2 = require("@emotion/react");
18
- var _excluded = ["children", "className", "compressed", "tableLayout", "hasBackground", "responsiveBreakpoint", "scrollableInline"];
22
+ var _excluded = ["children", "className", "compressed", "tableLayout", "hasBackground", "responsiveBreakpoint", "scrollableInline", "stickyScrollbar", "stickyHeader"];
19
23
  /*
20
24
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
21
25
  * or more contributor license agreements. Licensed under the Elastic License
@@ -24,6 +28,8 @@ var _excluded = ["children", "className", "compressed", "tableLayout", "hasBackg
24
28
  * Side Public License, v 1.
25
29
  */
26
30
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
31
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
32
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
27
33
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
28
34
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
29
35
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
@@ -49,25 +55,41 @@ var EuiTable = exports.EuiTable = function EuiTable(originalProps) {
49
55
  responsiveBreakpoint = _usePropsWithComponen.responsiveBreakpoint,
50
56
  _usePropsWithComponen4 = _usePropsWithComponen.scrollableInline,
51
57
  scrollableInline = _usePropsWithComponen4 === void 0 ? false : _usePropsWithComponen4,
58
+ _usePropsWithComponen5 = _usePropsWithComponen.stickyScrollbar,
59
+ stickyScrollbar = _usePropsWithComponen5 === void 0 ? false : _usePropsWithComponen5,
60
+ _usePropsWithComponen6 = _usePropsWithComponen.stickyHeader,
61
+ stickyHeader = _usePropsWithComponen6 === void 0 ? false : _usePropsWithComponen6,
52
62
  rest = _objectWithoutProperties(_usePropsWithComponen, _excluded);
63
+ var tableWrapperRef = (0, _react.useRef)(null);
64
+ var tableRef = (0, _react.useRef)(null);
53
65
  var isResponsive = (0, _responsive_context.useIsEuiTableResponsive)(responsiveBreakpoint);
54
66
  var classes = (0, _classnames.default)('euiTable', className);
55
67
  var styles = (0, _services.useEuiMemoizedStyles)(_table.euiTableStyles);
56
68
  var tableStyles = [styles.euiTable, scrollableInline && styles.euiTableScrollableInline, styles.layout[tableLayout], (!compressed || isResponsive) && styles.uncompressed, compressed && !isResponsive && styles.compressed, hasBackground && styles.hasBackground, isResponsive ? styles.mobile : styles.desktop];
57
69
  var cssStyles = [(0, _global_styling.euiContainerCSS)('normal', _const.EUI_TABLE_CSS_CONTAINER_NAME, true), scrollableInline && styles.scrollableWrapper];
58
- return (0, _react2.jsx)("div", {
59
- css: cssStyles
70
+ return (0, _react2.jsx)(_provider.EuiTableStoreProvider, null, stickyHeader && (0, _react2.jsx)(_sticky_header.EuiTableStickyHeader, {
71
+ scrollableInline: scrollableInline,
72
+ tableRef: tableRef,
73
+ tableWrapperRef: tableWrapperRef,
74
+ compressed: compressed,
75
+ isResponsive: isResponsive
76
+ }), (0, _react2.jsx)("div", {
77
+ css: cssStyles,
78
+ ref: tableWrapperRef
60
79
  }, (0, _react2.jsx)("table", _extends({
61
80
  tabIndex: -1,
62
81
  css: tableStyles,
63
- className: classes
82
+ className: classes,
83
+ ref: tableRef
64
84
  }, rest), (0, _react2.jsx)(_responsive_context.EuiTableIsResponsiveContext.Provider, {
65
85
  value: isResponsive
66
86
  }, (0, _react2.jsx)(_table_context.EuiTableVariantContext.Provider, {
67
87
  value: {
68
88
  hasBackground: hasBackground
69
89
  }
70
- }, children))));
90
+ }, children)))), scrollableInline && stickyScrollbar && (0, _react2.jsx)(_sticky_scrollbar.EuiTableStickyScrollbar, {
91
+ tableWrapperRef: tableWrapperRef
92
+ }));
71
93
  };
72
94
  EuiTable.propTypes = {
73
95
  compressed: _propTypes.default.bool,
@@ -101,6 +123,24 @@ EuiTable.propTypes = {
101
123
  * @default false
102
124
  */
103
125
  scrollableInline: _propTypes.default.bool,
126
+ /**
127
+ * Make the horizontal scrollbar visible even if the table is larger
128
+ * than the viewport height. Useful for long tables when the native browser
129
+ * scrollbar is at the bottom of the table and hard to reach.
130
+ *
131
+ * This prop requires [`scrollableInline`](#scrollableInline) to be `true`.
132
+ * @beta
133
+ * @default false
134
+ */
135
+ stickyScrollbar: _propTypes.default.bool,
136
+ /**
137
+ * Enable sticky table header that remains visible when scrolling.
138
+ * The header row will be duplicated and positioned with `position: sticky`.
139
+ *
140
+ * @beta
141
+ * @default false
142
+ */
143
+ stickyHeader: _propTypes.default.bool,
104
144
  className: _propTypes.default.string,
105
145
  "aria-label": _propTypes.default.string,
106
146
  "data-test-subj": _propTypes.default.string,
@@ -42,11 +42,11 @@ var euiTableVariables = exports.euiTableVariables = function euiTableVariables(_
42
42
  };
43
43
  };
44
44
  var _ref = process.env.NODE_ENV === "production" ? {
45
- name: "mqw298-scrollableWrapper",
46
- styles: "overflow-inline:auto;label:scrollableWrapper;"
45
+ name: "l8gzfy-scrollableWrapper",
46
+ styles: "overflow-inline:auto;overscroll-behavior-inline:none;label:scrollableWrapper;"
47
47
  } : {
48
- name: "mqw298-scrollableWrapper",
49
- styles: "overflow-inline:auto;label:scrollableWrapper;",
48
+ name: "l8gzfy-scrollableWrapper",
49
+ styles: "overflow-inline:auto;overscroll-behavior-inline:none;label:scrollableWrapper;",
50
50
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
51
51
  };
52
52
  var _ref2 = process.env.NODE_ENV === "production" ? {