@elastic/eui 88.2.0 → 88.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (371) hide show
  1. package/dist/eui_theme_dark.css +0 -25
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +0 -25
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/accordion/accordion.js +35 -208
  6. package/es/components/accordion/accordion.styles.js +3 -95
  7. package/es/components/accordion/accordion_children/accordion_children.js +101 -0
  8. package/es/components/accordion/accordion_children/accordion_children.styles.js +39 -0
  9. package/es/components/accordion/accordion_children/accordion_children_loading.js +31 -0
  10. package/es/components/accordion/accordion_children/index.js +9 -0
  11. package/es/components/accordion/accordion_trigger/accordion_arrow.js +41 -0
  12. package/es/components/accordion/accordion_trigger/accordion_arrow.styles.js +46 -0
  13. package/es/components/accordion/accordion_trigger/accordion_button.js +51 -0
  14. package/es/components/accordion/accordion_trigger/accordion_button.styles.js +26 -0
  15. package/es/components/accordion/accordion_trigger/accordion_trigger.js +87 -0
  16. package/es/components/accordion/accordion_trigger/index.js +9 -0
  17. package/es/components/avatar/avatar.js +1 -1
  18. package/es/components/badge/badge.js +1 -1
  19. package/es/components/badge/beta_badge/beta_badge.js +1 -1
  20. package/es/components/basic_table/basic_table.js +1 -1
  21. package/es/components/basic_table/collapsed_item_actions.js +1 -1
  22. package/es/components/basic_table/in_memory_table.js +1 -1
  23. package/es/components/button/button_display/_button_display.js +1 -1
  24. package/es/components/button/button_display/_button_display_content.js +1 -1
  25. package/es/components/button/button_empty/button_empty.js +1 -1
  26. package/es/components/button/button_group/button_group.js +1 -1
  27. package/es/components/button/button_group/button_group_button.js +1 -1
  28. package/es/components/button/button_icon/button_icon.js +1 -1
  29. package/es/components/call_out/call_out.js +1 -1
  30. package/es/components/card/card.js +1 -1
  31. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  32. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.styles.js +1 -1
  33. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +2 -2
  34. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  35. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +3 -3
  36. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +2 -2
  37. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  38. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +3 -3
  39. package/es/components/comment_list/comment.js +2 -2
  40. package/es/components/comment_list/comment_event.js +1 -1
  41. package/es/components/comment_list/comment_list.js +2 -2
  42. package/es/components/comment_list/comment_timeline.js +1 -1
  43. package/es/components/datagrid/body/data_grid_body.js +13 -13
  44. package/es/components/datagrid/body/data_grid_body_custom.js +13 -13
  45. package/es/components/datagrid/body/data_grid_body_virtualized.js +13 -13
  46. package/es/components/datagrid/body/data_grid_cell.js +24 -24
  47. package/es/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  48. package/es/components/datagrid/body/header/data_grid_header_row.js +13 -13
  49. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  50. package/es/components/datagrid/data_grid.js +13 -13
  51. package/es/components/datagrid/utils/in_memory.js +12 -12
  52. package/es/components/date_picker/date_picker.js +2 -2
  53. package/es/components/date_picker/date_picker_range.js +1 -1
  54. package/es/components/empty_prompt/empty_prompt.js +1 -1
  55. package/es/components/facet/facet_button.js +1 -1
  56. package/es/components/form/field_number/field_number.js +1 -1
  57. package/es/components/form/field_text/field_text.js +2 -2
  58. package/es/components/form/form_control_layout/form_control_layout.js +2 -2
  59. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  60. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  61. package/es/components/header/header_links/header_link.js +1 -1
  62. package/es/components/header/header_links/header_links.js +1 -1
  63. package/es/components/header/header_logo/header_logo.js +1 -1
  64. package/es/components/header/header_section/header_section_item_button.js +1 -1
  65. package/es/components/icon/assets/grabOmnidirectional.js +33 -0
  66. package/es/components/icon/assets/transitionLeftIn.js +36 -0
  67. package/es/components/icon/assets/transitionLeftOut.js +36 -0
  68. package/es/components/icon/assets/transitionTopIn.js +36 -0
  69. package/es/components/icon/assets/transitionTopOut.js +36 -0
  70. package/es/components/icon/icon.js +1 -1
  71. package/es/components/icon/icon_map.js +5 -0
  72. package/es/components/inline_edit/inline_edit_form.js +49 -13
  73. package/es/components/inline_edit/inline_edit_text.js +22 -23
  74. package/es/components/inline_edit/inline_edit_title.js +22 -23
  75. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  76. package/es/components/list_group/list_group.js +2 -2
  77. package/es/components/list_group/list_group_item.js +3 -3
  78. package/es/components/list_group/list_group_item_extra_action.js +1 -1
  79. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  80. package/es/components/loading/loading_logo.js +1 -1
  81. package/es/components/markdown_editor/markdown_editor.js +1 -1
  82. package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  83. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  84. package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  85. package/es/components/notification/notification_event.js +2 -2
  86. package/es/components/notification/notification_event_meta.js +1 -1
  87. package/es/components/page/page_header/page_header_content.js +1 -1
  88. package/es/components/pagination/pagination_button.js +1 -1
  89. package/es/components/panel/split_panel/split_panel.js +9 -7
  90. package/es/components/panel/split_panel/split_panel.styles.js +40 -0
  91. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  92. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  93. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  94. package/es/components/suggest/suggest.js +1 -1
  95. package/es/components/suggest/suggest_item.js +1 -1
  96. package/es/components/table/table_header_button.js +1 -1
  97. package/es/components/text_truncate/utils.js +1 -1
  98. package/es/components/timeline/timeline_item_icon.js +1 -1
  99. package/es/components/toast/global_toast_list.js +51 -3
  100. package/es/components/toast/global_toast_list.styles.js +3 -2
  101. package/es/components/toast/toast.js +1 -1
  102. package/es/components/tool_tip/icon_tip.js +1 -1
  103. package/eui.d.ts +194 -44
  104. package/i18ntokens.json +60 -24
  105. package/lib/components/accordion/accordion.js +34 -207
  106. package/lib/components/accordion/accordion.styles.js +12 -109
  107. package/lib/components/accordion/accordion_children/accordion_children.js +111 -0
  108. package/lib/components/accordion/accordion_children/accordion_children.styles.js +45 -0
  109. package/lib/components/accordion/accordion_children/accordion_children_loading.js +38 -0
  110. package/lib/components/accordion/accordion_children/index.js +12 -0
  111. package/lib/components/accordion/accordion_trigger/accordion_arrow.js +48 -0
  112. package/lib/components/accordion/accordion_trigger/accordion_arrow.styles.js +51 -0
  113. package/lib/components/accordion/accordion_trigger/accordion_button.js +58 -0
  114. package/lib/components/accordion/accordion_trigger/accordion_button.styles.js +33 -0
  115. package/lib/components/accordion/accordion_trigger/accordion_trigger.js +93 -0
  116. package/lib/components/accordion/accordion_trigger/index.js +12 -0
  117. package/lib/components/avatar/avatar.js +1 -1
  118. package/lib/components/badge/badge.js +1 -1
  119. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  120. package/lib/components/basic_table/basic_table.js +1 -1
  121. package/lib/components/basic_table/collapsed_item_actions.js +1 -1
  122. package/lib/components/basic_table/in_memory_table.js +1 -1
  123. package/lib/components/button/button_display/_button_display.js +1 -1
  124. package/lib/components/button/button_display/_button_display_content.js +1 -1
  125. package/lib/components/button/button_empty/button_empty.js +1 -1
  126. package/lib/components/button/button_group/button_group.js +1 -1
  127. package/lib/components/button/button_group/button_group_button.js +1 -1
  128. package/lib/components/button/button_icon/button_icon.js +1 -1
  129. package/lib/components/call_out/call_out.js +1 -1
  130. package/lib/components/card/card.js +1 -1
  131. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  132. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.styles.js +1 -1
  133. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +2 -2
  134. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  135. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +3 -3
  136. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +2 -2
  137. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  138. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +3 -3
  139. package/lib/components/comment_list/comment.js +2 -2
  140. package/lib/components/comment_list/comment_event.js +1 -1
  141. package/lib/components/comment_list/comment_list.js +2 -2
  142. package/lib/components/comment_list/comment_timeline.js +1 -1
  143. package/lib/components/datagrid/body/data_grid_body.js +13 -13
  144. package/lib/components/datagrid/body/data_grid_body_custom.js +13 -13
  145. package/lib/components/datagrid/body/data_grid_body_virtualized.js +13 -13
  146. package/lib/components/datagrid/body/data_grid_cell.js +24 -24
  147. package/lib/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  148. package/lib/components/datagrid/body/header/data_grid_header_row.js +13 -13
  149. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  150. package/lib/components/datagrid/data_grid.js +13 -13
  151. package/lib/components/datagrid/utils/in_memory.js +12 -12
  152. package/lib/components/date_picker/date_picker.js +2 -2
  153. package/lib/components/date_picker/date_picker_range.js +1 -1
  154. package/lib/components/empty_prompt/empty_prompt.js +1 -1
  155. package/lib/components/facet/facet_button.js +1 -1
  156. package/lib/components/form/field_number/field_number.js +1 -1
  157. package/lib/components/form/field_text/field_text.js +2 -2
  158. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  159. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  160. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  161. package/lib/components/header/header_links/header_link.js +1 -1
  162. package/lib/components/header/header_links/header_links.js +1 -1
  163. package/lib/components/header/header_logo/header_logo.js +1 -1
  164. package/lib/components/header/header_section/header_section_item_button.js +1 -1
  165. package/lib/components/icon/assets/grabOmnidirectional.js +41 -0
  166. package/lib/components/icon/assets/transitionLeftIn.js +44 -0
  167. package/lib/components/icon/assets/transitionLeftOut.js +44 -0
  168. package/lib/components/icon/assets/transitionTopIn.js +44 -0
  169. package/lib/components/icon/assets/transitionTopOut.js +44 -0
  170. package/lib/components/icon/icon.js +1 -1
  171. package/lib/components/icon/icon_map.js +5 -0
  172. package/lib/components/icon/svgs/grabOmnidirectional.svg +3 -0
  173. package/lib/components/icon/svgs/transitionLeftIn.svg +4 -0
  174. package/lib/components/icon/svgs/transitionLeftOut.svg +4 -0
  175. package/lib/components/icon/svgs/transitionTopIn.svg +4 -0
  176. package/lib/components/icon/svgs/transitionTopOut.svg +4 -0
  177. package/lib/components/inline_edit/inline_edit_form.js +58 -20
  178. package/lib/components/inline_edit/inline_edit_text.js +22 -23
  179. package/lib/components/inline_edit/inline_edit_title.js +22 -23
  180. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  181. package/lib/components/list_group/list_group.js +2 -2
  182. package/lib/components/list_group/list_group_item.js +3 -3
  183. package/lib/components/list_group/list_group_item_extra_action.js +1 -1
  184. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  185. package/lib/components/loading/loading_logo.js +1 -1
  186. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  187. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  188. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  189. package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  190. package/lib/components/notification/notification_event.js +2 -2
  191. package/lib/components/notification/notification_event_meta.js +1 -1
  192. package/lib/components/page/page_header/page_header_content.js +1 -1
  193. package/lib/components/panel/split_panel/split_panel.js +9 -7
  194. package/lib/components/panel/split_panel/split_panel.styles.js +46 -0
  195. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  196. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  197. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  198. package/lib/components/suggest/suggest.js +1 -1
  199. package/lib/components/suggest/suggest_item.js +1 -1
  200. package/lib/components/table/table_header_button.js +1 -1
  201. package/lib/components/text_truncate/utils.js +1 -1
  202. package/lib/components/timeline/timeline_item_icon.js +1 -1
  203. package/lib/components/toast/global_toast_list.js +53 -4
  204. package/lib/components/toast/global_toast_list.styles.js +3 -2
  205. package/lib/components/toast/toast.js +1 -1
  206. package/lib/components/tool_tip/icon_tip.js +1 -1
  207. package/optimize/es/components/accordion/accordion.js +35 -203
  208. package/optimize/es/components/accordion/accordion.styles.js +3 -95
  209. package/optimize/es/components/accordion/accordion_children/accordion_children.js +91 -0
  210. package/optimize/es/components/accordion/accordion_children/accordion_children.styles.js +39 -0
  211. package/optimize/es/components/accordion/accordion_children/accordion_children_loading.js +31 -0
  212. package/optimize/es/components/accordion/accordion_children/index.js +9 -0
  213. package/optimize/es/components/accordion/accordion_trigger/accordion_arrow.js +36 -0
  214. package/optimize/es/components/accordion/accordion_trigger/accordion_arrow.styles.js +46 -0
  215. package/optimize/es/components/accordion/accordion_trigger/accordion_button.js +45 -0
  216. package/optimize/es/components/accordion/accordion_trigger/accordion_button.styles.js +26 -0
  217. package/optimize/es/components/accordion/accordion_trigger/accordion_trigger.js +80 -0
  218. package/optimize/es/components/accordion/accordion_trigger/index.js +9 -0
  219. package/optimize/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.styles.js +1 -1
  220. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  221. package/optimize/es/components/icon/assets/grabOmnidirectional.js +32 -0
  222. package/optimize/es/components/icon/assets/transitionLeftIn.js +35 -0
  223. package/optimize/es/components/icon/assets/transitionLeftOut.js +35 -0
  224. package/optimize/es/components/icon/assets/transitionTopIn.js +35 -0
  225. package/optimize/es/components/icon/assets/transitionTopOut.js +35 -0
  226. package/optimize/es/components/icon/icon_map.js +5 -0
  227. package/optimize/es/components/inline_edit/inline_edit_form.js +32 -12
  228. package/optimize/es/components/inline_edit/inline_edit_text.js +6 -22
  229. package/optimize/es/components/inline_edit/inline_edit_title.js +6 -22
  230. package/optimize/es/components/list_group/list_group_item.js +1 -1
  231. package/optimize/es/components/panel/split_panel/split_panel.js +9 -7
  232. package/optimize/es/components/panel/split_panel/split_panel.styles.js +40 -0
  233. package/optimize/es/components/text_truncate/utils.js +1 -1
  234. package/optimize/es/components/toast/global_toast_list.js +39 -2
  235. package/optimize/es/components/toast/global_toast_list.styles.js +3 -2
  236. package/optimize/lib/components/accordion/accordion.js +34 -202
  237. package/optimize/lib/components/accordion/accordion.styles.js +12 -109
  238. package/optimize/lib/components/accordion/accordion_children/accordion_children.js +101 -0
  239. package/optimize/lib/components/accordion/accordion_children/accordion_children.styles.js +45 -0
  240. package/optimize/lib/components/accordion/accordion_children/accordion_children_loading.js +38 -0
  241. package/optimize/lib/components/accordion/accordion_children/index.js +12 -0
  242. package/optimize/lib/components/accordion/accordion_trigger/accordion_arrow.js +43 -0
  243. package/optimize/lib/components/accordion/accordion_trigger/accordion_arrow.styles.js +51 -0
  244. package/optimize/lib/components/accordion/accordion_trigger/accordion_button.js +52 -0
  245. package/optimize/lib/components/accordion/accordion_trigger/accordion_button.styles.js +33 -0
  246. package/optimize/lib/components/accordion/accordion_trigger/accordion_trigger.js +86 -0
  247. package/optimize/lib/components/accordion/accordion_trigger/index.js +12 -0
  248. package/optimize/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.styles.js +1 -1
  249. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  250. package/optimize/lib/components/icon/assets/grabOmnidirectional.js +41 -0
  251. package/optimize/lib/components/icon/assets/transitionLeftIn.js +44 -0
  252. package/optimize/lib/components/icon/assets/transitionLeftOut.js +44 -0
  253. package/optimize/lib/components/icon/assets/transitionTopIn.js +44 -0
  254. package/optimize/lib/components/icon/assets/transitionTopOut.js +44 -0
  255. package/optimize/lib/components/icon/icon_map.js +5 -0
  256. package/optimize/lib/components/icon/svgs/grabOmnidirectional.svg +3 -0
  257. package/optimize/lib/components/icon/svgs/transitionLeftIn.svg +4 -0
  258. package/optimize/lib/components/icon/svgs/transitionLeftOut.svg +4 -0
  259. package/optimize/lib/components/icon/svgs/transitionTopIn.svg +4 -0
  260. package/optimize/lib/components/icon/svgs/transitionTopOut.svg +4 -0
  261. package/optimize/lib/components/inline_edit/inline_edit_form.js +33 -16
  262. package/optimize/lib/components/inline_edit/inline_edit_text.js +6 -22
  263. package/optimize/lib/components/inline_edit/inline_edit_title.js +6 -22
  264. package/optimize/lib/components/list_group/list_group_item.js +1 -1
  265. package/optimize/lib/components/panel/split_panel/split_panel.js +9 -7
  266. package/optimize/lib/components/panel/split_panel/split_panel.styles.js +46 -0
  267. package/optimize/lib/components/text_truncate/utils.js +1 -1
  268. package/optimize/lib/components/toast/global_toast_list.js +41 -3
  269. package/optimize/lib/components/toast/global_toast_list.styles.js +3 -2
  270. package/package.json +3 -3
  271. package/src/components/index.scss +0 -1
  272. package/test-env/components/accordion/accordion.js +34 -202
  273. package/test-env/components/accordion/accordion.styles.js +12 -109
  274. package/test-env/components/accordion/accordion_children/accordion_children.js +105 -0
  275. package/test-env/components/accordion/accordion_children/accordion_children.styles.js +45 -0
  276. package/test-env/components/accordion/accordion_children/accordion_children_loading.js +38 -0
  277. package/test-env/components/accordion/accordion_children/index.js +12 -0
  278. package/test-env/components/accordion/accordion_trigger/accordion_arrow.js +47 -0
  279. package/test-env/components/accordion/accordion_trigger/accordion_arrow.styles.js +51 -0
  280. package/test-env/components/accordion/accordion_trigger/accordion_button.js +52 -0
  281. package/test-env/components/accordion/accordion_trigger/accordion_button.styles.js +33 -0
  282. package/test-env/components/accordion/accordion_trigger/accordion_trigger.js +93 -0
  283. package/test-env/components/accordion/accordion_trigger/index.js +12 -0
  284. package/test-env/components/avatar/avatar.js +1 -1
  285. package/test-env/components/badge/badge.js +1 -1
  286. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  287. package/test-env/components/basic_table/basic_table.js +1 -1
  288. package/test-env/components/basic_table/collapsed_item_actions.js +1 -1
  289. package/test-env/components/basic_table/in_memory_table.js +1 -1
  290. package/test-env/components/button/button_display/_button_display.js +1 -1
  291. package/test-env/components/button/button_display/_button_display_content.js +1 -1
  292. package/test-env/components/button/button_empty/button_empty.js +1 -1
  293. package/test-env/components/button/button_group/button_group.js +1 -1
  294. package/test-env/components/button/button_group/button_group_button.js +1 -1
  295. package/test-env/components/button/button_icon/button_icon.js +1 -1
  296. package/test-env/components/call_out/call_out.js +1 -1
  297. package/test-env/components/card/card.js +1 -1
  298. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -1
  299. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.styles.js +1 -1
  300. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +2 -2
  301. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  302. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +3 -3
  303. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +2 -2
  304. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  305. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +3 -3
  306. package/test-env/components/comment_list/comment.js +2 -2
  307. package/test-env/components/comment_list/comment_event.js +1 -1
  308. package/test-env/components/comment_list/comment_list.js +2 -2
  309. package/test-env/components/comment_list/comment_timeline.js +1 -1
  310. package/test-env/components/datagrid/body/data_grid_body.js +13 -13
  311. package/test-env/components/datagrid/body/data_grid_body_custom.js +13 -13
  312. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +13 -13
  313. package/test-env/components/datagrid/body/data_grid_cell.js +24 -24
  314. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  315. package/test-env/components/datagrid/body/header/data_grid_header_row.js +13 -13
  316. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  317. package/test-env/components/datagrid/data_grid.js +13 -13
  318. package/test-env/components/datagrid/utils/in_memory.js +12 -12
  319. package/test-env/components/date_picker/date_picker.js +2 -2
  320. package/test-env/components/date_picker/date_picker_range.js +1 -1
  321. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  322. package/test-env/components/facet/facet_button.js +1 -1
  323. package/test-env/components/form/field_number/field_number.js +1 -1
  324. package/test-env/components/form/field_text/field_text.js +2 -2
  325. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  326. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  327. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  328. package/test-env/components/header/header_links/header_link.js +1 -1
  329. package/test-env/components/header/header_links/header_links.js +1 -1
  330. package/test-env/components/header/header_logo/header_logo.js +1 -1
  331. package/test-env/components/header/header_section/header_section_item_button.js +1 -1
  332. package/test-env/components/icon/assets/grabOmnidirectional.js +41 -0
  333. package/test-env/components/icon/assets/transitionLeftIn.js +44 -0
  334. package/test-env/components/icon/assets/transitionLeftOut.js +44 -0
  335. package/test-env/components/icon/assets/transitionTopIn.js +44 -0
  336. package/test-env/components/icon/assets/transitionTopOut.js +44 -0
  337. package/test-env/components/icon/icon_map.js +5 -0
  338. package/test-env/components/inline_edit/inline_edit_form.js +49 -17
  339. package/test-env/components/inline_edit/inline_edit_text.js +22 -23
  340. package/test-env/components/inline_edit/inline_edit_title.js +22 -23
  341. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  342. package/test-env/components/list_group/list_group.js +2 -2
  343. package/test-env/components/list_group/list_group_item.js +3 -3
  344. package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
  345. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  346. package/test-env/components/loading/loading_logo.js +1 -1
  347. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  348. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  349. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  350. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  351. package/test-env/components/notification/notification_event.js +2 -2
  352. package/test-env/components/notification/notification_event_meta.js +1 -1
  353. package/test-env/components/page/page_header/page_header_content.js +1 -1
  354. package/test-env/components/panel/split_panel/split_panel.js +9 -7
  355. package/test-env/components/panel/split_panel/split_panel.styles.js +46 -0
  356. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  357. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  358. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  359. package/test-env/components/suggest/suggest.js +1 -1
  360. package/test-env/components/suggest/suggest_item.js +1 -1
  361. package/test-env/components/table/table_header_button.js +1 -1
  362. package/test-env/components/text_truncate/utils.js +1 -1
  363. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  364. package/test-env/components/toast/global_toast_list.js +53 -4
  365. package/test-env/components/toast/global_toast_list.styles.js +3 -2
  366. package/test-env/components/toast/toast.js +1 -1
  367. package/test-env/components/tool_tip/icon_tip.js +1 -1
  368. package/src/components/panel/_index.scss +0 -1
  369. package/src/components/panel/_panel.scss +0 -9
  370. package/src/components/panel/split_panel/_index.scss +0 -1
  371. package/src/components/panel/split_panel/_split_panel.scss +0 -21
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiSplitPanelOuterStyles = exports.euiSplitPanelInnerStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _global_styling = require("../../../global_styling");
9
+ 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)."; } /*
10
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
+ * or more contributor license agreements. Licensed under the Elastic License
12
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
13
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
14
+ * Side Public License, v 1.
15
+ */
16
+ var euiSplitPanelOuterStyles = {
17
+ euiSplitPanelOuter: /*#__PURE__*/(0, _react.css)("display:flex;", (0, _global_styling.logicalCSS)('min-width', 0), " overflow:hidden;;label:euiSplitPanelOuter;"),
18
+ column: process.env.NODE_ENV === "production" ? {
19
+ name: "ll8kmq-column",
20
+ styles: "flex-direction:column;label:column;"
21
+ } : {
22
+ name: "ll8kmq-column",
23
+ styles: "flex-direction:column;label:column;",
24
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
25
+ },
26
+ row: process.env.NODE_ENV === "production" ? {
27
+ name: "15mvjmo-row",
28
+ styles: "flex-direction:row;label:row;"
29
+ } : {
30
+ name: "15mvjmo-row",
31
+ styles: "flex-direction:row;label:row;",
32
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
33
+ }
34
+ };
35
+ exports.euiSplitPanelOuterStyles = euiSplitPanelOuterStyles;
36
+ var euiSplitPanelInnerStyles = {
37
+ euiSplitPanelInner: process.env.NODE_ENV === "production" ? {
38
+ name: "1k62yu6-euiSplitPanelInner",
39
+ styles: "flex-basis:0%;transform:none!important;box-shadow:none!important;label:euiSplitPanelInner;"
40
+ } : {
41
+ name: "1k62yu6-euiSplitPanelInner",
42
+ styles: "flex-basis:0%;transform:none!important;box-shadow:none!important;label:euiSplitPanelInner;",
43
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
44
+ }
45
+ };
46
+ exports.euiSplitPanelInnerStyles = euiSplitPanelInnerStyles;
@@ -52,7 +52,7 @@ var _TruncationUtils = /*#__PURE__*/(0, _createClass2.default)(function _Truncat
52
52
  */
53
53
  (0, _defineProperty2.default)(this, "checkIfTruncationIsNeeded", function () {
54
54
  _this.setTextToCheck(_this.fullText);
55
- if (_this.availableWidth > _this.textWidth) {
55
+ if (_this.availableWidth >= _this.textWidth) {
56
56
  return false;
57
57
  }
58
58
  });
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.TOAST_FADE_OUT_MS = exports.SIDES = exports.EuiGlobalToastList = void 0;
8
+ exports.TOAST_FADE_OUT_MS = exports.SIDES = exports.EuiGlobalToastList = exports.CLEAR_ALL_TOASTS_THRESHOLD_DEFAULT = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -18,8 +18,10 @@ var _time = require("../../services/time");
18
18
  var _global_toast_list_item = require("./global_toast_list_item");
19
19
  var _toast = require("./toast");
20
20
  var _global_toast_list = require("./global_toast_list.styles");
21
+ var _button = require("../button");
22
+ var _i18n = require("../i18n");
21
23
  var _react2 = require("@emotion/react");
22
- var _excluded = ["className", "toasts", "dismissToast", "toastLifeTimeMs", "side"],
24
+ var _excluded = ["className", "toasts", "dismissToast", "toastLifeTimeMs", "onClearAllToasts", "side", "showClearAllButtonAt"],
23
25
  _excluded2 = ["text", "toastLifeTimeMs"];
24
26
  /*
25
27
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -40,14 +42,19 @@ var SIDES = (0, _common.keysOf)(sideToClassNameMap);
40
42
  exports.SIDES = SIDES;
41
43
  var TOAST_FADE_OUT_MS = 250;
42
44
  exports.TOAST_FADE_OUT_MS = TOAST_FADE_OUT_MS;
45
+ var CLEAR_ALL_TOASTS_THRESHOLD_DEFAULT = 3;
46
+ exports.CLEAR_ALL_TOASTS_THRESHOLD_DEFAULT = CLEAR_ALL_TOASTS_THRESHOLD_DEFAULT;
43
47
  var EuiGlobalToastList = function EuiGlobalToastList(_ref) {
44
48
  var className = _ref.className,
45
49
  _ref$toasts = _ref.toasts,
46
50
  toasts = _ref$toasts === void 0 ? [] : _ref$toasts,
47
51
  dismissToastProp = _ref.dismissToast,
48
52
  toastLifeTimeMs = _ref.toastLifeTimeMs,
53
+ onClearAllToasts = _ref.onClearAllToasts,
49
54
  _ref$side = _ref.side,
50
55
  side = _ref$side === void 0 ? 'right' : _ref$side,
56
+ _ref$showClearAllButt = _ref.showClearAllButtonAt,
57
+ showClearAllButtonAt = _ref$showClearAllButt === void 0 ? CLEAR_ALL_TOASTS_THRESHOLD_DEFAULT : _ref$showClearAllButt,
51
58
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
52
59
  var _useState = (0, _react.useState)({}),
53
60
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -120,7 +127,11 @@ var EuiGlobalToastList = function EuiGlobalToastList(_ref) {
120
127
  }
121
128
  };
122
129
  var onScroll = function onScroll() {
123
- if (listElement.current) {
130
+ // Given that this method also gets invoked by the synthetic scroll that happens when a new toast gets added,
131
+ // we want to evaluate if the scroll bottom has been reached only when the user is interacting with the toast,
132
+ // this way we always retain the scroll position the user has set despite adding in new toasts.
133
+ // User interaction is determined through the handler registered for mouseEnter and mouseLeave events.
134
+ if (listElement.current && isUserInteracting.current) {
124
135
  isScrolledToBottom.current = listElement.current.scrollHeight - listElement.current.scrollTop === listElement.current.clientHeight;
125
136
  }
126
137
  };
@@ -234,6 +245,33 @@ var EuiGlobalToastList = function EuiGlobalToastList(_ref) {
234
245
  onBlur: onMouseLeave
235
246
  }, rest), text));
236
247
  });
248
+ if (showClearAllButtonAt && toasts.length >= showClearAllButtonAt) {
249
+ var dismissAllToasts = function dismissAllToasts() {
250
+ toasts.forEach(function (toast) {
251
+ return dismissToastProp(toast);
252
+ });
253
+ onClearAllToasts === null || onClearAllToasts === void 0 ? void 0 : onClearAllToasts();
254
+ };
255
+ renderedToasts.push((0, _react2.jsx)(_i18n.EuiI18n, {
256
+ key: "euiClearAllToasts",
257
+ tokens: ['euiGlobalToastList.clearAllToastsButtonAriaLabel', 'euiGlobalToastList.clearAllToastsButtonDisplayText'],
258
+ defaults: ['Clear all toast notifications', 'Clear all']
259
+ }, function (_ref2) {
260
+ var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
261
+ clearAllToastsButtonAriaLabel = _ref3[0],
262
+ clearAllToastsButtonDisplayText = _ref3[1];
263
+ return (0, _react2.jsx)(_global_toast_list_item.EuiGlobalToastListItem, {
264
+ isDismissed: false
265
+ }, (0, _react2.jsx)(_button.EuiButton, {
266
+ fill: true,
267
+ color: "text",
268
+ onClick: dismissAllToasts,
269
+ css: [styles.euiGlobalToastListDismissButton, ";label:EuiGlobalToastList;"],
270
+ "aria-label": clearAllToastsButtonAriaLabel,
271
+ "data-test-subj": "euiClearAllToastsButton"
272
+ }, clearAllToastsButtonDisplayText));
273
+ }));
274
+ }
237
275
  var classes = (0, _classnames.default)('euiGlobalToastList', className);
238
276
  return (0, _react2.jsx)("div", (0, _extends2.default)({
239
277
  "aria-live": "polite",
@@ -28,7 +28,8 @@ var euiGlobalToastListStyles = function euiGlobalToastListStyles(euiThemeContext
28
28
  euiGlobalToastList: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiScrollBarStyles)(euiThemeContext), " display:flex;flex-direction:column;align-items:stretch;position:fixed;z-index:", euiTheme.levels.toast, ";", (0, _global_styling.logicalCSS)('bottom', 0), " ", (0, _global_styling.logicalCSS)('width', "".concat(euiToastWidth, "px")), (0, _global_styling.logicalCSS)('max-height', '100vh'), (0, _global_styling.logicalCSSWithFallback)('overflow-y', 'auto'), "scrollbar-width:none;&::-webkit-scrollbar{", (0, _global_styling.logicalSizeCSS)(0, 0), ";}&:not(:empty){", (0, _global_styling.logicalCSS)('padding-left', euiTheme.size.base), " ", (0, _global_styling.logicalCSS)('padding-right', euiTheme.size.base), " ", (0, _global_styling.logicalCSS)('padding-vertical', euiTheme.size.base), ";}", (0, _global_styling.euiMaxBreakpoint)(euiThemeContext, 'm'), "{&:not(:empty){", (0, _global_styling.logicalCSS)('left', 0), " ", (0, _global_styling.logicalCSS)('width', '100%'), ";}};label:euiGlobalToastList;"),
29
29
  // Variants
30
30
  right: /*#__PURE__*/(0, _react.css)("&:not(:empty){", (0, _global_styling.logicalCSS)('right', 0), ";", (0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{", (0, _global_styling.logicalCSS)('padding-left', "".concat(euiTheme.base * 4, "px")), ";}};label:right;"),
31
- left: /*#__PURE__*/(0, _react.css)("&:not(:empty){", (0, _global_styling.logicalCSS)('left', 0), ";", (0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{", (0, _global_styling.logicalCSS)('padding-right', "".concat(euiTheme.base * 4, "px")), ";}};label:left;")
31
+ left: /*#__PURE__*/(0, _react.css)("&:not(:empty){", (0, _global_styling.logicalCSS)('left', 0), ";", (0, _global_styling.euiMinBreakpoint)(euiThemeContext, 'm'), "{", (0, _global_styling.logicalCSS)('padding-right', "".concat(euiTheme.base * 4, "px")), ";}};label:left;"),
32
+ euiGlobalToastListDismissButton: /*#__PURE__*/(0, _react.css)("position:sticky;", (0, _global_styling.logicalCSS)('bottom', '0%'), ";;label:euiGlobalToastListDismissButton;")
32
33
  };
33
34
  };
34
35
  exports.euiGlobalToastListStyles = euiGlobalToastListStyles;
@@ -37,7 +38,7 @@ var euiGlobalToastListItemStyles = function euiGlobalToastListItemStyles(_ref) {
37
38
  var euiShowToast = (0, _react.keyframes)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n from {\n transform: translateY(", ") scale(.9);\n opacity: 0;\n }\n\n to {\n transform: translateY(0) scale(1);\n opacity: 1;\n }\n"])), euiTheme.size.l);
38
39
  return {
39
40
  // Base
40
- euiGlobalToastListItem: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-bottom', euiTheme.size.base), " animation:", euiTheme.animation.normal, " ", euiShowToast, " ", euiTheme.animation.resistance, ";opacity:1;&:first-child{", (0, _global_styling.logicalCSS)('margin-top', 'auto'), ";}&:last-child{", (0, _global_styling.logicalCSS)('margin-bottom', 0), ";};label:euiGlobalToastListItem;"),
41
+ euiGlobalToastListItem: /*#__PURE__*/(0, _react.css)("flex-shrink:0;", (0, _global_styling.logicalCSS)('margin-bottom', euiTheme.size.base), " animation:", euiTheme.animation.normal, " ", euiShowToast, " ", euiTheme.animation.resistance, ";opacity:1;&:first-child{", (0, _global_styling.logicalCSS)('margin-top', 'auto'), ";}&:last-child{", (0, _global_styling.logicalCSS)('margin-bottom', 0), ";};label:euiGlobalToastListItem;"),
41
42
  // States
42
43
  dismissed: /*#__PURE__*/(0, _react.css)("transition:opacity ", euiTheme.animation.normal, ";opacity:0;;label:dismissed;")
43
44
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elastic/eui",
3
3
  "description": "Elastic UI Component Library",
4
- "version": "88.2.0",
4
+ "version": "88.3.0",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "lib",
7
7
  "module": "es",
@@ -64,8 +64,8 @@
64
64
  "test-staged"
65
65
  ],
66
66
  "dependencies": {
67
- "@hello-pangea/dnd": "^16.2.0",
68
- "@types/lodash": "^4.14.194",
67
+ "@hello-pangea/dnd": "^16.3.0",
68
+ "@types/lodash": "^4.14.198",
69
69
  "@types/numeral": "^2.0.2",
70
70
  "@types/react-input-autosize": "^2.2.1",
71
71
  "@types/react-window": "^1.8.5",
@@ -11,7 +11,6 @@
11
11
  @import 'form/index';
12
12
  @import 'markdown_editor/index';
13
13
  @import 'notification/index';
14
- @import 'panel/index';
15
14
  @import 'page/index'; // Page needs to come after Panel for cascade specificity
16
15
  @import 'tree_view/index';
17
16
  @import 'side_nav/index';
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.PADDING_SIZES = exports.EuiAccordionClass = exports.EuiAccordion = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -19,18 +18,13 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
19
18
  var _react = _interopRequireWildcard(require("react"));
20
19
  var _propTypes = _interopRequireDefault(require("prop-types"));
21
20
  var _classnames = _interopRequireDefault(require("classnames"));
22
- var _tabbable = require("tabbable");
23
- var _loading = require("../loading");
24
- var _resize_observer = require("../observer/resize_observer");
25
- var _text = require("../text");
26
- var _i18n = require("../i18n");
27
21
  var _services = require("../../services");
28
- var _button = require("../button");
22
+ var _loading = require("../loading");
23
+ var _accordion_trigger = require("./accordion_trigger");
24
+ var _accordion_children = require("./accordion_children");
29
25
  var _accordion = require("./accordion.styles");
30
- var _global_styling = require("../../global_styling");
31
26
  var _react2 = require("@emotion/react");
32
- var _excluded = ["children", "buttonContent", "className", "id", "element", "buttonClassName", "buttonContentClassName", "extraAction", "paddingSize", "borders", "initialIsOpen", "arrowDisplay", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "buttonProps", "buttonElement", "arrowProps", "theme"],
33
- _excluded2 = ["paddingSize", "className", "css"];
27
+ var _excluded = ["children", "className", "id", "element", "buttonElement", "buttonProps", "buttonClassName", "buttonContentClassName", "buttonContent", "arrowDisplay", "arrowProps", "extraAction", "paddingSize", "borders", "initialIsOpen", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "theme"];
34
28
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
29
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
36
30
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
@@ -53,18 +47,9 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
53
47
  args[_key] = arguments[_key];
54
48
  }
55
49
  _this = _super.call.apply(_super, [this].concat(args));
56
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "childContent", null);
57
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "childWrapper", null);
58
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "tabbableChildren", null);
59
50
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
60
51
  isOpen: _this.props.forceState ? _this.props.forceState === 'open' : _this.props.initialIsOpen
