@elastic/eui 116.2.0 → 116.3.1-snapshot.1782148316870

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 (385) hide show
  1. package/es/components/avatar/avatar.js +18 -5
  2. package/es/components/avatar/avatar.styles.js +16 -16
  3. package/es/components/banner/banner.js +201 -0
  4. package/es/components/banner/banner.styles.js +76 -0
  5. package/es/components/banner/index.js +9 -0
  6. package/es/components/basic_table/basic_table.js +54 -13
  7. package/es/components/basic_table/basic_table.styles.js +19 -1
  8. package/es/components/basic_table/collapsed_item_actions.js +5 -4
  9. package/es/components/basic_table/default_item_action.js +3 -5
  10. package/es/components/basic_table/in_memory_table.js +17 -0
  11. package/es/components/basic_table/index.js +2 -1
  12. package/es/components/basic_table/pagination_bar.js +19 -4
  13. package/es/components/basic_table/pagination_bar.styles.js +21 -0
  14. package/es/components/basic_table/panel.styles.js +14 -0
  15. package/es/components/basic_table/use_panel_props.js +28 -0
  16. package/es/components/breadcrumbs/_breadcrumb_content.js +29 -19
  17. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  18. package/es/components/context_menu/context_menu_panel_title.js +0 -12
  19. package/es/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  20. package/es/components/datagrid/controls/display_selector.js +2 -1
  21. package/es/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  22. package/es/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  23. package/es/components/date_picker/auto_refresh/refresh_interval.js +176 -229
  24. package/es/components/date_picker/date_picker.js +1 -1
  25. package/es/components/date_picker/react-datepicker/src/index.js +1 -5
  26. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  27. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  28. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  29. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  30. package/es/components/flyout/flyout.component.js +10 -6
  31. package/es/components/flyout/flyout_menu.js +122 -19
  32. package/es/components/flyout/flyout_menu.styles.js +2 -1
  33. package/es/components/flyout/manager/actions.js +20 -0
  34. package/es/components/flyout/manager/flyout_child.js +23 -1
  35. package/es/components/flyout/manager/flyout_managed.js +65 -19
  36. package/es/components/flyout/manager/hooks.js +1 -1
  37. package/es/components/flyout/manager/index.js +2 -2
  38. package/es/components/flyout/manager/reducer.js +32 -8
  39. package/es/components/flyout/manager/selectors.js +8 -2
  40. package/es/components/flyout/manager/store.js +35 -2
  41. package/es/components/flyout/use_flyout_menu.js +2 -2
  42. package/es/components/form/field_password/field_password.js +6 -3
  43. package/es/components/form/field_password/field_password.styles.js +1 -1
  44. package/es/components/form/field_search/field_search.styles.js +1 -1
  45. package/es/components/form/form.styles.js +1 -1
  46. package/es/components/form/form_control_layout/form_control_layout_icons.js +95 -143
  47. package/es/components/form/select/select.styles.js +1 -1
  48. package/es/components/form/text_area/text_area.styles.js +1 -1
  49. package/es/components/form/validatable_control/validatable_control.js +8 -55
  50. package/es/components/header/header.a11y.js +1 -1
  51. package/es/components/index.js +1 -0
  52. package/es/components/markdown_editor/markdown_editor_help_button.js +7 -4
  53. package/es/components/pagination/pagination_button_arrow.js +6 -2
  54. package/es/components/panel/panel.styles.js +4 -4
  55. package/es/components/panel/split_panel/split_panel.styles.js +1 -1
  56. package/es/components/search_bar/search_bar.js +20 -16
  57. package/es/components/search_bar/search_box.js +4 -2
  58. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  59. package/es/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  60. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
  61. package/es/components/table/mobile/table_sort_mobile.js +64 -103
  62. package/es/components/table/sticky_header/context.js +32 -0
  63. package/es/components/table/sticky_header/index.js +10 -0
  64. package/es/components/table/sticky_header/sticky_header.js +151 -0
  65. package/es/components/table/sticky_header/sticky_header.styles.js +43 -0
  66. package/es/components/table/store/provider.js +37 -0
  67. package/es/components/table/store/store.js +82 -0
  68. package/es/components/table/store/use_unique_column_id.js +25 -0
  69. package/es/components/table/table.js +28 -3
  70. package/es/components/table/table.styles.js +4 -4
  71. package/es/components/table/table_header_cell.js +115 -48
  72. package/es/components/table/table_header_cell_checkbox.js +58 -25
  73. package/es/components/text_truncate/text_truncate.js +8 -3
  74. package/es/components/tool_tip/tool_tip.js +62 -31
  75. package/es/components/tool_tip/tool_tip.styles.js +14 -5
  76. package/es/components/tool_tip/tool_tip_anchor.js +5 -5
  77. package/es/components/tool_tip/tool_tip_manager.js +27 -2
  78. package/es/utils/publisher.js +53 -0
  79. package/eui.d.ts +2314 -1874
  80. package/i18ntokens.json +2580 -2490
  81. package/lib/components/avatar/avatar.js +18 -5
  82. package/lib/components/avatar/avatar.styles.js +16 -16
  83. package/lib/components/banner/banner.js +210 -0
  84. package/lib/components/banner/banner.styles.js +80 -0
  85. package/lib/components/banner/index.js +12 -0
  86. package/lib/components/basic_table/basic_table.js +53 -12
  87. package/lib/components/basic_table/basic_table.styles.js +19 -1
  88. package/lib/components/basic_table/collapsed_item_actions.js +5 -4
  89. package/lib/components/basic_table/default_item_action.js +3 -5
  90. package/lib/components/basic_table/in_memory_table.js +17 -0
  91. package/lib/components/basic_table/index.js +8 -1
  92. package/lib/components/basic_table/pagination_bar.js +19 -4
  93. package/lib/components/basic_table/pagination_bar.styles.js +26 -0
  94. package/lib/components/basic_table/panel.styles.js +20 -0
  95. package/lib/components/basic_table/use_panel_props.js +33 -0
  96. package/lib/components/breadcrumbs/_breadcrumb_content.js +29 -19
  97. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  98. package/lib/components/context_menu/context_menu_panel_title.js +0 -12
  99. package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  100. package/lib/components/datagrid/controls/display_selector.js +2 -1
  101. package/lib/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  102. package/lib/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  103. package/lib/components/date_picker/auto_refresh/refresh_interval.js +175 -229
  104. package/lib/components/date_picker/date_picker.js +1 -1
  105. package/lib/components/date_picker/react-datepicker/src/index.js +0 -4
  106. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  107. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  108. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  109. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  110. package/lib/components/flyout/flyout.component.js +10 -6
  111. package/lib/components/flyout/flyout_menu.js +120 -19
  112. package/lib/components/flyout/flyout_menu.styles.js +2 -1
  113. package/lib/components/flyout/manager/actions.js +21 -1
  114. package/lib/components/flyout/manager/flyout_child.js +23 -1
  115. package/lib/components/flyout/manager/flyout_managed.js +41 -17
  116. package/lib/components/flyout/manager/hooks.js +6 -0
  117. package/lib/components/flyout/manager/index.js +12 -0
  118. package/lib/components/flyout/manager/reducer.js +31 -7
  119. package/lib/components/flyout/manager/selectors.js +9 -3
  120. package/lib/components/flyout/manager/store.js +34 -1
  121. package/lib/components/flyout/use_flyout_menu.js +2 -2
  122. package/lib/components/form/field_password/field_password.js +6 -3
  123. package/lib/components/form/field_password/field_password.styles.js +1 -1
  124. package/lib/components/form/field_search/field_search.styles.js +1 -1
  125. package/lib/components/form/form.styles.js +1 -1
  126. package/lib/components/form/form_control_layout/form_control_layout_icons.js +95 -145
  127. package/lib/components/form/select/select.styles.js +1 -1
  128. package/lib/components/form/text_area/text_area.styles.js +1 -1
  129. package/lib/components/form/validatable_control/validatable_control.js +7 -52
  130. package/lib/components/header/header.a11y.js +1 -1
  131. package/lib/components/index.js +11 -0
  132. package/lib/components/markdown_editor/markdown_editor_help_button.js +7 -4
  133. package/lib/components/pagination/pagination_button_arrow.js +6 -2
  134. package/lib/components/panel/panel.styles.js +4 -4
  135. package/lib/components/panel/split_panel/split_panel.styles.js +1 -1
  136. package/lib/components/search_bar/search_bar.js +20 -16
  137. package/lib/components/search_bar/search_box.js +4 -2
  138. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  139. package/lib/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  140. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
  141. package/lib/components/table/mobile/table_sort_mobile.js +71 -108
  142. package/lib/components/table/sticky_header/context.js +41 -0
  143. package/lib/components/table/sticky_header/index.js +19 -0
  144. package/lib/components/table/sticky_header/sticky_header.js +156 -0
  145. package/lib/components/table/sticky_header/sticky_header.styles.js +47 -0
  146. package/lib/components/table/store/provider.js +46 -0
  147. package/lib/components/table/store/store.js +87 -0
  148. package/lib/components/table/store/use_unique_column_id.js +34 -0
  149. package/lib/components/table/table.js +28 -3
  150. package/lib/components/table/table.styles.js +4 -4
  151. package/lib/components/table/table_header_cell.js +117 -48
  152. package/lib/components/table/table_header_cell_checkbox.js +61 -25
  153. package/lib/components/text_truncate/text_truncate.js +8 -3
  154. package/lib/components/tool_tip/tool_tip.js +60 -30
  155. package/lib/components/tool_tip/tool_tip.styles.js +14 -5
  156. package/lib/components/tool_tip/tool_tip_anchor.js +5 -5
  157. package/lib/components/tool_tip/tool_tip_manager.js +27 -2
  158. package/lib/utils/publisher.js +59 -0
  159. package/optimize/es/components/avatar/avatar.js +16 -4
  160. package/optimize/es/components/avatar/avatar.styles.js +16 -16
  161. package/optimize/es/components/banner/banner.js +111 -0
  162. package/optimize/es/components/banner/banner.styles.js +76 -0
  163. package/optimize/es/components/banner/index.js +9 -0
  164. package/optimize/es/components/basic_table/basic_table.js +37 -13
  165. package/optimize/es/components/basic_table/basic_table.styles.js +19 -1
  166. package/optimize/es/components/basic_table/collapsed_item_actions.js +5 -4
  167. package/optimize/es/components/basic_table/default_item_action.js +3 -5
  168. package/optimize/es/components/basic_table/index.js +2 -1
  169. package/optimize/es/components/basic_table/pagination_bar.js +19 -4
  170. package/optimize/es/components/basic_table/pagination_bar.styles.js +21 -0
  171. package/optimize/es/components/basic_table/panel.styles.js +14 -0
  172. package/optimize/es/components/basic_table/use_panel_props.js +28 -0
  173. package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +27 -18
  174. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  175. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  176. package/optimize/es/components/datagrid/controls/display_selector.js +2 -1
  177. package/optimize/es/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  178. package/optimize/es/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  179. package/optimize/es/components/date_picker/auto_refresh/refresh_interval.js +172 -196
  180. package/optimize/es/components/date_picker/date_picker.js +1 -1
  181. package/optimize/es/components/date_picker/react-datepicker/src/index.js +1 -5
  182. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  183. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  184. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  185. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  186. package/optimize/es/components/flyout/flyout.component.js +10 -6
  187. package/optimize/es/components/flyout/flyout_menu.js +99 -18
  188. package/optimize/es/components/flyout/flyout_menu.styles.js +2 -1
  189. package/optimize/es/components/flyout/manager/actions.js +20 -0
  190. package/optimize/es/components/flyout/manager/flyout_managed.js +42 -18
  191. package/optimize/es/components/flyout/manager/hooks.js +1 -1
  192. package/optimize/es/components/flyout/manager/index.js +2 -2
  193. package/optimize/es/components/flyout/manager/reducer.js +32 -8
  194. package/optimize/es/components/flyout/manager/selectors.js +8 -2
  195. package/optimize/es/components/flyout/manager/store.js +35 -2
  196. package/optimize/es/components/flyout/use_flyout_menu.js +2 -2
  197. package/optimize/es/components/form/field_password/field_password.js +6 -3
  198. package/optimize/es/components/form/field_password/field_password.styles.js +1 -1
  199. package/optimize/es/components/form/field_search/field_search.styles.js +1 -1
  200. package/optimize/es/components/form/form.styles.js +1 -1
  201. package/optimize/es/components/form/form_control_layout/form_control_layout_icons.js +96 -115
  202. package/optimize/es/components/form/select/select.styles.js +1 -1
  203. package/optimize/es/components/form/text_area/text_area.styles.js +1 -1
  204. package/optimize/es/components/form/validatable_control/validatable_control.js +7 -48
  205. package/optimize/es/components/header/header.a11y.js +1 -1
  206. package/optimize/es/components/index.js +1 -0
  207. package/optimize/es/components/markdown_editor/markdown_editor_help_button.js +7 -4
  208. package/optimize/es/components/pagination/pagination_button_arrow.js +6 -2
  209. package/optimize/es/components/panel/panel.styles.js +4 -4
  210. package/optimize/es/components/panel/split_panel/split_panel.styles.js +1 -1
  211. package/optimize/es/components/search_bar/search_bar.js +20 -16
  212. package/optimize/es/components/search_bar/search_box.js +4 -2
  213. package/optimize/es/components/selectable/selectable_list/selectable_list.js +1 -1
  214. package/optimize/es/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  215. package/optimize/es/components/table/mobile/table_sort_mobile.js +59 -82
  216. package/optimize/es/components/table/sticky_header/context.js +32 -0
  217. package/optimize/es/components/table/sticky_header/index.js +10 -0
  218. package/optimize/es/components/table/sticky_header/sticky_header.js +146 -0
  219. package/optimize/es/components/table/sticky_header/sticky_header.styles.js +43 -0
  220. package/optimize/es/components/table/store/provider.js +37 -0
  221. package/optimize/es/components/table/store/store.js +82 -0
  222. package/optimize/es/components/table/store/use_unique_column_id.js +25 -0
  223. package/optimize/es/components/table/table.js +15 -3
  224. package/optimize/es/components/table/table.styles.js +4 -4
  225. package/optimize/es/components/table/table_header_cell.js +115 -48
  226. package/optimize/es/components/table/table_header_cell_checkbox.js +58 -25
  227. package/optimize/es/components/text_truncate/text_truncate.js +8 -3
  228. package/optimize/es/components/tool_tip/tool_tip.js +59 -31
  229. package/optimize/es/components/tool_tip/tool_tip.styles.js +14 -5
  230. package/optimize/es/components/tool_tip/tool_tip_anchor.js +5 -5
  231. package/optimize/es/components/tool_tip/tool_tip_manager.js +27 -2
  232. package/optimize/es/utils/publisher.js +53 -0
  233. package/optimize/lib/components/avatar/avatar.js +16 -4
  234. package/optimize/lib/components/avatar/avatar.styles.js +16 -16
  235. package/optimize/lib/components/banner/banner.js +120 -0
  236. package/optimize/lib/components/banner/banner.styles.js +80 -0
  237. package/optimize/lib/components/banner/index.js +12 -0
  238. package/optimize/lib/components/basic_table/basic_table.js +36 -12
  239. package/optimize/lib/components/basic_table/basic_table.styles.js +19 -1
  240. package/optimize/lib/components/basic_table/collapsed_item_actions.js +5 -4
  241. package/optimize/lib/components/basic_table/default_item_action.js +3 -5
  242. package/optimize/lib/components/basic_table/index.js +8 -1
  243. package/optimize/lib/components/basic_table/pagination_bar.js +19 -4
  244. package/optimize/lib/components/basic_table/pagination_bar.styles.js +26 -0
  245. package/optimize/lib/components/basic_table/panel.styles.js +20 -0
  246. package/optimize/lib/components/basic_table/use_panel_props.js +33 -0
  247. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +27 -18
  248. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  249. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  250. package/optimize/lib/components/datagrid/controls/display_selector.js +2 -1
  251. package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  252. package/optimize/lib/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  253. package/optimize/lib/components/date_picker/auto_refresh/refresh_interval.js +170 -194
  254. package/optimize/lib/components/date_picker/date_picker.js +1 -1
  255. package/optimize/lib/components/date_picker/react-datepicker/src/index.js +0 -4
  256. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  257. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  258. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  259. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  260. package/optimize/lib/components/flyout/flyout.component.js +10 -6
  261. package/optimize/lib/components/flyout/flyout_menu.js +98 -18
  262. package/optimize/lib/components/flyout/flyout_menu.styles.js +2 -1
  263. package/optimize/lib/components/flyout/manager/actions.js +21 -1
  264. package/optimize/lib/components/flyout/manager/flyout_managed.js +41 -17
  265. package/optimize/lib/components/flyout/manager/hooks.js +6 -0
  266. package/optimize/lib/components/flyout/manager/index.js +12 -0
  267. package/optimize/lib/components/flyout/manager/reducer.js +31 -7
  268. package/optimize/lib/components/flyout/manager/selectors.js +9 -3
  269. package/optimize/lib/components/flyout/manager/store.js +34 -1
  270. package/optimize/lib/components/flyout/use_flyout_menu.js +2 -2
  271. package/optimize/lib/components/form/field_password/field_password.js +6 -3
  272. package/optimize/lib/components/form/field_password/field_password.styles.js +1 -1
  273. package/optimize/lib/components/form/field_search/field_search.styles.js +1 -1
  274. package/optimize/lib/components/form/form.styles.js +1 -1
  275. package/optimize/lib/components/form/form_control_layout/form_control_layout_icons.js +96 -117
  276. package/optimize/lib/components/form/select/select.styles.js +1 -1
  277. package/optimize/lib/components/form/text_area/text_area.styles.js +1 -1
  278. package/optimize/lib/components/form/validatable_control/validatable_control.js +6 -49
  279. package/optimize/lib/components/header/header.a11y.js +1 -1
  280. package/optimize/lib/components/index.js +11 -0
  281. package/optimize/lib/components/markdown_editor/markdown_editor_help_button.js +7 -4
  282. package/optimize/lib/components/pagination/pagination_button_arrow.js +6 -2
  283. package/optimize/lib/components/panel/panel.styles.js +4 -4
  284. package/optimize/lib/components/panel/split_panel/split_panel.styles.js +1 -1
  285. package/optimize/lib/components/search_bar/search_bar.js +20 -16
  286. package/optimize/lib/components/search_bar/search_box.js +4 -2
  287. package/optimize/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  288. package/optimize/lib/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  289. package/optimize/lib/components/table/mobile/table_sort_mobile.js +61 -83
  290. package/optimize/lib/components/table/sticky_header/context.js +41 -0
  291. package/optimize/lib/components/table/sticky_header/index.js +19 -0
  292. package/optimize/lib/components/table/sticky_header/sticky_header.js +156 -0
  293. package/optimize/lib/components/table/sticky_header/sticky_header.styles.js +47 -0
  294. package/optimize/lib/components/table/store/provider.js +46 -0
  295. package/optimize/lib/components/table/store/store.js +87 -0
  296. package/optimize/lib/components/table/store/use_unique_column_id.js +34 -0
  297. package/optimize/lib/components/table/table.js +15 -3
  298. package/optimize/lib/components/table/table.styles.js +4 -4
  299. package/optimize/lib/components/table/table_header_cell.js +118 -48
  300. package/optimize/lib/components/table/table_header_cell_checkbox.js +61 -25
  301. package/optimize/lib/components/text_truncate/text_truncate.js +8 -3
  302. package/optimize/lib/components/tool_tip/tool_tip.js +58 -30
  303. package/optimize/lib/components/tool_tip/tool_tip.styles.js +14 -5
  304. package/optimize/lib/components/tool_tip/tool_tip_anchor.js +5 -5
  305. package/optimize/lib/components/tool_tip/tool_tip_manager.js +27 -2
  306. package/optimize/lib/utils/publisher.js +59 -0
  307. package/package.json +9 -6
  308. package/test-env/components/avatar/avatar.js +18 -5
  309. package/test-env/components/avatar/avatar.styles.js +16 -16
  310. package/test-env/components/banner/banner.js +209 -0
  311. package/test-env/components/banner/banner.styles.js +80 -0
  312. package/test-env/components/banner/index.js +12 -0
  313. package/test-env/components/basic_table/basic_table.js +53 -12
  314. package/test-env/components/basic_table/basic_table.styles.js +19 -1
  315. package/test-env/components/basic_table/collapsed_item_actions.js +5 -4
  316. package/test-env/components/basic_table/default_item_action.js +3 -5
  317. package/test-env/components/basic_table/in_memory_table.js +17 -0
  318. package/test-env/components/basic_table/index.js +8 -1
  319. package/test-env/components/basic_table/pagination_bar.js +19 -4
  320. package/test-env/components/basic_table/pagination_bar.styles.js +26 -0
  321. package/test-env/components/basic_table/panel.styles.js +20 -0
  322. package/test-env/components/basic_table/use_panel_props.js +33 -0
  323. package/test-env/components/breadcrumbs/_breadcrumb_content.js +29 -19
  324. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +2 -1
  325. package/test-env/components/context_menu/context_menu_panel_title.js +0 -12
  326. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +11 -7
  327. package/test-env/components/datagrid/controls/display_selector.js +2 -1
  328. package/test-env/components/datagrid/controls/keyboard_shortcuts.js +2 -1
  329. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +7 -4
  330. package/test-env/components/date_picker/auto_refresh/refresh_interval.js +170 -220
  331. package/test-env/components/date_picker/date_picker.js +1 -1
  332. package/test-env/components/date_picker/react-datepicker/src/index.js +0 -4
  333. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +6 -3
  334. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +10 -2
  335. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.styles.js +2 -1
  336. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +8 -5
  337. package/test-env/components/flyout/flyout.component.js +10 -6
  338. package/test-env/components/flyout/flyout_menu.js +121 -19
  339. package/test-env/components/flyout/flyout_menu.styles.js +2 -1
  340. package/test-env/components/flyout/manager/actions.js +21 -1
  341. package/test-env/components/flyout/manager/flyout_child.js +23 -1
  342. package/test-env/components/flyout/manager/flyout_managed.js +41 -17
  343. package/test-env/components/flyout/manager/hooks.js +6 -0
  344. package/test-env/components/flyout/manager/index.js +12 -0
  345. package/test-env/components/flyout/manager/reducer.js +31 -7
  346. package/test-env/components/flyout/manager/selectors.js +9 -3
  347. package/test-env/components/flyout/manager/store.js +34 -1
  348. package/test-env/components/flyout/use_flyout_menu.js +2 -2
  349. package/test-env/components/form/field_password/field_password.js +6 -3
  350. package/test-env/components/form/field_password/field_password.styles.js +1 -1
  351. package/test-env/components/form/field_search/field_search.styles.js +1 -1
  352. package/test-env/components/form/form.styles.js +1 -1
  353. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +95 -139
  354. package/test-env/components/form/select/select.styles.js +1 -1
  355. package/test-env/components/form/text_area/text_area.styles.js +1 -1
  356. package/test-env/components/form/validatable_control/validatable_control.js +6 -48
  357. package/test-env/components/header/header.a11y.js +1 -1
  358. package/test-env/components/index.js +11 -0
  359. package/test-env/components/markdown_editor/markdown_editor_help_button.js +7 -4
  360. package/test-env/components/pagination/pagination_button_arrow.js +6 -2
  361. package/test-env/components/panel/panel.styles.js +4 -4
  362. package/test-env/components/panel/split_panel/split_panel.styles.js +1 -1
  363. package/test-env/components/search_bar/search_bar.js +20 -16
  364. package/test-env/components/search_bar/search_box.js +4 -2
  365. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  366. package/test-env/components/selectable/selectable_list/selectable_list.styles.js +1 -1
  367. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +2 -1
  368. package/test-env/components/table/mobile/table_sort_mobile.js +61 -98
  369. package/test-env/components/table/sticky_header/context.js +41 -0
  370. package/test-env/components/table/sticky_header/index.js +19 -0
  371. package/test-env/components/table/sticky_header/sticky_header.js +156 -0
  372. package/test-env/components/table/sticky_header/sticky_header.styles.js +47 -0
  373. package/test-env/components/table/store/provider.js +46 -0
  374. package/test-env/components/table/store/store.js +87 -0
  375. package/test-env/components/table/store/use_unique_column_id.js +34 -0
  376. package/test-env/components/table/table.js +28 -3
  377. package/test-env/components/table/table.styles.js +4 -4
  378. package/test-env/components/table/table_header_cell.js +118 -48
  379. package/test-env/components/table/table_header_cell_checkbox.js +61 -25
  380. package/test-env/components/text_truncate/text_truncate.js +8 -3
  381. package/test-env/components/tool_tip/tool_tip.js +58 -30
  382. package/test-env/components/tool_tip/tool_tip.styles.js +14 -5
  383. package/test-env/components/tool_tip/tool_tip_anchor.js +5 -5
  384. package/test-env/components/tool_tip/tool_tip_manager.js +27 -2
  385. package/test-env/utils/publisher.js +59 -0
