@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
@@ -220,7 +220,6 @@ EuiDataGridBody.propTypes = {
220
220
  color: _propTypes.default.any,
221
221
  "aria-label": _propTypes.default.string,
222
222
  "aria-labelledby": _propTypes.default.string,
223
- isDisabled: _propTypes.default.bool,
224
223
  /**
225
224
  * Overall size of button.
226
225
  * Matches the sizes of other EuiButtons
@@ -250,6 +249,19 @@ EuiDataGridBody.propTypes = {
250
249
  className: _propTypes.default.string,
251
250
  "data-test-subj": _propTypes.default.string,
252
251
  css: _propTypes.default.any,
252
+ /**
253
+ * Controls the disabled behavior via the native `disabled` attribute.
254
+ */
255
+ isDisabled: _propTypes.default.bool,
256
+ /**
257
+ * NOTE: Beta feature, may be changed or removed in the future
258
+ *
259
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
260
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
261
+ *
262
+ * Use e.g. when a disabled button should have a tooltip.
263
+ */
264
+ hasAriaDisabled: _propTypes.default.bool,
253
265
  buttonRef: _propTypes.default.any
254
266
  }),
255
267
  /**
@@ -303,7 +315,6 @@ EuiDataGridBody.propTypes = {
303
315
  color: _propTypes.default.any,
304
316
  "aria-label": _propTypes.default.string,
305
317
  "aria-labelledby": _propTypes.default.string,
306
- isDisabled: _propTypes.default.bool,
307
318
  size: _propTypes.default.any,
308
319
  iconSize: _propTypes.default.any,
309
320
  isSelected: _propTypes.default.bool,
@@ -312,6 +323,8 @@ EuiDataGridBody.propTypes = {
312
323
  className: _propTypes.default.string,
313
324
  "data-test-subj": _propTypes.default.string,
314
325
  css: _propTypes.default.any,
326
+ isDisabled: _propTypes.default.bool,
327
+ hasAriaDisabled: _propTypes.default.bool,
315
328
  buttonRef: _propTypes.default.any
316
329
  }),
317
330
  onClick: _propTypes.default.func,
@@ -346,7 +359,6 @@ EuiDataGridBody.propTypes = {
346
359
  color: _propTypes.default.any,
347
360
  "aria-label": _propTypes.default.string,
348
361
  "aria-labelledby": _propTypes.default.string,
349
- isDisabled: _propTypes.default.bool,
350
362
  size: _propTypes.default.any,
351
363
  iconSize: _propTypes.default.any,
352
364
  isSelected: _propTypes.default.bool,
@@ -355,6 +367,8 @@ EuiDataGridBody.propTypes = {
355
367
  className: _propTypes.default.string,
356
368
  "data-test-subj": _propTypes.default.string,
357
369
  css: _propTypes.default.any,
370
+ isDisabled: _propTypes.default.bool,
371
+ hasAriaDisabled: _propTypes.default.bool,
358
372
  buttonRef: _propTypes.default.any
359
373
  }),
360
374
  onClick: _propTypes.default.func,
@@ -389,7 +403,6 @@ EuiDataGridBody.propTypes = {
389
403
  color: _propTypes.default.any,
390
404
  "aria-label": _propTypes.default.string,
391
405
  "aria-labelledby": _propTypes.default.string,
392
- isDisabled: _propTypes.default.bool,
393
406
  size: _propTypes.default.any,
394
407
  iconSize: _propTypes.default.any,
395
408
  isSelected: _propTypes.default.bool,
@@ -398,6 +411,8 @@ EuiDataGridBody.propTypes = {
398
411
  className: _propTypes.default.string,
399
412
  "data-test-subj": _propTypes.default.string,
400
413
  css: _propTypes.default.any,
414
+ isDisabled: _propTypes.default.bool,
415
+ hasAriaDisabled: _propTypes.default.bool,
401
416
  buttonRef: _propTypes.default.any
402
417
  }),
403
418
  onClick: _propTypes.default.func,
@@ -432,7 +447,6 @@ EuiDataGridBody.propTypes = {
432
447
  color: _propTypes.default.any,
433
448
  "aria-label": _propTypes.default.string,
434
449
  "aria-labelledby": _propTypes.default.string,
435
- isDisabled: _propTypes.default.bool,
436
450
  size: _propTypes.default.any,
437
451
  iconSize: _propTypes.default.any,
438
452
  isSelected: _propTypes.default.bool,
@@ -441,6 +455,8 @@ EuiDataGridBody.propTypes = {
441
455
  className: _propTypes.default.string,
442
456
  "data-test-subj": _propTypes.default.string,
443
457
  css: _propTypes.default.any,
458
+ isDisabled: _propTypes.default.bool,
459
+ hasAriaDisabled: _propTypes.default.bool,
444
460
  buttonRef: _propTypes.default.any
445
461
  }),
446
462
  onClick: _propTypes.default.func,
@@ -475,7 +491,6 @@ EuiDataGridBody.propTypes = {
475
491
  color: _propTypes.default.any,
476
492
  "aria-label": _propTypes.default.string,
477
493
  "aria-labelledby": _propTypes.default.string,
478
- isDisabled: _propTypes.default.bool,
479
494
  size: _propTypes.default.any,
480
495
  iconSize: _propTypes.default.any,
481
496
  isSelected: _propTypes.default.bool,
@@ -484,6 +499,8 @@ EuiDataGridBody.propTypes = {
484
499
  className: _propTypes.default.string,
485
500
  "data-test-subj": _propTypes.default.string,
486
501
  css: _propTypes.default.any,
502
+ isDisabled: _propTypes.default.bool,
503
+ hasAriaDisabled: _propTypes.default.bool,
487
504
  buttonRef: _propTypes.default.any
488
505
  }),
489
506
  onClick: _propTypes.default.func,
@@ -385,7 +385,6 @@ EuiDataGridBodyCustomRender.propTypes = {
385
385
  color: _propTypes.default.any,
386
386
  "aria-label": _propTypes.default.string,
387
387
  "aria-labelledby": _propTypes.default.string,
388
- isDisabled: _propTypes.default.bool,
389
388
  /**
390
389
  * Overall size of button.
391
390
  * Matches the sizes of other EuiButtons
@@ -415,6 +414,19 @@ EuiDataGridBodyCustomRender.propTypes = {
415
414
  className: _propTypes.default.string,
416
415
  "data-test-subj": _propTypes.default.string,
417
416
  css: _propTypes.default.any,
417
+ /**
418
+ * Controls the disabled behavior via the native `disabled` attribute.
419
+ */
420
+ isDisabled: _propTypes.default.bool,
421
+ /**
422
+ * NOTE: Beta feature, may be changed or removed in the future
423
+ *
424
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
425
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
426
+ *
427
+ * Use e.g. when a disabled button should have a tooltip.
428
+ */
429
+ hasAriaDisabled: _propTypes.default.bool,
418
430
  buttonRef: _propTypes.default.any
