@elastic/eui 109.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 (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 +3 -2
  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
@@ -30,6 +30,7 @@ import { EuiDatePickerRange } from '../date_picker_range';
30
30
  import { EuiFormControlButton, EuiFormControlLayout } from '../../form';
31
31
  import { RenderI18nTimeOptions } from './time_options';
32
32
  import { PrettyDuration, showPrettyDuration } from './pretty_duration';
33
+ import { EuiTimeWindowButtons } from './time_window_buttons';
33
34
  import { AsyncInterval } from './async_interval';
34
35
  import { EuiSuperUpdateButton } from './super_update_button';
35
36
  import { EuiQuickSelectPopover } from './quick_select_popover/quick_select_popover';
@@ -268,7 +269,9 @@ export var EuiSuperDatePickerInternal = /*#__PURE__*/function (_Component) {
268
269
  maxDate = _this$props3.maxDate,
269
270
  compressed = _this$props3.compressed,
270
271
  onFocus = _this$props3.onFocus,
271
- styles = _this$props3.memoizedStyles;
272
+ styles = _this$props3.memoizedStyles,
273
+ _this$props3$timeZone = _this$props3.timeZoneDisplayProps,
274
+ timeZoneDisplayProps = _this$props3$timeZone === void 0 ? {} : _this$props3$timeZone;
272
275
  var autoRefreshAppend = !isPaused ? ___EmotionJSX(EuiAutoRefreshButton, {
273
276
  refreshInterval: refreshInterval,
274
277
  minInterval: refreshMinInterval,
@@ -345,7 +348,8 @@ export var EuiSuperDatePickerInternal = /*#__PURE__*/function (_Component) {
345
348
  timeOptions: timeOptions,
346
349
  buttonProps: {
347
350
  onFocus: onFocus
348
- }
351
+ },
352
+ timeZoneDisplayProps: timeZoneDisplayProps
349
353
  }),
350
354
  endDateControl: isQuickSelectOnly ? undefined : ___EmotionJSX(EuiDatePopoverButton, {
351
355
  css: styles.euiSuperDatePicker__rangeInput,
@@ -370,7 +374,8 @@ export var EuiSuperDatePickerInternal = /*#__PURE__*/function (_Component) {
370
374
  timeOptions: timeOptions,
371
375
  buttonProps: {
372
376
  onFocus: onFocus
373
- }
377
+ },
378
+ timeZoneDisplayProps: timeZoneDisplayProps
374
379
  })
375
380
  }));
376
381
  });
@@ -390,13 +395,32 @@ export var EuiSuperDatePickerInternal = /*#__PURE__*/function (_Component) {
390
395
  _this.applyTime();
391
396
  }
392
397
  });
