@elastic/eui 108.0.0 → 109.1.0-snapshot.1763390960850

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 (405) hide show
  1. package/es/components/accessibility/skip_link/skip_link.js +10 -1
  2. package/es/components/basic_table/collapsed_item_actions.js +3 -1
  3. package/es/components/basic_table/default_item_action.js +7 -4
  4. package/es/components/bottom_bar/bottom_bar.js +12 -2
  5. package/es/components/button/button.js +20 -25
  6. package/es/components/button/button_display/_button_display.js +32 -30
  7. package/es/components/button/button_display/_button_display.styles.js +4 -4
  8. package/es/components/button/button_empty/button_empty.js +32 -14
  9. package/es/components/button/button_group/button_group.js +49 -31
  10. package/es/components/button/button_group/button_group_button.js +16 -5
  11. package/es/components/button/button_group/button_group_button.styles.js +12 -8
  12. package/es/components/button/button_icon/button_icon.js +30 -6
  13. package/es/components/card/card.js +20 -25
  14. package/es/components/card/card_select/card_select.js +20 -25
  15. package/es/components/code/code_block_virtualized.js +9 -7
  16. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
  17. package/es/components/datagrid/body/cell/data_grid_cell.js +35 -12
  18. package/es/components/datagrid/body/data_grid_body.js +23 -6
  19. package/es/components/datagrid/body/data_grid_body_custom.js +23 -6
  20. package/es/components/datagrid/body/data_grid_body_virtualized.js +23 -6
  21. package/es/components/datagrid/body/header/column_actions.js +5 -21
  22. package/es/components/datagrid/body/header/data_grid_header_cell.js +29 -10
  23. package/es/components/datagrid/body/header/data_grid_header_cell.styles.js +8 -2
  24. package/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +5 -2
  25. package/es/components/datagrid/controls/column_selector.js +36 -19
  26. package/es/components/datagrid/controls/column_sorting.js +23 -6
  27. package/es/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
  28. package/es/components/datagrid/data_grid.js +5 -1
  29. package/es/components/datagrid/utils/in_memory.js +25 -7
  30. package/es/components/date_picker/auto_refresh/auto_refresh.js +11 -2
  31. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +31 -5
  32. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
  33. package/es/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
  34. package/es/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
  35. package/es/components/date_picker/super_date_picker/date_popover/timezone_display.js +98 -0
  36. package/es/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +19 -0
  37. package/es/components/date_picker/super_date_picker/pretty_duration.js +1 -8
  38. package/es/components/date_picker/super_date_picker/relative_utils.js +8 -0
  39. package/es/components/date_picker/super_date_picker/super_date_picker.js +118 -26
  40. package/es/components/date_picker/super_date_picker/time_window_buttons.js +185 -0
  41. package/es/components/facet/facet_button.js +9 -19
  42. package/es/components/filter_group/filter_button.js +14 -1
  43. package/es/components/flyout/flyout.js +27 -10
  44. package/es/components/form/file_picker/file_picker.styles.js +3 -3
  45. package/es/components/form/form_control_button/form_control_button.js +13 -7
  46. package/es/components/header/header_links/header_link.js +13 -7
  47. package/es/components/header/header_section/header_section_item_button.js +13 -7
  48. package/es/components/icon/assets/boxes_vertical.js +1 -1
  49. package/es/components/icon/assets/checkInCircleFilled.js +1 -2
  50. package/es/components/icon/assets/errorFilled.js +1 -2
  51. package/es/components/icon/assets/paper_clip.js +1 -1
  52. package/es/components/icon/assets/streams_wired.js +3 -2
  53. package/es/components/icon/assets/warningFilled.js +1 -2
  54. package/es/components/icon/icon_map.js +3 -6
  55. package/es/components/list_group/list_group.js +13 -1
  56. package/es/components/list_group/list_group_item.js +13 -1
  57. package/es/components/list_group/list_group_item_extra_action.js +13 -1
  58. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
  59. package/es/components/overlay_mask/overlay_mask.styles.js +1 -1
  60. package/es/components/pagination/pagination_button.js +13 -7
  61. package/es/components/popover/popover.js +22 -16
  62. package/es/components/provider/component_defaults/component_defaults.js +22 -2
  63. package/es/components/table/table_row.styles.js +1 -1
  64. package/es/components/tool_tip/tool_tip.js +24 -24
  65. package/es/global_styling/index.js +2 -1
  66. package/es/global_styling/mixins/_button.js +1 -1
  67. package/es/global_styling/utility/selectors.js +9 -0
  68. package/es/services/focus_trap/focus_trap_pub_sub.js +74 -0
  69. package/es/services/focus_trap/index.js +9 -0
  70. package/es/services/hooks/index.js +2 -1
  71. package/es/services/hooks/useEuiDisabledElement.js +195 -0
  72. package/es/services/index.js +1 -0
  73. package/es/services/popover/reposition_on_scroll.js +61 -0
  74. package/es/services/theme/high_contrast_overrides.js +5 -1
  75. package/es/test/cypress/index.d.ts +12 -0
  76. package/es/test/cypress/index.js +9 -0
  77. package/es/test/cypress/matchers.d.ts +20 -0
  78. package/es/test/cypress/matchers.js +54 -0
  79. package/es/test/cypress/test_reposition_on_scroll.js +66 -0
  80. package/es/test/enzyme/enzyme_matchers.d.ts +36 -0
  81. package/es/test/enzyme/enzyme_matchers.js +43 -0
  82. package/es/test/enzyme/index.d.ts +14 -0
  83. package/es/test/enzyme/index.js +10 -0
  84. package/es/test/rtl/index.d.ts +9 -1
  85. package/es/test/rtl/index.js +2 -1
  86. package/es/test/rtl/matchers.d.ts +36 -0
  87. package/es/test/rtl/matchers.js +82 -0
  88. package/es/utils/element_can_be_disabled.js +16 -0
  89. package/es/utils/index.js +2 -1
  90. package/eui.d.ts +604 -183
  91. package/i18ntokens.json +1357 -1231
  92. package/lib/components/accessibility/skip_link/skip_link.js +10 -1
  93. package/lib/components/basic_table/collapsed_item_actions.js +3 -1
  94. package/lib/components/basic_table/default_item_action.js +7 -4
  95. package/lib/components/bottom_bar/bottom_bar.js +11 -1
  96. package/lib/components/button/button.js +21 -26
  97. package/lib/components/button/button_display/_button_display.js +31 -29
  98. package/lib/components/button/button_display/_button_display.styles.js +4 -4
  99. package/lib/components/button/button_empty/button_empty.js +31 -13
  100. package/lib/components/button/button_group/button_group.js +49 -31
  101. package/lib/components/button/button_group/button_group_button.js +16 -5
  102. package/lib/components/button/button_group/button_group_button.styles.js +10 -6
  103. package/lib/components/button/button_icon/button_icon.js +29 -5
  104. package/lib/components/card/card.js +21 -26
  105. package/lib/components/card/card_select/card_select.js +21 -26
  106. package/lib/components/code/code_block_virtualized.js +9 -7
  107. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
  108. package/lib/components/datagrid/body/cell/data_grid_cell.js +35 -12
  109. package/lib/components/datagrid/body/data_grid_body.js +23 -6
  110. package/lib/components/datagrid/body/data_grid_body_custom.js +23 -6
  111. package/lib/components/datagrid/body/data_grid_body_virtualized.js +23 -6
  112. package/lib/components/datagrid/body/header/column_actions.js +5 -21
  113. package/lib/components/datagrid/body/header/data_grid_header_cell.js +29 -10
  114. package/lib/components/datagrid/body/header/data_grid_header_cell.styles.js +8 -1
  115. package/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +5 -2
  116. package/lib/components/datagrid/controls/column_selector.js +36 -19
  117. package/lib/components/datagrid/controls/column_sorting.js +23 -6
  118. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
  119. package/lib/components/datagrid/data_grid.js +5 -1
  120. package/lib/components/datagrid/utils/in_memory.js +25 -7
  121. package/lib/components/date_picker/auto_refresh/auto_refresh.js +12 -3
  122. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +30 -4
  123. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
  124. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
  125. package/lib/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
  126. package/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js +104 -0
  127. package/lib/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
  128. package/lib/components/date_picker/super_date_picker/pretty_duration.js +2 -9
  129. package/lib/components/date_picker/super_date_picker/relative_utils.js +9 -0
  130. package/lib/components/date_picker/super_date_picker/super_date_picker.js +118 -26
  131. package/lib/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
  132. package/lib/components/facet/facet_button.js +9 -19
  133. package/lib/components/filter_group/filter_button.js +14 -1
  134. package/lib/components/flyout/flyout.js +26 -9
  135. package/lib/components/form/file_picker/file_picker.styles.js +3 -3
  136. package/lib/components/form/form_control_button/form_control_button.js +13 -7
  137. package/lib/components/header/header_links/header_link.js +13 -7
  138. package/lib/components/header/header_section/header_section_item_button.js +13 -7
  139. package/lib/components/icon/assets/boxes_vertical.js +1 -1
  140. package/lib/components/icon/assets/checkInCircleFilled.js +1 -2
  141. package/lib/components/icon/assets/errorFilled.js +1 -2
  142. package/lib/components/icon/assets/paper_clip.js +1 -1
  143. package/lib/components/icon/assets/streams_wired.js +3 -2
  144. package/lib/components/icon/assets/warningFilled.js +1 -2
  145. package/lib/components/icon/icon_map.js +3 -6
  146. package/lib/components/icon/svgs/boxes_vertical.svg +1 -1
  147. package/lib/components/icon/svgs/checkInCircleFilled.svg +1 -1
  148. package/lib/components/icon/svgs/errorFilled.svg +1 -1
  149. package/lib/components/icon/svgs/paper_clip.svg +3 -3
  150. package/lib/components/icon/svgs/warningFilled.svg +1 -1
  151. package/lib/components/list_group/list_group.js +13 -1
  152. package/lib/components/list_group/list_group_item.js +13 -1
  153. package/lib/components/list_group/list_group_item_extra_action.js +13 -1
  154. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
  155. package/lib/components/overlay_mask/overlay_mask.styles.js +1 -1
  156. package/lib/components/pagination/pagination_button.js +13 -7
  157. package/lib/components/popover/popover.js +21 -15
  158. package/lib/components/provider/component_defaults/component_defaults.js +22 -2
  159. package/lib/components/table/table_row.styles.js +1 -1
  160. package/lib/components/tool_tip/tool_tip.js +24 -24
  161. package/lib/global_styling/index.js +16 -1
  162. package/lib/global_styling/mixins/_button.js +1 -1
  163. package/lib/global_styling/utility/selectors.js +15 -0
  164. package/lib/services/focus_trap/focus_trap_pub_sub.js +80 -0
  165. package/lib/services/focus_trap/index.js +12 -0
  166. package/lib/services/hooks/index.js +18 -1
  167. package/lib/services/hooks/useEuiDisabledElement.js +199 -0
  168. package/lib/services/index.js +8 -0
  169. package/lib/services/popover/reposition_on_scroll.js +67 -0
  170. package/lib/services/theme/high_contrast_overrides.js +5 -1
  171. package/lib/test/cypress/index.d.ts +12 -0
  172. package/lib/test/cypress/index.js +18 -0
  173. package/lib/test/cypress/matchers.d.ts +20 -0
  174. package/lib/test/cypress/matchers.js +61 -0
  175. package/lib/test/cypress/test_reposition_on_scroll.js +69 -0
  176. package/lib/test/enzyme/enzyme_matchers.d.ts +36 -0
  177. package/lib/test/enzyme/enzyme_matchers.js +49 -0
  178. package/lib/test/enzyme/index.d.ts +14 -0
  179. package/lib/test/enzyme/index.js +24 -0
  180. package/lib/test/rtl/index.d.ts +9 -1
  181. package/lib/test/rtl/index.js +24 -2
  182. package/lib/test/rtl/matchers.d.ts +36 -0
  183. package/lib/test/rtl/matchers.js +86 -0
  184. package/lib/utils/element_can_be_disabled.js +22 -0
  185. package/lib/utils/index.js +14 -1
  186. package/optimize/es/components/basic_table/collapsed_item_actions.js +3 -1
  187. package/optimize/es/components/basic_table/default_item_action.js +7 -4
  188. package/optimize/es/components/bottom_bar/bottom_bar.js +12 -2
  189. package/optimize/es/components/button/button_display/_button_display.js +24 -12
  190. package/optimize/es/components/button/button_display/_button_display.styles.js +4 -4
  191. package/optimize/es/components/button/button_empty/button_empty.js +18 -6
  192. package/optimize/es/components/button/button_group/button_group.js +10 -5
  193. package/optimize/es/components/button/button_group/button_group_button.js +2 -3
  194. package/optimize/es/components/button/button_group/button_group_button.styles.js +12 -8
  195. package/optimize/es/components/button/button_icon/button_icon.js +17 -5
  196. package/optimize/es/components/code/code_block_virtualized.js +9 -7
  197. package/optimize/es/components/datagrid/body/header/column_actions.js +5 -21
  198. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +6 -4
  199. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.styles.js +8 -2
  200. package/optimize/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +4 -2
  201. package/optimize/es/components/datagrid/controls/column_selector.js +36 -19
  202. package/optimize/es/components/datagrid/data_grid.js +5 -1
  203. package/optimize/es/components/datagrid/utils/in_memory.js +2 -1
  204. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +12 -4
  205. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +5 -2
  206. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_content.js +7 -3
  207. package/optimize/es/components/date_picker/super_date_picker/date_popover/relative_tab.js +10 -2
  208. package/optimize/es/components/date_picker/super_date_picker/date_popover/timezone_display.js +97 -0
  209. package/optimize/es/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +19 -0
  210. package/optimize/es/components/date_picker/super_date_picker/pretty_duration.js +1 -8
  211. package/optimize/es/components/date_picker/super_date_picker/relative_utils.js +8 -0
  212. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.js +49 -25
  213. package/optimize/es/components/date_picker/super_date_picker/time_window_buttons.js +185 -0
  214. package/optimize/es/components/flyout/flyout.js +27 -10
  215. package/optimize/es/components/form/file_picker/file_picker.styles.js +3 -3
  216. package/optimize/es/components/icon/assets/boxes_vertical.js +1 -1
  217. package/optimize/es/components/icon/assets/checkInCircleFilled.js +1 -2
  218. package/optimize/es/components/icon/assets/errorFilled.js +1 -2
  219. package/optimize/es/components/icon/assets/paper_clip.js +1 -1
  220. package/optimize/es/components/icon/assets/streams_wired.js +3 -2
  221. package/optimize/es/components/icon/assets/warningFilled.js +1 -2
  222. package/optimize/es/components/icon/icon_map.js +3 -6
  223. package/optimize/es/components/overlay_mask/overlay_mask.styles.js +1 -1
  224. package/optimize/es/components/popover/popover.js +22 -16
  225. package/optimize/es/components/table/table_row.styles.js +1 -1
  226. package/optimize/es/components/tool_tip/tool_tip.js +24 -24
  227. package/optimize/es/global_styling/index.js +2 -1
  228. package/optimize/es/global_styling/mixins/_button.js +1 -1
  229. package/optimize/es/global_styling/utility/selectors.js +9 -0
  230. package/optimize/es/services/focus_trap/focus_trap_pub_sub.js +74 -0
  231. package/optimize/es/services/focus_trap/index.js +9 -0
  232. package/optimize/es/services/hooks/index.js +2 -1
  233. package/optimize/es/services/hooks/useEuiDisabledElement.js +192 -0
  234. package/optimize/es/services/index.js +1 -0
  235. package/optimize/es/services/popover/reposition_on_scroll.js +61 -0
  236. package/optimize/es/services/theme/high_contrast_overrides.js +5 -1
  237. package/optimize/es/test/cypress/index.d.ts +12 -0
  238. package/optimize/es/test/cypress/index.js +9 -0
  239. package/optimize/es/test/cypress/matchers.d.ts +20 -0
  240. package/optimize/es/test/cypress/matchers.js +54 -0
  241. package/optimize/es/test/cypress/test_reposition_on_scroll.js +63 -0
  242. package/optimize/es/test/enzyme/enzyme_matchers.d.ts +36 -0
  243. package/optimize/es/test/enzyme/enzyme_matchers.js +43 -0
  244. package/optimize/es/test/enzyme/index.d.ts +14 -0
  245. package/optimize/es/test/enzyme/index.js +10 -0
  246. package/optimize/es/test/rtl/index.d.ts +9 -1
  247. package/optimize/es/test/rtl/index.js +2 -1
  248. package/optimize/es/test/rtl/matchers.d.ts +36 -0
  249. package/optimize/es/test/rtl/matchers.js +82 -0
  250. package/optimize/es/utils/element_can_be_disabled.js +16 -0
  251. package/optimize/es/utils/index.js +2 -1
  252. package/optimize/lib/components/basic_table/collapsed_item_actions.js +3 -1
  253. package/optimize/lib/components/basic_table/default_item_action.js +7 -4
  254. package/optimize/lib/components/bottom_bar/bottom_bar.js +11 -1
  255. package/optimize/lib/components/button/button_display/_button_display.js +23 -11
  256. package/optimize/lib/components/button/button_display/_button_display.styles.js +4 -4
  257. package/optimize/lib/components/button/button_empty/button_empty.js +17 -5
  258. package/optimize/lib/components/button/button_group/button_group.js +10 -5
  259. package/optimize/lib/components/button/button_group/button_group_button.js +2 -3
  260. package/optimize/lib/components/button/button_group/button_group_button.styles.js +10 -6
  261. package/optimize/lib/components/button/button_icon/button_icon.js +16 -4
  262. package/optimize/lib/components/code/code_block_virtualized.js +9 -7
  263. package/optimize/lib/components/datagrid/body/header/column_actions.js +5 -21
  264. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -4
  265. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.styles.js +8 -1
  266. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +4 -2
  267. package/optimize/lib/components/datagrid/controls/column_selector.js +36 -19
  268. package/optimize/lib/components/datagrid/data_grid.js +5 -1
  269. package/optimize/lib/components/datagrid/utils/in_memory.js +2 -1
  270. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +11 -3
  271. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +5 -2
  272. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_content.js +7 -3
  273. package/optimize/lib/components/date_picker/super_date_picker/date_popover/relative_tab.js +10 -2
  274. package/optimize/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js +103 -0
  275. package/optimize/lib/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
  276. package/optimize/lib/components/date_picker/super_date_picker/pretty_duration.js +2 -9
  277. package/optimize/lib/components/date_picker/super_date_picker/relative_utils.js +9 -0
  278. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.js +49 -25
  279. package/optimize/lib/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
  280. package/optimize/lib/components/flyout/flyout.js +26 -9
  281. package/optimize/lib/components/form/file_picker/file_picker.styles.js +3 -3
  282. package/optimize/lib/components/icon/assets/boxes_vertical.js +1 -1
  283. package/optimize/lib/components/icon/assets/checkInCircleFilled.js +1 -2
  284. package/optimize/lib/components/icon/assets/errorFilled.js +1 -2
  285. package/optimize/lib/components/icon/assets/paper_clip.js +1 -1
  286. package/optimize/lib/components/icon/assets/streams_wired.js +3 -2
  287. package/optimize/lib/components/icon/assets/warningFilled.js +1 -2
  288. package/optimize/lib/components/icon/icon_map.js +3 -6
  289. package/optimize/lib/components/icon/svgs/boxes_vertical.svg +1 -1
  290. package/optimize/lib/components/icon/svgs/checkInCircleFilled.svg +1 -1
  291. package/optimize/lib/components/icon/svgs/errorFilled.svg +1 -1
  292. package/optimize/lib/components/icon/svgs/paper_clip.svg +3 -3
  293. package/optimize/lib/components/icon/svgs/warningFilled.svg +1 -1
  294. package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +1 -1
  295. package/optimize/lib/components/popover/popover.js +21 -15
  296. package/optimize/lib/components/table/table_row.styles.js +1 -1
  297. package/optimize/lib/components/tool_tip/tool_tip.js +24 -24
  298. package/optimize/lib/global_styling/index.js +16 -1
  299. package/optimize/lib/global_styling/mixins/_button.js +1 -1
  300. package/optimize/lib/global_styling/utility/selectors.js +15 -0
  301. package/optimize/lib/services/focus_trap/focus_trap_pub_sub.js +80 -0
  302. package/optimize/lib/services/focus_trap/index.js +12 -0
  303. package/optimize/lib/services/hooks/index.js +18 -1
  304. package/optimize/lib/services/hooks/useEuiDisabledElement.js +197 -0
  305. package/optimize/lib/services/index.js +8 -0
  306. package/optimize/lib/services/popover/reposition_on_scroll.js +67 -0
  307. package/optimize/lib/services/theme/high_contrast_overrides.js +5 -1
  308. package/optimize/lib/test/cypress/index.d.ts +12 -0
  309. package/optimize/lib/test/cypress/index.js +18 -0
  310. package/optimize/lib/test/cypress/matchers.d.ts +20 -0
  311. package/optimize/lib/test/cypress/matchers.js +61 -0
  312. package/optimize/lib/test/cypress/test_reposition_on_scroll.js +70 -0
  313. package/optimize/lib/test/enzyme/enzyme_matchers.d.ts +36 -0
  314. package/optimize/lib/test/enzyme/enzyme_matchers.js +50 -0
  315. package/optimize/lib/test/enzyme/index.d.ts +14 -0
  316. package/optimize/lib/test/enzyme/index.js +24 -0
  317. package/optimize/lib/test/rtl/index.d.ts +9 -1
  318. package/optimize/lib/test/rtl/index.js +24 -2
  319. package/optimize/lib/test/rtl/matchers.d.ts +36 -0
  320. package/optimize/lib/test/rtl/matchers.js +86 -0
  321. package/optimize/lib/utils/element_can_be_disabled.js +22 -0
  322. package/optimize/lib/utils/index.js +14 -1
  323. package/package.json +6 -5
  324. package/test-env/components/accessibility/skip_link/skip_link.js +10 -1
  325. package/test-env/components/basic_table/collapsed_item_actions.js +3 -1
  326. package/test-env/components/basic_table/default_item_action.js +7 -4
  327. package/test-env/components/bottom_bar/bottom_bar.js +11 -1
  328. package/test-env/components/button/button.js +21 -26
  329. package/test-env/components/button/button_display/_button_display.js +31 -29
  330. package/test-env/components/button/button_display/_button_display.styles.js +4 -4
  331. package/test-env/components/button/button_empty/button_empty.js +31 -13
  332. package/test-env/components/button/button_group/button_group.js +49 -31
  333. package/test-env/components/button/button_group/button_group_button.js +16 -5
  334. package/test-env/components/button/button_group/button_group_button.styles.js +10 -6
  335. package/test-env/components/button/button_icon/button_icon.js +29 -5
  336. package/test-env/components/card/card.js +21 -26
  337. package/test-env/components/card/card_select/card_select.js +21 -26
  338. package/test-env/components/code/code_block_virtualized.js +9 -7
  339. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
  340. package/test-env/components/datagrid/body/cell/data_grid_cell.js +35 -12
  341. package/test-env/components/datagrid/body/data_grid_body.js +23 -6
  342. package/test-env/components/datagrid/body/data_grid_body_custom.js +23 -6
  343. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +23 -6
  344. package/test-env/components/datagrid/body/header/column_actions.js +5 -21
  345. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +29 -10
  346. package/test-env/components/datagrid/body/header/data_grid_header_cell.styles.js +8 -1
  347. package/test-env/components/datagrid/body/header/data_grid_header_cell_wrapper.js +5 -2
  348. package/test-env/components/datagrid/controls/column_selector.js +36 -19
  349. package/test-env/components/datagrid/controls/column_sorting.js +23 -6
  350. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
  351. package/test-env/components/datagrid/data_grid.js +5 -1
  352. package/test-env/components/datagrid/utils/in_memory.js +25 -7
  353. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +12 -3
  354. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +30 -4
  355. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
  356. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
  357. package/test-env/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
  358. package/test-env/components/date_picker/super_date_picker/date_popover/timezone_display.js +103 -0
  359. package/test-env/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
  360. package/test-env/components/date_picker/super_date_picker/pretty_duration.js +2 -9
  361. package/test-env/components/date_picker/super_date_picker/relative_utils.js +9 -0
  362. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +118 -26
  363. package/test-env/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
  364. package/test-env/components/facet/facet_button.js +9 -19
  365. package/test-env/components/filter_group/filter_button.js +14 -1
  366. package/test-env/components/form/file_picker/file_picker.styles.js +3 -3
  367. package/test-env/components/form/form_control_button/form_control_button.js +13 -7
  368. package/test-env/components/header/header_links/header_link.js +13 -7
  369. package/test-env/components/header/header_section/header_section_item_button.js +13 -7
  370. package/test-env/components/icon/assets/boxes_vertical.js +1 -1
  371. package/test-env/components/icon/assets/checkInCircleFilled.js +1 -2
  372. package/test-env/components/icon/assets/errorFilled.js +1 -2
  373. package/test-env/components/icon/assets/paper_clip.js +1 -1
  374. package/test-env/components/icon/assets/streams_wired.js +3 -2
  375. package/test-env/components/icon/assets/warningFilled.js +1 -2
  376. package/test-env/components/icon/icon_map.js +3 -6
  377. package/test-env/components/list_group/list_group.js +13 -1
  378. package/test-env/components/list_group/list_group_item.js +13 -1
  379. package/test-env/components/list_group/list_group_item_extra_action.js +13 -1
  380. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
  381. package/test-env/components/overlay_mask/overlay_mask.styles.js +1 -1
  382. package/test-env/components/pagination/pagination_button.js +13 -7
  383. package/test-env/components/popover/popover.js +21 -15
  384. package/test-env/components/provider/component_defaults/component_defaults.js +22 -2
  385. package/test-env/components/table/table_row.styles.js +1 -1
  386. package/test-env/components/tool_tip/tool_tip.js +24 -24
  387. package/test-env/global_styling/index.js +16 -1
  388. package/test-env/global_styling/mixins/_button.js +1 -1
  389. package/test-env/global_styling/utility/selectors.js +15 -0
  390. package/test-env/services/focus_trap/focus_trap_pub_sub.js +80 -0
  391. package/test-env/services/focus_trap/index.js +12 -0
  392. package/test-env/services/hooks/index.js +18 -1
  393. package/test-env/services/hooks/useEuiDisabledElement.js +197 -0
  394. package/test-env/services/index.js +8 -0
  395. package/test-env/services/popover/reposition_on_scroll.js +67 -0
  396. package/test-env/services/theme/high_contrast_overrides.js +5 -1
  397. package/test-env/test/cypress/index.js +18 -0
  398. package/test-env/test/cypress/matchers.js +61 -0
  399. package/test-env/test/cypress/test_reposition_on_scroll.js +70 -0
  400. package/test-env/test/enzyme/enzyme_matchers.js +50 -0
  401. package/test-env/test/enzyme/index.js +24 -0
  402. package/test-env/test/rtl/index.js +24 -2
  403. package/test-env/test/rtl/matchers.js +86 -0
  404. package/test-env/utils/element_can_be_disabled.js +22 -0
  405. package/test-env/utils/index.js +14 -1