419
431
  }),
420
432
  /**
@@ -468,7 +480,6 @@ EuiDataGridBodyCustomRender.propTypes = {
468
480
  color: _propTypes.default.any,
469
481
  "aria-label": _propTypes.default.string,
470
482
  "aria-labelledby": _propTypes.default.string,
471
- isDisabled: _propTypes.default.bool,
472
483
  size: _propTypes.default.any,
473
484
  iconSize: _propTypes.default.any,
474
485
  isSelected: _propTypes.default.bool,
@@ -477,6 +488,8 @@ EuiDataGridBodyCustomRender.propTypes = {
477
488
  className: _propTypes.default.string,
478
489
  "data-test-subj": _propTypes.default.string,
479
490
  css: _propTypes.default.any,
491
+ isDisabled: _propTypes.default.bool,
492
+ hasAriaDisabled: _propTypes.default.bool,
480
493
  buttonRef: _propTypes.default.any
481
494
  }),
482
495
  onClick: _propTypes.default.func,
@@ -511,7 +524,6 @@ EuiDataGridBodyCustomRender.propTypes = {
511
524
  color: _propTypes.default.any,
512
525
  "aria-label": _propTypes.default.string,
513
526
  "aria-labelledby": _propTypes.default.string,
514
- isDisabled: _propTypes.default.bool,
515
527
  size: _propTypes.default.any,
516
528
  iconSize: _propTypes.default.any,
517
529
  isSelected: _propTypes.default.bool,
@@ -520,6 +532,8 @@ EuiDataGridBodyCustomRender.propTypes = {
520
532
  className: _propTypes.default.string,
521
533
  "data-test-subj": _propTypes.default.string,
522
534
  css: _propTypes.default.any,
535
+ isDisabled: _propTypes.default.bool,
536
+ hasAriaDisabled: _propTypes.default.bool,
523
537
  buttonRef: _propTypes.default.any
524
538
  }),
525
539
  onClick: _propTypes.default.func,
@@ -554,7 +568,6 @@ EuiDataGridBodyCustomRender.propTypes = {
554
568
  color: _propTypes.default.any,
555
569
  "aria-label": _propTypes.default.string,
556
570
  "aria-labelledby": _propTypes.default.string,
557
- isDisabled: _propTypes.default.bool,
558
571
  size: _propTypes.default.any,
559
572
  iconSize: _propTypes.default.any,
560
573
  isSelected: _propTypes.default.bool,
@@ -563,6 +576,8 @@ EuiDataGridBodyCustomRender.propTypes = {
563
576
  className: _propTypes.default.string,
564
577
  "data-test-subj": _propTypes.default.string,
565
578
  css: _propTypes.default.any,
579
+ isDisabled: _propTypes.default.bool,
580
+ hasAriaDisabled: _propTypes.default.bool,
566
581
  buttonRef: _propTypes.default.any
567
582
  }),
568
583
  onClick: _propTypes.default.func,
@@ -597,7 +612,6 @@ EuiDataGridBodyCustomRender.propTypes = {
597
612
  color: _propTypes.default.any,
598
613
  "aria-label": _propTypes.default.string,
599
614
  "aria-labelledby": _propTypes.default.string,
600
- isDisabled: _propTypes.default.bool,
601
615
  size: _propTypes.default.any,
602
616
  iconSize: _propTypes.default.any,
603
617
  isSelected: _propTypes.default.bool,
@@ -606,6 +620,8 @@ EuiDataGridBodyCustomRender.propTypes = {
606
620
  className: _propTypes.default.string,
607
621
  "data-test-subj": _propTypes.default.string,
608
622
  css: _propTypes.default.any,
623
+ isDisabled: _propTypes.default.bool,
624
+ hasAriaDisabled: _propTypes.default.bool,
609
625
  buttonRef: _propTypes.default.any
610
626
  }),
611
627
  onClick: _propTypes.default.func,
@@ -640,7 +656,6 @@ EuiDataGridBodyCustomRender.propTypes = {
640
656
  color: _propTypes.default.any,
641
657
  "aria-label": _propTypes.default.string,
642
658
  "aria-labelledby": _propTypes.default.string,
643
- isDisabled: _propTypes.default.bool,
644
659
  size: _propTypes.default.any,
645
660
  iconSize: _propTypes.default.any,
646
661
  isSelected: _propTypes.default.bool,
@@ -649,6 +664,8 @@ EuiDataGridBodyCustomRender.propTypes = {
649
664
  className: _propTypes.default.string,
650
665
  "data-test-subj": _propTypes.default.string,
651
666
  css: _propTypes.default.any,
667
+ isDisabled: _propTypes.default.bool,
668
+ hasAriaDisabled: _propTypes.default.bool,
652
669
  buttonRef: _propTypes.default.any
653
670
  }),
654
671
  onClick: _propTypes.default.func,
@@ -553,7 +553,6 @@ EuiDataGridBodyVirtualized.propTypes = {
553
553
  color: _propTypes.default.any,
554
554
  "aria-label": _propTypes.default.string,
555
555
  "aria-labelledby": _propTypes.default.string,
556
- isDisabled: _propTypes.default.bool,
557
556
  /**
558
557
  * Overall size of button.
559
558
  * Matches the sizes of other EuiButtons
@@ -583,6 +582,19 @@ EuiDataGridBodyVirtualized.propTypes = {
583
582
  className: _propTypes.default.string,
584
583
  "data-test-subj": _propTypes.default.string,
585
584
  css: _propTypes.default.any,
585
+ /**
586
+ * Controls the disabled behavior via the native `disabled` attribute.
587
+ */
588
+ isDisabled: _propTypes.default.bool,
589
+ /**
590
+ * NOTE: Beta feature, may be changed or removed in the future
591
+ *
592
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
593
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
594
+ *
595
+ * Use e.g. when a disabled button should have a tooltip.
596
+ */
597
+ hasAriaDisabled: _propTypes.default.bool,
586
598
  buttonRef: _propTypes.default.any
