@elastic/eui 109.0.0 → 109.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/es/components/accessibility/skip_link/skip_link.js +10 -1
  2. package/es/components/bottom_bar/bottom_bar.js +12 -2
  3. package/es/components/button/button.js +20 -25
  4. package/es/components/button/button_display/_button_display.js +32 -30
  5. package/es/components/button/button_display/_button_display.styles.js +4 -4
  6. package/es/components/button/button_empty/button_empty.js +32 -14
  7. package/es/components/button/button_group/button_group.js +49 -31
  8. package/es/components/button/button_group/button_group_button.js +14 -2
  9. package/es/components/button/button_group/button_group_button.styles.js +12 -8
  10. package/es/components/button/button_icon/button_icon.js +30 -6
  11. package/es/components/card/card.js +20 -25
  12. package/es/components/card/card_select/card_select.js +20 -25
  13. package/es/components/code/code_block_virtualized.js +9 -7
  14. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
  15. package/es/components/datagrid/body/cell/data_grid_cell.js +35 -12
  16. package/es/components/datagrid/body/data_grid_body.js +23 -6
  17. package/es/components/datagrid/body/data_grid_body_custom.js +23 -6
  18. package/es/components/datagrid/body/data_grid_body_virtualized.js +23 -6
  19. package/es/components/datagrid/body/header/data_grid_header_cell.js +23 -6
  20. package/es/components/datagrid/controls/column_selector.js +36 -19
  21. package/es/components/datagrid/controls/column_sorting.js +23 -6
  22. package/es/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
  23. package/es/components/datagrid/data_grid.js +5 -1
  24. package/es/components/datagrid/utils/in_memory.js +25 -7
  25. package/es/components/date_picker/auto_refresh/auto_refresh.js +11 -2
  26. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +31 -5
  27. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
  28. package/es/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
  29. package/es/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
  30. package/es/components/date_picker/super_date_picker/date_popover/timezone_display.js +98 -0
  31. package/es/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +19 -0
  32. package/es/components/date_picker/super_date_picker/pretty_duration.js +1 -8
  33. package/es/components/date_picker/super_date_picker/relative_utils.js +8 -0
  34. package/es/components/date_picker/super_date_picker/super_date_picker.js +118 -26
  35. package/es/components/date_picker/super_date_picker/time_window_buttons.js +185 -0
  36. package/es/components/facet/facet_button.js +9 -19
  37. package/es/components/filter_group/filter_button.js +14 -1
  38. package/es/components/flyout/flyout.js +27 -10
  39. package/es/components/form/form_control_button/form_control_button.js +13 -7
  40. package/es/components/header/header_links/header_link.js +13 -7
  41. package/es/components/header/header_section/header_section_item_button.js +13 -7
  42. package/es/components/icon/assets/boxes_vertical.js +1 -1
  43. package/es/components/icon/assets/checkInCircleFilled.js +1 -2
  44. package/es/components/icon/assets/errorFilled.js +1 -2
  45. package/es/components/icon/assets/warningFilled.js +1 -2
  46. package/es/components/icon/icon_map.js +3 -6
  47. package/es/components/list_group/list_group.js +13 -1
  48. package/es/components/list_group/list_group_item.js +13 -1
  49. package/es/components/list_group/list_group_item_extra_action.js +13 -1
  50. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
  51. package/es/components/overlay_mask/overlay_mask.styles.js +1 -1
  52. package/es/components/pagination/pagination_button.js +13 -7
  53. package/es/components/popover/popover.js +22 -16
  54. package/es/components/provider/component_defaults/component_defaults.js +22 -2
  55. package/es/components/table/table_row.styles.js +1 -1
  56. package/es/components/tool_tip/tool_tip.js +24 -24
  57. package/es/global_styling/index.js +2 -1
  58. package/es/global_styling/mixins/_button.js +1 -1
  59. package/es/global_styling/utility/selectors.js +9 -0
  60. package/es/services/focus_trap/focus_trap_pub_sub.js +74 -0
  61. package/es/services/focus_trap/index.js +9 -0
  62. package/es/services/hooks/index.js +2 -1
  63. package/es/services/hooks/useEuiDisabledElement.js +195 -0
  64. package/es/services/index.js +1 -0
  65. package/es/services/popover/reposition_on_scroll.js +61 -0
  66. package/es/test/cypress/index.d.ts +12 -0
  67. package/es/test/cypress/index.js +9 -0
  68. package/es/test/cypress/matchers.d.ts +20 -0
  69. package/es/test/cypress/matchers.js +54 -0
  70. package/es/test/cypress/test_reposition_on_scroll.js +66 -0
  71. package/es/test/enzyme/enzyme_matchers.d.ts +36 -0
  72. package/es/test/enzyme/enzyme_matchers.js +43 -0
  73. package/es/test/enzyme/index.d.ts +14 -0
  74. package/es/test/enzyme/index.js +10 -0
  75. package/es/test/rtl/index.d.ts +9 -1
  76. package/es/test/rtl/index.js +2 -1
  77. package/es/test/rtl/matchers.d.ts +36 -0
  78. package/es/test/rtl/matchers.js +82 -0
  79. package/es/utils/element_can_be_disabled.js +16 -0
  80. package/es/utils/index.js +2 -1
  81. package/eui.d.ts +588 -180
  82. package/i18ntokens.json +1357 -1231
  83. package/lib/components/accessibility/skip_link/skip_link.js +10 -1
  84. package/lib/components/bottom_bar/bottom_bar.js +11 -1
  85. package/lib/components/button/button.js +21 -26
  86. package/lib/components/button/button_display/_button_display.js +31 -29
  87. package/lib/components/button/button_display/_button_display.styles.js +4 -4
  88. package/lib/components/button/button_empty/button_empty.js +31 -13
  89. package/lib/components/button/button_group/button_group.js +49 -31
  90. package/lib/components/button/button_group/button_group_button.js +14 -2
  91. package/lib/components/button/button_group/button_group_button.styles.js +10 -6
  92. package/lib/components/button/button_icon/button_icon.js +29 -5
  93. package/lib/components/card/card.js +21 -26
  94. package/lib/components/card/card_select/card_select.js +21 -26
  95. package/lib/components/code/code_block_virtualized.js +9 -7
  96. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
  97. package/lib/components/datagrid/body/cell/data_grid_cell.js +35 -12
  98. package/lib/components/datagrid/body/data_grid_body.js +23 -6
  99. package/lib/components/datagrid/body/data_grid_body_custom.js +23 -6
  100. package/lib/components/datagrid/body/data_grid_body_virtualized.js +23 -6
  101. package/lib/components/datagrid/body/header/data_grid_header_cell.js +23 -6
  102. package/lib/components/datagrid/controls/column_selector.js +36 -19
  103. package/lib/components/datagrid/controls/column_sorting.js +23 -6
  104. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
  105. package/lib/components/datagrid/data_grid.js +5 -1
  106. package/lib/components/datagrid/utils/in_memory.js +25 -7
  107. package/lib/components/date_picker/auto_refresh/auto_refresh.js +12 -3
  108. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +30 -4
  109. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
  110. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
  111. package/lib/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
  112. package/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js +104 -0
  113. package/lib/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
  114. package/lib/components/date_picker/super_date_picker/pretty_duration.js +2 -9
  115. package/lib/components/date_picker/super_date_picker/relative_utils.js +9 -0
  116. package/lib/components/date_picker/super_date_picker/super_date_picker.js +118 -26
  117. package/lib/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
  118. package/lib/components/facet/facet_button.js +9 -19
  119. package/lib/components/filter_group/filter_button.js +14 -1
  120. package/lib/components/flyout/flyout.js +26 -9
  121. package/lib/components/form/form_control_button/form_control_button.js +13 -7
  122. package/lib/components/header/header_links/header_link.js +13 -7
  123. package/lib/components/header/header_section/header_section_item_button.js +13 -7
  124. package/lib/components/icon/assets/boxes_vertical.js +1 -1
  125. package/lib/components/icon/assets/checkInCircleFilled.js +1 -2
  126. package/lib/components/icon/assets/errorFilled.js +1 -2
  127. package/lib/components/icon/assets/warningFilled.js +1 -2
  128. package/lib/components/icon/icon_map.js +3 -6
  129. package/lib/components/icon/svgs/boxes_vertical.svg +1 -1
  130. package/lib/components/icon/svgs/checkInCircleFilled.svg +1 -1
  131. package/lib/components/icon/svgs/errorFilled.svg +1 -1
  132. package/lib/components/icon/svgs/warningFilled.svg +1 -1
  133. package/lib/components/list_group/list_group.js +13 -1
  134. package/lib/components/list_group/list_group_item.js +13 -1
  135. package/lib/components/list_group/list_group_item_extra_action.js +13 -1
  136. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
  137. package/lib/components/overlay_mask/overlay_mask.styles.js +1 -1
  138. package/lib/components/pagination/pagination_button.js +13 -7
  139. package/lib/components/popover/popover.js +21 -15
  140. package/lib/components/provider/component_defaults/component_defaults.js +22 -2
  141. package/lib/components/table/table_row.styles.js +1 -1
  142. package/lib/components/tool_tip/tool_tip.js +24 -24
  143. package/lib/global_styling/index.js +16 -1
  144. package/lib/global_styling/mixins/_button.js +1 -1
  145. package/lib/global_styling/utility/selectors.js +15 -0
  146. package/lib/services/focus_trap/focus_trap_pub_sub.js +80 -0
  147. package/lib/services/focus_trap/index.js +12 -0
  148. package/lib/services/hooks/index.js +18 -1
  149. package/lib/services/hooks/useEuiDisabledElement.js +199 -0
  150. package/lib/services/index.js +8 -0
  151. package/lib/services/popover/reposition_on_scroll.js +67 -0
  152. package/lib/test/cypress/index.d.ts +12 -0
  153. package/lib/test/cypress/index.js +18 -0
  154. package/lib/test/cypress/matchers.d.ts +20 -0
  155. package/lib/test/cypress/matchers.js +61 -0
  156. package/lib/test/cypress/test_reposition_on_scroll.js +69 -0
  157. package/lib/test/enzyme/enzyme_matchers.d.ts +36 -0
  158. package/lib/test/enzyme/enzyme_matchers.js +49 -0
  159. package/lib/test/enzyme/index.d.ts +14 -0
  160. package/lib/test/enzyme/index.js +24 -0
  161. package/lib/test/rtl/index.d.ts +9 -1
  162. package/lib/test/rtl/index.js +24 -2
  163. package/lib/test/rtl/matchers.d.ts +36 -0
  164. package/lib/test/rtl/matchers.js +86 -0
  165. package/lib/utils/element_can_be_disabled.js +22 -0
  166. package/lib/utils/index.js +14 -1
  167. package/optimize/es/components/bottom_bar/bottom_bar.js +12 -2
  168. package/optimize/es/components/button/button_display/_button_display.js +24 -12
  169. package/optimize/es/components/button/button_display/_button_display.styles.js +4 -4
  170. package/optimize/es/components/button/button_empty/button_empty.js +18 -6
  171. package/optimize/es/components/button/button_group/button_group.js +10 -5
  172. package/optimize/es/components/button/button_group/button_group_button.js +1 -1
  173. package/optimize/es/components/button/button_group/button_group_button.styles.js +12 -8
  174. package/optimize/es/components/button/button_icon/button_icon.js +17 -5
  175. package/optimize/es/components/code/code_block_virtualized.js +9 -7
  176. package/optimize/es/components/datagrid/controls/column_selector.js +36 -19
  177. package/optimize/es/components/datagrid/data_grid.js +5 -1
  178. package/optimize/es/components/datagrid/utils/in_memory.js +2 -1
  179. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +12 -4
  180. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +5 -2
  181. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_content.js +7 -3
  182. package/optimize/es/components/date_picker/super_date_picker/date_popover/relative_tab.js +10 -2
  183. package/optimize/es/components/date_picker/super_date_picker/date_popover/timezone_display.js +97 -0
  184. package/optimize/es/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +19 -0
  185. package/optimize/es/components/date_picker/super_date_picker/pretty_duration.js +1 -8
  186. package/optimize/es/components/date_picker/super_date_picker/relative_utils.js +8 -0
  187. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.js +49 -25
  188. package/optimize/es/components/date_picker/super_date_picker/time_window_buttons.js +185 -0
  189. package/optimize/es/components/flyout/flyout.js +27 -10
  190. package/optimize/es/components/icon/assets/boxes_vertical.js +1 -1
  191. package/optimize/es/components/icon/assets/checkInCircleFilled.js +1 -2
  192. package/optimize/es/components/icon/assets/errorFilled.js +1 -2
  193. package/optimize/es/components/icon/assets/warningFilled.js +1 -2
  194. package/optimize/es/components/icon/icon_map.js +3 -6
  195. package/optimize/es/components/overlay_mask/overlay_mask.styles.js +1 -1
  196. package/optimize/es/components/popover/popover.js +22 -16
  197. package/optimize/es/components/table/table_row.styles.js +1 -1
  198. package/optimize/es/components/tool_tip/tool_tip.js +24 -24
  199. package/optimize/es/global_styling/index.js +2 -1
  200. package/optimize/es/global_styling/mixins/_button.js +1 -1
  201. package/optimize/es/global_styling/utility/selectors.js +9 -0
  202. package/optimize/es/services/focus_trap/focus_trap_pub_sub.js +74 -0
  203. package/optimize/es/services/focus_trap/index.js +9 -0
  204. package/optimize/es/services/hooks/index.js +2 -1
  205. package/optimize/es/services/hooks/useEuiDisabledElement.js +192 -0
  206. package/optimize/es/services/index.js +1 -0
  207. package/optimize/es/services/popover/reposition_on_scroll.js +61 -0
  208. package/optimize/es/test/cypress/index.d.ts +12 -0
  209. package/optimize/es/test/cypress/index.js +9 -0
  210. package/optimize/es/test/cypress/matchers.d.ts +20 -0
  211. package/optimize/es/test/cypress/matchers.js +54 -0
  212. package/optimize/es/test/cypress/test_reposition_on_scroll.js +63 -0
  213. package/optimize/es/test/enzyme/enzyme_matchers.d.ts +36 -0
  214. package/optimize/es/test/enzyme/enzyme_matchers.js +43 -0
  215. package/optimize/es/test/enzyme/index.d.ts +14 -0
  216. package/optimize/es/test/enzyme/index.js +10 -0
  217. package/optimize/es/test/rtl/index.d.ts +9 -1
  218. package/optimize/es/test/rtl/index.js +2 -1
  219. package/optimize/es/test/rtl/matchers.d.ts +36 -0
  220. package/optimize/es/test/rtl/matchers.js +82 -0
  221. package/optimize/es/utils/element_can_be_disabled.js +16 -0
  222. package/optimize/es/utils/index.js +2 -1
  223. package/optimize/lib/components/bottom_bar/bottom_bar.js +11 -1
  224. package/optimize/lib/components/button/button_display/_button_display.js +23 -11
  225. package/optimize/lib/components/button/button_display/_button_display.styles.js +4 -4
  226. package/optimize/lib/components/button/button_empty/button_empty.js +17 -5
  227. package/optimize/lib/components/button/button_group/button_group.js +10 -5
  228. package/optimize/lib/components/button/button_group/button_group_button.js +1 -1
  229. package/optimize/lib/components/button/button_group/button_group_button.styles.js +10 -6
  230. package/optimize/lib/components/button/button_icon/button_icon.js +16 -4
  231. package/optimize/lib/components/code/code_block_virtualized.js +9 -7
  232. package/optimize/lib/components/datagrid/controls/column_selector.js +36 -19
  233. package/optimize/lib/components/datagrid/data_grid.js +5 -1
  234. package/optimize/lib/components/datagrid/utils/in_memory.js +2 -1
  235. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +11 -3
  236. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +5 -2
  237. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_content.js +7 -3
  238. package/optimize/lib/components/date_picker/super_date_picker/date_popover/relative_tab.js +10 -2
  239. package/optimize/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js +103 -0
  240. package/optimize/lib/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
  241. package/optimize/lib/components/date_picker/super_date_picker/pretty_duration.js +2 -9
  242. package/optimize/lib/components/date_picker/super_date_picker/relative_utils.js +9 -0
  243. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.js +49 -25
  244. package/optimize/lib/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
  245. package/optimize/lib/components/flyout/flyout.js +26 -9
  246. package/optimize/lib/components/icon/assets/boxes_vertical.js +1 -1
  247. package/optimize/lib/components/icon/assets/checkInCircleFilled.js +1 -2
  248. package/optimize/lib/components/icon/assets/errorFilled.js +1 -2
  249. package/optimize/lib/components/icon/assets/warningFilled.js +1 -2
  250. package/optimize/lib/components/icon/icon_map.js +3 -6
  251. package/optimize/lib/components/icon/svgs/boxes_vertical.svg +1 -1
  252. package/optimize/lib/components/icon/svgs/checkInCircleFilled.svg +1 -1
  253. package/optimize/lib/components/icon/svgs/errorFilled.svg +1 -1
  254. package/optimize/lib/components/icon/svgs/warningFilled.svg +1 -1
  255. package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +1 -1
  256. package/optimize/lib/components/popover/popover.js +21 -15
  257. package/optimize/lib/components/table/table_row.styles.js +1 -1
  258. package/optimize/lib/components/tool_tip/tool_tip.js +24 -24
  259. package/optimize/lib/global_styling/index.js +16 -1
  260. package/optimize/lib/global_styling/mixins/_button.js +1 -1
  261. package/optimize/lib/global_styling/utility/selectors.js +15 -0
  262. package/optimize/lib/services/focus_trap/focus_trap_pub_sub.js +80 -0
  263. package/optimize/lib/services/focus_trap/index.js +12 -0
  264. package/optimize/lib/services/hooks/index.js +18 -1
  265. package/optimize/lib/services/hooks/useEuiDisabledElement.js +197 -0
  266. package/optimize/lib/services/index.js +8 -0
  267. package/optimize/lib/services/popover/reposition_on_scroll.js +67 -0
  268. package/optimize/lib/test/cypress/index.d.ts +12 -0
  269. package/optimize/lib/test/cypress/index.js +18 -0
  270. package/optimize/lib/test/cypress/matchers.d.ts +20 -0
  271. package/optimize/lib/test/cypress/matchers.js +61 -0
  272. package/optimize/lib/test/cypress/test_reposition_on_scroll.js +70 -0
  273. package/optimize/lib/test/enzyme/enzyme_matchers.d.ts +36 -0
  274. package/optimize/lib/test/enzyme/enzyme_matchers.js +50 -0
  275. package/optimize/lib/test/enzyme/index.d.ts +14 -0
  276. package/optimize/lib/test/enzyme/index.js +24 -0
  277. package/optimize/lib/test/rtl/index.d.ts +9 -1
  278. package/optimize/lib/test/rtl/index.js +24 -2
  279. package/optimize/lib/test/rtl/matchers.d.ts +36 -0
  280. package/optimize/lib/test/rtl/matchers.js +86 -0
  281. package/optimize/lib/utils/element_can_be_disabled.js +22 -0
  282. package/optimize/lib/utils/index.js +14 -1
  283. package/package.json +1 -1
  284. package/test-env/components/accessibility/skip_link/skip_link.js +10 -1
  285. package/test-env/components/bottom_bar/bottom_bar.js +11 -1
  286. package/test-env/components/button/button.js +21 -26
  287. package/test-env/components/button/button_display/_button_display.js +31 -29
  288. package/test-env/components/button/button_display/_button_display.styles.js +4 -4
  289. package/test-env/components/button/button_empty/button_empty.js +31 -13
  290. package/test-env/components/button/button_group/button_group.js +49 -31
  291. package/test-env/components/button/button_group/button_group_button.js +14 -2
  292. package/test-env/components/button/button_group/button_group_button.styles.js +10 -6
  293. package/test-env/components/button/button_icon/button_icon.js +29 -5
  294. package/test-env/components/card/card.js +21 -26
  295. package/test-env/components/card/card_select/card_select.js +21 -26
  296. package/test-env/components/code/code_block_virtualized.js +9 -7
  297. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
  298. package/test-env/components/datagrid/body/cell/data_grid_cell.js +35 -12
  299. package/test-env/components/datagrid/body/data_grid_body.js +23 -6
  300. package/test-env/components/datagrid/body/data_grid_body_custom.js +23 -6
  301. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +23 -6
  302. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +23 -6
  303. package/test-env/components/datagrid/controls/column_selector.js +36 -19
  304. package/test-env/components/datagrid/controls/column_sorting.js +23 -6
  305. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
  306. package/test-env/components/datagrid/data_grid.js +5 -1
  307. package/test-env/components/datagrid/utils/in_memory.js +25 -7
  308. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +12 -3
  309. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +30 -4
  310. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
  311. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
  312. package/test-env/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
  313. package/test-env/components/date_picker/super_date_picker/date_popover/timezone_display.js +103 -0
  314. package/test-env/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
  315. package/test-env/components/date_picker/super_date_picker/pretty_duration.js +2 -9
  316. package/test-env/components/date_picker/super_date_picker/relative_utils.js +9 -0
  317. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +118 -26
  318. package/test-env/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
  319. package/test-env/components/facet/facet_button.js +9 -19
  320. package/test-env/components/filter_group/filter_button.js +14 -1
  321. package/test-env/components/form/form_control_button/form_control_button.js +13 -7
  322. package/test-env/components/header/header_links/header_link.js +13 -7
  323. package/test-env/components/header/header_section/header_section_item_button.js +13 -7
  324. package/test-env/components/icon/assets/boxes_vertical.js +1 -1
  325. package/test-env/components/icon/assets/checkInCircleFilled.js +1 -2
  326. package/test-env/components/icon/assets/errorFilled.js +1 -2
  327. package/test-env/components/icon/assets/warningFilled.js +1 -2
  328. package/test-env/components/icon/icon_map.js +3 -6
  329. package/test-env/components/list_group/list_group.js +13 -1
  330. package/test-env/components/list_group/list_group_item.js +13 -1
  331. package/test-env/components/list_group/list_group_item_extra_action.js +13 -1
  332. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
  333. package/test-env/components/overlay_mask/overlay_mask.styles.js +1 -1
  334. package/test-env/components/pagination/pagination_button.js +13 -7
  335. package/test-env/components/popover/popover.js +21 -15
  336. package/test-env/components/provider/component_defaults/component_defaults.js +22 -2
  337. package/test-env/components/table/table_row.styles.js +1 -1
  338. package/test-env/components/tool_tip/tool_tip.js +24 -24
  339. package/test-env/global_styling/index.js +16 -1
  340. package/test-env/global_styling/mixins/_button.js +1 -1
  341. package/test-env/global_styling/utility/selectors.js +15 -0
  342. package/test-env/services/focus_trap/focus_trap_pub_sub.js +80 -0
  343. package/test-env/services/focus_trap/index.js +12 -0
  344. package/test-env/services/hooks/index.js +18 -1
  345. package/test-env/services/hooks/useEuiDisabledElement.js +197 -0
  346. package/test-env/services/index.js +8 -0
  347. package/test-env/services/popover/reposition_on_scroll.js +67 -0
  348. package/test-env/test/cypress/index.js +18 -0
  349. package/test-env/test/cypress/matchers.js +61 -0
  350. package/test-env/test/cypress/test_reposition_on_scroll.js +70 -0
  351. package/test-env/test/enzyme/enzyme_matchers.js +50 -0
  352. package/test-env/test/enzyme/index.js +24 -0
  353. package/test-env/test/rtl/index.js +24 -2
  354. package/test-env/test/rtl/matchers.js +86 -0
  355. package/test-env/utils/element_can_be_disabled.js +22 -0
  356. package/test-env/utils/index.js +14 -1