@@ -14,7 +14,7 @@ var _global_styling = require("../../global_styling");
14
14
  var _auto_sizer = require("../auto_sizer");
15
15
  var _utils = require("./utils");
16
16
  var _react2 = require("@emotion/react");
17
- var _excluded = ["style", "children"],
17
+ var _excluded = ["style"],
18
18
  _excluded2 = ["style"];
19
19
  /*
20
20
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -32,29 +32,31 @@ var EuiCodeBlockVirtualized = exports.EuiCodeBlockVirtualized = function EuiCode
32
32
  overflowHeight = _ref.overflowHeight,
33
33
  preProps = _ref.preProps,
34
34
  codeProps = _ref.codeProps;
35
+ // NOTE: Don't inject other content (e.g. a label) inside this outer virtualized
36
+ // container as react-window requires this to be stable for scroll calculations.
37
+ // Instead, inject it into the inner virtualized element.
35
38
  var VirtualizedOuterElement = (0, _react.useMemo)(function () {
36
39
  return /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
37
40
  var style = _ref2.style,
38
- children = _ref2.children,
39
41
  props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
40
42
  return (0, _react2.jsx)("pre", (0, _extends2.default)({
41
43
  style: (0, _global_styling.logicalStyles)(style)
42
44
  }, props, {
43
45
  ref: ref
44
- }, preProps), label, children);
46
+ }, preProps));
45
47
  });
46
- }, [preProps, label]);
48
+ }, [preProps]);
47
49
  var VirtualizedInnerElement = (0, _react.useMemo)(function () {
48
50
  return /*#__PURE__*/(0, _react.forwardRef)(function (_ref3, ref) {
49
51
  var style = _ref3.style,
50
52
  props = (0, _objectWithoutProperties2.default)(_ref3, _excluded2);
51
- return (0, _react2.jsx)("code", (0, _extends2.default)({
53
+ return (0, _react2.jsx)(_react.default.Fragment, null, label, (0, _react2.jsx)("code", (0, _extends2.default)({
52
54
  style: (0, _global_styling.logicalStyles)(style)
53
55
  }, props, {
54
56
  ref: ref
55
- }, codeProps));
57
+ }, codeProps)));
56
58
  });
