@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
@@ -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
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elastic/eui",
3
3
  "description": "Elastic UI Component Library",
4
- "version": "116.2.0",
4
+ "version": "116.3.1-snapshot.1782148316870",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "lib",
7
7
  "module": "es",
@@ -44,6 +44,7 @@
44
44
  "release-rc": "node ./scripts/release.js --type=prerelease",
45
45
  "storybook": "storybook dev -p 6006",
46
46
  "build-storybook": "storybook build",
47
+ "test-storybook": "test-storybook",
47
48
  "pre-push": "yarn test-staged",
48
49
  "prerelease": "node ./scripts/prerelease.mjs"
49
50
  },
@@ -108,7 +109,7 @@
108
109
  "@cypress/webpack-dev-server": "^1.7.0",
109
110
  "@elastic/charts": "^64.1.0",
110
111
  "@elastic/datemath": "^5.0.3",
111
- "@elastic/eslint-plugin-eui": "2.13.0",
112
+ "@elastic/eslint-plugin-eui": "2.14.0",
112
113
  "@elastic/eui-theme-borealis": "8.0.0",
113
114
  "@emotion/babel-preset-css-prop": "^11.11.0",
114
115
  "@emotion/cache": "^11.11.0",
@@ -117,8 +118,7 @@
117
118
  "@emotion/jest": "^11.11.0",
118
119
  "@emotion/react": "^11.11.0",
119
120
  "@faker-js/faker": "^8.0.2",
120
- "@loki/create-async-callback": "^0.35.0",
121
- "@loki/is-loki-running": "^0.35.0",
121
+ "@playwright/test": "^1.44.0",
122
122
  "@storybook/addon-essentials": "^8.4.5",
123
123
  "@storybook/addon-interactions": "^8.4.5",
124
124
  "@storybook/addon-links": "^8.4.5",
@@ -130,6 +130,7 @@
130
130
  "@storybook/react": "^8.4.5",
131
131
  "@storybook/react-webpack5": "^8.4.5",
132
132
  "@storybook/test": "^8.4.5",
133
+ "@storybook/test-runner": "^0.19.1",
133
134
  "@svgr/core": "8.0.0",
134
135
  "@svgr/plugin-jsx": "^8.0.1",
135
136
  "@svgr/plugin-svgo": "^8.0.1",
@@ -143,6 +144,7 @@
143
144
  "@types/classnames": "^2.3.1",
144
145
  "@types/enzyme": "^3.10.5",
145
146
  "@types/jest": "^29.5.12",
147
+ "@types/jest-image-snapshot": "^5.1.0",
146
148
  "@types/prettier": "2.7.3",
147
149
  "@types/react": "^18.2.14",
148
150
  "@types/react-dom": "^18.2.6",
@@ -206,7 +208,7 @@
206
208
  "jest": "^29.7.0",
207
209
  "jest-cli": "^29.7.0",
208
210
  "jest-environment-jsdom": "^29.7.0",
209
- "loki": "^0.35.0",
211
+ "jest-image-snapshot": "^6.4.0",
210
212
  "moment": "^2.27.0",
211
213
  "moment-timezone": "^0.5.31",
212
214
  "path": "^0.12.7",
@@ -272,5 +274,6 @@
272
274
  ],
273
275
  "installConfig": {
274
276
  "hoistingLimits": "workspaces"
275
- }
277
+ },
278
+ "stableVersion": "116.3.1"
276
279
  }
@@ -17,6 +17,7 @@ var _contrast = require("../../services/color/contrast");
17
17
  var _color = require("../../services/color");
18
18
  var _services = require("../../services");
19
19
  var _icon = require("../icon");
20
+ var _tool_tip = require("../tool_tip");
20
21
  var _avatar = require("./avatar.styles");
21
22
  var _react2 = require("@emotion/react");
22
23
  var _excluded = ["className", "color", "imageUrl", "initials", "initialsLength", "iconType", "iconSize", "iconColor", "name", "size", "type", "isDisabled", "style"],
@@ -74,6 +75,7 @@ var EuiAvatar = exports.EuiAvatar = function EuiAvatar(_ref) {
74
75
  var classes = (0, _classnames.default)('euiAvatar', (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "euiAvatar--".concat(size), size), "euiAvatar--".concat(type), type), 'euiAvatar-isDisabled', isDisabled), className);