@@ -183,13 +183,6 @@ ref) {
183
183
  EuiHeaderSectionItemButton.propTypes = {
184
184
  href: _propTypes.default.string,
185
185
  onClick: _propTypes.default.func,
186
- /**
187
- * `disabled` is also allowed
188
- */
189
- /**
190
- * `disabled` is also allowed
191
- */
192
- isDisabled: _propTypes.default.bool,
193
186
  target: _propTypes.default.string,
194
187
  rel: _propTypes.default.string,
195
188
  type: _propTypes.default.any,
@@ -228,10 +221,23 @@ EuiHeaderSectionItemButton.propTypes = {
228
221
  "data-text": _propTypes.default.string
229
222
  }).isRequired, _propTypes.default.oneOf([false])]),
230
223
  iconSize: _propTypes.default.any,
224
+ /**
225
+ * Controls the disabled behavior via the native `disabled` attribute.
226
+ */
227
+ isDisabled: _propTypes.default.bool,
231
228
  className: _propTypes.default.string,
232
229
  "aria-label": _propTypes.default.string,
233
230
  "data-test-subj": _propTypes.default.string,
234
231
  css: _propTypes.default.any,
232
+ /**
233
+ * NOTE: Beta feature, may be changed or removed in the future
234
+ *
235
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
236
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
237
+ *
238
+ * Use e.g. when a disabled button should have a tooltip.
239
+ */
240
+ hasAriaDisabled: _propTypes.default.bool,
235
241
  /**
236
242
  * Inserts the node into a EuiBadgeNotification and places it appropriately against the button.
237
243
  * Or pass `true` to render a simple dot
@@ -34,7 +34,7 @@ var EuiIconBoxesVertical = function EuiIconBoxesVertical(_ref) {
34
34
  }, props), title ? (0, _react2.jsx)("title", {
35
35
  id: titleId
36
36
  }, title) : null, (0, _react2.jsx)("path", {
37
- d: "M8 12a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm0-6a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm0-6a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z"
37
+ d: "M6 3a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM6 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm0 4a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-1 2a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z"
38
38
  }));
39
39
  };
40
40
  var icon = exports.icon = EuiIconBoxesVertical;
@@ -34,8 +34,7 @@ var EuiIconCheckInCircleFilled = function EuiIconCheckInCircleFilled(_ref) {
34
34
  }, props), title ? (0, _react2.jsx)("title", {
35
35
  id: titleId
36
36
  }, title) : null, (0, _react2.jsx)("path", {
37
- fillRule: "evenodd",
38
- d: "M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16Zm3.65-10.857L6.91 9.8 4.35 7.286a.5.5 0 0 0-.7.714l2.909 2.857a.5.5 0 0 0 .7 0l5.091-5a.5.5 0 1 0-.7-.714Z"
37
+ d: "M8 1a7 7 0 1 1 0 14A7 7 0 0 1 8 1ZM7 9.293 5.354 7.646l-.708.708L7 10.707l4.354-4.353-.707-.708L7 9.293Z"
39
38
  }));
40
39
  };
41
40
  var icon = exports.icon = EuiIconCheckInCircleFilled;
@@ -34,8 +34,7 @@ var EuiIconErrorFilled = function EuiIconErrorFilled(_ref) {
34
34
  }, props), title ? (0, _react2.jsx)("title", {
35
35
  id: titleId
36
36
  }, title) : null, (0, _react2.jsx)("path", {
37
- fillRule: "evenodd",
38
- d: "M10 1a1 1 0 0 1 .707.293l4 4A1 1 0 0 1 15 6v5a1 1 0 0 1-.293.707l-4 4A1 1 0 0 1 10 16H5a1 1 0 0 1-.707-.293l-4-4A1 1 0 0 1 0 11V6a1 1 0 0 1 .293-.707l4-4A1 1 0 0 1 5 1h5ZM4.146 5.146a.5.5 0 0 1 .708 0L7.5 7.793l2.646-2.647a.5.5 0 0 1 .708.708L8.207 8.5l2.647 2.646a.5.5 0 0 1-.708.708L7.5 9.207l-2.646 2.647a.5.5 0 0 1-.708-.708L6.793 8.5 4.146 5.854a.5.5 0 0 1 0-.708Z"
37
+ d: "M10.392 1.005a1 1 0 0 1 .608.288L14.707 5a1 1 0 0 1 .293.707v4.586a1 1 0 0 1-.293.707L11 14.707a1 1 0 0 1-.707.293H5.707a1 1 0 0 1-.634-.227L5 14.707 1.293 11a1 1 0 0 1-.288-.608L1 10.293V5.707A1 1 0 0 1 1.293 5L5 1.293A1 1 0 0 1 5.707 1h4.586l.099.005ZM8 7.293 5.354 4.646l-.708.708L7.293 8l-2.647 2.646.708.707L8 8.707l2.646 2.646.707-.707L8.707 8l2.646-2.646-.707-.708L8 7.293Z"
39
38
  }));
40
39
  };
41
40
  var icon = exports.icon = EuiIconErrorFilled;
@@ -34,8 +34,7 @@ var EuiIconWarningFilled = function EuiIconWarningFilled(_ref) {
34
34
  }, props), title ? (0, _react2.jsx)("title", {
35
35
  id: titleId
36
36
  }, title) : null, (0, _react2.jsx)("path", {
37
- fillRule: "evenodd",
38
- d: "M8 1a1 1 0 0 1 .864.496l7 12A1 1 0 0 1 15 15H1a1 1 0 0 1-.864-1.504l7-12A1 1 0 0 1 8 1Zm.9 4.995-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995a.905.905 0 1 1 1.8 0ZM8 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"
37
+ d: "M8 1a1 1 0 0 1 .863.496l7 12A1 1 0 0 1 15 15H1a1 1 0 0 1-.864-1.504l7-12A1 1 0 0 1 8 1Zm0 10a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-.5-6v5h1V5h-1Z"
39
38
  }));
40
39
  };
41
40
  var icon = exports.icon = EuiIconWarningFilled;
@@ -60,8 +60,7 @@ var typeToPathMap = exports.typeToPathMap = {
60
60
  changePointDetection: 'change_point_detection',
61
61
  check: 'check',
62
62
  checkCircle: 'checkCircle',
63
- checkInCircleFilled: 'checkCircle',
64
- // NOTE: To be deprecated in favor of `checkCircle`
63
+ checkInCircleFilled: 'checkInCircleFilled',
65
64
  cheer: 'cheer',
66
65
  classificationJob: 'ml_classification_job',
67
66
  clickLeft: 'clickLeft',
@@ -166,8 +165,7 @@ var typeToPathMap = exports.typeToPathMap = {
166
165
  eql: 'eql',
167
166
  eraser: 'eraser',
168
167
  error: 'error',
169
- errorFilled: 'error',
170
- // NOTE: To be deprecated in favor of `error`
168
+ errorFilled: 'errorFilled',
171
169
  esqlVis: 'esqlVis',
172
170
  exit: 'exit',
173
171
  expand: 'expand',
@@ -506,8 +504,7 @@ var typeToPathMap = exports.typeToPathMap = {
506
504
  visualizeApp: 'app_visualize',
507
505
  vulnerabilityManagementApp: 'app_vulnerability_management',
508
506
  warning: 'warning',
509
- warningFilled: 'warning',
510
- // NOTE: To be deprecated in favor of `warning`
507
+ warningFilled: 'warningFilled',
511
508
  watchesApp: 'app_watches',
512
509
  web: 'web',
513
510
  wordWrap: 'wordWrap',
@@ -1,3 +1,3 @@
1
1
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
2
- <path d="M8 12a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm0-6a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm0-6a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z"/>
2
+ <path d="M6 3a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM6 8a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm2-1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm0 4a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm-1 2a1 1 0 1 1 2 0 1 1 0 0 1-2 0Z"/>
3
3
  </svg>
@@ -1,3 +1,3 @@
1
1
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
2
- <path fill-rule="evenodd" d="M8,16 C3.581722,16 0,12.418278 0,8 C0,3.581722 3.581722,0 8,0 C12.418278,0 16,3.581722 16,8 C16,12.418278 12.418278,16 8,16 Z M11.649646,5.14327592 L6.90909091,9.79917823 L4.35035401,7.28613306 C4.15334074,7.09263789 3.8367711,7.09548987 3.64327592,7.29250314 C3.44978074,7.4895164 3.45263272,7.80608605 3.64964599,7.99958122 L6.5587369,10.8567241 C6.75324482,11.0477586 7.064937,11.0477586 7.25944492,10.8567241 L12.350354,5.85672408 C12.5473673,5.6632289 12.5502193,5.34665926 12.3567241,5.14964599 C12.1632289,4.95263272 11.8466593,4.94978074 11.649646,5.14327592 Z"/>
2
+ <path d="M8 1a7 7 0 1 1 0 14A7 7 0 0 1 8 1ZM7 9.293 5.354 7.646l-.708.708L7 10.707l4.354-4.353-.707-.708L7 9.293Z"/>
3
3
  </svg>
@@ -1,3 +1,3 @@
1
1
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
2
- <path fill-rule="evenodd" d="M10 1a1 1 0 0 1 .707.293l4 4A1 1 0 0 1 15 6v5a1 1 0 0 1-.293.707l-4 4A1 1 0 0 1 10 16H5a1 1 0 0 1-.707-.293l-4-4A1 1 0 0 1 0 11V6a1 1 0 0 1 .293-.707l4-4A1 1 0 0 1 5 1h5ZM4.146 5.146a.5.5 0 0 1 .708 0L7.5 7.793l2.646-2.647a.5.5 0 0 1 .708.708L8.207 8.5l2.647 2.646a.5.5 0 0 1-.708.708L7.5 9.207l-2.646 2.647a.5.5 0 0 1-.708-.708L6.793 8.5 4.146 5.854a.5.5 0 0 1 0-.708Z"/>
2
+ <path d="M10.392 1.005a1 1 0 0 1 .608.288L14.707 5a1 1 0 0 1 .293.707v4.586a1 1 0 0 1-.293.707L11 14.707a1 1 0 0 1-.707.293H5.707a1 1 0 0 1-.634-.227L5 14.707 1.293 11a1 1 0 0 1-.288-.608L1 10.293V5.707A1 1 0 0 1 1.293 5L5 1.293A1 1 0 0 1 5.707 1h4.586l.099.005ZM8 7.293 5.354 4.646l-.708.708L7.293 8l-2.647 2.646.708.707L8 8.707l2.646 2.646.707-.707L8.707 8l2.646-2.646-.707-.708L8 7.293Z"/>
3
3
  </svg>
@@ -1,3 +1,3 @@
1
1
  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
2
- <path fill-rule="evenodd" d="M8 1a1 1 0 0 1 .864.496l7 12A1 1 0 0 1 15 15H1a1 1 0 0 1-.864-1.504l7-12A1 1 0 0 1 8 1Zm.9 4.995-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995a.905.905 0 1 1 1.8 0ZM8 13a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"/>
2
+ <path d="M8 1a1 1 0 0 1 .863.496l7 12A1 1 0 0 1 15 15H1a1 1 0 0 1-.864-1.504l7-12A1 1 0 0 1 8 1Zm0 10a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-.5-6v5h1V5h-1Z"/>
3
3
  </svg>
@@ -197,7 +197,6 @@ EuiListGroup.propTypes = {
197
197
  color: _propTypes.default.any,
198
198
  "aria-label": _propTypes.default.string,
199
199
  "aria-labelledby": _propTypes.default.string,
200
- isDisabled: _propTypes.default.bool,
201
200
  /**
202
201
  * Overall size of button.
203
202
  * Matches the sizes of other EuiButtons
@@ -227,6 +226,19 @@ EuiListGroup.propTypes = {
227
226
  className: _propTypes.default.string,
228
227
  "data-test-subj": _propTypes.default.string,
229
228
  css: _propTypes.default.any,
229
+ /**
230
+ * Controls the disabled behavior via the native `disabled` attribute.
231
+ */
232
+ isDisabled: _propTypes.default.bool,
233
+ /**
234
+ * NOTE: Beta feature, may be changed or removed in the future
235
+ *
236
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
237
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
238
+ *
239
+ * Use e.g. when a disabled button should have a tooltip.
240
+ */
241
+ hasAriaDisabled: _propTypes.default.bool,
230
242
  buttonRef: _propTypes.default.any