57
- }, [codeProps]);
59
+ }, [codeProps, label]);
58
60
  var virtualizationProps = {
59
61
  itemData: data,
60
62
  itemSize: rowHeight,
@@ -233,7 +233,6 @@ KibanaCollapsibleNavSolution.propTypes = {
233
233
  color: _propTypes.default.any,
234
234
  "aria-label": _propTypes.default.string,
235
235
  "aria-labelledby": _propTypes.default.string,
236
- isDisabled: _propTypes.default.bool,
237
236
  /**
238
237
  * Overall size of button.
239
238
  * Matches the sizes of other EuiButtons
@@ -263,6 +262,19 @@ KibanaCollapsibleNavSolution.propTypes = {
263
262
  className: _propTypes.default.string,
264
263
  "data-test-subj": _propTypes.default.string,
265
264
  css: _propTypes.default.any,
265
+ /**
266
+ * Controls the disabled behavior via the native `disabled` attribute.
267
+ */
268
+ isDisabled: _propTypes.default.bool,
269
+ /**
270
+ * NOTE: Beta feature, may be changed or removed in the future
271
+ *
272
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
273
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
274
+ *
275
+ * Use e.g. when a disabled button should have a tooltip.
276
+ */
277
+ hasAriaDisabled: _propTypes.default.bool,
266
278
  buttonRef: _propTypes.default.any
267
279
  }),