393
- _defineProperty(_this, "renderUpdateButton", function () {
398
+ _defineProperty(_this, "renderTimeWindowButtons", function () {
399
+ if (!_this.props.showTimeWindowButtons || _this.props.isAutoRefreshOnly) {
400
+ return null;
401
+ }
394
402
  var _this$props5 = _this.props,
395
- isLoading = _this$props5.isLoading,
396
- isDisabled = _this$props5.isDisabled,
397
- updateButtonProps = _this$props5.updateButtonProps,
398
- showUpdateButton = _this$props5.showUpdateButton,
399
- compressed = _this$props5.compressed;
403
+ start = _this$props5.start,
404
+ end = _this$props5.end,
405
+ showTimeWindowButtons = _this$props5.showTimeWindowButtons,
406
+ compressed = _this$props5.compressed,
407
+ isDisabled = _this$props5.isDisabled;
408
+ var config = typeof showTimeWindowButtons === 'boolean' ? {} : showTimeWindowButtons;
409
+ return ___EmotionJSX(EuiTimeWindowButtons, _extends({
410
+ applyTime: _this.applyQuickTime,
411
+ start: start,
412
+ end: end,
413
+ compressed: compressed,
414
+ isDisabled: !!isDisabled || _this.state.isInvalid
415
+ }, config));
416
+ });
417
+ _defineProperty(_this, "renderUpdateButton", function () {
418
+ var _this$props6 = _this.props,
419
+ isLoading = _this$props6.isLoading,
420
+ isDisabled = _this$props6.isDisabled,
421
+ updateButtonProps = _this$props6.updateButtonProps,
422
+ showUpdateButton = _this$props6.showUpdateButton,
423
+ compressed = _this$props6.compressed;
400
424
  if (!showUpdateButton) return null;
401
425
  return ___EmotionJSX(EuiSuperUpdateButton, _extends({
402
426
  needsUpdate: _this.state.hasChanged,
@@ -415,21 +439,21 @@ export var EuiSuperDatePickerInternal = /*#__PURE__*/function (_Component) {
415
439
  return _createClass(EuiSuperDatePickerInternal, [{
416
440
  key: "render",
417
441
  value: function render() {
418
- var _this$props6 = this.props,
419
- isAutoRefreshOnly = _this$props6.isAutoRefreshOnly,
420
- isDisabled = _this$props6.isDisabled,
421
- isPaused = _this$props6.isPaused,
422
- onRefreshChange = _this$props6.onRefreshChange,
423
- refreshInterval = _this$props6.refreshInterval,
424
- refreshMinInterval = _this$props6.refreshMinInterval,
425
- refreshIntervalUnits = _this$props6.refreshIntervalUnits,
426
- showUpdateButton = _this$props6.showUpdateButton,
427
- dataTestSubj = _this$props6['data-test-subj'],
428
- _width = _this$props6.width,
429
- isQuickSelectOnly = _this$props6.isQuickSelectOnly,
430
- compressed = _this$props6.compressed,
431
- className = _this$props6.className,
432
- styles = _this$props6.memoizedStyles;
442
+ var _this$props7 = this.props,
443
+ isAutoRefreshOnly = _this$props7.isAutoRefreshOnly,
444
+ isDisabled = _this$props7.isDisabled,
445
+ isPaused = _this$props7.isPaused,
446
+ onRefreshChange = _this$props7.onRefreshChange,
447
+ refreshInterval = _this$props7.refreshInterval,
448
+ refreshMinInterval = _this$props7.refreshMinInterval,
449
+ refreshIntervalUnits = _this$props7.refreshIntervalUnits,
450
+ showUpdateButton = _this$props7.showUpdateButton,
451
+ dataTestSubj = _this$props7['data-test-subj'],
452
+ _width = _this$props7.width,
453
+ isQuickSelectOnly = _this$props7.isQuickSelectOnly,
454
+ compressed = _this$props7.compressed,
455
+ className = _this$props7.className,
456
+ styles = _this$props7.memoizedStyles;
433
457
  var _this$state2 = this.state,
434
458
  hasChanged = _this$state2.hasChanged,
435
459
  isInvalid = _this$state2.isInvalid;
@@ -454,7 +478,7 @@ export var EuiSuperDatePickerInternal = /*#__PURE__*/function (_Component) {
454
478
  compressed: compressed,
455
479
  isDisabled: !!isDisabled,
456
480
  className: className
457
- }) : ___EmotionJSX(React.Fragment, null, this.renderDatePickerRange(), this.renderUpdateButton()));
481
+ }) : ___EmotionJSX(React.Fragment, null, this.renderDatePickerRange(), this.renderTimeWindowButtons(), this.renderUpdateButton()));
458
482
  }
459
483
  }], [{
460
484
  key: "getDerivedStateFromProps",
@@ -0,0 +1,185 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import React from 'react';
10
+ import dateMath from '@elastic/datemath';
11
+ import moment from 'moment';
12
+ import { usePrettyInterval } from './pretty_interval';
13
+ import { isRelativeToNow } from './relative_utils';
14
+ import { EuiButtonGroupButton } from '../../button/button_group/button_group_button';
15
+ import { euiButtonGroupButtonsStyles } from '../../button/button_group/button_group.styles';
16
+ import { useEuiMemoizedStyles, useGeneratedHtmlId } from '../../../services';
17
+ import { useEuiI18n } from '../../i18n';
18
+ import { jsx as ___EmotionJSX } from "@emotion/react";
19
+ export var ZOOM_FACTOR_DEFAULT = 0.5;
20
+ /**
21
+ * Button group with time window controls for shifting the time window
22
+ * forwards and backwards, and zooming out.
23
+ */
24
+ export var EuiTimeWindowButtons = function EuiTimeWindowButtons(_ref) {
25
+ var applyTime = _ref.applyTime,
26
+ start = _ref.start,
27
+ end = _ref.end,
28
+ compressed = _ref.compressed,
29
+ isDisabled = _ref.isDisabled,
30
+ _ref$showZoomOut = _ref.showZoomOut,
31
+ showZoomOut = _ref$showZoomOut === void 0 ? true : _ref$showZoomOut,
32
+ _ref$showShiftArrows = _ref.showShiftArrows,
33
+ showShiftArrows = _ref$showShiftArrows === void 0 ? true : _ref$showShiftArrows,
34
+ _ref$zoomFactor = _ref.zoomFactor,
35
+ zoomFactor = _ref$zoomFactor === void 0 ? ZOOM_FACTOR_DEFAULT : _ref$zoomFactor;
36
+ var buttonColor = 'text';
37
+ var buttonSize = compressed ? 's' : 'm';
38
+ var iconSize = compressed ? 's' : 'm';
39
+ var styles = useEuiMemoizedStyles(euiButtonGroupButtonsStyles);
40
+ var _useEuiTimeWindow = useEuiTimeWindow(start, end, applyTime, {
41
+ zoomFactor: zoomFactor
42
+ }),
43
+ displayInterval = _useEuiTimeWindow.displayInterval,
44
+ isInvalid = _useEuiTimeWindow.isInvalid,
45
+ stepForward = _useEuiTimeWindow.stepForward,
46
+ stepBackward = _useEuiTimeWindow.stepBackward,
47
+ expandWindow = _useEuiTimeWindow.expandWindow;
48
+ var invalidShiftDescription = useEuiI18n('euiTimeWindowButtons.invalidShiftLabel', 'Cannot shift invalid time window');
49
+ var invalidZoomOutDescription = useEuiI18n('euiTimeWindowButtons.invalidZoomOutLabel', 'Cannot zoom out invalid time window');
50
+ var previousId = useGeneratedHtmlId({
51
+ prefix: 'previous'
52
+ });
53
+ var previousLabel = useEuiI18n('euiTimeWindowButtons.previousLabel', 'Previous');
54
+ var previousTooltipContent = useEuiI18n('euiTimeWindowButtons.previousDescription', 'Previous {displayInterval}', {
55
+ displayInterval: displayInterval
56
+ });
57
+ var zoomOutId = useGeneratedHtmlId({
58
+ prefix: 'zoom_out'
59
+ });
60
+ var zoomOutLabel = useEuiI18n('euiTimeWindowButtons.zoomOutLabel', 'Zoom out');
61
+ var zoomOutTooltipContent = isInvalid ? invalidZoomOutDescription : zoomOutLabel;
62
+ var nextId = useGeneratedHtmlId({
63
+ prefix: 'next'
64
+ });
65
+ var nextLabel = useEuiI18n('euiTimeWindowButtons.nextLabel', 'Next');
66
+ var nextTooltipContent = useEuiI18n('euiTimeWindowButtons.nextDescription', 'Next {displayInterval}', {
67
+ displayInterval: displayInterval
68
+ });
69
+ if (!showZoomOut && !showShiftArrows) return null;
70
+ return ___EmotionJSX("div", {
71
+ className: "euiSuperDatePicker__timeWindowButtons",
72
+ css: [styles.euiButtonGroup__buttons, styles[buttonSize], ";label:EuiTimeWindowButtons;"],
73
+ "data-test-subj": "timeWindowButtons"
74
+ }, showShiftArrows && ___EmotionJSX(EuiButtonGroupButton, {
75
+ id: previousId,
76
+ "data-test-subj": "timeWindowButtonsPrevious",
77
+ label: previousLabel,
78
+ title: "",
79
+ toolTipContent: !isDisabled && (isInvalid ? invalidShiftDescription : previousTooltipContent),
80
+ color: buttonColor,
81
+ size: buttonSize,
82
+ iconType: "arrowLeft",
83
+ iconSize: iconSize,
84
+ isIconOnly: true,
85
+ isSelected: false,
86
+ isDisabled: isDisabled,
87
+ onClick: stepBackward
88
+ }), showZoomOut && ___EmotionJSX(EuiButtonGroupButton, {
89
+ id: zoomOutId,
90
+ "data-test-subj": "timeWindowButtonsZoomOut",
91
+ label: zoomOutLabel,
92
+ title: "",
93
+ toolTipContent: !isDisabled && zoomOutTooltipContent,
94
+ toolTipProps: {
95
+ disableScreenReaderOutput: zoomOutLabel === zoomOutTooltipContent
96
+ },
97
+ color: buttonColor,
98
+ size: buttonSize,
99
+ iconType: "magnifyWithMinus",
100
+ iconSize: iconSize,
101
+ isIconOnly: true,
102
+ isSelected: false,
103
+ isDisabled: isDisabled,
104
+ onClick: expandWindow
105
+ }), showShiftArrows && ___EmotionJSX(EuiButtonGroupButton, {
106
+ id: nextId,
107
+ "data-test-subj": "timeWindowButtonsNext",
108
+ label: nextLabel,
109
+ title: "",
110
+ toolTipContent: !isDisabled && (isInvalid ? invalidShiftDescription : nextTooltipContent),
111
+ color: buttonColor,
112
+ size: buttonSize,
113
+ iconType: "arrowRight",
114
+ iconSize: iconSize,
115
+ isIconOnly: true,
116
+ isSelected: false,
117
+ isDisabled: isDisabled,
118
+ onClick: stepForward
119
+ }));
120
+ };
121
+
122
+ /**
123
+ * Partly adapted from date_picker/super_date_picker/quick_select_popover/quick_select.tsx
124
+ */
125
+ export function useEuiTimeWindow(start, end, apply, options) {
126
+ var _options$zoomFactor;
127
+ var min = dateMath.parse(start);
128
+ var max = dateMath.parse(end, {
129
+ roundUp: true
130
+ });
131
+ var isInvalid = !min || !min.isValid() || !max || !max.isValid();
132
+ var windowDuration = isInvalid ? 1 : max.diff(min);
133
+ var zoomFactor = getPercentageMultiplier((_options$zoomFactor = options === null || options === void 0 ? void 0 : options.zoomFactor) !== null && _options$zoomFactor !== void 0 ? _options$zoomFactor : ZOOM_FACTOR_DEFAULT);
134
+ var zoomAddition = windowDuration * (zoomFactor / 2); // Gets added to each end, that's why it's split in half
135
+ var prettyInterval = usePrettyInterval(false, windowDuration);
136
+ var displayInterval = isInvalid ? '' : prettyInterval;
137
+ if (!isInvalid && !isRelativeToNow(start, end) && !isExactMinuteRange(windowDuration)) {
138
+ displayInterval = "~".concat(displayInterval);
139
+ }
140
+ return {
141
+ displayInterval: displayInterval,
142
+ isInvalid: isInvalid,
143
+ stepForward: stepForward,
144
+ stepBackward: stepBackward,
145
+ expandWindow: expandWindow
146
+ };
147
+ function stepForward() {
148
+ if (isInvalid) return;
149
+ apply({
150
+ start: moment(max).toISOString(),
151
+ end: moment(max).add(windowDuration, 'ms').toISOString()
152
+ });
153
+ }
154
+ function stepBackward() {
155
+ if (isInvalid) return;
156
+ apply({
157
+ start: moment(min).subtract(windowDuration, 'ms').toISOString(),
158
+ end: moment(min).toISOString()
159
+ });
160
+ }
161
+ function expandWindow() {
162
+ if (isInvalid) return;
163
+ apply({
164
+ start: moment(min).subtract(zoomAddition, 'ms').toISOString(),
165
+ end: moment(max).add(zoomAddition, 'ms').toISOString()
166
+ });
167
+ }
168
+ }
169
+
170
+ /**
171
+ * Get a number out of either 0.2 or "20%"
172
+ */
173
+ function getPercentageMultiplier(value) {
174
+ var result = typeof value === 'number' ? value : parseFloat(String(value).replace('%', '').trim());
175
+ if (isNaN(result)) throw new TypeError('Please provide a valid number or percentage string e.g. "25%"');
176
+ return result > 1 ? result / 100 : result;
177
+ }
178
+
179
+ /**
180
+ * Useful to determine whether to show the tilde in the display
181
+ */
182
+ function isExactMinuteRange(diffMs) {
183
+ // 60 * 1000 = ms per minute
184
+ return diffMs % (60 * 1000) === 0;
185
+ }
@@ -16,7 +16,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
16
16
 
17
17
  import React, { useEffect, useRef, useMemo, useCallback, useState, forwardRef } from 'react';
18
18
  import classnames from 'classnames';
19
- import { keys, EuiWindowEvent, useCombinedRefs, useIsWithinMinBreakpoint, useEuiMemoizedStyles, useGeneratedHtmlId, useEuiThemeCSSVariables } from '../../services';
19
+ import { keys, EuiWindowEvent, useCombinedRefs, useIsWithinMinBreakpoint, useEuiMemoizedStyles, useGeneratedHtmlId, useEuiThemeCSSVariables, focusTrapPubSub } from '../../services';
20
20
  import { logicalStyle } from '../../global_styling';
21
21
  import { EuiFocusTrap } from '../focus_trap';
22
22
  import { EuiOverlayMask } from '../overlay_mask';
@@ -210,20 +210,28 @@ export var EuiFlyout = /*#__PURE__*/forwardRef(function (props, ref) {
210
210
  }
211
211
  return selectors;
212
212
  }, [includeSelectorInFocusTrap, includeFixedHeadersInFocusTrap]);
213
- useEffect(function () {
213
+
214
+ /**
215
+ * Finds the shards to include in the focus trap by querying by `focusTrapSelectors`.
216
+ *
217
+ * @param shouldAutoFocus Whether to auto-focus the flyout wrapper when the focus trap is activated.
218
+ * This is necessary because when a flyout is toggled from within a shard, the focus trap's `autoFocus`
219
+ * feature doesn't work. This logic manually focuses the flyout as a workaround.
220
+ */
221
+ var findShards = useCallback(function () {
222
+ var shouldAutoFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
214
223
  if (focusTrapSelectors.length > 0) {
215
224
  var shardsEls = focusTrapSelectors.flatMap(function (selector) {
216
225
  return Array.from(document.querySelectorAll(selector));
217
226
  });
218
227
  setFocusTrapShards(Array.from(shardsEls));
219
-
220
- // Flyouts that are toggled from shards do not have working
221
- // focus trap autoFocus, so we need to focus the flyout wrapper ourselves
222
- shardsEls.forEach(function (shard) {
223
- if (shard.contains(flyoutToggle.current)) {
224
- resizeRef === null || resizeRef === void 0 || resizeRef.focus();
225
- }
226
- });
228
+ if (shouldAutoFocus) {
229
+ shardsEls.forEach(function (shard) {
230
+ if (shard.contains(flyoutToggle.current)) {
231
+ resizeRef === null || resizeRef === void 0 || resizeRef.focus();
232
+ }
233
+ });
234
+ }
227
235
  } else {
228
236
  // Clear existing shards if necessary, e.g. switching to `false`
229
237
  setFocusTrapShards(function (shards) {
@@ -231,6 +239,15 @@ export var EuiFlyout = /*#__PURE__*/forwardRef(function (props, ref) {
231
239
  });
232
240
  }
233
241
  }, [focusTrapSelectors, resizeRef]);
242
+ useEffect(function () {
243
+ // Auto-focus should only happen on initial flyout mount (or when the dependencies change)
244
+ // because it snaps focus to the flyout wrapper, which steals it from subsequently focused elements.
245
+ findShards(true);
246
+ var unsubscribe = focusTrapPubSub.subscribe(function () {
247
+ return findShards();
248
+ });
249
+ return unsubscribe;
250
+ }, [findShards]);
234
251
  var focusTrapProps = useMemo(function () {
235
252
  return _objectSpread(_objectSpread({}, _focusTrapProps), {}, {
236
253
  shards: [].concat(_toConsumableArray(focusTrapShards), _toConsumableArray((_focusTrapProps === null || _focusTrapProps === void 0 ? void 0 : _focusTrapProps.shards) || []))
@@ -26,7 +26,7 @@ var EuiIconBoxesVertical = function EuiIconBoxesVertical(_ref) {
26
26
  }, props), title ? ___EmotionJSX("title", {
27
27
  id: titleId
28
28
  }, title) : null, ___EmotionJSX("path", {
29
- 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"
29
+ 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"
30
30
  }));
31
31
  };
32
32
  export var icon = EuiIconBoxesVertical;
@@ -26,8 +26,7 @@ var EuiIconCheckInCircleFilled = function EuiIconCheckInCircleFilled(_ref) {
26
26
  }, props), title ? ___EmotionJSX("title", {
27
27
  id: titleId
28
28
  }, title) : null, ___EmotionJSX("path", {
29
- fillRule: "evenodd",
30
- 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"
29
+ 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"
31
30
  }));
32
31
  };
33
32
  export var icon = EuiIconCheckInCircleFilled;
@@ -26,8 +26,7 @@ var EuiIconErrorFilled = function EuiIconErrorFilled(_ref) {
26
26
  }, props), title ? ___EmotionJSX("title", {
27
27
  id: titleId
28
28
  }, title) : null, ___EmotionJSX("path", {
29
- fillRule: "evenodd",
30
- 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"
29
+ 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"
31
30
  }));
32
31
  };
33
32
  export var icon = EuiIconErrorFilled;
@@ -26,8 +26,7 @@ var EuiIconWarningFilled = function EuiIconWarningFilled(_ref) {
26
26
  }, props), title ? ___EmotionJSX("title", {
27
27
  id: titleId
28
28
  }, title) : null, ___EmotionJSX("path", {
29
- fillRule: "evenodd",
30
- 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"
29
+ 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"
31
30
  }));
32
31
  };
33
32
  export var icon = EuiIconWarningFilled;
@@ -54,8 +54,7 @@ export var typeToPathMap = {
54
54
  changePointDetection: 'change_point_detection',
55
55
  check: 'check',
56
56
  checkCircle: 'checkCircle',
57
- checkInCircleFilled: 'checkCircle',
58
- // NOTE: To be deprecated in favor of `checkCircle`
57
+ checkInCircleFilled: 'checkInCircleFilled',
59
58
  cheer: 'cheer',
60
59
  classificationJob: 'ml_classification_job',
61
60
  clickLeft: 'clickLeft',
@@ -160,8 +159,7 @@ export var typeToPathMap = {
160
159
  eql: 'eql',
161
160
  eraser: 'eraser',
162
161
  error: 'error',
163
- errorFilled: 'error',
164
- // NOTE: To be deprecated in favor of `error`
162
+ errorFilled: 'errorFilled',
165
163
  esqlVis: 'esqlVis',
166
164
  exit: 'exit',
167
165
  expand: 'expand',
@@ -500,8 +498,7 @@ export var typeToPathMap = {
500
498
  visualizeApp: 'app_visualize',
501
499
  vulnerabilityManagementApp: 'app_vulnerability_management',
502
500
  warning: 'warning',
503
- warningFilled: 'warning',
504
- // NOTE: To be deprecated in favor of `warning`
501
+ warningFilled: 'warningFilled',
505
502
  watchesApp: 'app_watches',
506
503
  web: 'web',
507
504
  wordWrap: 'wordWrap',
@@ -12,7 +12,7 @@ export var euiOverlayMaskStyles = function euiOverlayMaskStyles(_ref) {
12
12
  var euiTheme = _ref.euiTheme,
13
13
  highContrastMode = _ref.highContrastMode;
14
14
  return {
15
- euiOverlayMask: /*#__PURE__*/css("position:fixed;", logicalCSS('top', 0), " ", logicalCSS('left', 0), " ", logicalCSS('right', 0), " ", logicalCSS('bottom', 0), " display:flex;align-items:center;justify-content:center;", logicalCSS('padding-bottom', '10vh'), " animation:", euiAnimFadeIn, " ", euiTheme.animation.fast, " ease-in;background:", highContrastMode ? euiTheme.components.overlayMaskBackgroundHighContrast : euiTheme.components.overlayMaskBackground, ";;label:euiOverlayMask;"),
15
+ euiOverlayMask: /*#__PURE__*/css("position:fixed;", logicalCSS('top', 0), " ", logicalCSS('left', 0), " ", logicalCSS('right', 0), " ", logicalCSS('bottom', 0), " display:flex;align-items:center;justify-content:center;animation:", euiAnimFadeIn, " ", euiTheme.animation.fast, " ease-in;background:", highContrastMode ? euiTheme.components.overlayMaskBackgroundHighContrast : euiTheme.components.overlayMaskBackground, ";;label:euiOverlayMask;"),
16
16
  aboveHeader: /*#__PURE__*/css("z-index:", euiTheme.levels.mask, ";;label:aboveHeader;"),
17
17
  belowHeader: /*#__PURE__*/css("z-index:", euiTheme.levels.maskBelowHeader, ";", logicalCSS('top', 'var(--euiFixedHeadersOffset, 0)'), ";;label:belowHeader;")
18
18
  };
@@ -25,17 +25,19 @@ import React, { Component } from 'react';
25
25
  import classNames from 'classnames';
26
26
  import { focusable } from 'tabbable';
27
27
  import { EuiFocusTrap } from '../focus_trap';
28
- import { keys, getTransitionTimings, getWaitDuration, performOnFrame, htmlIdGenerator } from '../../services';
28
+ import { keys, getTransitionTimings, getWaitDuration, performOnFrame, htmlIdGenerator, focusTrapPubSub } from '../../services';
29
29
  import { setMultipleRefs } from '../../services/hooks/useCombinedRefs';
30
30
  import { EuiScreenReaderOnly } from '../accessibility';
31
31
  import { EuiPortal } from '../portal';
32
32
  import { EuiMutationObserver } from '../observer/mutation_observer';
33
33
  import { findPopoverPosition, getElementZIndex } from '../../services/popover';
34
+ import { createRepositionOnScroll } from '../../services/popover/reposition_on_scroll';
34
35
  import { EuiI18n } from '../i18n';
35
36
  import { EuiOutsideClickDetector } from '../outside_click_detector';
36
37
  import { EuiPopoverArrow } from './popover_arrow';
37
38
  import { euiPopoverStyles } from './popover.styles';
38
39
  import { EuiPopoverPanel } from './popover_panel';
40
+ import { EuiComponentDefaultsContext } from '../provider/component_defaults';
39
41
  import { jsx as ___EmotionJSX } from "@emotion/react";
40
42
  export var popoverAnchorPosition = ['upCenter', 'upLeft', 'upRight', 'downCenter', 'downLeft', 'downRight', 'leftCenter', 'leftUp', 'leftDown', 'rightCenter', 'rightUp', 'rightDown'];
41
43
  var anchorPositionToPopoverPositionMap = {
@@ -87,7 +89,8 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
87
89
  var _this;
88
90
  _classCallCheck(this, EuiPopover);
89
91
  _this = _callSuper(this, EuiPopover, [props]);
90
- _defineProperty(_this, "respositionTimeout", void 0);
92
+ _defineProperty(_this, "repositionOnScroll", void 0);
93
+ _defineProperty(_this, "repositionTimeout", void 0);
91
94
  _defineProperty(_this, "strandedFocusTimeout", void 0);
92
95
  _defineProperty(_this, "closingTransitionTimeout", void 0);
93
96
  _defineProperty(_this, "closingTransitionAnimationFrame", void 0);
@@ -166,12 +169,13 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
166
169
  }),
167
170
  durationMatch = _Array$prototype$slic.durationMatch,
168
171
  delayMatch = _Array$prototype$slic.delayMatch;
169
- clearTimeout(_this.respositionTimeout);
170
- _this.respositionTimeout = window.setTimeout(function () {
172
+ clearTimeout(_this.repositionTimeout);
173
+ _this.repositionTimeout = window.setTimeout(function () {
171
174
  _this.setState({
172
175
  isOpenStable: true
173
176
  }, function () {
174
177
  _this.positionPopoverFixed();
178
+ focusTrapPubSub.publish();
175
179
  });
176
180
  }, durationMatch + delayMatch);
177
181
  });
@@ -281,6 +285,13 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
281
285
  // once a stable position has been found, keep the contents on that side
282
286
  isOpenStable: false // wait for any initial opening transitions to finish before marking as stable
283
287
  };
288
+ _this.repositionOnScroll = createRepositionOnScroll(function () {
289
+ return {
290
+ repositionOnScroll: _this.props.repositionOnScroll,
291
+ componentDefaults: _this.context.EuiPopover,
292
+ repositionFn: _this.positionPopoverFixed
293
+ };
294
+ });
284
295
  return _this;
285
296
  }
286
297
  _inherits(EuiPopover, _Component);
@@ -298,9 +309,7 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
298
309
  _this2.onOpenPopover();
299
310
  });