231
243
  }),
232
244
  /**
@@ -280,7 +280,6 @@ EuiListGroupItem.propTypes = {
280
280
  color: _propTypes.default.any,
281
281
  "aria-label": _propTypes.default.string,
282
282
  "aria-labelledby": _propTypes.default.string,
283
- isDisabled: _propTypes.default.bool,
284
283
  /**
285
284
  * Overall size of button.
286
285
  * Matches the sizes of other EuiButtons
@@ -310,6 +309,19 @@ EuiListGroupItem.propTypes = {
310
309
  className: _propTypes.default.string,
311
310
  "data-test-subj": _propTypes.default.string,
312
311
  css: _propTypes.default.any,
312
+ /**
313
+ * Controls the disabled behavior via the native `disabled` attribute.
314
+ */
315
+ isDisabled: _propTypes.default.bool,
316
+ /**
317
+ * NOTE: Beta feature, may be changed or removed in the future
318
+ *
319
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
320
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
321
+ *
322
+ * Use e.g. when a disabled button should have a tooltip.
323
+ */
324
+ hasAriaDisabled: _propTypes.default.bool,
313
325
  buttonRef: _propTypes.default.any
314
326
  }),
315
327
  /**
@@ -60,7 +60,6 @@ EuiListGroupItemExtraAction.propTypes = {
60
60
  color: _propTypes.default.any,
61
61
  "aria-label": _propTypes.default.string,
62
62
  "aria-labelledby": _propTypes.default.string,
63
- isDisabled: _propTypes.default.bool,
64
63
  /**
65
64
  * Overall size of button.
66
65
  * Matches the sizes of other EuiButtons
@@ -90,6 +89,19 @@ EuiListGroupItemExtraAction.propTypes = {
90
89
  className: _propTypes.default.string,
91
90
  "data-test-subj": _propTypes.default.string,
92
91
  css: _propTypes.default.any,
92
+ /**
93
+ * Controls the disabled behavior via the native `disabled` attribute.
94
+ */
95
+ isDisabled: _propTypes.default.bool,
96
+ /**
97
+ * NOTE: Beta feature, may be changed or removed in the future
98
+ *
99
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
100
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
101
+ *
102
+ * Use e.g. when a disabled button should have a tooltip.
103
+ */
104
+ hasAriaDisabled: _propTypes.default.bool,
93
105
  buttonRef: _propTypes.default.any,