61
52
  });
62
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setChildContentHeight", function () {
63
- requestAnimationFrame(function () {
64
- var height = _this.childContent && _this.isOpen ? _this.childContent.clientHeight : 0;
65
- _this.childWrapper && _this.childWrapper.setAttribute('style', (0, _global_styling.logicalCSS)('height', "".concat(height, "px")));
66
- });
67
- });
68
53
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onToggle", function () {
69
54
  var forceState = _this.props.forceState;
70
55
  if (forceState) {
@@ -77,57 +62,11 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
77
62
  };
78
63
  }, function () {
79
64
  var _this$props$onToggle2, _this$props2;
80
- if (_this.state.isOpen && _this.childWrapper) {
81
- _this.childWrapper.focus();
82
- }
83
65
  (_this$props$onToggle2 = (_this$props2 = _this.props).onToggle) === null || _this$props$onToggle2 === void 0 ? void 0 : _this$props$onToggle2.call(_this$props2, _this.state.isOpen);
84
66
  });
85
67
  }
86
68
  });
87
- // When accordions are closed, tabbable children should not be present in the tab order
88
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "preventTabbing", function () {
89
- if (_this.childContent) {
90
- // Re-check for children on every close - content can change dynamically
91
- _this.tabbableChildren = (0, _tabbable.tabbable)(_this.childContent);
92
- _this.tabbableChildren.forEach(function (element) {
93
- // If the element has an existing `tabIndex` set, make sure we can restore it
94
- var originalTabIndex = element.getAttribute('tabIndex');
95
- if (originalTabIndex) {
96
- element.setAttribute('data-original-tabindex', originalTabIndex);
97
- }
98
- element.setAttribute('tabIndex', '-1');
99
- });
100
- }
101
- });
102
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "enableTabbing", function () {
103
- // If no tabbable children were set, we don't need to re-enable anything
104
- if (_this.tabbableChildren) {
105
- _this.tabbableChildren.forEach(function (element) {
106
- var originalTabIndex = element.getAttribute('data-original-tabindex');
107
- if (originalTabIndex) {
108
- // If the element originally had an existing `tabIndex` set, restore it
109
- element.setAttribute('tabIndex', originalTabIndex);
110
- element.removeAttribute('data-original-tabindex');
111
- } else {
112
- // If not, remove the tabIndex property
113
- element.removeAttribute('tabIndex');
114
- }
115
- });
116
- // Cleanup - unset the list of children
117
- _this.tabbableChildren = null;
118
- }
119
- });
120
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setChildContentRef", function (node) {
121
- _this.childContent = node;
122
- });
123
69
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "generatedId", (0, _services.htmlIdGenerator)()());
124
- // Storing resize/observer refs as an instance variable is a performance optimization
125
- // and also resolves https://github.com/elastic/eui/issues/5903
126
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "resizeRef", function () {});
127
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "observerRef", function (ref) {
128
- _this.setChildContentRef(ref);
129
- _this.resizeRef(ref);
130
- });
131
70
  return _this;