300
311
  }
301
- if (this.props.repositionOnScroll) {
302
- window.addEventListener('scroll', this.positionPopoverFixed, true);
303
- }
312
+ this.repositionOnScroll.subscribe();
304
313
  }
305
314
  }, {
306
315
  key: "componentDidUpdate",
@@ -317,13 +326,7 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
317
326
  }
318
327
 
319
328
  // update scroll listener
320
- if (prevProps.repositionOnScroll !== this.props.repositionOnScroll) {
321
- if (this.props.repositionOnScroll) {
322
- window.addEventListener('scroll', this.positionPopoverFixed, true);
323
- } else {
324
- window.removeEventListener('scroll', this.positionPopoverFixed, true);
325
- }
326
- }
329
+ this.repositionOnScroll.update();
327
330
 
328
331
  // The popover is being closed.
329
332
  if (prevProps.isOpen && !this.props.isOpen) {
@@ -333,17 +336,19 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
333
336
  _this3.setState({
334
337
  isClosing: false
335
338
  });
339
+ focusTrapPubSub.publish();
336
340
  }, closingTransitionTime);
337
341
  }
338
342
  }
339
343
  }, {
340
344
  key: "componentWillUnmount",
341
345
  value: function componentWillUnmount() {
342
- window.removeEventListener('scroll', this.positionPopoverFixed, true);
343
- clearTimeout(this.respositionTimeout);
346
+ this.repositionOnScroll.cleanup();
347
+ clearTimeout(this.repositionTimeout);
344
348
  clearTimeout(this.strandedFocusTimeout);
345
349
  clearTimeout(this.closingTransitionTimeout);
346
350
  cancelAnimationFrame(this.closingTransitionAnimationFrame);
351
+ focusTrapPubSub.publish();
347
352
  }
348
353
  }, {
349
354
  key: "render",
@@ -516,6 +521,7 @@ export var EuiPopover = /*#__PURE__*/function (_Component) {
516
521
  }
517
522
  }]);