@@ -29,6 +29,11 @@ var _excluded = ["children", "className", "anchorClassName", "anchorProps", "con
29
29
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
30
30
  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); }
31
31
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
32
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
33
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
34
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
35
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
36
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
32
37
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
33
38
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
34
39
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -39,7 +44,7 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
39
44
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
40
45
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
41
46
  var POSITIONS = exports.POSITIONS = ['top', 'right', 'bottom', 'left'];
42
- var DISPLAYS = ['inlineBlock', 'block'];
47
+ var DISPLAYS = ['inlineBlock', 'block', 'flex'];
43
48
  var DEFAULT_TOOLTIP_OFFSET = exports.DEFAULT_TOOLTIP_OFFSET = 16;
44
49
 
45
50
  /**
@@ -91,22 +96,26 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
91
96
  setVisible = _useState2[1];
92
97
  var _useState3 = (0, _react.useState)(false),
93
98
  _useState4 = _slicedToArray(_useState3, 2),
94
- hasFocus = _useState4[0],
95
- setHasFocus = _useState4[1];
96
- var _useState5 = (0, _react.useState)(positionProp),
99
+ skipAnimation = _useState4[0],
100
+ setSkipAnimation = _useState4[1];
101
+ var _useState5 = (0, _react.useState)(false),
97
102
  _useState6 = _slicedToArray(_useState5, 2),
98
- calculatedPosition = _useState6[0],
99
- setCalculatedPosition = _useState6[1];
100
- var _useState7 = (0, _react.useState)(DEFAULT_TOOLTIP_STYLES),
103
+ hasFocus = _useState6[0],
104
+ setHasFocus = _useState6[1];
105
+ var _useState7 = (0, _react.useState)(positionProp),
101
106
  _useState8 = _slicedToArray(_useState7, 2),
102
- toolTipStyles = _useState8[0],
103
- setToolTipStyles = _useState8[1];
104
- var _useState9 = (0, _react.useState)(undefined),
107
+ calculatedPosition = _useState8[0],
108
+ setCalculatedPosition = _useState8[1];
109
+ var _useState9 = (0, _react.useState)(DEFAULT_TOOLTIP_STYLES),
105
110
  _useState10 = _slicedToArray(_useState9, 2),
106
- arrowStyles = _useState10[0],
107
- setArrowStyles = _useState10[1];
108
- var generatedId = (0, _react.useRef)((0, _services.htmlIdGenerator)()());
109
- var id = idProp !== null && idProp !== void 0 ? idProp : generatedId.current;
111
+ toolTipStyles = _useState10[0],
112
+ setToolTipStyles = _useState10[1];
113
+ var _useState11 = (0, _react.useState)(undefined),
114
+ _useState12 = _slicedToArray(_useState11, 2),
115
+ arrowStyles = _useState12[0],
116
+ setArrowStyles = _useState12[1];
117
+ var generatedId = (0, _services.useGeneratedHtmlId)();
118
+ var id = idProp !== null && idProp !== void 0 ? idProp : generatedId;
110
119
  var anchorRef = (0, _react.useRef)(null);
111
120
  var popoverRef = (0, _react.useRef)(null);
112
121
  var positionToolTip = (0, _react.useCallback)(function () {
@@ -158,10 +167,19 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
158
167
  setArrowStyles(undefined);
159
168
  _tool_tip_manager.toolTipManager.deregisterToolTip(hideToolTip);
160
169
  }, []);
170
+
171
+ /**
172
+ * Show the tooltip.
173
+ *
174
+ * Uses the tooltip manager's `skipAnimation` signal to optionally skip the entry
175
+ * animation when another tooltip is already open or was just closed.
176
+ */
161
177
  var showToolTip = (0, _react.useCallback)(function () {
162
178
  if (!content && !title) return;
179
+ var result = _tool_tip_manager.toolTipManager.registerTooltip(hideToolTip);
180
+ if (!result) return;
181
+ setSkipAnimation(result.skipAnimation);
163
182
  setVisible(true);
164
- _tool_tip_manager.toolTipManager.registerTooltip(hideToolTip);
165
183
  }, [content, title, hideToolTip]);