94
106
  parentIsDisabled: _propTypes.default.bool
95
107
  };
@@ -176,7 +176,6 @@ EuiPinnableListGroup.propTypes = {
176
176
  color: _propTypes.default.any,
177
177
  "aria-label": _propTypes.default.string,
178
178
  "aria-labelledby": _propTypes.default.string,
179
- isDisabled: _propTypes.default.bool,
180
179
  /**
181
180
  * Overall size of button.
182
181
  * Matches the sizes of other EuiButtons
@@ -206,6 +205,19 @@ EuiPinnableListGroup.propTypes = {
206
205
  className: _propTypes.default.string,
207
206
  "data-test-subj": _propTypes.default.string,
208
207
  css: _propTypes.default.any,
208
+ /**
209
+ * Controls the disabled behavior via the native `disabled` attribute.
210
+ */
211
+ isDisabled: _propTypes.default.bool,
212
+ /**
213
+ * NOTE: Beta feature, may be changed or removed in the future
214
+ *
215
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
216
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
217
+ *
218
+ * Use e.g. when a disabled button should have a tooltip.
219
+ */
220
+ hasAriaDisabled: _propTypes.default.bool,
209
221
  buttonRef: _propTypes.default.any
210
222
  }),
211
223
  /**
@@ -309,7 +321,6 @@ EuiPinnableListGroup.propTypes = {
309
321
  color: _propTypes.default.any,
310
322
  "aria-label": _propTypes.default.string,
311
323
  "aria-labelledby": _propTypes.default.string,
312
- isDisabled: _propTypes.default.bool,
313
324
  size: _propTypes.default.any,
314
325
  iconSize: _propTypes.default.any,
315
326
  isSelected: _propTypes.default.bool,
@@ -318,6 +329,8 @@ EuiPinnableListGroup.propTypes = {
318
329
  className: _propTypes.default.string,
319
330
  "data-test-subj": _propTypes.default.string,
320
331
  css: _propTypes.default.any,
332
+ isDisabled: _propTypes.default.bool,
333
+ hasAriaDisabled: _propTypes.default.bool,
321
334
  buttonRef: _propTypes.default.any
322
335
  }),
323
336
  /**
@@ -18,7 +18,7 @@ var euiOverlayMaskStyles = exports.euiOverlayMaskStyles = function euiOverlayMas
18
18
  var euiTheme = _ref.euiTheme,
19
19
  highContrastMode = _ref.highContrastMode;
20
20
  return {
21
- euiOverlayMask: /*#__PURE__*/(0, _css.css)("position:fixed;", (0, _global_styling.logicalCSS)('top', 0), " ", (0, _global_styling.logicalCSS)('left', 0), " ", (0, _global_styling.logicalCSS)('right', 0), " ", (0, _global_styling.logicalCSS)('bottom', 0), " display:flex;align-items:center;justify-content:center;", (0, _global_styling.logicalCSS)('padding-bottom', '10vh'), " animation:", _global_styling.euiAnimFadeIn, " ", euiTheme.animation.fast, " ease-in;background:", highContrastMode ? euiTheme.components.overlayMaskBackgroundHighContrast : euiTheme.components.overlayMaskBackground, ";;label:euiOverlayMask;"),
21
+ euiOverlayMask: /*#__PURE__*/(0, _css.css)("position:fixed;", (0, _global_styling.logicalCSS)('top', 0), " ", (0, _global_styling.logicalCSS)('left', 0), " ", (0, _global_styling.logicalCSS)('right', 0), " ", (0, _global_styling.logicalCSS)('bottom', 0), " display:flex;align-items:center;justify-content:center;animation:", _global_styling.euiAnimFadeIn, " ", euiTheme.animation.fast, " ease-in;background:", highContrastMode ? euiTheme.components.overlayMaskBackgroundHighContrast : euiTheme.components.overlayMaskBackground, ";;label:euiOverlayMask;"),
22
22
  aboveHeader: /*#__PURE__*/(0, _css.css)("z-index:", euiTheme.levels.mask, ";;label:aboveHeader;"),