518
523
  }(Component);
524
+ _defineProperty(EuiPopover, "contextType", EuiComponentDefaultsContext);
519
525
  _defineProperty(EuiPopover, "defaultProps", {
520
526
  isOpen: false,
521
527
  ownFocus: true,
@@ -56,7 +56,7 @@ export var euiTableRowStyles = function euiTableRowStyles(euiThemeContext) {
56
56
  // preceding table row via negative margins
57
57
  'margin-top', mathWithUnits([cellContentPadding, euiTheme.border.width.thin], function (x, y) {
58
58
  return (x + y * 2) * -1;
59
- })), logicalCSS('padding-left', cellContentPadding), " ", logicalCSS('border-top', euiTheme.border.thin), " ", logicalCSS('border-top-left-radius', 0), " ", logicalCSS('border-top-right-radius', 0), " &:after{", logicalCSS('border-top', 'none'), ";}clip-path:polygon(-50% 0, 150% 0, 150% 100vh, -50% 100vh);>.euiTableRowCell{", logicalCSS('width', '100%'), ";}", expandedAnimationCss, ";;label:expanded;")
59
+ })), logicalCSS('padding-left', cellContentPadding), " ", logicalCSS('border-top', euiTheme.border.thin), " ", logicalCSS('border-top-left-radius', 0), " ", logicalCSS('border-top-right-radius', 0), " &:after{", logicalCSS('border-top', 'none'), ";}clip-path:polygon(-50% 0, 150% 0, 150% 150%, -50% 150%);>.euiTableRowCell{", logicalCSS('width', '100%'), ";}", expandedAnimationCss, ";;label:expanded;")
60
60
  }
61
61
  };
62
62
  };