166
184
  (0, _react.useImperativeHandle)(ref, function () {
167
185
  return {
@@ -241,18 +259,24 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
241
259
  hideToolTip();
242
260
  }
243
261
  }, [disableScreenReaderOutput, visible, hideToolTip]);
244
- var onMouseOut = (0, _react.useCallback)(function (event) {
245
- // Prevent mousing over children from hiding the tooltip by testing for whether the mouse has
246
- // left the anchor for a non-child.
247
- if (anchorRef.current === event.relatedTarget || anchorRef.current != null && !anchorRef.current.contains(event.relatedTarget)) {
248
- if (!hasFocus) {
249
- hideToolTip();
250
- }
251
- }
252
- if (onMouseOutProp) {
253
- onMouseOutProp(event);
254
- }
255
- }, [hasFocus, hideToolTip, onMouseOutProp]);
262
+
263
+ /**
264
+ * Show the tooltip on enter.
265
+ */
266
+ var onMouseEnter = (0, _react.useCallback)(function (event) {
267
+ var _anchorProps$onMouseE;
268
+ showToolTip();
269
+ anchorProps === null || anchorProps === void 0 || (_anchorProps$onMouseE = anchorProps.onMouseEnter) === null || _anchorProps$onMouseE === void 0 || _anchorProps$onMouseE.call(anchorProps, event);
270
+ }, [showToolTip, anchorProps === null || anchorProps === void 0 ? void 0 : anchorProps.onMouseEnter]);
271
+
272
+ /**
273
+ * Hide the tooltip if the mouse is not over the trigger.
274
+ */
275
+ var onMouseLeave = (0, _react.useCallback)(function (event) {
276
+ var _anchorProps$onMouseL;
277
+ if (!hasFocus) hideToolTip();
278
+ anchorProps === null || anchorProps === void 0 || (_anchorProps$onMouseL = anchorProps.onMouseLeave) === null || _anchorProps$onMouseL === void 0 || _anchorProps$onMouseL.call(anchorProps, event);
279
+ }, [hasFocus, hideToolTip, anchorProps === null || anchorProps === void 0 ? void 0 : anchorProps.onMouseLeave]);
256
280
  var classes = (0, _classnames.default)('euiToolTip', className);