23
23
  belowHeader: /*#__PURE__*/(0, _css.css)("z-index:", euiTheme.levels.maskBelowHeader, ";", (0, _global_styling.logicalCSS)('top', 'var(--euiFixedHeadersOffset, 0)'), ";;label:belowHeader;")
24
24
  };
@@ -77,13 +77,6 @@ var EuiPaginationButton = exports.EuiPaginationButton = function EuiPaginationBu
77
77
  EuiPaginationButton.propTypes = {
78
78
  href: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.string]), _propTypes.default.string]),
79
79
  onClick: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.func]),
80
- /**
81
- * `disabled` is also allowed
82
- */
83
- /**
84
- * `disabled` is also allowed
85
- */
86
- isDisabled: _propTypes.default.bool,
87
80
  target: _propTypes.default.string,
88
81
  rel: _propTypes.default.string,
89
82
  type: _propTypes.default.any,
@@ -122,10 +115,23 @@ EuiPaginationButton.propTypes = {
122
115
  "data-text": _propTypes.default.string
123
116
  }).isRequired, _propTypes.default.oneOf([false])]),
124
117
  iconSize: _propTypes.default.any,
118
+ /**
119
+ * Controls the disabled behavior via the native `disabled` attribute.
120
+ */
121
+ isDisabled: _propTypes.default.bool,
125
122
  className: _propTypes.default.string,