268
280
  /**
@@ -219,7 +219,6 @@ EuiDataGridCellContent.propTypes = {
219
219
  color: _propTypes.default.any,
220
220
  "aria-label": _propTypes.default.string,
221
221
  "aria-labelledby": _propTypes.default.string,
222
- isDisabled: _propTypes.default.bool,
223
222
  /**
224
223
  * Overall size of button.
225
224
  * Matches the sizes of other EuiButtons
@@ -249,6 +248,19 @@ EuiDataGridCellContent.propTypes = {
249
248
  className: _propTypes.default.string,
250
249
  "data-test-subj": _propTypes.default.string,
251
250
  css: _propTypes.default.any,
251
+ /**
252
+ * Controls the disabled behavior via the native `disabled` attribute.
253
+ */
254
+ isDisabled: _propTypes.default.bool,
255
+ /**
256
+ * NOTE: Beta feature, may be changed or removed in the future
257
+ *
258
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
259
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
260
+ *
261
+ * Use e.g. when a disabled button should have a tooltip.
262
+ */
263
+ hasAriaDisabled: _propTypes.default.bool,
252
264
  buttonRef: _propTypes.default.any
253
265
  }),
254
266
  /**
@@ -302,7 +314,6 @@ EuiDataGridCellContent.propTypes = {
302
314
  color: _propTypes.default.any,
303
315
  "aria-label": _propTypes.default.string,
304
316
  "aria-labelledby": _propTypes.default.string,
305
- isDisabled: _propTypes.default.bool,
306
317
  size: _propTypes.default.any,
307
318
  iconSize: _propTypes.default.any,
308
319
  isSelected: _propTypes.default.bool,
@@ -311,6 +322,8 @@ EuiDataGridCellContent.propTypes = {
311
322
  className: _propTypes.default.string,
312
323
  "data-test-subj": _propTypes.default.string,
313
324
  css: _propTypes.default.any,
325
+ isDisabled: _propTypes.default.bool,
326
+ hasAriaDisabled: _propTypes.default.bool,
314
327
  buttonRef: _propTypes.default.any
315
328
  }),
316
329
  onClick: _propTypes.default.func,
@@ -345,7 +358,6 @@ EuiDataGridCellContent.propTypes = {
345
358
  color: _propTypes.default.any,
346
359
  "aria-label": _propTypes.default.string,
347
360
  "aria-labelledby": _propTypes.default.string,
348
- isDisabled: _propTypes.default.bool,
349
361
  size: _propTypes.default.any,
350
362
  iconSize: _propTypes.default.any,
351
363
  isSelected: _propTypes.default.bool,
@@ -354,6 +366,8 @@ EuiDataGridCellContent.propTypes = {
354
366
  className: _propTypes.default.string,
355
367
  "data-test-subj": _propTypes.default.string,
356
368
  css: _propTypes.default.any,
369
+ isDisabled: _propTypes.default.bool,
370
+ hasAriaDisabled: _propTypes.default.bool,
357
371
  buttonRef: _propTypes.default.any
358
372
  }),
359
373
  onClick: _propTypes.default.func,
@@ -388,7 +402,6 @@ EuiDataGridCellContent.propTypes = {
388
402
  color: _propTypes.default.any,
389
403
  "aria-label": _propTypes.default.string,
390
404
  "aria-labelledby": _propTypes.default.string,
391
- isDisabled: _propTypes.default.bool,
392
405
  size: _propTypes.default.any,
393
406
  iconSize: _propTypes.default.any,
394
407
  isSelected: _propTypes.default.bool,
@@ -397,6 +410,8 @@ EuiDataGridCellContent.propTypes = {
397
410
  className: _propTypes.default.string,
398
411
  "data-test-subj": _propTypes.default.string,
399
412
  css: _propTypes.default.any,
413
+ isDisabled: _propTypes.default.bool,
414
+ hasAriaDisabled: _propTypes.default.bool,
400
415
  buttonRef: _propTypes.default.any
401
416
  }),
402
417
  onClick: _propTypes.default.func,
@@ -431,7 +446,6 @@ EuiDataGridCellContent.propTypes = {
431
446
  color: _propTypes.default.any,
432
447
  "aria-label": _propTypes.default.string,
433
448
  "aria-labelledby": _propTypes.default.string,
434
- isDisabled: _propTypes.default.bool,
435
449
  size: _propTypes.default.any,
436
450
  iconSize: _propTypes.default.any,
437
451
  isSelected: _propTypes.default.bool,
@@ -440,6 +454,8 @@ EuiDataGridCellContent.propTypes = {
440
454
  className: _propTypes.default.string,
441
455
  "data-test-subj": _propTypes.default.string,
442
456
  css: _propTypes.default.any,
457
+ isDisabled: _propTypes.default.bool,
458
+ hasAriaDisabled: _propTypes.default.bool,
443
459
  buttonRef: _propTypes.default.any
444
460
  }),
445
461
  onClick: _propTypes.default.func,
@@ -474,7 +490,6 @@ EuiDataGridCellContent.propTypes = {
474
490
  color: _propTypes.default.any,
475
491
  "aria-label": _propTypes.default.string,
476
492
  "aria-labelledby": _propTypes.default.string,
477
- isDisabled: _propTypes.default.bool,
478
493
  size: _propTypes.default.any,
479
494
  iconSize: _propTypes.default.any,
480
495
  isSelected: _propTypes.default.bool,
@@ -483,6 +498,8 @@ EuiDataGridCellContent.propTypes = {
483
498
  className: _propTypes.default.string,
484
499
  "data-test-subj": _propTypes.default.string,
485
500
  css: _propTypes.default.any,
501
+ isDisabled: _propTypes.default.bool,
502
+ hasAriaDisabled: _propTypes.default.bool,
486
503
  buttonRef: _propTypes.default.any
487
504
  }),
488
505
  onClick: _propTypes.default.func,
@@ -1113,7 +1130,6 @@ EuiDataGridCell.propTypes = {
1113
1130
  color: _propTypes.default.any,
1114
1131
  "aria-label": _propTypes.default.string,
1115
1132
  "aria-labelledby": _propTypes.default.string,
1116
- isDisabled: _propTypes.default.bool,
1117
1133
  size: _propTypes.default.any,
1118
1134
  iconSize: _propTypes.default.any,
1119
1135
  isSelected: _propTypes.default.bool,
@@ -1122,6 +1138,8 @@ EuiDataGridCell.propTypes = {
1122
1138
  className: _propTypes.default.string,
1123
1139
  "data-test-subj": _propTypes.default.string,
1124
1140
  css: _propTypes.default.any,
1141
+ isDisabled: _propTypes.default.bool,
1142
+ hasAriaDisabled: _propTypes.default.bool,
1125
1143
  buttonRef: _propTypes.default.any
1126
1144
  }),
1127
1145
  onClick: _propTypes.default.func,
@@ -1156,7 +1174,6 @@ EuiDataGridCell.propTypes = {
1156
1174
  color: _propTypes.default.any,
1157
1175
  "aria-label": _propTypes.default.string,
1158
1176
  "aria-labelledby": _propTypes.default.string,
1159
- isDisabled: _propTypes.default.bool,
1160
1177
  size: _propTypes.default.any,
1161
1178
  iconSize: _propTypes.default.any,
1162
1179
  isSelected: _propTypes.default.bool,
@@ -1165,6 +1182,8 @@ EuiDataGridCell.propTypes = {
1165
1182
  className: _propTypes.default.string,
1166
1183
  "data-test-subj": _propTypes.default.string,
1167
1184
  css: _propTypes.default.any,
1185
+ isDisabled: _propTypes.default.bool,
1186
+ hasAriaDisabled: _propTypes.default.bool,
1168
1187
  buttonRef: _propTypes.default.any
1169
1188
  }),
1170
1189
  onClick: _propTypes.default.func,
@@ -1199,7 +1218,6 @@ EuiDataGridCell.propTypes = {
1199
1218
  color: _propTypes.default.any,
1200
1219
  "aria-label": _propTypes.default.string,
1201
1220
  "aria-labelledby": _propTypes.default.string,
1202
- isDisabled: _propTypes.default.bool,
1203
1221
  size: _propTypes.default.any,
1204
1222
  iconSize: _propTypes.default.any,
1205
1223
  isSelected: _propTypes.default.bool,
@@ -1208,6 +1226,8 @@ EuiDataGridCell.propTypes = {
1208
1226
  className: _propTypes.default.string,
1209
1227
  "data-test-subj": _propTypes.default.string,
1210
1228
  css: _propTypes.default.any,
1229
+ isDisabled: _propTypes.default.bool,
1230
+ hasAriaDisabled: _propTypes.default.bool,
1211
1231
  buttonRef: _propTypes.default.any
1212
1232
  }),
1213
1233
  onClick: _propTypes.default.func,
@@ -1242,7 +1262,6 @@ EuiDataGridCell.propTypes = {
1242
1262
  color: _propTypes.default.any,
1243
1263
  "aria-label": _propTypes.default.string,
1244
1264
  "aria-labelledby": _propTypes.default.string,
1245
- isDisabled: _propTypes.default.bool,
1246
1265
  size: _propTypes.default.any,
1247
1266
  iconSize: _propTypes.default.any,
1248
1267
  isSelected: _propTypes.default.bool,
@@ -1251,6 +1270,8 @@ EuiDataGridCell.propTypes = {
1251
1270
  className: _propTypes.default.string,
1252
1271
  "data-test-subj": _propTypes.default.string,
1253
1272
  css: _propTypes.default.any,
1273
+ isDisabled: _propTypes.default.bool,
1274
+ hasAriaDisabled: _propTypes.default.bool,
1254
1275
  buttonRef: _propTypes.default.any
1255
1276
  }),
1256
1277
  onClick: _propTypes.default.func,
@@ -1285,7 +1306,6 @@ EuiDataGridCell.propTypes = {
1285
1306
  color: _propTypes.default.any,
1286
1307
  "aria-label": _propTypes.default.string,
1287
1308
  "aria-labelledby": _propTypes.default.string,
1288
- isDisabled: _propTypes.default.bool,
1289
1309
  size: _propTypes.default.any,
1290
1310
  iconSize: _propTypes.default.any,
1291
1311
  isSelected: _propTypes.default.bool,
@@ -1294,6 +1314,8 @@ EuiDataGridCell.propTypes = {
1294
1314
  className: _propTypes.default.string,
1295
1315
  "data-test-subj": _propTypes.default.string,
1296
1316
  css: _propTypes.default.any,
1317
+ isDisabled: _propTypes.default.bool,
1318
+ hasAriaDisabled: _propTypes.default.bool,
1297
1319
  buttonRef: _propTypes.default.any
1298
1320
  }),
1299
1321
  onClick: _propTypes.default.func,
@@ -1328,7 +1350,6 @@ EuiDataGridCell.propTypes = {
1328
1350
  color: _propTypes.default.any,
1329
1351
  "aria-label": _propTypes.default.string,
1330
1352
  "aria-labelledby": _propTypes.default.string,
1331
- isDisabled: _propTypes.default.bool,
1332
1353
  size: _propTypes.default.any,
1333
1354
  iconSize: _propTypes.default.any,
1334
1355
  isSelected: _propTypes.default.bool,
@@ -1337,6 +1358,8 @@ EuiDataGridCell.propTypes = {
1337
1358
  className: _propTypes.default.string,
1338
1359
  "data-test-subj": _propTypes.default.string,
1339
1360
  css: _propTypes.default.any,
1361
+ isDisabled: _propTypes.default.bool,
1362
+ hasAriaDisabled: _propTypes.default.bool,
1340
1363
  buttonRef: _propTypes.default.any
1341
1364
  }),
1342
1365
  onClick: _propTypes.default.func,
@@ -219,7 +219,6 @@ EuiDataGridBody.propTypes = {
219
219
  color: _propTypes.default.any,
220
220
  "aria-label": _propTypes.default.string,
221
221
  "aria-labelledby": _propTypes.default.string,
222
- isDisabled: _propTypes.default.bool,
223
222
  /**
224
223
  * Overall size of button.
225
224
  * Matches the sizes of other EuiButtons
@@ -249,6 +248,19 @@ EuiDataGridBody.propTypes = {
249
248
  className: _propTypes.default.string,
250
249
  "data-test-subj": _propTypes.default.string,
251
250
  css: _propTypes.default.any,
251
+ /**
252
+ * Controls the disabled behavior via the native `disabled` attribute.
253
+ */
254
+ isDisabled: _propTypes.default.bool,
255
+ /**
256
+ * NOTE: Beta feature, may be changed or removed in the future
257
+ *
258
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
259
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
260
+ *
261
+ * Use e.g. when a disabled button should have a tooltip.
262
+ */
263
+ hasAriaDisabled: _propTypes.default.bool,
252
264
  buttonRef: _propTypes.default.any