257
281
  var anchorClasses = (0, _classnames.default)(anchorClassName, anchorProps === null || anchorProps === void 0 ? void 0 : anchorProps.className);
258
282
  return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_tool_tip_anchor.EuiToolTipAnchor, _extends({}, anchorProps, {
@@ -260,8 +284,9 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
260
284
  onBlur: onBlur,
261
285
  onFocus: onFocus,
262
286
  onKeyDown: onEscapeKey,
263
- onMouseOver: showToolTip,
264
- onMouseOut: onMouseOut
287
+ onMouseEnter: onMouseEnter,
288
+ onMouseLeave: onMouseLeave,
289
+ onMouseOut: onMouseOutProp
265
290
  // `id` defines if the trigger and tooltip are automatically linked via `aria-describedby`.
266
291
  ,
267
292
  id: !disableScreenReaderOutput ? id : undefined,
@@ -270,7 +295,12 @@ var EuiToolTip = exports.EuiToolTip = /*#__PURE__*/(0, _react.forwardRef)(functi
270
295
  isVisible: visible
271
296
  }), children), visible && (content || title) && (0, _react2.jsx)(_portal.EuiPortal, null, (0, _react2.jsx)(_tool_tip_popover.EuiToolTipPopover, _extends({
272
297
  className: classes,
273
- style: toolTipStyles,
298
+ style: _objectSpread(_objectSpread({}, toolTipStyles), {}, {
299
+ // Inline `animation: none` overrides the keyframes fade-in
300
+ // shorthand on the base `.euiToolTip` class, so a tooltip
301
+ // shown right after another closes appears instantly.
302
+ animation: skipAnimation ? 'none' : undefined
303
+ }),
274
304
  positionToolTip: positionToolTip,
275
305
  popoverRef: setPopoverRef,
276
306
  title: title,
@@ -47,6 +47,14 @@ var euiToolTipStyles = exports.euiToolTipStyles = function euiToolTipStyles(euiT
47
47
  };
48
48
  };
49
49
  var _ref = process.env.NODE_ENV === "production" ? {
50
+ name: "1cjglks-flex",
51
+ styles: "display:flex;label:flex;"
52
+ } : {
53
+ name: "1cjglks-flex",
54
+ styles: "display:flex;label:flex;",
55
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
56
+ };
57
+ var _ref2 = process.env.NODE_ENV === "production" ? {
50
58
  name: "fzilnk-inlineBlock",
51
59
  styles: "display:inline-block;label:inlineBlock;"
52
60
  } : {
@@ -54,7 +62,7 @@ var _ref = process.env.NODE_ENV === "production" ? {
54
62
  styles: "display:inline-block;label:inlineBlock;",
55
63
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
56
64
  };
57
- var _ref2 = process.env.NODE_ENV === "production" ? {
65
+ var _ref3 = process.env.NODE_ENV === "production" ? {
58
66
  name: "14aceuy-block",
59
67
  styles: "display:block;label:block;"
60
68
  } : {
@@ -62,7 +70,7 @@ var _ref2 = process.env.NODE_ENV === "production" ? {
62
70
  styles: "display:block;label:block;",
63
71
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
64
72
  };
65
- var _ref3 = process.env.NODE_ENV === "production" ? {
73
+ var _ref4 = process.env.NODE_ENV === "production" ? {
66
74
  name: "1s3i3p5-euiToolTipAnchor",
67
75
  styles: "*[disabled]{pointer-events:none;};label:euiToolTipAnchor;"
68
76
  } : {
@@ -73,9 +81,10 @@ var _ref3 = process.env.NODE_ENV === "production" ? {
73
81
  var euiToolTipAnchorStyles = exports.euiToolTipAnchorStyles = function euiToolTipAnchorStyles() {
74
82
  return {
75
83
  // Elements
76
- euiToolTipAnchor: _ref3,
84
+ euiToolTipAnchor: _ref4,
77
85
  // Variants
78
- block: _ref2,
79
- inlineBlock: _ref
86
+ block: _ref3,
87
+ inlineBlock: _ref2,
88
+ flex: _ref
80
89
  };
81
90
  };
@@ -11,7 +11,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
11
11
  var _services = require("../../services");
12
12
  var _tool_tip = require("./tool_tip.styles");
13
13
  var _react2 = require("@emotion/react");
14
- var _excluded = ["onBlur", "onFocus", "onMouseOver", "onMouseOut", "id", "className", "children", "display", "isVisible"];
14
+ var _excluded = ["onBlur", "onFocus", "onMouseEnter", "onMouseLeave", "id", "className", "children", "display", "isVisible"];
15
15
  /*
16
16
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
17
17
  * or more contributor license agreements. Licensed under the Elastic License
@@ -28,8 +28,8 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
28
28
  var EuiToolTipAnchor = exports.EuiToolTipAnchor = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
29
29
  var _onBlur = _ref.onBlur,
30
30
  _onFocus = _ref.onFocus,
31
- onMouseOver = _ref.onMouseOver,
32
- onMouseOut = _ref.onMouseOut,
31
+ onMouseEnter = _ref.onMouseEnter,
32
+ onMouseLeave = _ref.onMouseLeave,
33
33
  id = _ref.id,
34
34
  className = _ref.className,
35
35
  children = _ref.children,
@@ -53,8 +53,8 @@ var EuiToolTipAnchor = exports.EuiToolTipAnchor = /*#__PURE__*/(0, _react.forwar
53
53
  id: anchorId
54
54
  }, rest, {
55
55
  className: classes,
56
- onMouseOver: onMouseOver,
57
- onMouseOut: onMouseOut
56
+ onMouseEnter: onMouseEnter,
57
+ onMouseLeave: onMouseLeave
58
58
  }), /*#__PURE__*/(0, _react.cloneElement)(children, {
59
59
  onFocus: function onFocus(e) {
60
60
  _onFocus(e);
@@ -18,29 +18,54 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
18
18
  * in compliance with, at your election, the Elastic License 2.0 or the Server
19
19
  * Side Public License, v 1.
20
20
  */
21
+
21
22
  /**
22
23
  * Manager utility that ensures only one tooltip is visible at a time
24
+ * and lets the next tooltip to open skip its entry animation if another was
25
+ * just opened or just closed.
23
26
  *
24
27
  * UX rationale (primarily for mouse-only users):
25
28
  * @see https://github.com/elastic/kibana/issues/144482
26
29
  * @see https://github.com/elastic/eui/issues/5883
27
30
  */
31
+
32
+ /**
33
+ * Time window in ms after a tooltip closes during which the next one to open
34
+ * skips its entry animation.
35
+ */
36
+ var SKIP_ANIMATION_WINDOW = 300;
28
37
  var ToolTipManager = /*#__PURE__*/_createClass(function ToolTipManager() {
29
38
  var _this = this;
30
39
  _classCallCheck(this, ToolTipManager);
31
40
  // We use a set instead of a single var just in case
32
41
  // multiple tooltips are registered via async shenanigans
33
42
  _defineProperty(this, "toolTipsToHide", new Set());
43
+ // Timestamp of the last hide; `null` means no tooltip has closed yet.
44
+ _defineProperty(this, "lastHiddenAt", null);
34
45
  _defineProperty(this, "registerTooltip", function (hideCallback) {
35
- if (_this.toolTipsToHide.has(hideCallback)) return;
46
+ if (_this.toolTipsToHide.has(hideCallback)) return null;
47
+ var hadOpen = _this.toolTipsToHide.size > 0;
48
+ var recentlyClosed = _this.lastHiddenAt !== null && Date.now() - _this.lastHiddenAt < SKIP_ANIMATION_WINDOW;
36
49
  _this.toolTipsToHide.forEach(function (hide) {
37
50
  return hide();
38
51
  });
39
52
  _this.toolTipsToHide.clear();
40
53
  _this.toolTipsToHide.add(hideCallback);
54
+ return {
55
+ skipAnimation: hadOpen || recentlyClosed
56
+ };
41
57
  });
42
58
  _defineProperty(this, "deregisterToolTip", function (hideCallback) {
43
- _this.toolTipsToHide.delete(hideCallback);
59
+ if (_this.toolTipsToHide.delete(hideCallback)) _this.lastHiddenAt = Date.now();
60
+ });
61
+ /**
62
+ * Resets all internal state. Primarily intended for tests, so that a
63
+ * tooltip shown in one test doesn't leak into the next (the manager is a
64
+ * module-level singleton).
65
+ */
66
+ _defineProperty(this, "reset", function () {
67
+ _this.toolTipsToHide.clear();
68
+ _this.lastHiddenAt = null;
44
69
  });
45
70
  });
46
71
  var toolTipManager = exports.toolTipManager = new ToolTipManager();
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createPublisher = void 0;
7
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
8
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
9
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
10
+ /*
11
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
+ * or more contributor license agreements. Licensed under the Elastic License
13
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
14
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
15
+ * Side Public License, v 1.
16
+ */
17
+
18
+ /**
19
+ * @internal
20
+ */
21
+
22
+ /**
23
+ * @internal
24
+ */
25
+
26
+ /**
27
+ * @internal
28
+ */
29
+ var createPublisher = exports.createPublisher = function createPublisher() {
30
+ var subscribers = new Set();
31
+ var unsubscribe = function unsubscribe(subscriber) {
32
+ subscribers.delete(subscriber);
33
+ };
34
+ var subscribe = function subscribe(subscriber) {
35
+ subscribers.add(subscriber);
36
+ return function () {
37
+ return unsubscribe(subscriber);
38
+ };
39
+ };
40
+ var notify = function notify(subject) {
41
+ var _iterator = _createForOfIteratorHelper(subscribers),
42
+ _step;
43
+ try {
44
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
45
+ var _subscriber = _step.value;
46
+ _subscriber(subject);
47
+ }
48
+ } catch (err) {
49
+ _iterator.e(err);
50
+ } finally {
51
+ _iterator.f();
52
+ }
53
+ };
54
+ return {
55
+ subscribe: subscribe,
56
+ unsubscribe: unsubscribe,
57
+ notify: notify
58
+ };
59
+ };
@@ -20,6 +20,7 @@ import { warnIfContrastBelowMin, wcagContrastMin } from '../../services/color/co
20
20
  import { isColorDark, hexToRgb, isValidHex, useEuiPaletteColorBlindBehindText } from '../../services/color';
21
21
  import { toInitials, useEuiMemoizedStyles, useEuiTheme } from '../../services';
22
22
  import { EuiIcon } from '../icon';
23
+ import { EuiToolTip } from '../tool_tip';
23
24
  import { euiAvatarStyles } from './avatar.styles';
24
25
  import { jsx as ___EmotionJSX } from "@emotion/react";
25
26
  export var SIZES = ['s', 'm', 'l', 'xl'];
@@ -64,6 +65,7 @@ export var EuiAvatar = function EuiAvatar(_ref) {
64
65
  var classes = classNames('euiAvatar', _defineProperty(_defineProperty(_defineProperty({}, "euiAvatar--".concat(size), size), "euiAvatar--".concat(type), type), 'euiAvatar-isDisabled', isDisabled), className);
65
66
  var styles = useEuiMemoizedStyles(euiAvatarStyles);
66
67
  var cssStyles = [styles.euiAvatar, styles[type], styles[size], styles[casing], isPlain && styles.plain, isSubdued && styles.subdued, isDisabled && styles.isDisabled];
68
+ var tooltipCssStyles = [styles.tooltip[type]];
67
69
  var avatarStyle = useMemo(function () {
68
70
  if (imageUrl) {
69
71
  return {
@@ -98,21 +100,31 @@ export var EuiAvatar = function EuiAvatar(_ref) {
98
100
  // Fall back to the adjusted text color if it exists
99
101
  return avatarStyle === null || avatarStyle === void 0 ? void 0 : avatarStyle.color;
100
102
  }, [iconColor, avatarStyle === null || avatarStyle === void 0 ? void 0 : avatarStyle.color, isForcedColors, euiTheme]);
101
- return ___EmotionJSX("div", _extends({
103
+ var avatarNode = ___EmotionJSX("div", _extends({
102
104
  css: cssStyles,
103
105
  className: classes,
104
106
  style: _objectSpread(_objectSpread(_objectSpread({}, style), avatarStyle), highContrastBorder),
105
107
  "aria-label": isDisabled ? undefined : name,
106
- role: isDisabled ? 'presentation' : 'img',
107
- title: name
108
+ role: isDisabled ? 'presentation' : 'img'
108
109
  }, rest), !imageUrl && (iconType ? ___EmotionJSX(EuiIcon, {
109
110
  className: "euiAvatar__icon",
110
111
  size: iconSize || size,
111
112
  type: iconType,
112
- color: iconCustomColor
113
+ color: iconCustomColor,
114
+ "aria-hidden": true
113
115
  }) : ___EmotionJSX("span", {
114
116
  "aria-hidden": "true"
115
117
  }, toInitials(name, initialsLength, initials))));
118
+
119
+ // `EuiAvatar` is not interactive so we don't need to add a `tabIndex`.
120
+ // It already has `aria-label`, the tooltip is only visual.
121
+ return name ? ___EmotionJSX(EuiToolTip, {
122
+ content: name,
123
+ anchorProps: {
124
+ css: tooltipCssStyles
125
+ },
126
+ disableScreenReaderOutput: true
127
+ }, avatarNode) : avatarNode;
116
128
  };
117
129
 
118
130
  // TODO: Migrate to a service
@@ -9,9 +9,9 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
9
9
 
10
10
  import { css } from '@emotion/react';
11
11
  import { logicalSizeCSS, mathWithUnits } from '../../global_styling';
12
- var _avatarSize = function _avatarSize(_ref7) {
13
- var size = _ref7.size,
14
- fontSize = _ref7.fontSize;
12
+ var _avatarSize = function _avatarSize(_ref6) {
13
+ var size = _ref6.size,
14
+ fontSize = _ref6.fontSize;
15
15
  return "\n ".concat(logicalSizeCSS(size), ";\n font-size: ").concat(fontSize, ";\n ");
16
16
  };
17
17
  var _ref = process.env.NODE_ENV === "production" ? {
@@ -54,24 +54,20 @@ var _ref5 = process.env.NODE_ENV === "production" ? {
54
54
  styles: "cursor:not-allowed;filter:grayscale(100%);label:isDisabled;",
55
55
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
56
56
  };
57
- var _ref6 = process.env.NODE_ENV === "production" ? {
58
- name: "ont6vs-user",
59
- styles: "border-radius:50%;label:user;"
60
- } : {
61
- name: "ont6vs-user",
62
- styles: "border-radius:50%;label:user;",
63
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
64
- };
65
- export var euiAvatarStyles = function euiAvatarStyles(_ref8) {
66
- var euiTheme = _ref8.euiTheme;
57
+ export var euiAvatarStyles = function euiAvatarStyles(_ref7) {
58
+ var euiTheme = _ref7.euiTheme;
59
+ var borderRadius = {
60
+ user: '50%',
61
+ space: euiTheme.border.radius.medium
62
+ };
67
63
  return {
68
64
  // Base
69
65
  euiAvatar: /*#__PURE__*/css("flex-shrink:0;display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;background-size:cover;background-color:", euiTheme.colors.lightShade, ";overflow:hidden;font-weight:", euiTheme.font.weight.medium, ";;label:euiAvatar;"),
70
66
  // Variants
71
67
  plain: /*#__PURE__*/css("background-color:", euiTheme.colors.emptyShade, ";;label:plain;"),
72
68
  subdued: /*#__PURE__*/css("background-color:", euiTheme.colors.lightestShade, ";;label:subdued;"),
73
- user: _ref6,
74
- space: /*#__PURE__*/css("border-radius:", euiTheme.border.radius.medium, ";;label:space;"),
69
+ user: /*#__PURE__*/css("border-radius:", borderRadius.user, ";;label:user;"),
70
+ space: /*#__PURE__*/css("border-radius:", borderRadius.space, ";;label:space;"),
75
71
  // States
76
72
  isDisabled: _ref5,
77
73
  // Sizes
@@ -101,6 +97,10 @@ export var euiAvatarStyles = function euiAvatarStyles(_ref8) {
101
97
  capitalize: _ref4,
102
98
  uppercase: _ref3,
103
99
  lowercase: _ref2,
104
- none: _ref
100
+ none: _ref,
101
+ tooltip: {
102
+ user: /*#__PURE__*/css("border-radius:", borderRadius.user, ";;label:user;"),
103
+ space: /*#__PURE__*/css("border-radius:", borderRadius.space, ";;label:space;")
104
+ }
105
105
  };
106
106
  };
@@ -0,0 +1,111 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["title", "headingElement", "text", "size", "color", "actionProps", "media", "onDismiss", "dismissButtonProps", "children", "className", "announceOnMount", "data-test-subj"];
4
+ /*
5
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
6
+ * or more contributor license agreements. Licensed under the Elastic License
7
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
8
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
9
+ * Side Public License, v 1.
10
+ */
11
+
12
+ import React, { forwardRef } from 'react';
13
+ import classNames from 'classnames';
14
+ import { useEuiMemoizedStyles } from '../../services';
15
+ import { useEuiBackgroundColorCSS } from '../../global_styling';
16
+ import { useEuiI18n } from '../i18n';
17
+ import { EuiTitle } from '../title';
18
+ import { EuiButton, EuiButtonEmpty, EuiButtonIcon } from '../button';
19
+ import { EuiText } from '../text';
20
+ import { EuiLiveAnnouncer } from '../accessibility';
21
+ import { euiBannerStyles } from './banner.styles';
22
+ import { jsx as ___EmotionJSX } from "@emotion/react";
23
+ export var EuiBanner = /*#__PURE__*/forwardRef(function (_ref, ref) {
24
+ var title = _ref.title,
25
+ _ref$headingElement = _ref.headingElement,
26
+ headingElement = _ref$headingElement === void 0 ? 'h2' : _ref$headingElement,
27
+ text = _ref.text,
28
+ _ref$size = _ref.size,
29
+ size = _ref$size === void 0 ? 'm' : _ref$size,
30
+ _ref$color = _ref.color,
31
+ color = _ref$color === void 0 ? 'highlighted' : _ref$color,
32
+ actionProps = _ref.actionProps,
33
+ media = _ref.media,
34
+ onDismiss = _ref.onDismiss,
35
+ dismissButtonProps = _ref.dismissButtonProps,
36
+ children = _ref.children,
37
+ className = _ref.className,
38
+ _ref$announceOnMount = _ref.announceOnMount,
39
+ announceOnMount = _ref$announceOnMount === void 0 ? false : _ref$announceOnMount,
40
+ _ref$dataTestSubj = _ref['data-test-subj'],
41
+ dataTestSubj = _ref$dataTestSubj === void 0 ? 'euiBanner' : _ref$dataTestSubj,
42
+ rest = _objectWithoutProperties(_ref, _excluded);
43
+ var styles = useEuiMemoizedStyles(euiBannerStyles);
44
+ var dismissAriaLabel = useEuiI18n('euiBanner.dismissAriaLabel', 'Dismiss "{title}" announcement', {
45
+ title: title
46
+ });
47
+ var Heading = headingElement;
48
+ var headingSize = size === 's' ? 'xxs' : 'xs';
49
+ var primaryActionProps = actionProps === null || actionProps === void 0 ? void 0 : actionProps.primary;
50
+ var secondaryActionProps = actionProps === null || actionProps === void 0 ? void 0 : actionProps.secondary;
51
+ var hasActions = Boolean(primaryActionProps) || Boolean(secondaryActionProps);
52
+ var componentClass = 'euiBanner';
53
+ var classes = classNames(componentClass, className);
54
+ var backgroundColorStyles = useEuiBackgroundColorCSS()[color];
55
+ var cssStyles = [styles.euiBanner, backgroundColorStyles];
56
+ var containerCssStyles = [styles.container, onDismiss && styles.hasDismiss];
57
+ return ___EmotionJSX("div", _extends({
58
+ ref: ref,
59
+ className: classes,
60
+ css: cssStyles,
61
+ "data-size": size,
62
+ "data-color": color,
63
+ "data-test-subj": dataTestSubj
64
+ }, rest), ___EmotionJSX("div", {
65
+ className: "".concat(componentClass, "__container"),
66
+ css: containerCssStyles
67
+ }, media ? ___EmotionJSX("div", {
68
+ className: "".concat(componentClass, "__media"),
69
+ css: styles.media,
70
+ "data-test-subj": "".concat(dataTestSubj, "-media")
71
+ }, media) : null, ___EmotionJSX("div", {
72
+ className: "".concat(componentClass, "__body"),
73
+ css: styles.body
74
+ }, ___EmotionJSX("div", {
75
+ className: "".concat(componentClass, "__content"),
76
+ css: styles.content
77
+ }, ___EmotionJSX(EuiTitle, {
78
+ size: headingSize
79
+ }, ___EmotionJSX(Heading, {
80
+ css: styles.title,
81
+ "data-test-subj": "".concat(dataTestSubj, "-title")
82
+ }, title)), onDismiss ? ___EmotionJSX(EuiButtonIcon, _extends({
83
+ iconType: "cross",
84
+ color: "text",
85
+ "aria-label": dismissAriaLabel,
86
+ "data-test-subj": "".concat(dataTestSubj, "-dismiss")
87
+ }, dismissButtonProps, {
88
+ css: [styles.dismiss, dismissButtonProps === null || dismissButtonProps === void 0 ? void 0 : dismissButtonProps.css, ";label:EuiBanner;"],
89
+ onClick: onDismiss
90
+ })) : null, text ? ___EmotionJSX(EuiText, {
91
+ css: styles.text,
92
+ size: "s",
93
+ color: "subdued",
94
+ "data-test-subj": "".concat(dataTestSubj, "-text")
95
+ }, text) : null, children && children), hasActions ? ___EmotionJSX("div", {
96
+ className: "".concat(componentClass, "__actions"),
97
+ css: styles.actions,
98
+ "data-test-subj": "".concat(dataTestSubj, "-actions")
99
+ }, primaryActionProps ? ___EmotionJSX(EuiButton, _extends({
100
+ "data-test-subj": "".concat(dataTestSubj, "-primaryAction")
101
+ }, primaryActionProps, {
102
+ color: "primary",
103
+ size: "s"
104
+ })) : null, secondaryActionProps ? ___EmotionJSX(EuiButtonEmpty, _extends({
105
+ "data-test-subj": "".concat(dataTestSubj, "-secondaryAction")
106
+ }, secondaryActionProps, {
107
+ color: "primary",
108
+ size: "s"
109
+ })) : null) : null)), announceOnMount && ___EmotionJSX(EuiLiveAnnouncer, null, title && title, title && text && ",\xA0", text && text, (title || text) && children && ",\xA0", children && children));
110
+ });
111
+ EuiBanner.displayName = 'EuiBanner';
@@ -0,0 +1,76 @@
1
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
2
+ /*
3
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
+ * or more contributor license agreements. Licensed under the Elastic License
5
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
6
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
7
+ * Side Public License, v 1.
8
+ */
9
+
10
+ import { css } from '@emotion/react';
11
+ var CONTAINER_NAME = 'euiBanner';
12
+ var CQC_LAYOUTS = ['narrow', 'wide'];
13
+ var CQC_BREAKPOINTS = {
14
+ s: {
15
+ narrow: '(min-width: 401px)',
16
+ wide: '(min-width: 800px)'
17
+ },
18
+ m: {
19
+ narrow: '(min-width: 601px)',
20
+ wide: '(min-width: 1000px)'
21
+ }
22
+ };
23
+ var CQC_BREAKPOINT_NARROWEST = '(max-width: 400px)';
24
+
25
+ /** Maximum reading width for `text` and `children` slots. */
26
+ var TEXT_MAX_WIDTH = 1200;
27
+ var withContainerQuery = function withContainerQuery(_ref2) {
28
+ var layout = _ref2.layout,
29
+ styles = _ref2.styles;
30
+ return Object.keys(CQC_BREAKPOINTS).map(function (sizeKey) {
31
+ return "\n @container ".concat(CONTAINER_NAME, "--").concat(sizeKey, " ").concat(CQC_BREAKPOINTS[sizeKey][layout], " {\n ").concat(styles, "\n }\n ");
32
+ }).join('\n');
33
+ };
34
+ var _ref = process.env.NODE_ENV === "production" ? {
35
+ name: "qd171g-title",
36
+ styles: "[data-size='s'] &{display:inline;};label:title;"
37
+ } : {
38
+ name: "qd171g-title",
39
+ styles: "[data-size='s'] &{display:inline;};label:title;",
40
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
41
+ };
42
+ export var euiBannerStyles = function euiBannerStyles(_ref3) {
43
+ var euiTheme = _ref3.euiTheme;
44
+ return {
45
+ euiBanner: /*#__PURE__*/css("container-name:", CONTAINER_NAME, ";container-type:inline-size;position:relative;border:", euiTheme.border.thin, ";border-radius:", euiTheme.border.radius.medium, ";&[data-size='s']{container-name:", CONTAINER_NAME, " ", CONTAINER_NAME, "--s;}&[data-size='m']{container-name:", CONTAINER_NAME, " ", CONTAINER_NAME, "--m;};label:euiBanner;"),
46
+ container: /*#__PURE__*/css("display:flex;flex-direction:column;align-items:stretch;gap:", euiTheme.size.m, ";padding-inline-start:", euiTheme.size.base, ";padding-inline-end:", euiTheme.size.base, ";[data-size='m'] &{padding-block:", euiTheme.size.base, ";}[data-size='s'] &{padding-block:", euiTheme.size.m, ";}", withContainerQuery({
47
+ layout: 'narrow',
48
+ styles: "\n flex-direction: row;\n align-items: flex-start;\n gap: ".concat(euiTheme.size.base, ";\n ")
49
+ }), ";;label:container;"),
50
+ media: /*#__PURE__*/css("--euiBannerMediaSize:", "calc(".concat(euiTheme.size.base, " * 5)"), ";flex-shrink:0;inline-size:var(--euiBannerMediaSize);block-size:var(--euiBannerMediaSize);aspect-ratio:1/1;[data-size='s'] &{--euiBannerMediaSize:", "calc(".concat(euiTheme.size.base, " * 2)"), ";}", withContainerQuery({
51
+ layout: 'wide',
52
+ styles: "\n align-self: center;\n "
53
+ }), " img,svg{block-size:100%;inline-size:100%;};label:media;"),
54
+ body: /*#__PURE__*/css("flex:1 1 auto;min-inline-size:0;display:flex;flex-direction:column;align-self:flex-start;inline-size:100%;gap:", euiTheme.size.m, ";", withContainerQuery({
55
+ layout: 'narrow',
56
+ styles: "\n align-self: center;\n inline-size: auto;\n "
57
+ }), " ", withContainerQuery({
58
+ layout: 'wide',
59
+ styles: "\n flex-direction: row;\n align-items: center;\n /* stretch to match the media's height so align-items has space to work */\n align-self: stretch;\n justify-content: space-between;\n gap: ".concat(euiTheme.size.xxl, ";\n ")
60
+ }), ";;label:body;"),
61
+ // At size `s` the content slot becomes a block container so the title and
62
+ // text flow inline. Other sizes keep the flex column with a fixed gap.
63
+ content: /*#__PURE__*/css("flex:1 1 auto;min-inline-size:0;max-inline-size:", TEXT_MAX_WIDTH, "px;display:flex;flex-direction:column;gap:", euiTheme.size.xs, ";[data-size='s'] &{display:block;>*+*:not(.euiButtonIcon){margin-block-start:", euiTheme.size.s, ";}}[data-size='m'] &{>.euiText+*{margin-block-start:", euiTheme.size.s, ";}};label:content;"),
64
+ title: _ref,
65
+ text: /*#__PURE__*/css("[data-size='s'] &{display:inline;&::before{content:'\xB7';display:inline-block;inline-size:calc(", euiTheme.size.s, " + ", euiTheme.size.xxs, ");text-align:center;color:", euiTheme.colors.textHeading, ";}};label:text;"),
66
+ actions: /*#__PURE__*/css("display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:", euiTheme.size.s, ";@container ", CONTAINER_NAME, " ", CQC_BREAKPOINT_NARROWEST, "{flex-wrap:wrap;>*{inline-size:100%;}}", withContainerQuery({
67
+ layout: 'wide',
68
+ styles: "\n /* Reverses source order so primary appears last (rightmost). */\n flex-direction: row-reverse;\n flex-shrink: 0;\n align-self: center;\n "
69
+ }), ";;label:actions;"),
70
+ hasDismiss: /*#__PURE__*/css(withContainerQuery({
71
+ layout: 'narrow',
72
+ styles: "\n padding-inline-end: calc(".concat(euiTheme.size.s, " * 5);\n ")
73
+ }), ";;label:hasDismiss;"),
74
+ dismiss: /*#__PURE__*/css("position:absolute;inset-block-start:", euiTheme.size.s, ";inset-inline-end:", euiTheme.size.s, ";color:", euiTheme.colors.textSubdued, ";;label:dismiss;")
75
+ };
76
+ };
@@ -0,0 +1,9 @@
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
+ export { EuiBanner } from './banner';