126
123
  "aria-label": _propTypes.default.string,
127
124
  "data-test-subj": _propTypes.default.string,
128
125
  css: _propTypes.default.any,
126
+ /**
127
+ * NOTE: Beta feature, may be changed or removed in the future
128
+ *
129
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
130
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
131
+ *
132
+ * Use e.g. when a disabled button should have a tooltip.
133
+ */
134
+ hasAriaDisabled: _propTypes.default.bool,
129
135
  isActive: _propTypes.default.bool,
130
136
  pageIndex: _propTypes.default.number.isRequired,
131
137
  totalPages: _propTypes.default.number
@@ -19,11 +19,13 @@ var _accessibility = require("../accessibility");
19
19
  var _portal = require("../portal");
20
20
  var _mutation_observer = require("../observer/mutation_observer");
21
21
  var _popover = require("../../services/popover");
22
+ var _reposition_on_scroll = require("../../services/popover/reposition_on_scroll");
22
23
  var _i18n = require("../i18n");
23
24
  var _outside_click_detector = require("../outside_click_detector");
24
25
  var _popover_arrow = require("./popover_arrow");
25
26
  var _popover2 = require("./popover.styles");
26
27
  var _popover_panel = require("./popover_panel");
28
+ var _component_defaults = require("../provider/component_defaults");
27
29
  var _react2 = require("@emotion/react");
28
30
  var _excluded = ["anchorPosition", "button", "insert", "isOpen", "ownFocus", "children", "className", "closePopover", "panelClassName", "panelPaddingSize", "panelProps", "panelRef", "panelStyle", "popoverScreenReaderText", "popoverRef", "hasArrow", "arrowChildren", "repositionOnScroll", "repositionToCrossAxis", "zIndex", "attachToAnchor", "display", "offset", "onPositionChange", "buffer", "aria-label", "aria-labelledby", "aria-live", "container", "focusTrapProps", "initialFocus", "tabIndex"];