253
265
  }),
254
266
  /**
@@ -302,7 +314,6 @@ EuiDataGridBody.propTypes = {
302
314
  color: _propTypes.default.any,
303
315
  "aria-label": _propTypes.default.string,
304
316
  "aria-labelledby": _propTypes.default.string,
305
- isDisabled: _propTypes.default.bool,
306
317
  size: _propTypes.default.any,
307
318
  iconSize: _propTypes.default.any,
308
319
  isSelected: _propTypes.default.bool,
@@ -311,6 +322,8 @@ EuiDataGridBody.propTypes = {
311
322
  className: _propTypes.default.string,
312
323
  "data-test-subj": _propTypes.default.string,
313
324
  css: _propTypes.default.any,
325
+ isDisabled: _propTypes.default.bool,
326
+ hasAriaDisabled: _propTypes.default.bool,
314
327
  buttonRef: _propTypes.default.any
315
328
  }),
316
329
  onClick: _propTypes.default.func,
@@ -345,7 +358,6 @@ EuiDataGridBody.propTypes = {
345
358
  color: _propTypes.default.any,
346
359
  "aria-label": _propTypes.default.string,
347
360
  "aria-labelledby": _propTypes.default.string,
348
- isDisabled: _propTypes.default.bool,
349
361
  size: _propTypes.default.any,
350
362
  iconSize: _propTypes.default.any,
351
363
  isSelected: _propTypes.default.bool,
@@ -354,6 +366,8 @@ EuiDataGridBody.propTypes = {
354
366
  className: _propTypes.default.string,
355
367
  "data-test-subj": _propTypes.default.string,
356
368
  css: _propTypes.default.any,
369
+ isDisabled: _propTypes.default.bool,
370
+ hasAriaDisabled: _propTypes.default.bool,
357
371
  buttonRef: _propTypes.default.any
358
372
  }),
359
373
  onClick: _propTypes.default.func,
@@ -388,7 +402,6 @@ EuiDataGridBody.propTypes = {
388
402
  color: _propTypes.default.any,
389
403
  "aria-label": _propTypes.default.string,
390
404
  "aria-labelledby": _propTypes.default.string,
391
- isDisabled: _propTypes.default.bool,
392
405
  size: _propTypes.default.any,
393
406
  iconSize: _propTypes.default.any,
394
407
  isSelected: _propTypes.default.bool,
@@ -397,6 +410,8 @@ EuiDataGridBody.propTypes = {
397
410
  className: _propTypes.default.string,
398
411
  "data-test-subj": _propTypes.default.string,
399
412
  css: _propTypes.default.any,
413
+ isDisabled: _propTypes.default.bool,
414
+ hasAriaDisabled: _propTypes.default.bool,
400
415
  buttonRef: _propTypes.default.any
401
416
  }),
402
417
  onClick: _propTypes.default.func,
@@ -431,7 +446,6 @@ EuiDataGridBody.propTypes = {
431
446
  color: _propTypes.default.any,
432
447
  "aria-label": _propTypes.default.string,
433
448
  "aria-labelledby": _propTypes.default.string,
434
- isDisabled: _propTypes.default.bool,
435
449
  size: _propTypes.default.any,
436
450
  iconSize: _propTypes.default.any,
437
451
  isSelected: _propTypes.default.bool,
@@ -440,6 +454,8 @@ EuiDataGridBody.propTypes = {
440
454
  className: _propTypes.default.string,
441
455
  "data-test-subj": _propTypes.default.string,
442
456
  css: _propTypes.default.any,
457
+ isDisabled: _propTypes.default.bool,
458
+ hasAriaDisabled: _propTypes.default.bool,
443
459
  buttonRef: _propTypes.default.any
444
460
  }),
445
461
  onClick: _propTypes.default.func,
@@ -474,7 +490,6 @@ EuiDataGridBody.propTypes = {
474
490
  color: _propTypes.default.any,
475
491
  "aria-label": _propTypes.default.string,
476
492
  "aria-labelledby": _propTypes.default.string,
477
- isDisabled: _propTypes.default.bool,
478
493
  size: _propTypes.default.any,
479
494
  iconSize: _propTypes.default.any,
480
495
  isSelected: _propTypes.default.bool,
@@ -483,6 +498,8 @@ EuiDataGridBody.propTypes = {
483
498
  className: _propTypes.default.string,
484
499
  "data-test-subj": _propTypes.default.string,
485
500
  css: _propTypes.default.any,
501
+ isDisabled: _propTypes.default.bool,
502
+ hasAriaDisabled: _propTypes.default.bool,
486
503
  buttonRef: _propTypes.default.any
487
504
  }),
488
505
  onClick: _propTypes.default.func,
@@ -375,7 +375,6 @@ EuiDataGridBodyCustomRender.propTypes = {
375
375
  color: _propTypes.default.any,
376
376
  "aria-label": _propTypes.default.string,
377
377
  "aria-labelledby": _propTypes.default.string,
378
- isDisabled: _propTypes.default.bool,
379
378
  /**
380
379
  * Overall size of button.
381
380
  * Matches the sizes of other EuiButtons
@@ -405,6 +404,19 @@ EuiDataGridBodyCustomRender.propTypes = {
405
404
  className: _propTypes.default.string,
406
405
  "data-test-subj": _propTypes.default.string,
407
406
  css: _propTypes.default.any,
407
+ /**
408
+ * Controls the disabled behavior via the native `disabled` attribute.
409
+ */
410
+ isDisabled: _propTypes.default.bool,
411
+ /**
412
+ * NOTE: Beta feature, may be changed or removed in the future
413
+ *
414
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
415
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
416
+ *
417
+ * Use e.g. when a disabled button should have a tooltip.
418
+ */
419
+ hasAriaDisabled: _propTypes.default.bool,
408
420
  buttonRef: _propTypes.default.any