75
76
  var styles = (0, _services.useEuiMemoizedStyles)(_avatar.euiAvatarStyles);
76
77
  var cssStyles = [styles.euiAvatar, styles[type], styles[size], styles[casing], isPlain && styles.plain, isSubdued && styles.subdued, isDisabled && styles.isDisabled];
78
+ var tooltipCssStyles = [styles.tooltip[type]];
77
79
  var avatarStyle = (0, _react.useMemo)(function () {
78
80
  if (imageUrl) {
79
81
  return {
@@ -108,21 +110,31 @@ var EuiAvatar = exports.EuiAvatar = function EuiAvatar(_ref) {
108
110
  // Fall back to the adjusted text color if it exists
109
111
  return avatarStyle === null || avatarStyle === void 0 ? void 0 : avatarStyle.color;
110
112
  }, [iconColor, avatarStyle === null || avatarStyle === void 0 ? void 0 : avatarStyle.color, isForcedColors, euiTheme]);
111
- return (0, _react2.jsx)("div", (0, _extends2.default)({
113
+ var avatarNode = (0, _react2.jsx)("div", (0, _extends2.default)({
112
114
  css: cssStyles,
113
115
  className: classes,
114
116
  style: _objectSpread(_objectSpread(_objectSpread({}, style), avatarStyle), highContrastBorder),
115
117
  "aria-label": isDisabled ? undefined : name,
116
- role: isDisabled ? 'presentation' : 'img',
117
- title: name
118
+ role: isDisabled ? 'presentation' : 'img'
118
119
  }, rest), !imageUrl && (iconType ? (0, _react2.jsx)(_icon.EuiIcon, {
119
120
  className: "euiAvatar__icon",
120
121
  size: iconSize || size,
121
122
  type: iconType,
122
- color: iconCustomColor
123
+ color: iconCustomColor,
124
+ "aria-hidden": true
123
125
  }) : (0, _react2.jsx)("span", {
124
126
  "aria-hidden": "true"
125
127
  }, (0, _services.toInitials)(name, initialsLength, initials))));
128
+
129
+ // `EuiAvatar` is not interactive so we don't need to add a `tabIndex`.
130
+ // It already has `aria-label`, the tooltip is only visual.
131
+ return name ? (0, _react2.jsx)(_tool_tip.EuiToolTip, {
132
+ content: name,
133
+ anchorProps: {
134
+ css: tooltipCssStyles
135
+ },
136
+ disableScreenReaderOutput: true
137
+ }, avatarNode) : avatarNode;
126
138
  };
127
139
 
128
140
  // TODO: Migrate to a service
@@ -158,7 +170,8 @@ EuiAvatar.propTypes = {
158
170
  */
159
171
  iconColor: _propTypes.default.oneOfType([_propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.any.isRequired]).isRequired, _propTypes.default.oneOf([null])]),
160
172
  /**
161
- * Full name of avatar for title attribute and calculating initial if not provided
173
+ * Full name of the avatar. Used as the accessible label (`aria-label`),
174
+ * tooltip content and used to derive initials when `initials` is not provided.
162
175
  */
163
176
  name: _propTypes.default.string.isRequired,
164
177
  /**
@@ -13,9 +13,9 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
13
13
  * in compliance with, at your election, the Elastic License 2.0 or the Server
14
14
  * Side Public License, v 1.
15
15
  */
16
- var _avatarSize = function _avatarSize(_ref7) {
17
- var size = _ref7.size,
18
- fontSize = _ref7.fontSize;
16
+ var _avatarSize = function _avatarSize(_ref6) {
17
+ var size = _ref6.size,
18
+ fontSize = _ref6.fontSize;
19
19
  return "\n ".concat((0, _global_styling.logicalSizeCSS)(size), ";\n font-size: ").concat(fontSize, ";\n ");
20
20
  };
21
21
  var _ref = process.env.NODE_ENV === "production" ? {
@@ -58,24 +58,20 @@ var _ref5 = process.env.NODE_ENV === "production" ? {
58
58
  styles: "cursor:not-allowed;filter:grayscale(100%);label:isDisabled;",
59
59
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
60
60
  };
61
- var _ref6 = process.env.NODE_ENV === "production" ? {
62
- name: "ont6vs-user",
63
- styles: "border-radius:50%;label:user;"
64
- } : {
65
- name: "ont6vs-user",
66
- styles: "border-radius:50%;label:user;",
67
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
68
- };
69
- var euiAvatarStyles = exports.euiAvatarStyles = function euiAvatarStyles(_ref8) {
70
- var euiTheme = _ref8.euiTheme;
61
+ var euiAvatarStyles = exports.euiAvatarStyles = function euiAvatarStyles(_ref7) {
62
+ var euiTheme = _ref7.euiTheme;
63
+ var borderRadius = {
64
+ user: '50%',
65
+ space: euiTheme.border.radius.medium
66
+ };
71
67
  return {
72
68
  // Base
73
69
  euiAvatar: /*#__PURE__*/(0, _react.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;"),
74
70
  // Variants
75
71
  plain: /*#__PURE__*/(0, _react.css)("background-color:", euiTheme.colors.emptyShade, ";;label:plain;"),
76
72
  subdued: /*#__PURE__*/(0, _react.css)("background-color:", euiTheme.colors.lightestShade, ";;label:subdued;"),
77
- user: _ref6,
78
- space: /*#__PURE__*/(0, _react.css)("border-radius:", euiTheme.border.radius.medium, ";;label:space;"),
73
+ user: /*#__PURE__*/(0, _react.css)("border-radius:", borderRadius.user, ";;label:user;"),
74
+ space: /*#__PURE__*/(0, _react.css)("border-radius:", borderRadius.space, ";;label:space;"),
79
75
  // States
80
76
  isDisabled: _ref5,
81
77
  // Sizes
@@ -105,6 +101,10 @@ var euiAvatarStyles = exports.euiAvatarStyles = function euiAvatarStyles(_ref8)
105
101
  capitalize: _ref4,
106
102
  uppercase: _ref3,
107
103
  lowercase: _ref2,
108
- none: _ref
104
+ none: _ref,
105
+ tooltip: {
106
+ user: /*#__PURE__*/(0, _react.css)("border-radius:", borderRadius.user, ";;label:user;"),
107
+ space: /*#__PURE__*/(0, _react.css)("border-radius:", borderRadius.space, ";;label:space;")
108
+ }
109
109
  };
110
110
  };
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.EuiBanner = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _classnames = _interopRequireDefault(require("classnames"));
14
+ var _services = require("../../services");
15
+ var _global_styling = require("../../global_styling");
16
+ var _i18n = require("../i18n");
17
+ var _title = require("../title");
18
+ var _button = require("../button");
19
+ var _text = require("../text");
20
+ var _accessibility = require("../accessibility");
21
+ var _banner = require("./banner.styles");
22
+ var _react2 = require("@emotion/react");
23
+ var _excluded = ["title", "headingElement", "text", "size", "color", "actionProps", "media", "onDismiss", "dismissButtonProps", "children", "className", "announceOnMount", "data-test-subj"];
24
+ /*
25
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
26
+ * or more contributor license agreements. Licensed under the Elastic License
27
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
28
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
29
+ * Side Public License, v 1.
30
+ */
31
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
32
+ 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; }
33
+ var EuiBanner = exports.EuiBanner = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
34
+ var title = _ref.title,
35
+ _ref$headingElement = _ref.headingElement,
36
+ headingElement = _ref$headingElement === void 0 ? 'h2' : _ref$headingElement,
37
+ text = _ref.text,
38
+ _ref$size = _ref.size,
39
+ size = _ref$size === void 0 ? 'm' : _ref$size,
40
+ _ref$color = _ref.color,
41
+ color = _ref$color === void 0 ? 'highlighted' : _ref$color,
42
+ actionProps = _ref.actionProps,
43
+ media = _ref.media,
44
+ onDismiss = _ref.onDismiss,
45
+ dismissButtonProps = _ref.dismissButtonProps,
46
+ children = _ref.children,
47
+ className = _ref.className,
48
+ _ref$announceOnMount = _ref.announceOnMount,
49
+ announceOnMount = _ref$announceOnMount === void 0 ? false : _ref$announceOnMount,
50
+ _ref$dataTestSubj = _ref['data-test-subj'],
51
+ dataTestSubj = _ref$dataTestSubj === void 0 ? 'euiBanner' : _ref$dataTestSubj,
52
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
53
+ var styles = (0, _services.useEuiMemoizedStyles)(_banner.euiBannerStyles);
54
+ var dismissAriaLabel = (0, _i18n.useEuiI18n)('euiBanner.dismissAriaLabel', 'Dismiss "{title}" announcement', {
55
+ title: title
56
+ });
57
+ var Heading = headingElement;
58
+ var headingSize = size === 's' ? 'xxs' : 'xs';
59
+ var primaryActionProps = actionProps === null || actionProps === void 0 ? void 0 : actionProps.primary;
60
+ var secondaryActionProps = actionProps === null || actionProps === void 0 ? void 0 : actionProps.secondary;
61
+ var hasActions = Boolean(primaryActionProps) || Boolean(secondaryActionProps);
62
+ var componentClass = 'euiBanner';
63
+ var classes = (0, _classnames.default)(componentClass, className);
64
+ var backgroundColorStyles = (0, _global_styling.useEuiBackgroundColorCSS)()[color];
65
+ var cssStyles = [styles.euiBanner, backgroundColorStyles];
66
+ var containerCssStyles = [styles.container, onDismiss && styles.hasDismiss];
67
+ return (0, _react2.jsx)("div", (0, _extends2.default)({
68
+ ref: ref,
69
+ className: classes,
70
+ css: cssStyles,
71
+ "data-size": size,
72
+ "data-color": color,
73
+ "data-test-subj": dataTestSubj
74
+ }, rest), (0, _react2.jsx)("div", {
75
+ className: "".concat(componentClass, "__container"),
76
+ css: containerCssStyles
77
+ }, media ? (0, _react2.jsx)("div", {
78
+ className: "".concat(componentClass, "__media"),
79
+ css: styles.media,
80
+ "data-test-subj": "".concat(dataTestSubj, "-media")
81
+ }, media) : null, (0, _react2.jsx)("div", {
82
+ className: "".concat(componentClass, "__body"),
83
+ css: styles.body
84
+ }, (0, _react2.jsx)("div", {
85
+ className: "".concat(componentClass, "__content"),
86
+ css: styles.content
87
+ }, (0, _react2.jsx)(_title.EuiTitle, {
88
+ size: headingSize
89
+ }, (0, _react2.jsx)(Heading, {
90
+ css: styles.title,
91
+ "data-test-subj": "".concat(dataTestSubj, "-title")
92
+ }, title)), onDismiss ? (0, _react2.jsx)(_button.EuiButtonIcon, (0, _extends2.default)({
93
+ iconType: "cross",
94
+ color: "text",
95
+ "aria-label": dismissAriaLabel,
96
+ "data-test-subj": "".concat(dataTestSubj, "-dismiss")
97
+ }, dismissButtonProps, {
98
+ css: [styles.dismiss, dismissButtonProps === null || dismissButtonProps === void 0 ? void 0 : dismissButtonProps.css, ";label:EuiBanner;"],
99
+ onClick: onDismiss
100
+ })) : null, text ? (0, _react2.jsx)(_text.EuiText, {
101
+ css: styles.text,
102
+ size: "s",
103
+ color: "subdued",
104
+ "data-test-subj": "".concat(dataTestSubj, "-text")
105
+ }, text) : null, children && children), hasActions ? (0, _react2.jsx)("div", {
106
+ className: "".concat(componentClass, "__actions"),
107
+ css: styles.actions,
108
+ "data-test-subj": "".concat(dataTestSubj, "-actions")
109
+ }, primaryActionProps ? (0, _react2.jsx)(_button.EuiButton, (0, _extends2.default)({
110
+ "data-test-subj": "".concat(dataTestSubj, "-primaryAction")
111
+ }, primaryActionProps, {
112
+ color: "primary",
113
+ size: "s"
114
+ })) : null, secondaryActionProps ? (0, _react2.jsx)(_button.EuiButtonEmpty, (0, _extends2.default)({
115
+ "data-test-subj": "".concat(dataTestSubj, "-secondaryAction")
116
+ }, secondaryActionProps, {
117
+ color: "primary",
118
+ size: "s"
119
+ })) : null) : null)), announceOnMount && (0, _react2.jsx)(_accessibility.EuiLiveAnnouncer, null, title && title, title && text && ",\xA0", text && text, (title || text) && children && ",\xA0", children && children));
120
+ });
121
+ EuiBanner.propTypes = {
122
+ className: _propTypes.default.string,
123
+ "aria-label": _propTypes.default.string,
124
+ "data-test-subj": _propTypes.default.string,
125
+ css: _propTypes.default.any,
126
+ /** Heading shown at the top. */title: _propTypes.default.string.isRequired,
127
+ /**
128
+ * HTML element used to render the title.
129
+ * @default 'h2'
130
+ */
131
+ headingElement: _propTypes.default.oneOf(["h2", "h3", "h4", "h5", "h6"]),
132
+ /** Supporting copy rendered below the title. */text: _propTypes.default.node,
133
+ /** Extra content rendered directly below `text`. */children: _propTypes.default.node,
134
+ /** Illustration slot. Wrapped in a square (1:1) container. */media: _propTypes.default.node.isRequired,
135
+ /**
136
+ * Visual size variant.
137
+ * @default 'm'
138
+ */
139
+ size: _propTypes.default.any,
140
+ /**
141
+ * Defines the announcement background color.
142
+ * @default 'highlighted'
143
+ */
144
+ color: _propTypes.default.oneOf(["highlighted", "plain"]),
145
+ /** Optional action buttons. */actionProps: _propTypes.default.shape({
146
+ /** Primary call-to-action, rendered as an `EuiButton`. */primary: _propTypes.default.any,
147
+ /** Secondary action, rendered as an `EuiButtonEmpty`. Is only rendered when a primary action is available. */secondary: _propTypes.default.any
148
+ }),
149
+ /**
150
+ * When provided, a dismiss button is rendered in the top-right corner and
151
+ * this callback fires when the user activates it.
152
+ */
153
+ onDismiss: _propTypes.default.func,
154
+ /** Extra props spread onto the dismiss `EuiButtonIcon`. */dismissButtonProps: _propTypes.default.shape({
155
+ "aria-label": _propTypes.default.string,
156
+ "aria-labelledby": _propTypes.default.string,
157
+ /**
158
+ * Overall size of button.
159
+ * Matches the sizes of other EuiButtons
160
+ */
161
+ size: _propTypes.default.any,
162
+ /**
163
+ * Size of the icon only.
164
+ * This will not affect the overall size of the button
165
+ */
166
+ iconSize: _propTypes.default.any,
167
+ /**
168
+ * Applies the boolean state as the `aria-pressed` property to create a toggle button.
169
+ * *Only use when the readable text does not change between states.*
170
+ */
171
+ isSelected: _propTypes.default.bool,
172
+ /**
173
+ * Sets the display style for matching other EuiButton types.
174
+ * `base` is equivalent to a typical EuiButton
175
+ * `fill` is equivalent to a filled EuiButton
176
+ * `empty` (default) is equivalent to an EuiButtonEmpty
177
+ */
178
+ display: _propTypes.default.any,
179
+ /**
180
+ * Disables the button and changes the icon to a loading spinner
181
+ */
182
+ isLoading: _propTypes.default.bool,
183
+ className: _propTypes.default.string,
184
+ "data-test-subj": _propTypes.default.string,
185
+ css: _propTypes.default.any,
186
+ /**
187
+ * Controls the disabled behavior via the native `disabled` attribute.
188
+ */
189
+ isDisabled: _propTypes.default.bool,
190
+ /**
191
+ * NOTE: Beta feature, may be changed or removed in the future
192
+ *
193
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
194
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
195
+ *
196
+ * Use e.g. when a disabled button should have a tooltip.
197
+ */
198
+ hasAriaDisabled: _propTypes.default.bool
199
+ }),
200
+ /**
201
+ * When set to `true`, the content is announced by screen readers on mount.
202
+ * Use only when the announcement is immediately relevant, e.g. as feedback to user actions.
203
+ * Avoid using on initial page load as it may create noise for assistive technology users.
204
+ *
205
+ * @default false
206
+ */
207
+ announceOnMount: _propTypes.default.bool
208
+ };
209
+ EuiBanner.displayName = 'EuiBanner';
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiBannerStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ 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)."; } /*
9
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
10
+ * or more contributor license agreements. Licensed under the Elastic License
11
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
12
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
13
+ * Side Public License, v 1.
14
+ */
15
+ var CONTAINER_NAME = 'euiBanner';
16
+ var CQC_LAYOUTS = ['narrow', 'wide'];
17
+ var CQC_BREAKPOINTS = {
18
+ s: {
19
+ narrow: '(min-width: 401px)',
20
+ wide: '(min-width: 800px)'
21
+ },
22
+ m: {
23
+ narrow: '(min-width: 601px)',
24
+ wide: '(min-width: 1000px)'
25
+ }
26
+ };
27
+ var CQC_BREAKPOINT_NARROWEST = '(max-width: 400px)';
28
+
29
+ /** Maximum reading width for `text` and `children` slots. */
30
+ var TEXT_MAX_WIDTH = 1200;
31
+ var withContainerQuery = function withContainerQuery(_ref2) {
32
+ var layout = _ref2.layout,
33
+ styles = _ref2.styles;
34
+ return Object.keys(CQC_BREAKPOINTS).map(function (sizeKey) {
35
+ return "\n @container ".concat(CONTAINER_NAME, "--").concat(sizeKey, " ").concat(CQC_BREAKPOINTS[sizeKey][layout], " {\n ").concat(styles, "\n }\n ");
36
+ }).join('\n');
37
+ };
38
+ var _ref = process.env.NODE_ENV === "production" ? {
39
+ name: "qd171g-title",
40
+ styles: "[data-size='s'] &{display:inline;};label:title;"
41
+ } : {
42
+ name: "qd171g-title",
43
+ styles: "[data-size='s'] &{display:inline;};label:title;",
44
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
45
+ };
46
+ var euiBannerStyles = exports.euiBannerStyles = function euiBannerStyles(_ref3) {
47
+ var euiTheme = _ref3.euiTheme;
48
+ return {
49
+ euiBanner: /*#__PURE__*/(0, _react.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;"),
50
+ container: /*#__PURE__*/(0, _react.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({
51
+ layout: 'narrow',
52
+ styles: "\n flex-direction: row;\n align-items: flex-start;\n gap: ".concat(euiTheme.size.base, ";\n ")
53
+ }), ";;label:container;"),
54
+ media: /*#__PURE__*/(0, _react.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({
55
+ layout: 'wide',
56
+ styles: "\n align-self: center;\n "
57
+ }), " img,svg{block-size:100%;inline-size:100%;};label:media;"),
58
+ body: /*#__PURE__*/(0, _react.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({
59
+ layout: 'narrow',
60
+ styles: "\n align-self: center;\n inline-size: auto;\n "
61
+ }), " ", withContainerQuery({
62
+ layout: 'wide',
63
+ 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 ")
64
+ }), ";;label:body;"),
65
+ // At size `s` the content slot becomes a block container so the title and
66
+ // text flow inline. Other sizes keep the flex column with a fixed gap.
67
+ content: /*#__PURE__*/(0, _react.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;"),
68
+ title: _ref,
69
+ text: /*#__PURE__*/(0, _react.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;"),
70
+ actions: /*#__PURE__*/(0, _react.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({
71
+ layout: 'wide',
72
+ styles: "\n /* Reverses source order so primary appears last (rightmost). */\n flex-direction: row-reverse;\n flex-shrink: 0;\n align-self: center;\n "
73
+ }), ";;label:actions;"),
74
+ hasDismiss: /*#__PURE__*/(0, _react.css)(withContainerQuery({
75
+ layout: 'narrow',
76
+ styles: "\n padding-inline-end: calc(".concat(euiTheme.size.s, " * 5);\n ")
77
+ }), ";;label:hasDismiss;"),
78
+ dismiss: /*#__PURE__*/(0, _react.css)("position:absolute;inset-block-start:", euiTheme.size.s, ";inset-inline-end:", euiTheme.size.s, ";color:", euiTheme.colors.textSubdued, ";;label:dismiss;")
79
+ };
80
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "EuiBanner", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _banner.EuiBanner;
10
+ }
11
+ });
12
+ var _banner = require("./banner");