29
31
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
@@ -112,7 +114,8 @@ var EuiPopover = exports.EuiPopover = /*#__PURE__*/function (_Component) {
112
114
  var _this;
113
115
  _classCallCheck(this, EuiPopover);
114
116
  _this = _callSuper(this, EuiPopover, [props]);
115
- _defineProperty(_this, "respositionTimeout", void 0);
117
+ _defineProperty(_this, "repositionOnScroll", void 0);
118
+ _defineProperty(_this, "repositionTimeout", void 0);
116
119
  _defineProperty(_this, "strandedFocusTimeout", void 0);
117
120
  _defineProperty(_this, "closingTransitionTimeout", void 0);
118
121
  _defineProperty(_this, "closingTransitionAnimationFrame", void 0);
@@ -191,12 +194,13 @@ var EuiPopover = exports.EuiPopover = /*#__PURE__*/function (_Component) {
191
194
  }),
192
195
  durationMatch = _Array$prototype$slic.durationMatch,
193
196
  delayMatch = _Array$prototype$slic.delayMatch;
194
- clearTimeout(_this.respositionTimeout);
195
- _this.respositionTimeout = window.setTimeout(function () {
197
+ clearTimeout(_this.repositionTimeout);
198
+ _this.repositionTimeout = window.setTimeout(function () {
196
199
  _this.setState({
197
200
  isOpenStable: true
198
201
  }, function () {
199
202
  _this.positionPopoverFixed();
203
+ _services.focusTrapPubSub.publish();
200
204
  });
201
205
  }, durationMatch + delayMatch);
202
206
  });
@@ -306,6 +310,13 @@ var EuiPopover = exports.EuiPopover = /*#__PURE__*/function (_Component) {
306
310
  // once a stable position has been found, keep the contents on that side
307
311
  isOpenStable: false // wait for any initial opening transitions to finish before marking as stable
308
312
  };
313
+ _this.repositionOnScroll = (0, _reposition_on_scroll.createRepositionOnScroll)(function () {
314
+ return {
315
+ repositionOnScroll: _this.props.repositionOnScroll,
316
+ componentDefaults: _this.context.EuiPopover,
317
+ repositionFn: _this.positionPopoverFixed
318
+ };
319
+ });
309
320
  return _this;
310
321
  }
311
322
  _inherits(EuiPopover, _Component);
@@ -323,9 +334,7 @@ var EuiPopover = exports.EuiPopover = /*#__PURE__*/function (_Component) {
323
334
  _this2.onOpenPopover();
324
335
  });
325
336
  }
326
- if (this.props.repositionOnScroll) {
327
- window.addEventListener('scroll', this.positionPopoverFixed, true);
328
- }
337
+ this.repositionOnScroll.subscribe();
329
338
  }
330
339
  }, {
331
340
  key: "componentDidUpdate",
@@ -342,13 +351,7 @@ var EuiPopover = exports.EuiPopover = /*#__PURE__*/function (_Component) {
342
351
  }
343
352
 
344
353
  // update scroll listener
345
- if (prevProps.repositionOnScroll !== this.props.repositionOnScroll) {
346
- if (this.props.repositionOnScroll) {
347
- window.addEventListener('scroll', this.positionPopoverFixed, true);
348
- } else {
349
- window.removeEventListener('scroll', this.positionPopoverFixed, true);
350
- }
351
- }
354
+ this.repositionOnScroll.update();
352
355
 
353
356
  // The popover is being closed.
354
357
  if (prevProps.isOpen && !this.props.isOpen) {
@@ -358,17 +361,19 @@ var EuiPopover = exports.EuiPopover = /*#__PURE__*/function (_Component) {
358
361
  _this3.setState({
359
362
  isClosing: false
360
363
  });
364
+ _services.focusTrapPubSub.publish();
361
365
  }, closingTransitionTime);
362
366
  }
363
367
  }
364
368
  }, {
365
369
  key: "componentWillUnmount",
366
370
  value: function componentWillUnmount() {
367
- window.removeEventListener('scroll', this.positionPopoverFixed, true);
368
- clearTimeout(this.respositionTimeout);
371
+ this.repositionOnScroll.cleanup();
372
+ clearTimeout(this.repositionTimeout);
369
373
  clearTimeout(this.strandedFocusTimeout);
370
374
  clearTimeout(this.closingTransitionTimeout);
371
375
  cancelAnimationFrame(this.closingTransitionAnimationFrame);
376
+ _services.focusTrapPubSub.publish();
372
377
  }
373
378
  }, {
374
379
  key: "render",
@@ -541,6 +546,7 @@ var EuiPopover = exports.EuiPopover = /*#__PURE__*/function (_Component) {
541
546
  }
542
547
  }]);
543
548
  }(_react.Component);
549
+ _defineProperty(EuiPopover, "contextType", _component_defaults.EuiComponentDefaultsContext);
544
550
  _defineProperty(EuiPopover, "defaultProps", {
545
551
  isOpen: false,
546
552
  ownFocus: true,
@@ -73,7 +73,17 @@ EuiComponentDefaultsProvider.propTypes = {
73
73
  * Provide a global configuration for `EuiFlyout`s.
74
74
  * Defaults will be inherited by all `EuiFlyout`s.
75
75
  */
76
- EuiFlyout: _propTypes.default.any
76
+ EuiFlyout: _propTypes.default.any,
77
+ /**
78
+ * Provide a global configuration for `EuiPopover`s.
79
+ * Defaults will be inherited by every `EuiPopover`.
80
+ */
81
+ EuiPopover: _propTypes.default.any,
82
+ /**
83
+ * Provide a global configuration for `EuiToolTip`s.
84
+ * Defaults will be inherited by every `EuiToolTip`.
85
+ */
86
+ EuiToolTip: _propTypes.default.any
77
87
  })
78
88
  };
79
89
  var useComponentDefaults = exports.useComponentDefaults = function useComponentDefaults() {
@@ -128,5 +138,15 @@ EuiProviderComponentDefaultsProps.propTypes = {
128
138
  * Provide a global configuration for `EuiFlyout`s.
129
139
  * Defaults will be inherited by all `EuiFlyout`s.
130
140
  */
131
- EuiFlyout: _propTypes.default.any
141
+ EuiFlyout: _propTypes.default.any,
142
+ /**
143
+ * Provide a global configuration for `EuiPopover`s.
144
+ * Defaults will be inherited by every `EuiPopover`.
145
+ */
146
+ EuiPopover: _propTypes.default.any,
147
+ /**
148
+ * Provide a global configuration for `EuiToolTip`s.
149
+ * Defaults will be inherited by every `EuiToolTip`.
150
+ */
151
+ EuiToolTip: _propTypes.default.any
132
152
  };
@@ -61,7 +61,7 @@ var euiTableRowStyles = exports.euiTableRowStyles = function euiTableRowStyles(e
61
61
  // preceding table row via negative margins
62
62
  'margin-top', (0, _global_styling.mathWithUnits)([cellContentPadding, euiTheme.border.width.thin], function (x, y) {
63
63
  return (x + y * 2) * -1;
64
- })), (0, _global_styling.logicalCSS)('padding-left', cellContentPadding), " ", (0, _global_styling.logicalCSS)('border-top', euiTheme.border.thin), " ", (0, _global_styling.logicalCSS)('border-top-left-radius', 0), " ", (0, _global_styling.logicalCSS)('border-top-right-radius', 0), " &:after{", (0, _global_styling.logicalCSS)('border-top', 'none'), ";}clip-path:polygon(-50% 0, 150% 0, 150% 100vh, -50% 100vh);>.euiTableRowCell{", (0, _global_styling.logicalCSS)('width', '100%'), ";}", expandedAnimationCss, ";;label:expanded;")
64
+ })), (0, _global_styling.logicalCSS)('padding-left', cellContentPadding), " ", (0, _global_styling.logicalCSS)('border-top', euiTheme.border.thin), " ", (0, _global_styling.logicalCSS)('border-top-left-radius', 0), " ", (0, _global_styling.logicalCSS)('border-top-right-radius', 0), " &:after{", (0, _global_styling.logicalCSS)('border-top', 'none'), ";}clip-path:polygon(-50% 0, 150% 0, 150% 150%, -50% 150%);>.euiTableRowCell{", (0, _global_styling.logicalCSS)('width', '100%'), ";}", expandedAnimationCss, ";;label:expanded;")
65
65
  }