409
421
  }),
410
422
  /**
@@ -458,7 +470,6 @@ EuiDataGridBodyCustomRender.propTypes = {
458
470
  color: _propTypes.default.any,
459
471
  "aria-label": _propTypes.default.string,
460
472
  "aria-labelledby": _propTypes.default.string,
461
- isDisabled: _propTypes.default.bool,
462
473
  size: _propTypes.default.any,
463
474
  iconSize: _propTypes.default.any,
464
475
  isSelected: _propTypes.default.bool,
@@ -467,6 +478,8 @@ EuiDataGridBodyCustomRender.propTypes = {
467
478
  className: _propTypes.default.string,
468
479
  "data-test-subj": _propTypes.default.string,
469
480
  css: _propTypes.default.any,
481
+ isDisabled: _propTypes.default.bool,
482
+ hasAriaDisabled: _propTypes.default.bool,
470
483
  buttonRef: _propTypes.default.any
471
484
  }),
472
485
  onClick: _propTypes.default.func,
@@ -501,7 +514,6 @@ EuiDataGridBodyCustomRender.propTypes = {
501
514
  color: _propTypes.default.any,
502
515
  "aria-label": _propTypes.default.string,
503
516
  "aria-labelledby": _propTypes.default.string,
504
- isDisabled: _propTypes.default.bool,
505
517
  size: _propTypes.default.any,
506
518
  iconSize: _propTypes.default.any,
507
519
  isSelected: _propTypes.default.bool,
@@ -510,6 +522,8 @@ EuiDataGridBodyCustomRender.propTypes = {
510
522
  className: _propTypes.default.string,
511
523
  "data-test-subj": _propTypes.default.string,
512
524
  css: _propTypes.default.any,
525
+ isDisabled: _propTypes.default.bool,
526
+ hasAriaDisabled: _propTypes.default.bool,
513
527
  buttonRef: _propTypes.default.any
514
528
  }),
515
529
  onClick: _propTypes.default.func,
@@ -544,7 +558,6 @@ EuiDataGridBodyCustomRender.propTypes = {
544
558
  color: _propTypes.default.any,
545
559
  "aria-label": _propTypes.default.string,
546
560
  "aria-labelledby": _propTypes.default.string,
547
- isDisabled: _propTypes.default.bool,
548
561
  size: _propTypes.default.any,
549
562
  iconSize: _propTypes.default.any,
550
563
  isSelected: _propTypes.default.bool,
@@ -553,6 +566,8 @@ EuiDataGridBodyCustomRender.propTypes = {
553
566
  className: _propTypes.default.string,
554
567
  "data-test-subj": _propTypes.default.string,
555
568
  css: _propTypes.default.any,
569
+ isDisabled: _propTypes.default.bool,
570
+ hasAriaDisabled: _propTypes.default.bool,
556
571
  buttonRef: _propTypes.default.any
557
572
  }),
558
573
  onClick: _propTypes.default.func,
@@ -587,7 +602,6 @@ EuiDataGridBodyCustomRender.propTypes = {
587
602
  color: _propTypes.default.any,
588
603
  "aria-label": _propTypes.default.string,
589
604
  "aria-labelledby": _propTypes.default.string,
590
- isDisabled: _propTypes.default.bool,
591
605
  size: _propTypes.default.any,
592
606
  iconSize: _propTypes.default.any,
593
607
  isSelected: _propTypes.default.bool,
@@ -596,6 +610,8 @@ EuiDataGridBodyCustomRender.propTypes = {
596
610
  className: _propTypes.default.string,
597
611
  "data-test-subj": _propTypes.default.string,
598
612
  css: _propTypes.default.any,
613
+ isDisabled: _propTypes.default.bool,
614
+ hasAriaDisabled: _propTypes.default.bool,
599
615
  buttonRef: _propTypes.default.any
600
616
  }),
601
617
  onClick: _propTypes.default.func,
@@ -630,7 +646,6 @@ EuiDataGridBodyCustomRender.propTypes = {
630
646
  color: _propTypes.default.any,
631
647
  "aria-label": _propTypes.default.string,
632
648
  "aria-labelledby": _propTypes.default.string,
633
- isDisabled: _propTypes.default.bool,
634
649
  size: _propTypes.default.any,
635
650
  iconSize: _propTypes.default.any,
636
651
  isSelected: _propTypes.default.bool,
@@ -639,6 +654,8 @@ EuiDataGridBodyCustomRender.propTypes = {
639
654
  className: _propTypes.default.string,
640
655
  "data-test-subj": _propTypes.default.string,
641
656
  css: _propTypes.default.any,
657
+ isDisabled: _propTypes.default.bool,
658
+ hasAriaDisabled: _propTypes.default.bool,
642
659
  buttonRef: _propTypes.default.any
643
660
  }),
644
661
  onClick: _propTypes.default.func,
@@ -550,7 +550,6 @@ EuiDataGridBodyVirtualized.propTypes = {
550
550
  color: _propTypes.default.any,
551
551
  "aria-label": _propTypes.default.string,
552
552
  "aria-labelledby": _propTypes.default.string,
553
- isDisabled: _propTypes.default.bool,
554
553
  /**
555
554
  * Overall size of button.
556
555
  * Matches the sizes of other EuiButtons
@@ -580,6 +579,19 @@ EuiDataGridBodyVirtualized.propTypes = {
580
579
  className: _propTypes.default.string,
581
580
  "data-test-subj": _propTypes.default.string,
582
581
  css: _propTypes.default.any,
582
+ /**
583
+ * Controls the disabled behavior via the native `disabled` attribute.
584
+ */
585
+ isDisabled: _propTypes.default.bool,
586
+ /**
587
+ * NOTE: Beta feature, may be changed or removed in the future
588
+ *
589
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
590
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
591
+ *
592
+ * Use e.g. when a disabled button should have a tooltip.
593
+ */
594
+ hasAriaDisabled: _propTypes.default.bool,
583
595
  buttonRef: _propTypes.default.any