132
71
  }
133
72
  (0, _createClass2.default)(EuiAccordionClass, [{
@@ -135,173 +74,66 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
135
74
  get: function get() {
136
75
  return this.props.forceState ? this.props.forceState === 'open' : this.state.isOpen;
137
76
  }
138
- }, {
139
- key: "componentDidMount",
140
- value: function componentDidMount() {
141
- this.setChildContentHeight();
142
- if (!this.isOpen) this.preventTabbing();
143
- }
144
- }, {
145
- key: "componentDidUpdate",
146
- value: function componentDidUpdate(prevProps, prevState) {
147
- this.setChildContentHeight();
148
- if (prevProps.forceState === 'open' && this.props.forceState === 'closed' || prevState.isOpen === true && this.state.isOpen === false) {
149
- this.preventTabbing();
150
- }
151
- if (prevProps.forceState === 'closed' && this.props.forceState === 'open' || prevState.isOpen === false && this.state.isOpen === true) {
152
- this.enableTabbing();
153
- }
154
- }
155
77
  }, {
156
78
  key: "render",
157
79
  value: function render() {
158
- var _buttonProps$id,
159
- _this2 = this;
80
+ var _buttonProps$id;
160
81
  var _this$props3 = this.props,
161
82
  children = _this$props3.children,
162
- buttonContent = _this$props3.buttonContent,
163
83
  className = _this$props3.className,
164
84
  id = _this$props3.id,
165
85
  _this$props3$element = _this$props3.element,
166
86
  Element = _this$props3$element === void 0 ? 'div' : _this$props3$element,
87
+ buttonElement = _this$props3.buttonElement,
88
+ buttonProps = _this$props3.buttonProps,
167
89
  buttonClassName = _this$props3.buttonClassName,
168
90
  buttonContentClassName = _this$props3.buttonContentClassName,
91
+ buttonContent = _this$props3.buttonContent,
92
+ arrowDisplay = _this$props3.arrowDisplay,
93
+ arrowProps = _this$props3.arrowProps,
169
94
  extraAction = _this$props3.extraAction,
170
95
  paddingSize = _this$props3.paddingSize,
171
96
  borders = _this$props3.borders,
172
97
  initialIsOpen = _this$props3.initialIsOpen,
173
- arrowDisplay = _this$props3.arrowDisplay,
174
98
  forceState = _this$props3.forceState,
175
99
  isLoading = _this$props3.isLoading,
176
100
  isLoadingMessage = _this$props3.isLoadingMessage,
177
101
  isDisabled = _this$props3.isDisabled,
178
- _buttonProps = _this$props3.buttonProps,
179
- _this$props3$buttonEl = _this$props3.buttonElement,
180
- _ButtonElement = _this$props3$buttonEl === void 0 ? 'button' : _this$props3$buttonEl,
181
- arrowProps = _this$props3.arrowProps,
182
102
  theme = _this$props3.theme,
183
103
  rest = (0, _objectWithoutProperties2.default)(_this$props3, _excluded);
184
- var _ref = _buttonProps || {},
185
- buttonPaddingSize = _ref.paddingSize,
186
- buttonPropsClassName = _ref.className,
187
- buttonPropsCss = _ref.css,
188
- buttonProps = (0, _objectWithoutProperties2.default)(_ref, _excluded2);
189
-
190
- // Force button element to be a legend if the element is a fieldset
191
- var ButtonElement = Element === 'fieldset' ? 'legend' : _ButtonElement;
192
- var buttonElementIsFocusable = ButtonElement === 'button';
193
-
194
- // Force visibility of arrow button if button element is not focusable
195
- var _arrowDisplay = arrowDisplay === 'none' && !buttonElementIsFocusable ? 'left' : arrowDisplay;
196
104
  var classes = (0, _classnames.default)('euiAccordion', {
197
105
  'euiAccordion-isOpen': this.isOpen
198
106
  }, className);
199
107
  var styles = (0, _accordion.euiAccordionStyles)(theme);
200
108
  var cssStyles = [styles.euiAccordion, borders !== 'none' && styles.borders.borders, borders !== 'none' && styles.borders[borders]];
201
- var childrenClasses = (0, _classnames.default)('euiAccordion__children', {
202
- 'euiAccordion__children-isLoading': isLoading
203
- });
204
- var buttonClasses = (0, _classnames.default)('euiAccordion__button', buttonClassName, buttonPropsClassName);
205
- var buttonContentClasses = (0, _classnames.default)('euiAccordion__buttonContent', buttonContentClassName);
206
- var iconButtonClasses = (0, _classnames.default)('euiAccordion__iconButton', {
207
- 'euiAccordion__iconButton-isOpen': this.isOpen,
208
- 'euiAccordion__iconButton--right': _arrowDisplay === 'right'
209
- }, arrowProps === null || arrowProps === void 0 ? void 0 : arrowProps.className);
210
-
211
- // Emotion styles
212
- var buttonStyles = (0, _accordion.euiAccordionButtonStyles)(theme);
213
- var cssButtonStyles = [buttonStyles.euiAccordion__button, isDisabled && buttonStyles.disabled].concat((0, _toConsumableArray2.default)(buttonPaddingSize ? [buttonStyles[buttonPaddingSize], arrowDisplay === 'left' && buttonStyles.arrowLeft, arrowDisplay === 'right' && buttonStyles.arrowRight] : []), [buttonPropsCss]);
214
- var childrenStyles = (0, _accordion.euiAccordionChildrenStyles)(theme);
215
- var cssChildrenStyles = [childrenStyles.euiAccordion__children, isLoading && childrenStyles.isLoading, paddingSize && paddingSize !== 'none' && childrenStyles[paddingSize]];
216
- var childWrapperStyles = (0, _accordion.euiAccordionChildWrapperStyles)(theme);
217
- var cssChildWrapperStyles = [childWrapperStyles.euiAccordion__childWrapper, this.isOpen && childWrapperStyles.isOpen];
218
- var iconButtonStyles = (0, _accordion.euiAccordionIconButtonStyles)(theme);
219
- var cssIconButtonStyles = [iconButtonStyles.euiAccordion__iconButton, this.isOpen && iconButtonStyles.isOpen, _arrowDisplay === 'right' && iconButtonStyles.arrowRight, arrowProps === null || arrowProps === void 0 ? void 0 : arrowProps.css];
220
- var optionalActionStyles = (0, _accordion.euiAccordionOptionalActionStyles)();
221
- var cssOptionalActionStyles = [optionalActionStyles.euiAccordion__optionalAction];
222
- var spinnerStyles = (0, _accordion.euiAccordionSpinnerStyles)(theme);
223
- var cssSpinnerStyles = [spinnerStyles.euiAccordion__spinner];
224
- var triggerWrapperStyles = (0, _accordion.euiAccordionTriggerWrapperStyles)();
225
- var cssTriggerWrapperStyles = [triggerWrapperStyles.euiAccordion__triggerWrapper];
226
- var iconButton;
227
- var buttonId = (_buttonProps$id = buttonProps.id) !== null && _buttonProps$id !== void 0 ? _buttonProps$id : this.generatedId;
228
- if (_arrowDisplay !== 'none') {
229
- iconButton = (0, _react2.jsx)(_button.EuiButtonIcon, (0, _extends2.default)({
230
- color: "text"
231
- }, arrowProps, {
232
- className: iconButtonClasses,
233
- css: cssIconButtonStyles,
234
- iconType: "arrowRight",
235
- onClick: this.onToggle,
236
- "aria-controls": id,
237
- "aria-expanded": this.isOpen,
238
- "aria-labelledby": buttonId,
239
- tabIndex: buttonElementIsFocusable ? -1 : 0,
240
- isDisabled: isDisabled
241
- }));
242
- }
243
- var optionalAction = null;
244
- if (isLoading || extraAction) {
245
- optionalAction = (0, _react2.jsx)("div", {
246
- className: "euiAccordion__optionalAction",
247
- css: cssOptionalActionStyles
248
- }, isLoading ? (0, _react2.jsx)(_loading.EuiLoadingSpinner, null) : extraAction);
249
- }
250
- var childrenContent;
251
- if (isLoading && isLoadingMessage) {
252
- childrenContent = (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_loading.EuiLoadingSpinner, {
253
- className: "euiAccordion__spinner",
254
- css: cssSpinnerStyles
255
- }), (0, _react2.jsx)(_text.EuiText, {
256
- size: "s"
257
- }, (0, _react2.jsx)("p", null, isLoadingMessage !== true ? isLoadingMessage : (0, _react2.jsx)(_i18n.EuiI18n, {
258
- token: "euiAccordion.isLoading",
259
- default: "Loading"
260
- }))));
261
- } else {
262
- childrenContent = children;
263
- }
264
- var button = (0, _react2.jsx)(ButtonElement, (0, _extends2.default)({}, buttonProps, {
265
- id: buttonId,
266
- className: buttonClasses,
267
- css: cssButtonStyles,
268
- "aria-controls": id
269
- // `aria-expanded` is only a valid attribute on interactive controls - axe-core throws a violation otherwise
270
- ,
271
- "aria-expanded": ButtonElement === 'button' ? this.isOpen : undefined,
272
- onClick: isDisabled ? undefined : this.onToggle,
273
- type: ButtonElement === 'button' ? 'button' : undefined,
274
- disabled: ButtonElement === 'button' ? isDisabled : undefined
275
- }), (0, _react2.jsx)("span", {
276
- className: buttonContentClasses
277
- }, buttonContent));
109
+ var buttonId = (_buttonProps$id = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.id) !== null && _buttonProps$id !== void 0 ? _buttonProps$id : this.generatedId;
278
110
  return (0, _react2.jsx)(Element, (0, _extends2.default)({
279
111
  className: classes,
280
112
  css: cssStyles
281
- }, rest), (0, _react2.jsx)("div", {
282
- className: "euiAccordion__triggerWrapper",
283
- css: cssTriggerWrapperStyles
284
- }, _arrowDisplay === 'left' && iconButton, button, optionalAction, _arrowDisplay === 'right' && iconButton), (0, _react2.jsx)("div", {
285
- className: "euiAccordion__childWrapper",
286
- css: cssChildWrapperStyles,
287
- ref: function ref(node) {
288
- _this2.childWrapper = node;
289
- },
290
- tabIndex: -1,
291
- role: "region",
113
+ }, rest), (0, _react2.jsx)(_accordion_trigger.EuiAccordionTrigger, {
114
+ ariaControlsId: id,
115
+ buttonId: buttonId
116
+ // Force button element to be a legend if the element is a fieldset
117
+ ,
118
+ buttonElement: Element === 'fieldset' ? 'legend' : buttonElement,
119
+ buttonClassName: buttonClassName,
120
+ buttonContent: buttonContent,
121
+ buttonContentClassName: buttonContentClassName,
122
+ buttonProps: buttonProps,
123
+ arrowProps: arrowProps,
124
+ arrowDisplay: arrowDisplay,
125
+ isDisabled: isDisabled,
126
+ isOpen: this.isOpen,
127
+ onToggle: this.onToggle,
128
+ extraAction: isLoading ? (0, _react2.jsx)(_loading.EuiLoadingSpinner, null) : extraAction
129
+ }), (0, _react2.jsx)(_accordion_children.EuiAccordionChildren, {
130
+ id: id,
292
131
  "aria-labelledby": buttonId,
293
- id: id
294
- }, (0, _react2.jsx)(_resize_observer.EuiResizeObserver, {
295
- onResize: this.setChildContentHeight
296
- }, function (resizeRef) {
297
- _this2.resizeRef = resizeRef;
298
- return (0, _react2.jsx)("div", {
299
- ref: _this2.observerRef
300
- }, (0, _react2.jsx)("div", {
301
- className: childrenClasses,
302
- css: cssChildrenStyles
303
- }, childrenContent));
304
- })));
132
+ paddingSize: paddingSize,
133
+ isLoading: isLoading,
134
+ isLoadingMessage: isLoadingMessage,
135
+ isOpen: this.isOpen
136
+ }, children));
305
137
  }
306
138
  }]);
307
139
  return EuiAccordionClass;