66
66
  };
67
67
  };
@@ -8,9 +8,11 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _services = require("../../services");
11
+ var _reposition_on_scroll = require("../../services/popover/reposition_on_scroll");
11
12
  var _react2 = require("../../services/react");
12
13
  var _resize_observer = require("../observer/resize_observer");
13
14
  var _portal = require("../portal");
15
+ var _component_defaults = require("../provider/component_defaults");
14
16
  var _tool_tip_popover = require("./tool_tip_popover");
15
17
  var _tool_tip_anchor = require("./tool_tip_anchor");
16
18
  var _tool_tip_arrow = require("./tool_tip_arrow");
@@ -63,25 +65,15 @@ var DEFAULT_TOOLTIP_STYLES = {
63
65
  visibility: 'hidden'
64
66
  };
65
67
  var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/function (_Component) {
66
- function EuiToolTip() {
68
+ function EuiToolTip(props) {
67
69
  var _this;
68
70
  _classCallCheck(this, EuiToolTip);
69
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
70
- args[_key] = arguments[_key];
71
- }
72
- _this = _callSuper(this, EuiToolTip, [].concat(args));
71
+ _this = _callSuper(this, EuiToolTip, [props]);
72
+ _defineProperty(_this, "repositionOnScroll", void 0);
73
73
  _defineProperty(_this, "_isMounted", false);
74
74
  _defineProperty(_this, "anchor", null);
75
75
  _defineProperty(_this, "popover", null);
76
76
  _defineProperty(_this, "timeoutId", void 0);
77
- _defineProperty(_this, "state", {
78
- visible: false,
79
- hasFocus: false,
80
- calculatedPosition: _this.props.position,
81
- toolTipStyles: DEFAULT_TOOLTIP_STYLES,
82
- arrowStyles: undefined,
83
- id: _this.props.id || (0, _services.htmlIdGenerator)()()
84
- });
85
77
  _defineProperty(_this, "clearAnimationTimeout", function () {
86
78
  if (_this.timeoutId) {
87
79
  _this.timeoutId = clearTimeout(_this.timeoutId);
@@ -210,6 +202,21 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/function (_Component) {
210
202
  _this.props.onMouseOut(event);
211
203
  }
212
204
  });
205
+ _this.state = {
206
+ visible: false,
207
+ hasFocus: false,
208
+ calculatedPosition: _this.props.position,
209
+ toolTipStyles: DEFAULT_TOOLTIP_STYLES,
210
+ arrowStyles: undefined,
211
+ id: _this.props.id || (0, _services.htmlIdGenerator)()()
212
+ };
213
+ _this.repositionOnScroll = (0, _reposition_on_scroll.createRepositionOnScroll)(function () {
214
+ return {
215
+ repositionOnScroll: _this.props.repositionOnScroll,
216
+ componentDefaults: _this.context.EuiToolTip,
217
+ repositionFn: _this.positionToolTip
218
+ };
219
+ });
213
220
  return _this;
214
221
  }
215
222
  _inherits(EuiToolTip, _Component);
@@ -217,16 +224,14 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/function (_Component) {
217
224
  key: "componentDidMount",
218
225
  value: function componentDidMount() {
219
226
  this._isMounted = true;
220
- if (this.props.repositionOnScroll) {
221
- window.addEventListener('scroll', this.positionToolTip, true);
222
- }
227
+ this.repositionOnScroll.subscribe();
223
228
  }
224
229
  }, {
225
230
  key: "componentWillUnmount",
226
231
  value: function componentWillUnmount() {
227
232
  this.clearAnimationTimeout();
228
233
  this._isMounted = false;
229
- window.removeEventListener('scroll', this.positionToolTip, true);
234
+ this.repositionOnScroll.cleanup();
230
235
  }
231
236
  }, {
232
237
  key: "componentDidUpdate",
@@ -236,13 +241,7 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/function (_Component) {
236
241
  }
237
242
 
238
243
  // update scroll listener
239
- if (prevProps.repositionOnScroll !== this.props.repositionOnScroll) {
240
- if (this.props.repositionOnScroll) {
241
- window.addEventListener('scroll', this.positionToolTip, true);
242
- } else {
243
- window.removeEventListener('scroll', this.positionToolTip, true);
244
- }
245
- }
244
+ this.repositionOnScroll.update();
246
245
  }
247
246
  }, {
248
247
  key: "render",
@@ -304,6 +303,7 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/function (_Component) {
304
303
  }
305
304
  }]);
306
305
  }(_react.Component);
306
+ _defineProperty(EuiToolTip, "contextType", _component_defaults.EuiComponentDefaultsContext);
307
307
  _defineProperty(EuiToolTip, "defaultProps", {
308
308
  position: 'top',
309
309
  delay: 'regular',
@@ -3,9 +3,19 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ euiDisabledSelector: true
8
+ };
9
+ Object.defineProperty(exports, "euiDisabledSelector", {
10
+ enumerable: true,
11
+ get: function get() {
12
+ return _selectors.euiDisabledSelector;
13
+ }
14
+ });
6
15
  var _global_styles = require("./reset/global_styles");
7
16
  Object.keys(_global_styles).forEach(function (key) {
8
17
  if (key === "default" || key === "__esModule") return;
18
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
9
19
  if (key in exports && exports[key] === _global_styles[key]) return;
10
20
  Object.defineProperty(exports, key, {
11
21
  enumerable: true,
@@ -17,6 +27,7 @@ Object.keys(_global_styles).forEach(function (key) {
17
27
  var _functions = require("./functions");
18
28
  Object.keys(_functions).forEach(function (key) {
19
29
  if (key === "default" || key === "__esModule") return;
30
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
31
  if (key in exports && exports[key] === _functions[key]) return;
21
32
  Object.defineProperty(exports, key, {
22
33
  enumerable: true,
@@ -28,6 +39,7 @@ Object.keys(_functions).forEach(function (key) {
28
39
  var _variables = require("./variables");
29
40
  Object.keys(_variables).forEach(function (key) {
30
41
  if (key === "default" || key === "__esModule") return;
42
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
31
43
  if (key in exports && exports[key] === _variables[key]) return;
32
44
  Object.defineProperty(exports, key, {
33
45
  enumerable: true,
@@ -39,6 +51,7 @@ Object.keys(_variables).forEach(function (key) {
39
51
  var _mixins = require("./mixins");
40
52
  Object.keys(_mixins).forEach(function (key) {
41
53
  if (key === "default" || key === "__esModule") return;
54
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
42
55
  if (key in exports && exports[key] === _mixins[key]) return;
43
56
  Object.defineProperty(exports, key, {
44
57
  enumerable: true,
@@ -50,6 +63,7 @@ Object.keys(_mixins).forEach(function (key) {
50
63
  var _animations = require("./utility/animations");
51
64
  Object.keys(_animations).forEach(function (key) {
52
65
  if (key === "default" || key === "__esModule") return;
66
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
53
67
  if (key in exports && exports[key] === _animations[key]) return;
54
68
  Object.defineProperty(exports, key, {
55
69
  enumerable: true,
@@ -57,4 +71,5 @@ Object.keys(_animations).forEach(function (key) {
57
71
  return _animations[key];
58
72
  }
59
73
  });
60
- });
74
+ });
75
+ var _selectors = require("./utility/selectors");