584
596
  }),
585
597
  /**
@@ -633,7 +645,6 @@ EuiDataGridBodyVirtualized.propTypes = {
633
645
  color: _propTypes.default.any,
634
646
  "aria-label": _propTypes.default.string,
635
647
  "aria-labelledby": _propTypes.default.string,
636
- isDisabled: _propTypes.default.bool,
637
648
  size: _propTypes.default.any,
638
649
  iconSize: _propTypes.default.any,
639
650
  isSelected: _propTypes.default.bool,
@@ -642,6 +653,8 @@ EuiDataGridBodyVirtualized.propTypes = {
642
653
  className: _propTypes.default.string,
643
654
  "data-test-subj": _propTypes.default.string,
644
655
  css: _propTypes.default.any,
656
+ isDisabled: _propTypes.default.bool,
657
+ hasAriaDisabled: _propTypes.default.bool,
645
658
  buttonRef: _propTypes.default.any
646
659
  }),
647
660
  onClick: _propTypes.default.func,
@@ -676,7 +689,6 @@ EuiDataGridBodyVirtualized.propTypes = {
676
689
  color: _propTypes.default.any,
677
690
  "aria-label": _propTypes.default.string,
678
691
  "aria-labelledby": _propTypes.default.string,
679
- isDisabled: _propTypes.default.bool,
680
692
  size: _propTypes.default.any,
681
693
  iconSize: _propTypes.default.any,
682
694
  isSelected: _propTypes.default.bool,
@@ -685,6 +697,8 @@ EuiDataGridBodyVirtualized.propTypes = {
685
697
  className: _propTypes.default.string,
686
698
  "data-test-subj": _propTypes.default.string,
687
699
  css: _propTypes.default.any,
700
+ isDisabled: _propTypes.default.bool,
701
+ hasAriaDisabled: _propTypes.default.bool,
688
702
  buttonRef: _propTypes.default.any
689
703
  }),
690
704
  onClick: _propTypes.default.func,
@@ -719,7 +733,6 @@ EuiDataGridBodyVirtualized.propTypes = {
719
733
  color: _propTypes.default.any,
720
734
  "aria-label": _propTypes.default.string,
721
735
  "aria-labelledby": _propTypes.default.string,
722
- isDisabled: _propTypes.default.bool,
723
736
  size: _propTypes.default.any,
724
737
  iconSize: _propTypes.default.any,
725
738
  isSelected: _propTypes.default.bool,
@@ -728,6 +741,8 @@ EuiDataGridBodyVirtualized.propTypes = {
728
741
  className: _propTypes.default.string,
729
742
  "data-test-subj": _propTypes.default.string,
730
743
  css: _propTypes.default.any,
744
+ isDisabled: _propTypes.default.bool,
745
+ hasAriaDisabled: _propTypes.default.bool,
731
746
  buttonRef: _propTypes.default.any
732
747
  }),
733
748
  onClick: _propTypes.default.func,
@@ -762,7 +777,6 @@ EuiDataGridBodyVirtualized.propTypes = {
762
777
  color: _propTypes.default.any,
763
778
  "aria-label": _propTypes.default.string,
764
779
  "aria-labelledby": _propTypes.default.string,
765
- isDisabled: _propTypes.default.bool,
766
780
  size: _propTypes.default.any,
767
781
  iconSize: _propTypes.default.any,
768
782
  isSelected: _propTypes.default.bool,
@@ -771,6 +785,8 @@ EuiDataGridBodyVirtualized.propTypes = {
771
785
  className: _propTypes.default.string,
772
786
  "data-test-subj": _propTypes.default.string,
773
787
  css: _propTypes.default.any,
788
+ isDisabled: _propTypes.default.bool,
789
+ hasAriaDisabled: _propTypes.default.bool,
774
790
  buttonRef: _propTypes.default.any
775
791
  }),
776
792
  onClick: _propTypes.default.func,
@@ -805,7 +821,6 @@ EuiDataGridBodyVirtualized.propTypes = {
805
821
  color: _propTypes.default.any,
806
822
  "aria-label": _propTypes.default.string,
807
823
  "aria-labelledby": _propTypes.default.string,
808
- isDisabled: _propTypes.default.bool,
809
824
  size: _propTypes.default.any,
810
825
  iconSize: _propTypes.default.any,
811
826
  isSelected: _propTypes.default.bool,
@@ -814,6 +829,8 @@ EuiDataGridBodyVirtualized.propTypes = {
814
829
  className: _propTypes.default.string,
815
830
  "data-test-subj": _propTypes.default.string,
816
831
  css: _propTypes.default.any,
832
+ isDisabled: _propTypes.default.bool,
833
+ hasAriaDisabled: _propTypes.default.bool,
817
834
  buttonRef: _propTypes.default.any
818
835
  }),
819
836
  onClick: _propTypes.default.func,
@@ -80,16 +80,6 @@ var ColumnActions = exports.ColumnActions = /*#__PURE__*/(0, _react.memo)(functi
80
80
  var closePopover = (0, _react.useCallback)(function () {
81
81
  setIsPopoverOpen(false);
82
82
  }, []);
83
- var _useState3 = (0, _react.useState)(false),
84
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
85
- isActionsButtonFocused = _useState4[0],
86
- setIsActionsButtonFocused = _useState4[1];
87
- var onFocus = (0, _react.useCallback)(function () {
88
- return setIsActionsButtonFocused(true);
89
- }, []);
90
- var onBlur = (0, _react.useCallback)(function () {
91
- return setIsActionsButtonFocused(false);
92
- }, []);
93
83
  var actionsButtonAriaLabel = (0, _i18n.useEuiI18n)('euiDataGridHeaderCell.actionsButtonAriaLabel', '{title}. Click to view column header actions.', {
94
84
  title: title
95
85
  });
@@ -104,10 +94,10 @@ var ColumnActions = exports.ColumnActions = /*#__PURE__*/(0, _react.memo)(functi
104
94
  /**
105
95
  * Props to set on parent EuiDataGridHeaderCell
106
96
  */
107
- var _useState5 = (0, _react.useState)(false),
108
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
109
- isColumnMoving = _useState6[0],
110
- setIsColumnMoving = _useState6[1];
97
+ var _useState3 = (0, _react.useState)(false),
98
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
99
+ isColumnMoving = _useState4[0],
100
+ setIsColumnMoving = _useState4[1];
111
101
  (0, _react.useEffect)(function () {
112
102
  setPropsFromColumnActions({
113
103
  className: isPopoverOpen ? 'euiDataGridHeaderCell--isActionsPopoverOpen' : '',
@@ -153,17 +143,11 @@ var ColumnActions = exports.ColumnActions = /*#__PURE__*/(0, _react.memo)(functi
153
143
  iconType: "boxesVertical",
154
144
  iconSize: "s",
155
145
  color: "text",
156
- css: styles.euiDataGridHeaderCell__actions,
157
146
  className: "euiDataGridHeaderCell__button",
158
147
  onClick: togglePopover,
159
148
  buttonRef: actionsButtonRef,
160
- onFocus: onFocus,
161
- onBlur: onBlur,
162
- tabIndex: 0 // Override EuiButtonIcon's conditional tabindex based on aria-hidden
163
- ,
164
- "aria-hidden": hasFocusTrap && !isActionsButtonFocused ? 'true' // prevent the actions button from being read on cell focus
165
- : undefined,
166
149
  "aria-label": hasFocusTrap ? actionsButtonAriaLabel : actionsEnterKeyInstructions,
150
+ css: [styles.euiDataGridHeaderCell__actions.action, styles.euiDataGridHeaderCell__actions.end, ";label:ColumnActions;"],
167
151
  "data-test-subj": "dataGridHeaderCellActionButton-".concat(id)
168
152
  }),
169
153
  isOpen: isPopoverOpen,