587
599
  }),
588
600
  /**
@@ -636,7 +648,6 @@ EuiDataGridBodyVirtualized.propTypes = {
636
648
  color: _propTypes.default.any,
637
649
  "aria-label": _propTypes.default.string,
638
650
  "aria-labelledby": _propTypes.default.string,
639
- isDisabled: _propTypes.default.bool,
640
651
  size: _propTypes.default.any,
641
652
  iconSize: _propTypes.default.any,
642
653
  isSelected: _propTypes.default.bool,
@@ -645,6 +656,8 @@ EuiDataGridBodyVirtualized.propTypes = {
645
656
  className: _propTypes.default.string,
646
657
  "data-test-subj": _propTypes.default.string,
647
658
  css: _propTypes.default.any,
659
+ isDisabled: _propTypes.default.bool,
660
+ hasAriaDisabled: _propTypes.default.bool,
648
661
  buttonRef: _propTypes.default.any
649
662
  }),
650
663
  onClick: _propTypes.default.func,
@@ -679,7 +692,6 @@ EuiDataGridBodyVirtualized.propTypes = {
679
692
  color: _propTypes.default.any,
680
693
  "aria-label": _propTypes.default.string,
681
694
  "aria-labelledby": _propTypes.default.string,
682
- isDisabled: _propTypes.default.bool,
683
695
  size: _propTypes.default.any,
684
696
  iconSize: _propTypes.default.any,
685
697
  isSelected: _propTypes.default.bool,
@@ -688,6 +700,8 @@ EuiDataGridBodyVirtualized.propTypes = {
688
700
  className: _propTypes.default.string,
689
701
  "data-test-subj": _propTypes.default.string,
690
702
  css: _propTypes.default.any,
703
+ isDisabled: _propTypes.default.bool,
704
+ hasAriaDisabled: _propTypes.default.bool,
691
705
  buttonRef: _propTypes.default.any
692
706
  }),
693
707
  onClick: _propTypes.default.func,
@@ -722,7 +736,6 @@ EuiDataGridBodyVirtualized.propTypes = {
722
736
  color: _propTypes.default.any,
723
737
  "aria-label": _propTypes.default.string,
724
738
  "aria-labelledby": _propTypes.default.string,
725
- isDisabled: _propTypes.default.bool,
726
739
  size: _propTypes.default.any,
727
740
  iconSize: _propTypes.default.any,
728
741
  isSelected: _propTypes.default.bool,
@@ -731,6 +744,8 @@ EuiDataGridBodyVirtualized.propTypes = {
731
744
  className: _propTypes.default.string,
732
745
  "data-test-subj": _propTypes.default.string,
733
746
  css: _propTypes.default.any,
747
+ isDisabled: _propTypes.default.bool,
748
+ hasAriaDisabled: _propTypes.default.bool,
734
749
  buttonRef: _propTypes.default.any
735
750
  }),
736
751
  onClick: _propTypes.default.func,
@@ -765,7 +780,6 @@ EuiDataGridBodyVirtualized.propTypes = {
765
780
  color: _propTypes.default.any,
766
781
  "aria-label": _propTypes.default.string,
767
782
  "aria-labelledby": _propTypes.default.string,
768
- isDisabled: _propTypes.default.bool,
769
783
  size: _propTypes.default.any,
770
784
  iconSize: _propTypes.default.any,
771
785
  isSelected: _propTypes.default.bool,
@@ -774,6 +788,8 @@ EuiDataGridBodyVirtualized.propTypes = {
774
788
  className: _propTypes.default.string,
775
789
  "data-test-subj": _propTypes.default.string,
776
790
  css: _propTypes.default.any,
791
+ isDisabled: _propTypes.default.bool,
792
+ hasAriaDisabled: _propTypes.default.bool,
777
793
  buttonRef: _propTypes.default.any
778
794
  }),
779
795
  onClick: _propTypes.default.func,
@@ -808,7 +824,6 @@ EuiDataGridBodyVirtualized.propTypes = {
808
824
  color: _propTypes.default.any,
809
825
  "aria-label": _propTypes.default.string,
810
826
  "aria-labelledby": _propTypes.default.string,
811
- isDisabled: _propTypes.default.bool,
812
827
  size: _propTypes.default.any,
813
828
  iconSize: _propTypes.default.any,
814
829
  isSelected: _propTypes.default.bool,
@@ -817,6 +832,8 @@ EuiDataGridBodyVirtualized.propTypes = {
817
832
  className: _propTypes.default.string,
818
833
  "data-test-subj": _propTypes.default.string,
819
834
  css: _propTypes.default.any,
835
+ isDisabled: _propTypes.default.bool,
836
+ hasAriaDisabled: _propTypes.default.bool,
820
837
  buttonRef: _propTypes.default.any
821
838
  }),
822
839
  onClick: _propTypes.default.func,
@@ -89,16 +89,6 @@ var ColumnActions = exports.ColumnActions = /*#__PURE__*/(0, _react.memo)(functi
89
89
  var closePopover = (0, _react.useCallback)(function () {
90
90
  setIsPopoverOpen(false);
91
91
  }, []);
92
- var _useState3 = (0, _react.useState)(false),
93
- _useState4 = _slicedToArray(_useState3, 2),
94
- isActionsButtonFocused = _useState4[0],
95
- setIsActionsButtonFocused = _useState4[1];
96
- var onFocus = (0, _react.useCallback)(function () {
97
- return setIsActionsButtonFocused(true);
98
- }, []);
99
- var onBlur = (0, _react.useCallback)(function () {
100
- return setIsActionsButtonFocused(false);
101
- }, []);
102
92
  var actionsButtonAriaLabel = (0, _i18n.useEuiI18n)('euiDataGridHeaderCell.actionsButtonAriaLabel', '{title}. Click to view column header actions.', {
103
93
  title: title
104
94
  });
@@ -113,10 +103,10 @@ var ColumnActions = exports.ColumnActions = /*#__PURE__*/(0, _react.memo)(functi
113
103
  /**
114
104
  * Props to set on parent EuiDataGridHeaderCell
115
105
  */
116
- var _useState5 = (0, _react.useState)(false),
117
- _useState6 = _slicedToArray(_useState5, 2),
118
- isColumnMoving = _useState6[0],
119
- setIsColumnMoving = _useState6[1];
106
+ var _useState3 = (0, _react.useState)(false),
107
+ _useState4 = _slicedToArray(_useState3, 2),
108
+ isColumnMoving = _useState4[0],
109
+ setIsColumnMoving = _useState4[1];
120
110
  (0, _react.useEffect)(function () {
121
111
  setPropsFromColumnActions({
122
112
  className: isPopoverOpen ? 'euiDataGridHeaderCell--isActionsPopoverOpen' : '',
@@ -162,17 +152,11 @@ var ColumnActions = exports.ColumnActions = /*#__PURE__*/(0, _react.memo)(functi
162
152
  iconType: "boxesVertical",
163
153
  iconSize: "s",
164
154
  color: "text",
165
- css: styles.euiDataGridHeaderCell__actions,
166
155
  className: "euiDataGridHeaderCell__button",
167
156
  onClick: togglePopover,
168
157
  buttonRef: actionsButtonRef,
169
- onFocus: onFocus,
170
- onBlur: onBlur,
171
- tabIndex: 0 // Override EuiButtonIcon's conditional tabindex based on aria-hidden
172
- ,
173
- "aria-hidden": hasFocusTrap && !isActionsButtonFocused ? 'true' // prevent the actions button from being read on cell focus
174
- : undefined,
175
158
  "aria-label": hasFocusTrap ? actionsButtonAriaLabel : actionsEnterKeyInstructions,
159
+ css: [styles.euiDataGridHeaderCell__actions.action, styles.euiDataGridHeaderCell__actions.end, ";label:ColumnActions;"],
176
160
  "data-test-subj": "dataGridHeaderCellActionButton-".concat(id)
177
161
  }),
178
162
  isOpen: isPopoverOpen,
@@ -61,6 +61,7 @@ var EuiDataGridHeaderCell = exports.EuiDataGridHeaderCell = /*#__PURE__*/(0, _re
61
61
  var width = columnWidths[id] || defaultColumnWidth;
62
62
  var columnType = schema[id] ? schema[id].columnType : null;
63
63
  var hasColumnActions = (0, _column_actions.useHasColumnActions)(actions);
64
+ var cellContentId = "dataGridHeaderCellContent-".concat(id);
64
65
  var classes = (0, _classnames2.default)(_defineProperty(_defineProperty({}, "euiDataGridHeaderCell--".concat(columnType), columnType), 'euiDataGridHeaderCell--hasColumnActions', hasColumnActions), displayHeaderCellProps === null || displayHeaderCellProps === void 0 ? void 0 : displayHeaderCellProps.className);
65
66
  var styles = (0, _services.useEuiMemoizedStyles)(_data_grid_header_cell.euiDataGridHeaderCellStyles);
66
67
  var contentStyles = [styles.euiDataGridHeaderCell__content, (columnType === 'numeric' || columnType === 'currency') && styles.right];
@@ -104,8 +105,7 @@ var EuiDataGridHeaderCell = exports.EuiDataGridHeaderCell = /*#__PURE__*/(0, _re
104
105
  isLastColumn: isLastColumn,
105
106
  width: width,
106
107
  "aria-sort": ariaSort,
107
- "aria-label": displayAsText && "".concat(displayAsText, ", ") // ensure cell text content is read first, if available
108
- ,
108
+ "aria-labelledby": cellContentId,
109
109
  "aria-describedby": (0, _classnames2.default)(sortingAriaId, dragProps === null || dragProps === void 0 ? void 0 : dragProps['aria-describedby']),
110
110
  "data-column-moving": propsFromColumnActions['data-column-moving'] || (dragProps === null || dragProps === void 0 ? void 0 : dragProps['data-column-moving']) || undefined
111
111
  }), function (hasFocusTrap) {
@@ -114,11 +114,13 @@ var EuiDataGridHeaderCell = exports.EuiDataGridHeaderCell = /*#__PURE__*/(0, _re
114
114
  }, (0, _react2.jsx)(_icon.EuiIcon, {
115
115
  type: "grabOmnidirectional",
116
116
  size: "s",
117
- css: styles.euiDataGridHeaderCell__actions
117
+ css: [styles.euiDataGridHeaderCell__actions.action, styles.euiDataGridHeaderCell__actions.start, ";label:EuiDataGridHeaderCell;"]
118
118
  })), (0, _react2.jsx)("div", {
119
119
  css: contentStyles,
120
120
  className: "euiDataGridHeaderCell__content",
121
- title: title
121
+ title: title,
122
+ id: cellContentId,
123
+ "aria-label": displayAsText ? displayAsText : typeof children === 'string' ? children : undefined
122
124
  }, children), sortingArrow, sortingScreenReaderText, hasColumnActions && (0, _react2.jsx)(_column_actions.ColumnActions, {
123
125
  index: index,
124
126
  id: id,
@@ -258,7 +260,6 @@ EuiDataGridHeaderCell.propTypes = {
258
260
  color: _propTypes.default.any,
259
261
  "aria-label": _propTypes.default.string,
260
262
  "aria-labelledby": _propTypes.default.string,
261
- isDisabled: _propTypes.default.bool,
262
263
  /**
263
264
  * Overall size of button.
264
265
  * Matches the sizes of other EuiButtons
@@ -288,6 +289,19 @@ EuiDataGridHeaderCell.propTypes = {
288
289
  className: _propTypes.default.string,
289
290
  "data-test-subj": _propTypes.default.string,
290
291
  css: _propTypes.default.any,
292
+ /**
293
+ * Controls the disabled behavior via the native `disabled` attribute.
294
+ */
295
+ isDisabled: _propTypes.default.bool,
296
+ /**
297
+ * NOTE: Beta feature, may be changed or removed in the future
298
+ *
299
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
300
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
301
+ *
302
+ * Use e.g. when a disabled button should have a tooltip.
303
+ */
304
+ hasAriaDisabled: _propTypes.default.bool,
291
305
  buttonRef: _propTypes.default.any
292
306
  }),
293
307
  /**
@@ -341,7 +355,6 @@ EuiDataGridHeaderCell.propTypes = {
341
355
  color: _propTypes.default.any,
342
356
  "aria-label": _propTypes.default.string,
343
357
  "aria-labelledby": _propTypes.default.string,
344
- isDisabled: _propTypes.default.bool,
345
358
  size: _propTypes.default.any,
346
359
  iconSize: _propTypes.default.any,
347
360
  isSelected: _propTypes.default.bool,
@@ -350,6 +363,8 @@ EuiDataGridHeaderCell.propTypes = {
350
363
  className: _propTypes.default.string,
351
364
  "data-test-subj": _propTypes.default.string,
352
365
  css: _propTypes.default.any,
366
+ isDisabled: _propTypes.default.bool,
367
+ hasAriaDisabled: _propTypes.default.bool,
353
368
  buttonRef: _propTypes.default.any
354
369
  }),
355
370
  onClick: _propTypes.default.func,
@@ -384,7 +399,6 @@ EuiDataGridHeaderCell.propTypes = {
384
399
  color: _propTypes.default.any,
385
400
  "aria-label": _propTypes.default.string,
386
401
  "aria-labelledby": _propTypes.default.string,
387
- isDisabled: _propTypes.default.bool,
388
402
  size: _propTypes.default.any,
389
403
  iconSize: _propTypes.default.any,
390
404
  isSelected: _propTypes.default.bool,
@@ -393,6 +407,8 @@ EuiDataGridHeaderCell.propTypes = {
393
407
  className: _propTypes.default.string,
394
408
  "data-test-subj": _propTypes.default.string,
395
409
  css: _propTypes.default.any,
410
+ isDisabled: _propTypes.default.bool,
411
+ hasAriaDisabled: _propTypes.default.bool,
396
412
  buttonRef: _propTypes.default.any
397
413
  }),
398
414
  onClick: _propTypes.default.func,
@@ -427,7 +443,6 @@ EuiDataGridHeaderCell.propTypes = {
427
443
  color: _propTypes.default.any,
428
444
  "aria-label": _propTypes.default.string,
429
445
  "aria-labelledby": _propTypes.default.string,
430
- isDisabled: _propTypes.default.bool,
431
446
  size: _propTypes.default.any,
432
447
  iconSize: _propTypes.default.any,
433
448
  isSelected: _propTypes.default.bool,
@@ -436,6 +451,8 @@ EuiDataGridHeaderCell.propTypes = {
436
451
  className: _propTypes.default.string,
437
452
  "data-test-subj": _propTypes.default.string,
438
453
  css: _propTypes.default.any,
454
+ isDisabled: _propTypes.default.bool,
455
+ hasAriaDisabled: _propTypes.default.bool,
439
456
  buttonRef: _propTypes.default.any
440
457
  }),
441
458
  onClick: _propTypes.default.func,
@@ -470,7 +487,6 @@ EuiDataGridHeaderCell.propTypes = {
470
487
  color: _propTypes.default.any,
471
488
  "aria-label": _propTypes.default.string,
472
489
  "aria-labelledby": _propTypes.default.string,
473
- isDisabled: _propTypes.default.bool,
474
490
  size: _propTypes.default.any,
475
491
  iconSize: _propTypes.default.any,
476
492
  isSelected: _propTypes.default.bool,
@@ -479,6 +495,8 @@ EuiDataGridHeaderCell.propTypes = {
479
495
  className: _propTypes.default.string,
480
496
  "data-test-subj": _propTypes.default.string,
481
497
  css: _propTypes.default.any,
498
+ isDisabled: _propTypes.default.bool,
499
+ hasAriaDisabled: _propTypes.default.bool,
482
500
  buttonRef: _propTypes.default.any
483
501
  }),
484
502
  onClick: _propTypes.default.func,
@@ -513,7 +531,6 @@ EuiDataGridHeaderCell.propTypes = {
513
531
  color: _propTypes.default.any,
514
532
  "aria-label": _propTypes.default.string,
515
533
  "aria-labelledby": _propTypes.default.string,
516
- isDisabled: _propTypes.default.bool,
517
534
  size: _propTypes.default.any,
518
535
  iconSize: _propTypes.default.any,
519
536
  isSelected: _propTypes.default.bool,
@@ -522,6 +539,8 @@ EuiDataGridHeaderCell.propTypes = {
522
539
  className: _propTypes.default.string,
523
540
  "data-test-subj": _propTypes.default.string,
524
541
  css: _propTypes.default.any,
542
+ isDisabled: _propTypes.default.bool,
543
+ hasAriaDisabled: _propTypes.default.bool,
525
544
  buttonRef: _propTypes.default.any
526
545
  }),
527
546
  onClick: _propTypes.default.func,
@@ -22,11 +22,18 @@ var euiDataGridHeaderCellStyles = exports.euiDataGridHeaderCellStyles = function
22
22
  var euiTheme = euiThemeContext.euiTheme;
23
23
  var _euiDataGridCellOutli = (0, _data_grid_cell.euiDataGridCellOutlineSelectors)('.euiDataGridHeaderCell'),
24
24
  header = _euiDataGridCellOutli.header;
25
+ var hideAnimation = function hideAnimation(margin, translateX) {
26
+ return "\n ".concat(header.hideActions, " & {\n ").concat((0, _global_styling.logicalCSS)('margin-left', margin), "\n transform: translateX(").concat(translateX, ") scale(0.01);\n opacity: 0;\n }\n ");
27
+ };
25
28
  return {
26
29
  euiDataGridHeaderCell__content: /*#__PURE__*/(0, _react.css)("flex-grow:1;", (0, _global_styling.euiTextTruncate)(), ";;label:euiDataGridHeaderCell__content;"),
27
30
  // Numeric and currency schemas are aligned to the right
28
31
  right: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalTextAlignCSS)('right'), ";;label:right;"),
29
32
  euiDataGridHeaderCell__popover: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-left', 'auto'), "line-height:0;;label:euiDataGridHeaderCell__popover;"),
30
- euiDataGridHeaderCell__actions: /*#__PURE__*/(0, _react.css)("overflow:hidden;display:flex;", header.hideActions, " &{", (0, _global_styling.logicalCSS)('width', 0), " opacity:0;}", _global_styling.euiCanAnimate, "{transition:inline-size ", euiTheme.animation.fast, " ease-in,opacity ", euiTheme.animation.slow, " ease-in;transform:none!important;animation:none!important;};label:euiDataGridHeaderCell__actions;")
33
+ euiDataGridHeaderCell__actions: {
34
+ action: /*#__PURE__*/(0, _react.css)("overflow:hidden;display:flex;max-inline-size:24px;", _global_styling.euiCanAnimate, "{transition:transform ", euiTheme.animation.fast, " ease-in,opacity ", euiTheme.animation.slow, " ease-in,margin-left ", euiTheme.animation.fast, " ease-in;animation:none!important;};label:action;"),
35
+ start: /*#__PURE__*/(0, _react.css)(hideAnimation("-".concat(euiTheme.size.m), '0%'), ";;label:start;"),
36
+ end: /*#__PURE__*/(0, _react.css)(hideAnimation("-".concat(euiTheme.size.l), '50%'), ";;label:end;")
37
+ }
31
38
  };
32
39
  };
@@ -13,7 +13,7 @@ var _focus = require("../../utils/focus");
13
13
  var _focus_utils = require("../cell/focus_utils");
14
14
  var _data_grid_header_cell_wrapper = require("./data_grid_header_cell_wrapper.styles");
15
15
  var _react2 = require("@emotion/react");
16
- var _excluded = ["id", "index", "isLastColumn", "width", "className", "children", "hasColumnActions", "isDragging", "onKeyDown", "aria-label"];
16
+ var _excluded = ["id", "index", "isLastColumn", "width", "className", "children", "hasColumnActions", "isDragging", "onKeyDown", "aria-label", "aria-labelledby"];
17
17
  /*
18
18
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
19
19
  * or more contributor license agreements. Licensed under the Elastic License
@@ -49,6 +49,7 @@ var EuiDataGridHeaderCellWrapper = exports.EuiDataGridHeaderCellWrapper = functi
49
49
  isDragging = _ref.isDragging,
50
50
  _onKeyDown = _ref.onKeyDown,
51
51
  ariaLabel = _ref['aria-label'],
52
+ ariaLabelledby = _ref['aria-labelledby'],
52
53
  rest = _objectWithoutProperties(_ref, _excluded);
53
54
  var classes = (0, _classnames.default)('euiDataGridHeaderCell', className);
54
55
  var styles = (0, _services.useEuiMemoizedStyles)(_data_grid_header_cell_wrapper.euiDataGridHeaderCellWrapperStyles);
@@ -114,7 +115,8 @@ var EuiDataGridHeaderCellWrapper = exports.EuiDataGridHeaderCellWrapper = functi
114
115
  style: width != null ? {
115
116
  width: "".concat(width, "px")
116
117
  } : {},
117
- "aria-label": renderFocusTrap ? ariaLabel : undefined
118
+ "aria-label": renderFocusTrap ? ariaLabel : undefined,
119
+ "aria-labelledby": renderFocusTrap ? ariaLabelledby : undefined
118
120
  }, rest), (0, _react2.jsx)(_focus_utils.HandleInteractiveChildren, {
119
121
  cellEl: isDragging ? null : headerEl,
120
122
  renderFocusTrap: isDragging ? false : renderFocusTrap,
@@ -130,6 +132,7 @@ EuiDataGridHeaderCellWrapper.propTypes = {
130
132
  width: _propTypes.default.oneOfType([_propTypes.default.number.isRequired, _propTypes.default.oneOf([null])]),
131
133
  className: _propTypes.default.string,
132
134
  "aria-label": _propTypes.default.any,
135
+ "aria-labelledby": _propTypes.default.any,
133
136
  hasColumnActions: _propTypes.default.bool,
134
137
  isDragging: _propTypes.default.bool,
135
138
  onKeyDown: _propTypes.default.any