@elastic/eui 88.1.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 (456) hide show
  1. package/dist/eui_charts_theme.js.map +1 -1
  2. package/dist/eui_theme_dark.css +9 -61
  3. package/dist/eui_theme_dark.min.css +1 -1
  4. package/dist/eui_theme_light.css +9 -61
  5. package/dist/eui_theme_light.min.css +1 -1
  6. package/es/components/accordion/accordion.js +50 -198
  7. package/es/components/accordion/accordion.styles.js +11 -83
  8. package/es/components/accordion/accordion_children/accordion_children.js +101 -0
  9. package/es/components/accordion/accordion_children/accordion_children.styles.js +39 -0
  10. package/es/components/accordion/accordion_children/accordion_children_loading.js +31 -0
  11. package/es/components/accordion/accordion_children/index.js +9 -0
  12. package/es/components/accordion/accordion_trigger/accordion_arrow.js +41 -0
  13. package/es/components/accordion/accordion_trigger/accordion_arrow.styles.js +46 -0
  14. package/es/components/accordion/accordion_trigger/accordion_button.js +51 -0
  15. package/es/components/accordion/accordion_trigger/accordion_button.styles.js +26 -0
  16. package/es/components/accordion/accordion_trigger/accordion_trigger.js +87 -0
  17. package/es/components/accordion/accordion_trigger/index.js +9 -0
  18. package/es/components/avatar/avatar.js +1 -1
  19. package/es/components/badge/badge.js +1 -1
  20. package/es/components/badge/beta_badge/beta_badge.js +1 -1
  21. package/es/components/basic_table/basic_table.js +1 -1
  22. package/es/components/basic_table/collapsed_item_actions.js +1 -1
  23. package/es/components/basic_table/in_memory_table.js +1 -1
  24. package/es/components/button/button_display/_button_display.js +1 -1
  25. package/es/components/button/button_display/_button_display_content.js +1 -1
  26. package/es/components/button/button_empty/button_empty.js +1 -1
  27. package/es/components/button/button_group/button_group.js +1 -1
  28. package/es/components/button/button_group/button_group_button.js +1 -1
  29. package/es/components/button/button_icon/button_icon.js +1 -1
  30. package/es/components/call_out/call_out.js +1 -1
  31. package/es/components/card/card.js +1 -1
  32. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +11 -3
  33. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.styles.js +1 -1
  34. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +2 -25
  35. package/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +10 -1
  36. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +2 -2
  37. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  38. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +3 -3
  39. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +2 -2
  40. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  41. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +3 -3
  42. package/es/components/comment_list/comment.js +2 -2
  43. package/es/components/comment_list/comment_event.js +1 -1
  44. package/es/components/comment_list/comment_list.js +2 -2
  45. package/es/components/comment_list/comment_timeline.js +1 -1
  46. package/es/components/datagrid/body/data_grid_body.js +13 -13
  47. package/es/components/datagrid/body/data_grid_body_custom.js +13 -13
  48. package/es/components/datagrid/body/data_grid_body_virtualized.js +13 -13
  49. package/es/components/datagrid/body/data_grid_cell.js +24 -24
  50. package/es/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  51. package/es/components/datagrid/body/header/data_grid_header_row.js +13 -13
  52. package/es/components/datagrid/controls/column_sorting_draggable.js +1 -1
  53. package/es/components/datagrid/data_grid.js +13 -13
  54. package/es/components/datagrid/utils/in_memory.js +12 -12
  55. package/es/components/date_picker/date_picker.js +2 -2
  56. package/es/components/date_picker/date_picker_range.js +1 -1
  57. package/es/components/empty_prompt/empty_prompt.js +1 -1
  58. package/es/components/facet/facet_button.js +1 -1
  59. package/es/components/flyout/flyout.styles.js +1 -1
  60. package/es/components/form/field_number/field_number.js +1 -1
  61. package/es/components/form/field_text/field_text.js +2 -2
  62. package/es/components/form/form_control_layout/form_control_layout.js +2 -2
  63. package/es/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  64. package/es/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  65. package/es/components/header/header.js +120 -25
  66. package/es/components/header/header.styles.js +1 -1
  67. package/es/components/header/header_links/header_link.js +1 -1
  68. package/es/components/header/header_links/header_links.js +1 -1
  69. package/es/components/header/header_logo/header_logo.js +1 -1
  70. package/es/components/header/header_section/header_section_item_button.js +1 -1
  71. package/es/components/icon/assets/grabOmnidirectional.js +33 -0
  72. package/es/components/icon/assets/transitionLeftIn.js +36 -0
  73. package/es/components/icon/assets/transitionLeftOut.js +36 -0
  74. package/es/components/icon/assets/transitionTopIn.js +36 -0
  75. package/es/components/icon/assets/transitionTopOut.js +36 -0
  76. package/es/components/icon/icon.js +1 -1
  77. package/es/components/icon/icon_map.js +5 -0
  78. package/es/components/index.js +1 -0
  79. package/es/components/inline_edit/inline_edit_form.js +49 -13
  80. package/es/components/inline_edit/inline_edit_text.js +22 -23
  81. package/es/components/inline_edit/inline_edit_title.js +22 -23
  82. package/es/components/key_pad_menu/key_pad_menu_item.js +1 -1
  83. package/es/components/list_group/list_group.js +2 -2
  84. package/es/components/list_group/list_group_item.js +3 -3
  85. package/es/components/list_group/list_group_item_extra_action.js +1 -1
  86. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  87. package/es/components/loading/loading_logo.js +1 -1
  88. package/es/components/markdown_editor/markdown_editor.js +1 -1
  89. package/es/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  90. package/es/components/markdown_editor/markdown_editor_footer.js +1 -1
  91. package/es/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  92. package/es/components/notification/notification_event.js +2 -2
  93. package/es/components/notification/notification_event_meta.js +1 -1
  94. package/es/components/overlay_mask/overlay_mask.styles.js +1 -1
  95. package/es/components/page/page_header/page_header_content.js +1 -1
  96. package/es/components/page/page_sidebar/page_sidebar.js +2 -4
  97. package/es/components/page_template/page_template.js +4 -31
  98. package/es/components/pagination/pagination_button.js +1 -1
  99. package/es/components/panel/split_panel/split_panel.js +9 -7
  100. package/es/components/panel/split_panel/split_panel.styles.js +40 -0
  101. package/es/components/selectable/selectable_list/selectable_list.js +1 -1
  102. package/es/components/selectable/selectable_list/selectable_list_item.js +1 -1
  103. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  104. package/es/components/suggest/suggest.js +1 -1
  105. package/es/components/suggest/suggest_item.js +1 -1
  106. package/es/components/table/table_header_button.js +1 -1
  107. package/es/components/text_truncate/index.js +10 -0
  108. package/es/components/text_truncate/text_truncate.js +232 -0
  109. package/es/components/text_truncate/text_truncate.styles.js +49 -0
  110. package/es/components/text_truncate/utils.js +348 -0
  111. package/es/components/timeline/timeline_item_icon.js +1 -1
  112. package/es/components/toast/global_toast_list.js +51 -3
  113. package/es/components/toast/global_toast_list.styles.js +3 -2
  114. package/es/components/toast/toast.js +1 -1
  115. package/es/components/tool_tip/icon_tip.js +1 -1
  116. package/es/services/theme/context.js +3 -1
  117. package/es/services/theme/hooks.js +19 -1
  118. package/es/services/theme/index.js +1 -1
  119. package/es/services/theme/provider.js +37 -8
  120. package/eui.d.ts +432 -53
  121. package/i18ntokens.json +64 -28
  122. package/lib/components/accordion/accordion.js +49 -197
  123. package/lib/components/accordion/accordion.styles.js +20 -96
  124. package/lib/components/accordion/accordion_children/accordion_children.js +111 -0
  125. package/lib/components/accordion/accordion_children/accordion_children.styles.js +45 -0
  126. package/lib/components/accordion/accordion_children/accordion_children_loading.js +38 -0
  127. package/lib/components/accordion/accordion_children/index.js +12 -0
  128. package/lib/components/accordion/accordion_trigger/accordion_arrow.js +48 -0
  129. package/lib/components/accordion/accordion_trigger/accordion_arrow.styles.js +51 -0
  130. package/lib/components/accordion/accordion_trigger/accordion_button.js +58 -0
  131. package/lib/components/accordion/accordion_trigger/accordion_button.styles.js +33 -0
  132. package/lib/components/accordion/accordion_trigger/accordion_trigger.js +93 -0
  133. package/lib/components/accordion/accordion_trigger/index.js +12 -0
  134. package/lib/components/avatar/avatar.js +1 -1
  135. package/lib/components/badge/badge.js +1 -1
  136. package/lib/components/badge/beta_badge/beta_badge.js +1 -1
  137. package/lib/components/basic_table/basic_table.js +1 -1
  138. package/lib/components/basic_table/collapsed_item_actions.js +1 -1
  139. package/lib/components/basic_table/in_memory_table.js +1 -1
  140. package/lib/components/button/button_display/_button_display.js +1 -1
  141. package/lib/components/button/button_display/_button_display_content.js +1 -1
  142. package/lib/components/button/button_empty/button_empty.js +1 -1
  143. package/lib/components/button/button_group/button_group.js +1 -1
  144. package/lib/components/button/button_group/button_group_button.js +1 -1
  145. package/lib/components/button/button_icon/button_icon.js +1 -1
  146. package/lib/components/call_out/call_out.js +1 -1
  147. package/lib/components/card/card.js +1 -1
  148. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +11 -3
  149. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.styles.js +1 -1
  150. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +2 -25
  151. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +10 -1
  152. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +2 -2
  153. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  154. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +3 -3
  155. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +2 -2
  156. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  157. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +3 -3
  158. package/lib/components/comment_list/comment.js +2 -2
  159. package/lib/components/comment_list/comment_event.js +1 -1
  160. package/lib/components/comment_list/comment_list.js +2 -2
  161. package/lib/components/comment_list/comment_timeline.js +1 -1
  162. package/lib/components/datagrid/body/data_grid_body.js +13 -13
  163. package/lib/components/datagrid/body/data_grid_body_custom.js +13 -13
  164. package/lib/components/datagrid/body/data_grid_body_virtualized.js +13 -13
  165. package/lib/components/datagrid/body/data_grid_cell.js +24 -24
  166. package/lib/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  167. package/lib/components/datagrid/body/header/data_grid_header_row.js +13 -13
  168. package/lib/components/datagrid/controls/column_sorting_draggable.js +1 -1
  169. package/lib/components/datagrid/data_grid.js +13 -13
  170. package/lib/components/datagrid/utils/in_memory.js +12 -12
  171. package/lib/components/date_picker/date_picker.js +2 -2
  172. package/lib/components/date_picker/date_picker_range.js +1 -1
  173. package/lib/components/empty_prompt/empty_prompt.js +1 -1
  174. package/lib/components/facet/facet_button.js +1 -1
  175. package/lib/components/flyout/flyout.styles.js +1 -1
  176. package/lib/components/form/field_number/field_number.js +1 -1
  177. package/lib/components/form/field_text/field_text.js +2 -2
  178. package/lib/components/form/form_control_layout/form_control_layout.js +2 -2
  179. package/lib/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  180. package/lib/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  181. package/lib/components/header/header.js +120 -23
  182. package/lib/components/header/header.styles.js +1 -1
  183. package/lib/components/header/header_links/header_link.js +1 -1
  184. package/lib/components/header/header_links/header_links.js +1 -1
  185. package/lib/components/header/header_logo/header_logo.js +1 -1
  186. package/lib/components/header/header_section/header_section_item_button.js +1 -1
  187. package/lib/components/icon/assets/grabOmnidirectional.js +41 -0
  188. package/lib/components/icon/assets/transitionLeftIn.js +44 -0
  189. package/lib/components/icon/assets/transitionLeftOut.js +44 -0
  190. package/lib/components/icon/assets/transitionTopIn.js +44 -0
  191. package/lib/components/icon/assets/transitionTopOut.js +44 -0
  192. package/lib/components/icon/icon.js +1 -1
  193. package/lib/components/icon/icon_map.js +5 -0
  194. package/lib/components/icon/svgs/grabOmnidirectional.svg +3 -0
  195. package/lib/components/icon/svgs/transitionLeftIn.svg +4 -0
  196. package/lib/components/icon/svgs/transitionLeftOut.svg +4 -0
  197. package/lib/components/icon/svgs/transitionTopIn.svg +4 -0
  198. package/lib/components/icon/svgs/transitionTopOut.svg +4 -0
  199. package/lib/components/index.js +11 -0
  200. package/lib/components/inline_edit/inline_edit_form.js +58 -20
  201. package/lib/components/inline_edit/inline_edit_text.js +22 -23
  202. package/lib/components/inline_edit/inline_edit_title.js +22 -23
  203. package/lib/components/key_pad_menu/key_pad_menu_item.js +1 -1
  204. package/lib/components/list_group/list_group.js +2 -2
  205. package/lib/components/list_group/list_group_item.js +3 -3
  206. package/lib/components/list_group/list_group_item_extra_action.js +1 -1
  207. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  208. package/lib/components/loading/loading_logo.js +1 -1
  209. package/lib/components/markdown_editor/markdown_editor.js +1 -1
  210. package/lib/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  211. package/lib/components/markdown_editor/markdown_editor_footer.js +1 -1
  212. package/lib/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  213. package/lib/components/notification/notification_event.js +2 -2
  214. package/lib/components/notification/notification_event_meta.js +1 -1
  215. package/lib/components/overlay_mask/overlay_mask.styles.js +1 -1
  216. package/lib/components/page/page_header/page_header_content.js +1 -1
  217. package/lib/components/page/page_sidebar/page_sidebar.js +2 -4
  218. package/lib/components/page_template/page_template.js +2 -29
  219. package/lib/components/panel/split_panel/split_panel.js +9 -7
  220. package/lib/components/panel/split_panel/split_panel.styles.js +46 -0
  221. package/lib/components/selectable/selectable_list/selectable_list.js +1 -1
  222. package/lib/components/selectable/selectable_list/selectable_list_item.js +1 -1
  223. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  224. package/lib/components/suggest/suggest.js +1 -1
  225. package/lib/components/suggest/suggest_item.js +1 -1
  226. package/lib/components/table/table_header_button.js +1 -1
  227. package/lib/components/text_truncate/index.js +25 -0
  228. package/lib/components/text_truncate/text_truncate.js +242 -0
  229. package/lib/components/text_truncate/text_truncate.styles.js +54 -0
  230. package/lib/components/text_truncate/utils.js +352 -0
  231. package/lib/components/timeline/timeline_item_icon.js +1 -1
  232. package/lib/components/toast/global_toast_list.js +53 -4
  233. package/lib/components/toast/global_toast_list.styles.js +3 -2
  234. package/lib/components/toast/toast.js +1 -1
  235. package/lib/components/tool_tip/icon_tip.js +1 -1
  236. package/lib/services/theme/context.js +3 -1
  237. package/lib/services/theme/hooks.js +21 -2
  238. package/lib/services/theme/index.js +6 -0
  239. package/lib/services/theme/provider.js +62 -35
  240. package/optimize/es/components/accordion/accordion.js +40 -196
  241. package/optimize/es/components/accordion/accordion.styles.js +11 -83
  242. package/optimize/es/components/accordion/accordion_children/accordion_children.js +91 -0
  243. package/optimize/es/components/accordion/accordion_children/accordion_children.styles.js +39 -0
  244. package/optimize/es/components/accordion/accordion_children/accordion_children_loading.js +31 -0
  245. package/optimize/es/components/accordion/accordion_children/index.js +9 -0
  246. package/optimize/es/components/accordion/accordion_trigger/accordion_arrow.js +36 -0
  247. package/optimize/es/components/accordion/accordion_trigger/accordion_arrow.styles.js +46 -0
  248. package/optimize/es/components/accordion/accordion_trigger/accordion_button.js +45 -0
  249. package/optimize/es/components/accordion/accordion_trigger/accordion_button.styles.js +26 -0
  250. package/optimize/es/components/accordion/accordion_trigger/accordion_trigger.js +80 -0
  251. package/optimize/es/components/accordion/accordion_trigger/index.js +9 -0
  252. package/optimize/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.styles.js +1 -1
  253. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +2 -25
  254. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +10 -1
  255. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  256. package/optimize/es/components/flyout/flyout.styles.js +1 -1
  257. package/optimize/es/components/header/header.js +75 -25
  258. package/optimize/es/components/header/header.styles.js +1 -1
  259. package/optimize/es/components/icon/assets/grabOmnidirectional.js +32 -0
  260. package/optimize/es/components/icon/assets/transitionLeftIn.js +35 -0
  261. package/optimize/es/components/icon/assets/transitionLeftOut.js +35 -0
  262. package/optimize/es/components/icon/assets/transitionTopIn.js +35 -0
  263. package/optimize/es/components/icon/assets/transitionTopOut.js +35 -0
  264. package/optimize/es/components/icon/icon_map.js +5 -0
  265. package/optimize/es/components/index.js +1 -0
  266. package/optimize/es/components/inline_edit/inline_edit_form.js +32 -12
  267. package/optimize/es/components/inline_edit/inline_edit_text.js +6 -22
  268. package/optimize/es/components/inline_edit/inline_edit_title.js +6 -22
  269. package/optimize/es/components/list_group/list_group_item.js +1 -1
  270. package/optimize/es/components/overlay_mask/overlay_mask.styles.js +1 -1
  271. package/optimize/es/components/page/page_sidebar/page_sidebar.js +2 -4
  272. package/optimize/es/components/page_template/page_template.js +4 -26
  273. package/optimize/es/components/panel/split_panel/split_panel.js +9 -7
  274. package/optimize/es/components/panel/split_panel/split_panel.styles.js +40 -0
  275. package/optimize/es/components/text_truncate/index.js +10 -0
  276. package/optimize/es/components/text_truncate/text_truncate.js +148 -0
  277. package/optimize/es/components/text_truncate/text_truncate.styles.js +49 -0
  278. package/optimize/es/components/text_truncate/utils.js +337 -0
  279. package/optimize/es/components/toast/global_toast_list.js +39 -2
  280. package/optimize/es/components/toast/global_toast_list.styles.js +3 -2
  281. package/optimize/es/services/theme/context.js +3 -1
  282. package/optimize/es/services/theme/hooks.js +19 -1
  283. package/optimize/es/services/theme/index.js +1 -1
  284. package/optimize/es/services/theme/provider.js +37 -8
  285. package/optimize/lib/components/accordion/accordion.js +39 -195
  286. package/optimize/lib/components/accordion/accordion.styles.js +20 -96
  287. package/optimize/lib/components/accordion/accordion_children/accordion_children.js +101 -0
  288. package/optimize/lib/components/accordion/accordion_children/accordion_children.styles.js +45 -0
  289. package/optimize/lib/components/accordion/accordion_children/accordion_children_loading.js +38 -0
  290. package/optimize/lib/components/accordion/accordion_children/index.js +12 -0
  291. package/optimize/lib/components/accordion/accordion_trigger/accordion_arrow.js +43 -0
  292. package/optimize/lib/components/accordion/accordion_trigger/accordion_arrow.styles.js +51 -0
  293. package/optimize/lib/components/accordion/accordion_trigger/accordion_button.js +52 -0
  294. package/optimize/lib/components/accordion/accordion_trigger/accordion_button.styles.js +33 -0
  295. package/optimize/lib/components/accordion/accordion_trigger/accordion_trigger.js +86 -0
  296. package/optimize/lib/components/accordion/accordion_trigger/index.js +12 -0
  297. package/optimize/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.styles.js +1 -1
  298. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +2 -25
  299. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +10 -1
  300. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  301. package/optimize/lib/components/flyout/flyout.styles.js +1 -1
  302. package/optimize/lib/components/header/header.js +77 -24
  303. package/optimize/lib/components/header/header.styles.js +1 -1
  304. package/optimize/lib/components/icon/assets/grabOmnidirectional.js +41 -0
  305. package/optimize/lib/components/icon/assets/transitionLeftIn.js +44 -0
  306. package/optimize/lib/components/icon/assets/transitionLeftOut.js +44 -0
  307. package/optimize/lib/components/icon/assets/transitionTopIn.js +44 -0
  308. package/optimize/lib/components/icon/assets/transitionTopOut.js +44 -0
  309. package/optimize/lib/components/icon/icon_map.js +5 -0
  310. package/optimize/lib/components/icon/svgs/grabOmnidirectional.svg +3 -0
  311. package/optimize/lib/components/icon/svgs/transitionLeftIn.svg +4 -0
  312. package/optimize/lib/components/icon/svgs/transitionLeftOut.svg +4 -0
  313. package/optimize/lib/components/icon/svgs/transitionTopIn.svg +4 -0
  314. package/optimize/lib/components/icon/svgs/transitionTopOut.svg +4 -0
  315. package/optimize/lib/components/index.js +11 -0
  316. package/optimize/lib/components/inline_edit/inline_edit_form.js +33 -16
  317. package/optimize/lib/components/inline_edit/inline_edit_text.js +6 -22
  318. package/optimize/lib/components/inline_edit/inline_edit_title.js +6 -22
  319. package/optimize/lib/components/list_group/list_group_item.js +1 -1
  320. package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +1 -1
  321. package/optimize/lib/components/page/page_sidebar/page_sidebar.js +2 -4
  322. package/optimize/lib/components/page_template/page_template.js +2 -24
  323. package/optimize/lib/components/panel/split_panel/split_panel.js +9 -7
  324. package/optimize/lib/components/panel/split_panel/split_panel.styles.js +46 -0
  325. package/optimize/lib/components/text_truncate/index.js +25 -0
  326. package/optimize/lib/components/text_truncate/text_truncate.js +158 -0
  327. package/optimize/lib/components/text_truncate/text_truncate.styles.js +54 -0
  328. package/optimize/lib/components/text_truncate/utils.js +342 -0
  329. package/optimize/lib/components/toast/global_toast_list.js +41 -3
  330. package/optimize/lib/components/toast/global_toast_list.styles.js +3 -2
  331. package/optimize/lib/services/theme/context.js +3 -1
  332. package/optimize/lib/services/theme/hooks.js +21 -2
  333. package/optimize/lib/services/theme/index.js +6 -0
  334. package/optimize/lib/services/theme/provider.js +62 -35
  335. package/package.json +3 -3
  336. package/src/components/datagrid/_data_grid.scss +13 -2
  337. package/src/components/index.scss +0 -2
  338. package/src/global_styling/mixins/_header.scss +2 -0
  339. package/test-env/components/accordion/accordion.js +49 -197
  340. package/test-env/components/accordion/accordion.styles.js +20 -96
  341. package/test-env/components/accordion/accordion_children/accordion_children.js +105 -0
  342. package/test-env/components/accordion/accordion_children/accordion_children.styles.js +45 -0
  343. package/test-env/components/accordion/accordion_children/accordion_children_loading.js +38 -0
  344. package/test-env/components/accordion/accordion_children/index.js +12 -0
  345. package/test-env/components/accordion/accordion_trigger/accordion_arrow.js +47 -0
  346. package/test-env/components/accordion/accordion_trigger/accordion_arrow.styles.js +51 -0
  347. package/test-env/components/accordion/accordion_trigger/accordion_button.js +52 -0
  348. package/test-env/components/accordion/accordion_trigger/accordion_button.styles.js +33 -0
  349. package/test-env/components/accordion/accordion_trigger/accordion_trigger.js +93 -0
  350. package/test-env/components/accordion/accordion_trigger/index.js +12 -0
  351. package/test-env/components/avatar/avatar.js +1 -1
  352. package/test-env/components/badge/badge.js +1 -1
  353. package/test-env/components/badge/beta_badge/beta_badge.js +1 -1
  354. package/test-env/components/basic_table/basic_table.js +1 -1
  355. package/test-env/components/basic_table/collapsed_item_actions.js +1 -1
  356. package/test-env/components/basic_table/in_memory_table.js +1 -1
  357. package/test-env/components/button/button_display/_button_display.js +1 -1
  358. package/test-env/components/button/button_display/_button_display_content.js +1 -1
  359. package/test-env/components/button/button_empty/button_empty.js +1 -1
  360. package/test-env/components/button/button_group/button_group.js +1 -1
  361. package/test-env/components/button/button_group/button_group_button.js +1 -1
  362. package/test-env/components/button/button_icon/button_icon.js +1 -1
  363. package/test-env/components/call_out/call_out.js +1 -1
  364. package/test-env/components/card/card.js +1 -1
  365. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +11 -3
  366. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.styles.js +1 -1
  367. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +2 -25
  368. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.styles.js +10 -1
  369. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +2 -2
  370. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +2 -2
  371. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +3 -3
  372. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +2 -2
  373. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  374. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +3 -3
  375. package/test-env/components/comment_list/comment.js +2 -2
  376. package/test-env/components/comment_list/comment_event.js +1 -1
  377. package/test-env/components/comment_list/comment_list.js +2 -2
  378. package/test-env/components/comment_list/comment_timeline.js +1 -1
  379. package/test-env/components/datagrid/body/data_grid_body.js +13 -13
  380. package/test-env/components/datagrid/body/data_grid_body_custom.js +13 -13
  381. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +13 -13
  382. package/test-env/components/datagrid/body/data_grid_cell.js +24 -24
  383. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +12 -12
  384. package/test-env/components/datagrid/body/header/data_grid_header_row.js +13 -13
  385. package/test-env/components/datagrid/controls/column_sorting_draggable.js +1 -1
  386. package/test-env/components/datagrid/data_grid.js +13 -13
  387. package/test-env/components/datagrid/utils/in_memory.js +12 -12
  388. package/test-env/components/date_picker/date_picker.js +2 -2
  389. package/test-env/components/date_picker/date_picker_range.js +1 -1
  390. package/test-env/components/empty_prompt/empty_prompt.js +1 -1
  391. package/test-env/components/facet/facet_button.js +1 -1
  392. package/test-env/components/flyout/flyout.styles.js +1 -1
  393. package/test-env/components/form/field_number/field_number.js +1 -1
  394. package/test-env/components/form/field_text/field_text.js +2 -2
  395. package/test-env/components/form/form_control_layout/form_control_layout.js +2 -2
  396. package/test-env/components/form/form_control_layout/form_control_layout_custom_icon.js +1 -1
  397. package/test-env/components/form/form_control_layout/form_control_layout_icons.js +2 -2
  398. package/test-env/components/header/header.js +113 -23
  399. package/test-env/components/header/header.styles.js +1 -1
  400. package/test-env/components/header/header_links/header_link.js +1 -1
  401. package/test-env/components/header/header_links/header_links.js +1 -1
  402. package/test-env/components/header/header_logo/header_logo.js +1 -1
  403. package/test-env/components/header/header_section/header_section_item_button.js +1 -1
  404. package/test-env/components/icon/assets/grabOmnidirectional.js +41 -0
  405. package/test-env/components/icon/assets/transitionLeftIn.js +44 -0
  406. package/test-env/components/icon/assets/transitionLeftOut.js +44 -0
  407. package/test-env/components/icon/assets/transitionTopIn.js +44 -0
  408. package/test-env/components/icon/assets/transitionTopOut.js +44 -0
  409. package/test-env/components/icon/icon_map.js +5 -0
  410. package/test-env/components/index.js +11 -0
  411. package/test-env/components/inline_edit/inline_edit_form.js +49 -17
  412. package/test-env/components/inline_edit/inline_edit_text.js +22 -23
  413. package/test-env/components/inline_edit/inline_edit_title.js +22 -23
  414. package/test-env/components/key_pad_menu/key_pad_menu_item.js +1 -1
  415. package/test-env/components/list_group/list_group.js +2 -2
  416. package/test-env/components/list_group/list_group_item.js +3 -3
  417. package/test-env/components/list_group/list_group_item_extra_action.js +1 -1
  418. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +4 -4
  419. package/test-env/components/loading/loading_logo.js +1 -1
  420. package/test-env/components/markdown_editor/markdown_editor.js +1 -1
  421. package/test-env/components/markdown_editor/markdown_editor_drop_zone.js +1 -1
  422. package/test-env/components/markdown_editor/markdown_editor_footer.js +1 -1
  423. package/test-env/components/markdown_editor/markdown_editor_toolbar.js +1 -1
  424. package/test-env/components/notification/notification_event.js +2 -2
  425. package/test-env/components/notification/notification_event_meta.js +1 -1
  426. package/test-env/components/overlay_mask/overlay_mask.styles.js +1 -1
  427. package/test-env/components/page/page_header/page_header_content.js +1 -1
  428. package/test-env/components/page/page_sidebar/page_sidebar.js +2 -4
  429. package/test-env/components/page_template/page_template.js +2 -24
  430. package/test-env/components/panel/split_panel/split_panel.js +9 -7
  431. package/test-env/components/panel/split_panel/split_panel.styles.js +46 -0
  432. package/test-env/components/selectable/selectable_list/selectable_list.js +1 -1
  433. package/test-env/components/selectable/selectable_list/selectable_list_item.js +1 -1
  434. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +1 -1
  435. package/test-env/components/suggest/suggest.js +1 -1
  436. package/test-env/components/suggest/suggest_item.js +1 -1
  437. package/test-env/components/table/table_header_button.js +1 -1
  438. package/test-env/components/text_truncate/index.js +25 -0
  439. package/test-env/components/text_truncate/text_truncate.js +236 -0
  440. package/test-env/components/text_truncate/text_truncate.styles.js +54 -0
  441. package/test-env/components/text_truncate/utils.js +342 -0
  442. package/test-env/components/timeline/timeline_item_icon.js +1 -1
  443. package/test-env/components/toast/global_toast_list.js +53 -4
  444. package/test-env/components/toast/global_toast_list.styles.js +3 -2
  445. package/test-env/components/toast/toast.js +1 -1
  446. package/test-env/components/tool_tip/icon_tip.js +1 -1
  447. package/test-env/services/theme/context.js +3 -1
  448. package/test-env/services/theme/hooks.js +21 -2
  449. package/test-env/services/theme/index.js +6 -0
  450. package/test-env/services/theme/provider.js +62 -35
  451. package/src/components/accordion/_accordion_form.scss +0 -40
  452. package/src/components/accordion/_index.scss +0 -1
  453. package/src/components/panel/_index.scss +0 -1
  454. package/src/components/panel/_panel.scss +0 -9
  455. package/src/components/panel/split_panel/_index.scss +0 -1
  456. package/src/components/panel/split_panel/_split_panel.scss +0 -21
@@ -7,7 +7,7 @@ import _inherits from "@babel/runtime/helpers/inherits";
7
7
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
8
8
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
9
9
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
10
- var _excluded = ["children", "buttonContent", "className", "id", "element", "buttonClassName", "buttonContentClassName", "extraAction", "paddingSize", "initialIsOpen", "arrowDisplay", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "buttonProps", "buttonElement", "arrowProps", "theme"];
10
+ var _excluded = ["children", "className", "id", "element", "buttonElement", "buttonProps", "buttonClassName", "buttonContentClassName", "buttonContent", "arrowDisplay", "arrowProps", "extraAction", "paddingSize", "borders", "initialIsOpen", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "theme"];
11
11
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12
12
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
13
13
  /*
@@ -20,15 +20,11 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
20
20
 
21
21
  import React, { Component } from 'react';
22
22
  import classNames from 'classnames';
23
- import { tabbable } from 'tabbable';
24
- import { EuiLoadingSpinner } from '../loading';
25
- import { EuiResizeObserver } from '../observer/resize_observer';
26
- import { EuiText } from '../text';
27
- import { EuiI18n } from '../i18n';
28
23
  import { htmlIdGenerator, withEuiTheme } from '../../services';
29
- import { EuiButtonIcon } from '../button';
30
- import { euiAccordionButtonStyles, euiAccordionChildrenStyles, euiAccordionChildWrapperStyles, euiAccordionIconButtonStyles, euiAccordionOptionalActionStyles, euiAccordionSpinnerStyles, euiAccordionTriggerWrapperStyles } from './accordion.styles';
31
- import { logicalCSS } from '../../global_styling';
24
+ import { EuiLoadingSpinner } from '../loading';
25
+ import { EuiAccordionTrigger } from './accordion_trigger';
26
+ import { EuiAccordionChildren } from './accordion_children';
27
+ import { euiAccordionStyles } from './accordion.styles';
32
28
  import { jsx as ___EmotionJSX } from "@emotion/react";
33
29
  export var PADDING_SIZES = ['none', 'xs', 's', 'm', 'l', 'xl'];
34
30
  export var EuiAccordionClass = /*#__PURE__*/function (_Component) {
@@ -41,18 +37,9 @@ export var EuiAccordionClass = /*#__PURE__*/function (_Component) {
41
37
  args[_key] = arguments[_key];
42
38
  }
43
39
  _this = _super.call.apply(_super, [this].concat(args));
44
- _defineProperty(_assertThisInitialized(_this), "childContent", null);
45
- _defineProperty(_assertThisInitialized(_this), "childWrapper", null);
46
- _defineProperty(_assertThisInitialized(_this), "tabbableChildren", null);
47
40
  _defineProperty(_assertThisInitialized(_this), "state", {
48
41
  isOpen: _this.props.forceState ? _this.props.forceState === 'open' : _this.props.initialIsOpen
49
42
  });
50
- _defineProperty(_assertThisInitialized(_this), "setChildContentHeight", function () {
51
- requestAnimationFrame(function () {
52
- var height = _this.childContent && _this.isOpen ? _this.childContent.clientHeight : 0;
53
- _this.childWrapper && _this.childWrapper.setAttribute('style', logicalCSS('height', "".concat(height, "px")));
54
- });
55
- });
56
43
  _defineProperty(_assertThisInitialized(_this), "onToggle", function () {
57
44
  var forceState = _this.props.forceState;
58
45
  if (forceState) {
@@ -65,57 +52,11 @@ export var EuiAccordionClass = /*#__PURE__*/function (_Component) {
65
52
  };
66
53
  }, function () {
67
54
  var _this$props$onToggle2, _this$props2;
68
- if (_this.state.isOpen && _this.childWrapper) {
69
- _this.childWrapper.focus();
70
- }
71
55
  (_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);
72
56
  });
73
57
  }
74
58
  });
75
- // When accordions are closed, tabbable children should not be present in the tab order
76
- _defineProperty(_assertThisInitialized(_this), "preventTabbing", function () {
77
- if (_this.childContent) {
78
- // Re-check for children on every close - content can change dynamically
79
- _this.tabbableChildren = tabbable(_this.childContent);
80
- _this.tabbableChildren.forEach(function (element) {
81
- // If the element has an existing `tabIndex` set, make sure we can restore it
82
- var originalTabIndex = element.getAttribute('tabIndex');
83
- if (originalTabIndex) {
84
- element.setAttribute('data-original-tabindex', originalTabIndex);
85
- }
86
- element.setAttribute('tabIndex', '-1');
87
- });
88
- }
89
- });
90
- _defineProperty(_assertThisInitialized(_this), "enableTabbing", function () {
91
- // If no tabbable children were set, we don't need to re-enable anything
92
- if (_this.tabbableChildren) {
93
- _this.tabbableChildren.forEach(function (element) {
94
- var originalTabIndex = element.getAttribute('data-original-tabindex');
95
- if (originalTabIndex) {
96
- // If the element originally had an existing `tabIndex` set, restore it
97
- element.setAttribute('tabIndex', originalTabIndex);
98
- element.removeAttribute('data-original-tabindex');
99
- } else {
100
- // If not, remove the tabIndex property
101
- element.removeAttribute('tabIndex');
102
- }
103
- });
104
- // Cleanup - unset the list of children
105
- _this.tabbableChildren = null;
106
- }
107
- });
108
- _defineProperty(_assertThisInitialized(_this), "setChildContentRef", function (node) {
109
- _this.childContent = node;
110
- });
111
59
  _defineProperty(_assertThisInitialized(_this), "generatedId", htmlIdGenerator()());
112
- // Storing resize/observer refs as an instance variable is a performance optimization
113
- // and also resolves https://github.com/elastic/eui/issues/5903
114
- _defineProperty(_assertThisInitialized(_this), "resizeRef", function () {});
115
- _defineProperty(_assertThisInitialized(_this), "observerRef", function (ref) {
116
- _this.setChildContentRef(ref);
117
- _this.resizeRef(ref);
118
- });
119
60
  return _this;
120
61
  }
121
62
  _createClass(EuiAccordionClass, [{
@@ -123,170 +64,73 @@ export var EuiAccordionClass = /*#__PURE__*/function (_Component) {
123
64
  get: function get() {
124
65
  return this.props.forceState ? this.props.forceState === 'open' : this.state.isOpen;
125
66
  }
126
- }, {
127
- key: "componentDidMount",
128
- value: function componentDidMount() {
129
- this.setChildContentHeight();
130
- if (!this.isOpen) this.preventTabbing();
131
- }
132
- }, {
133
- key: "componentDidUpdate",
134
- value: function componentDidUpdate(prevProps, prevState) {
135
- this.setChildContentHeight();
136
- if (prevProps.forceState === 'open' && this.props.forceState === 'closed' || prevState.isOpen === true && this.state.isOpen === false) {
137
- this.preventTabbing();
138
- }
139
- if (prevProps.forceState === 'closed' && this.props.forceState === 'open' || prevState.isOpen === false && this.state.isOpen === true) {
140
- this.enableTabbing();
141
- }
142
- }
143
67
  }, {
144
68
  key: "render",
145
69
  value: function render() {
146
- var _buttonProps$id,
147
- _this2 = this;
70
+ var _buttonProps$id;
148
71
  var _this$props3 = this.props,
149
72
  children = _this$props3.children,
150
- buttonContent = _this$props3.buttonContent,
151
73
  className = _this$props3.className,
152
74
  id = _this$props3.id,
153
75
  _this$props3$element = _this$props3.element,
154
76
  Element = _this$props3$element === void 0 ? 'div' : _this$props3$element,
77
+ buttonElement = _this$props3.buttonElement,
78
+ buttonProps = _this$props3.buttonProps,
155
79
  buttonClassName = _this$props3.buttonClassName,
156
80
  buttonContentClassName = _this$props3.buttonContentClassName,
81
+ buttonContent = _this$props3.buttonContent,
82
+ arrowDisplay = _this$props3.arrowDisplay,
83
+ arrowProps = _this$props3.arrowProps,
157
84
  extraAction = _this$props3.extraAction,
158
85
  paddingSize = _this$props3.paddingSize,
86
+ borders = _this$props3.borders,
159
87
  initialIsOpen = _this$props3.initialIsOpen,
160
- arrowDisplay = _this$props3.arrowDisplay,
161
88
  forceState = _this$props3.forceState,
162
89
  isLoading = _this$props3.isLoading,
163
90
  isLoadingMessage = _this$props3.isLoadingMessage,
164
91
  isDisabled = _this$props3.isDisabled,
165
- buttonProps = _this$props3.buttonProps,
166
- _this$props3$buttonEl = _this$props3.buttonElement,
167
- _ButtonElement = _this$props3$buttonEl === void 0 ? 'button' : _this$props3$buttonEl,
168
- arrowProps = _this$props3.arrowProps,
169
92
  theme = _this$props3.theme,
170
93
  rest = _objectWithoutProperties(_this$props3, _excluded);
171
-
172
- // Force button element to be a legend if the element is a fieldset
173
- var ButtonElement = Element === 'fieldset' ? 'legend' : _ButtonElement;
174
- var buttonElementIsFocusable = ButtonElement === 'button';
175
-
176
- // Force visibility of arrow button if button element is not focusable
177
- var _arrowDisplay = arrowDisplay === 'none' && !buttonElementIsFocusable ? 'left' : arrowDisplay;
178
94
  var classes = classNames('euiAccordion', {
179
95
  'euiAccordion-isOpen': this.isOpen
180
96
  }, className);
181
- var childrenClasses = classNames('euiAccordion__children', {
182
- 'euiAccordion__children-isLoading': isLoading
183
- });
184
- var buttonClasses = classNames('euiAccordion__button', buttonClassName, buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.className);
185
- var buttonContentClasses = classNames('euiAccordion__buttonContent', buttonContentClassName);
186
- var iconButtonClasses = classNames('euiAccordion__iconButton', {
187
- 'euiAccordion__iconButton-isOpen': this.isOpen,
188
- 'euiAccordion__iconButton--right': _arrowDisplay === 'right'
189
- }, arrowProps === null || arrowProps === void 0 ? void 0 : arrowProps.className);
190
-
191
- // Emotion styles
192
- var buttonStyles = euiAccordionButtonStyles(theme);
193
- var cssButtonStyles = [buttonStyles.euiAccordion__button, isDisabled && buttonStyles.disabled, buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.css];
194
- var childrenStyles = euiAccordionChildrenStyles(theme);
195
- var cssChildrenStyles = [childrenStyles.euiAccordion__children, isLoading && childrenStyles.isLoading, paddingSize && paddingSize !== 'none' && childrenStyles[paddingSize]];
196
- var childWrapperStyles = euiAccordionChildWrapperStyles(theme);
197
- var cssChildWrapperStyles = [childWrapperStyles.euiAccordion__childWrapper, this.isOpen && childWrapperStyles.isOpen];
198
- var iconButtonStyles = euiAccordionIconButtonStyles(theme);
199
- var cssIconButtonStyles = [iconButtonStyles.euiAccordion__iconButton, this.isOpen && iconButtonStyles.isOpen, _arrowDisplay === 'right' && iconButtonStyles.arrowRight, arrowProps === null || arrowProps === void 0 ? void 0 : arrowProps.css];
200
- var optionalActionStyles = euiAccordionOptionalActionStyles();
201
- var cssOptionalActionStyles = [optionalActionStyles.euiAccordion__optionalAction];
202
- var spinnerStyles = euiAccordionSpinnerStyles(theme);
203
- var cssSpinnerStyles = [spinnerStyles.euiAccordion__spinner];
204
- var triggerWrapperStyles = euiAccordionTriggerWrapperStyles();
205
- var cssTriggerWrapperStyles = [triggerWrapperStyles.euiAccordion__triggerWrapper];
206
- var iconButton;
97
+ var styles = euiAccordionStyles(theme);
98
+ var cssStyles = [styles.euiAccordion, borders !== 'none' && styles.borders.borders, borders !== 'none' && styles.borders[borders]];
207
99
  var buttonId = (_buttonProps$id = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.id) !== null && _buttonProps$id !== void 0 ? _buttonProps$id : this.generatedId;
208
- if (_arrowDisplay !== 'none') {
209
- iconButton = ___EmotionJSX(EuiButtonIcon, _extends({
210
- color: "text"
211
- }, arrowProps, {
212
- className: iconButtonClasses,
213
- css: cssIconButtonStyles,
214
- iconType: "arrowRight",
215
- onClick: this.onToggle,
216
- "aria-controls": id,
217
- "aria-expanded": this.isOpen,
218
- "aria-labelledby": buttonId,
219
- tabIndex: buttonElementIsFocusable ? -1 : 0,
220
- isDisabled: isDisabled
221
- }));
222
- }
223
- var optionalAction = null;
224
- if (isLoading || extraAction) {
225
- optionalAction = ___EmotionJSX("div", {
226
- className: "euiAccordion__optionalAction",
227
- css: cssOptionalActionStyles
228
- }, isLoading ? ___EmotionJSX(EuiLoadingSpinner, null) : extraAction);
229
- }
230
- var childrenContent;
231
- if (isLoading && isLoadingMessage) {
232
- childrenContent = ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiLoadingSpinner, {
233
- className: "euiAccordion__spinner",
234
- css: cssSpinnerStyles
235
- }), ___EmotionJSX(EuiText, {
236
- size: "s"
237
- }, ___EmotionJSX("p", null, isLoadingMessage !== true ? isLoadingMessage : ___EmotionJSX(EuiI18n, {
238
- token: "euiAccordion.isLoading",
239
- default: "Loading"
240
- }))));
241
- } else {
242
- childrenContent = children;
243
- }
244
- var button = ___EmotionJSX(ButtonElement, _extends({}, buttonProps, {
245
- id: buttonId,
246
- className: buttonClasses,
247
- css: cssButtonStyles,
248
- "aria-controls": id
249
- // `aria-expanded` is only a valid attribute on interactive controls - axe-core throws a violation otherwise
250
- ,
251
- "aria-expanded": ButtonElement === 'button' ? this.isOpen : undefined,
252
- onClick: isDisabled ? undefined : this.onToggle,
253
- type: ButtonElement === 'button' ? 'button' : undefined,
254
- disabled: ButtonElement === 'button' ? isDisabled : undefined
255
- }), ___EmotionJSX("span", {
256
- className: buttonContentClasses
257
- }, buttonContent));
258
100
  return ___EmotionJSX(Element, _extends({
259
- className: classes
260
- }, rest), ___EmotionJSX("div", {
261
- className: "euiAccordion__triggerWrapper",
262
- css: cssTriggerWrapperStyles
263
- }, _arrowDisplay === 'left' && iconButton, button, optionalAction, _arrowDisplay === 'right' && iconButton), ___EmotionJSX("div", {
264
- className: "euiAccordion__childWrapper",
265
- css: cssChildWrapperStyles,
266
- ref: function ref(node) {
267
- _this2.childWrapper = node;
268
- },
269
- tabIndex: -1,
270
- role: "region",
101
+ className: classes,
102
+ css: cssStyles
103
+ }, rest), ___EmotionJSX(EuiAccordionTrigger, {
104
+ ariaControlsId: id,
105
+ buttonId: buttonId
106
+ // Force button element to be a legend if the element is a fieldset
107
+ ,
108
+ buttonElement: Element === 'fieldset' ? 'legend' : buttonElement,
109
+ buttonClassName: buttonClassName,
110
+ buttonContent: buttonContent,
111
+ buttonContentClassName: buttonContentClassName,
112
+ buttonProps: buttonProps,
113
+ arrowProps: arrowProps,
114
+ arrowDisplay: arrowDisplay,
115
+ isDisabled: isDisabled,
116
+ isOpen: this.isOpen,
117
+ onToggle: this.onToggle,
118
+ extraAction: isLoading ? ___EmotionJSX(EuiLoadingSpinner, null) : extraAction
119
+ }), ___EmotionJSX(EuiAccordionChildren, {
120
+ id: id,
271
121
  "aria-labelledby": buttonId,
272
- id: id
273
- }, ___EmotionJSX(EuiResizeObserver, {
274
- onResize: this.setChildContentHeight
275
- }, function (resizeRef) {
276
- _this2.resizeRef = resizeRef;
277
- return ___EmotionJSX("div", {
278
- ref: _this2.observerRef
279
- }, ___EmotionJSX("div", {
280
- className: childrenClasses,
281
- css: cssChildrenStyles
282
- }, childrenContent));
283
- })));
122
+ paddingSize: paddingSize,
123
+ isLoading: isLoading,
124
+ isLoadingMessage: isLoadingMessage,
125
+ isOpen: this.isOpen
126
+ }, children));
284
127
  }
285
128
  }]);
286
129
  return EuiAccordionClass;
287
130
  }(Component);
288
131
  _defineProperty(EuiAccordionClass, "defaultProps", {
289
132
  initialIsOpen: false,
133
+ borders: 'none',
290
134
  paddingSize: 'none',
291
135
  arrowDisplay: 'left',
292
136
  isLoading: false,
@@ -1,4 +1,3 @@
1
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
2
1
  /*
3
2
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
3
  * or more contributor license agreements. Licensed under the Elastic License
@@ -8,88 +7,17 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
8
7
  */
9
8
 
10
9
  import { css } from '@emotion/react';
11
- import { euiFontSize, logicals, logicalCSS, logicalTextAlignCSS } from '../../global_styling';
12
- export var euiAccordionButtonStyles = function euiAccordionButtonStyles(euiThemeContext) {
13
- var euiTheme = euiThemeContext.euiTheme;
10
+ import { logicalCSS } from '../../global_styling';
11
+ export var euiAccordionStyles = function euiAccordionStyles(_ref) {
12
+ var euiTheme = _ref.euiTheme;
14
13
  return {
15
- euiAccordion__button: /*#__PURE__*/css(euiFontSize(euiThemeContext, 's'), " align-items:center;display:flex;flex-grow:1;line-height:", euiTheme.size.l, ";", logicalTextAlignCSS('left'), " ", logicalCSS('width', '100%'), " &:hover,&:focus{cursor:pointer;text-decoration:underline;};label:euiAccordion__button;"),
16
- // Triggering button needs separate `disabled` key because the element that renders may not support `:disabled`;
17
- // Hover pseudo selector for specificity
18
- disabled: /*#__PURE__*/css("&,&:hover{cursor:not-allowed;color:", euiTheme.colors.disabledText, ";text-decoration:none;};label:disabled;")
19
- };
20
- };
21
- var _ref4 = process.env.NODE_ENV === "production" ? {
22
- name: "1xvjonu-isLoading",
23
- styles: "align-items:center;display:flex;label:isLoading;"
24
- } : {
25
- name: "1xvjonu-isLoading",
26
- styles: "align-items:center;display:flex;label:isLoading;",
27
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
28
- };
29
- export var euiAccordionChildrenStyles = function euiAccordionChildrenStyles(_ref5) {
30
- var euiTheme = _ref5.euiTheme;
31
- return {
32
- euiAccordion__children: /*#__PURE__*/css(";label:euiAccordion__children;"),
33
- isLoading: _ref4,
34
- xs: /*#__PURE__*/css("padding:", euiTheme.size.xs, ";;label:xs;"),
35
- s: /*#__PURE__*/css("padding:", euiTheme.size.s, ";;label:s;"),
36
- m: /*#__PURE__*/css("padding:", euiTheme.size.base, ";;label:m;"),
37
- l: /*#__PURE__*/css("padding:", euiTheme.size.l, ";;label:l;"),
38
- xl: /*#__PURE__*/css("padding:", euiTheme.size.xl, ";;label:xl;")
39
- };
40
- };
41
- export var euiAccordionChildWrapperStyles = function euiAccordionChildWrapperStyles(_ref6) {
42
- var euiTheme = _ref6.euiTheme;
43
- return {
44
- euiAccordion__childWrapper: /*#__PURE__*/css(logicalCSS('height', 0), " opacity:0;overflow:hidden;transition:", logicals.height, " ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, ",opacity ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, ";visibility:hidden;&:focus{outline:none;};label:euiAccordion__childWrapper;"),
45
- isOpen: /*#__PURE__*/css(logicalCSS('height', 'auto'), " opacity:1;visibility:visible;;label:isOpen;")
46
- };
47
- };
48
- var _ref3 = process.env.NODE_ENV === "production" ? {
49
- name: "1u3vcry-isOpen",
50
- styles: "transform:rotate(\n 90deg\n )!important;label:isOpen;"
51
- } : {
52
- name: "1u3vcry-isOpen",
53
- styles: "transform:rotate(\n 90deg\n )!important;label:isOpen;",
54
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
55
- };
56
- export var euiAccordionIconButtonStyles = function euiAccordionIconButtonStyles(_ref7) {
57
- var euiTheme = _ref7.euiTheme;
58
- return {
59
- euiAccordion__iconButton: /*#__PURE__*/css("flex-shrink:0;", logicalCSS('margin-right', euiTheme.size.xs), " transform:rotate(\n 0deg\n )!important;;label:euiAccordion__iconButton;"),
60
- isOpen: _ref3,
61
- arrowRight: /*#__PURE__*/css(logicalCSS('margin-left', euiTheme.size.xs), " ", logicalCSS('margin-right', 0), ";;label:arrowRight;")
62
- };
63
- };
64
- var _ref2 = process.env.NODE_ENV === "production" ? {
65
- name: "iqfpv3-euiAccordion__optionalAction",
66
- styles: "flex-shrink:0;label:euiAccordion__optionalAction;"
67
- } : {
68
- name: "iqfpv3-euiAccordion__optionalAction",
69
- styles: "flex-shrink:0;label:euiAccordion__optionalAction;",
70
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
71
- };
72
- export var euiAccordionOptionalActionStyles = function euiAccordionOptionalActionStyles() {
73
- return {
74
- euiAccordion__optionalAction: _ref2
75
- };
76
- };
77
- export var euiAccordionSpinnerStyles = function euiAccordionSpinnerStyles(_ref8) {
78
- var euiTheme = _ref8.euiTheme;
79
- return {
80
- euiAccordion__spinner: /*#__PURE__*/css(logicalCSS('margin-right', euiTheme.size.xs), ";;label:euiAccordion__spinner;")
81
- };
82
- };
83
- var _ref = process.env.NODE_ENV === "production" ? {
84
- name: "1r6c0fv-euiAccordion__triggerWrapper",
85
- styles: "align-items:center;display:flex;label:euiAccordion__triggerWrapper;"
86
- } : {
87
- name: "1r6c0fv-euiAccordion__triggerWrapper",
88
- styles: "align-items:center;display:flex;label:euiAccordion__triggerWrapper;",
89
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
90
- };
91
- export var euiAccordionTriggerWrapperStyles = function euiAccordionTriggerWrapperStyles() {
92
- return {
93
- euiAccordion__triggerWrapper: _ref
14
+ euiAccordion: /*#__PURE__*/css(";label:euiAccordion;"),
15
+ // Borders
16
+ borders: {
17
+ // Prevent border repeats
18
+ borders: /*#__PURE__*/css("&+[class*='euiAccordion-borders']{", logicalCSS('border-top', 'none'), ";};label:borders;"),
19
+ horizontal: /*#__PURE__*/css("border-block:", euiTheme.border.thin, ";;label:horizontal;"),
20
+ all: /*#__PURE__*/css("border:", euiTheme.border.thin, ";;label:all;")
21
+ }
94
22
  };
95
23
  };
@@ -0,0 +1,91 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
+ var _excluded = ["children", "paddingSize", "isLoading", "isLoadingMessage", "isOpen"];
5
+ /*
6
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
7
+ * or more contributor license agreements. Licensed under the Elastic License
8
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
9
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
10
+ * Side Public License, v 1.
11
+ */
12
+
13
+ import React, { useRef, useCallback, useMemo, useState } from 'react';
14
+ import classNames from 'classnames';
15
+ import { useEuiTheme, useUpdateEffect } from '../../../services';
16
+ import { EuiResizeObserver } from '../../observer/resize_observer';
17
+ import { EuiAccordionChildrenLoading } from './accordion_children_loading';
18
+ import { euiAccordionChildrenStyles, euiAccordionChildWrapperStyles } from './accordion_children.styles';
19
+ import { jsx as ___EmotionJSX } from "@emotion/react";
20
+ export var EuiAccordionChildren = function EuiAccordionChildren(_ref) {
21
+ var children = _ref.children,
22
+ paddingSize = _ref.paddingSize,
23
+ isLoading = _ref.isLoading,
24
+ isLoadingMessage = _ref.isLoadingMessage,
25
+ isOpen = _ref.isOpen,
26
+ rest = _objectWithoutProperties(_ref, _excluded);
27
+ /**
28
+ * Children
29
+ */
30
+ var classes = classNames('euiAccordion__children', {
31
+ 'euiAccordion__children-isLoading': isLoading
32
+ });
33
+ var euiTheme = useEuiTheme();
34
+ var styles = euiAccordionChildrenStyles(euiTheme);
35
+ var cssStyles = [styles.euiAccordion__children, isLoading && styles.isLoading, paddingSize && paddingSize !== 'none' && styles[paddingSize]];
36
+
37
+ /**
38
+ * Wrapper
39
+ */
40
+ var wrapperStyles = euiAccordionChildWrapperStyles(euiTheme);
41
+ var wrapperCssStyles = [wrapperStyles.euiAccordion__childWrapper, isOpen ? wrapperStyles.isOpen : wrapperStyles.isClosed];
42
+ var wrapperRef = useRef(null);
43
+
44
+ /**
45
+ * Update the accordion wrapper height whenever the accordion opens, and also
46
+ * whenever the child content updates (which will change the height)
47
+ */
48
+ var _useState = useState(0),
49
+ _useState2 = _slicedToArray(_useState, 2),
50
+ contentHeight = _useState2[0],
51
+ setContentHeight = _useState2[1];
52
+ var onResize = useCallback(function (_ref2) {
53
+ var height = _ref2.height;
54
+ return setContentHeight(Math.round(height));
55
+ }, []);
56
+ var heightInlineStyle = useMemo(function () {
57
+ return {
58
+ blockSize: isOpen ? contentHeight : 0
59
+ };
60
+ }, [isOpen, contentHeight]);
61
+
62
+ /**
63
+ * Focus the children wrapper when the accordion is opened,
64
+ * but not if the accordion is initially open on mount
65
+ */
66
+ useUpdateEffect(function () {
67
+ var _wrapperRef$current;
68
+ if (isOpen) (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.focus();
69
+ }, [isOpen]);
70
+ return ___EmotionJSX("div", _extends({}, rest, {
71
+ className: "euiAccordion__childWrapper",
72
+ css: wrapperCssStyles,
73
+ style: heightInlineStyle,
74
+ ref: wrapperRef,
75
+ role: "region",
76
+ tabIndex: -1
77
+ // @ts-expect-error - inert property not yet available in React TS defs. TODO: Remove this once https://github.com/DefinitelyTyped/DefinitelyTyped/pull/60822 is merged
78
+ ,
79
+ inert: !isOpen ? '' : undefined // Can't pass a boolean currently, Jest throws errors
80
+ }), ___EmotionJSX(EuiResizeObserver, {
81
+ onResize: onResize
82
+ }, function (resizeRef) {
83
+ return ___EmotionJSX("div", {
84
+ ref: resizeRef,
85
+ className: classes,
86
+ css: cssStyles
87
+ }, isLoading && isLoadingMessage ? ___EmotionJSX(EuiAccordionChildrenLoading, {
88
+ isLoadingMessage: isLoadingMessage
89
+ }) : children);
90
+ }));
91
+ };
@@ -0,0 +1,39 @@
1
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
2
+ /*
3
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
+ * or more contributor license agreements. Licensed under the Elastic License
5
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
6
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
7
+ * Side Public License, v 1.
8
+ */
9
+
10
+ import { css } from '@emotion/react';
11
+ import { logicals, logicalCSS, euiCanAnimate, euiFocusRing } from '../../../global_styling';
12
+ var _ref = process.env.NODE_ENV === "production" ? {
13
+ name: "1xvjonu-isLoading",
14
+ styles: "align-items:center;display:flex;label:isLoading;"
15
+ } : {
16
+ name: "1xvjonu-isLoading",
17
+ styles: "align-items:center;display:flex;label:isLoading;",
18
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
19
+ };
20
+ export var euiAccordionChildrenStyles = function euiAccordionChildrenStyles(_ref2) {
21
+ var euiTheme = _ref2.euiTheme;
22
+ return {
23
+ euiAccordion__children: /*#__PURE__*/css(";label:euiAccordion__children;"),
24
+ isLoading: _ref,
25
+ xs: /*#__PURE__*/css("padding:", euiTheme.size.xs, ";;label:xs;"),
26
+ s: /*#__PURE__*/css("padding:", euiTheme.size.s, ";;label:s;"),
27
+ m: /*#__PURE__*/css("padding:", euiTheme.size.base, ";;label:m;"),
28
+ l: /*#__PURE__*/css("padding:", euiTheme.size.l, ";;label:l;"),
29
+ xl: /*#__PURE__*/css("padding:", euiTheme.size.xl, ";;label:xl;")
30
+ };
31
+ };
32
+ export var euiAccordionChildWrapperStyles = function euiAccordionChildWrapperStyles(euiThemeContext) {
33
+ var euiTheme = euiThemeContext.euiTheme;
34
+ return {
35
+ euiAccordion__childWrapper: /*#__PURE__*/css("overflow:hidden;", euiCanAnimate, "{transition:", logicals.height, " ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, ",opacity ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, ";}", euiFocusRing(euiThemeContext), ";;label:euiAccordion__childWrapper;"),
36
+ isClosed: /*#__PURE__*/css(logicalCSS('height', 0), " opacity:0;;label:isClosed;"),
37
+ isOpen: /*#__PURE__*/css(logicalCSS('height', 'auto'), " opacity:1;;label:isOpen;")
38
+ };
39
+ };
@@ -0,0 +1,31 @@
1
+ import { css as _css } from "@emotion/react";
2
+ /*
3
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
4
+ * or more contributor license agreements. Licensed under the Elastic License
5
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
6
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
7
+ * Side Public License, v 1.
8
+ */
9
+
10
+ import React from 'react';
11
+ import { useEuiTheme } from '../../../services';
12
+ import { EuiI18n } from '../../i18n';
13
+ import { EuiText } from '../../text';
14
+ import { EuiLoadingSpinner } from '../../loading';
15
+ import { jsx as ___EmotionJSX } from "@emotion/react";
16
+ export var EuiAccordionChildrenLoading = function EuiAccordionChildrenLoading(_ref) {
17
+ var isLoadingMessage = _ref.isLoadingMessage;
18
+ var _useEuiTheme = useEuiTheme(),
19
+ euiTheme = _useEuiTheme.euiTheme;
20
+ return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiLoadingSpinner, {
21
+ className: "euiAccordion__spinner",
22
+ css: /*#__PURE__*/_css({
23
+ marginInlineEnd: euiTheme.size.xs
24
+ }, ";label:EuiAccordionChildrenLoading;")
25
+ }), ___EmotionJSX(EuiText, {
26
+ size: "s"
27
+ }, ___EmotionJSX("p", null, isLoadingMessage !== true ? isLoadingMessage : ___EmotionJSX(EuiI18n, {
28
+ token: "euiAccordionChildrenLoading.message",
29
+ default: "Loading"
30
+ }))));
31
+ };
@@ -0,0 +1,9 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ export { EuiAccordionChildren } from './accordion_children';
@@ -0,0 +1,36 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ var _excluded = ["arrowDisplay", "arrowProps", "isOpen"];
4
+ /*
5
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
6
+ * or more contributor license agreements. Licensed under the Elastic License
7
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
8
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
9
+ * Side Public License, v 1.
10
+ */
11
+
12
+ import React from 'react';
13
+ import classNames from 'classnames';
14
+ import { useEuiTheme } from '../../../services';
15
+ import { EuiButtonIcon } from '../../button';
16
+ import { euiAccordionArrowStyles } from './accordion_arrow.styles';
17
+ import { jsx as ___EmotionJSX } from "@emotion/react";
18
+ export var EuiAccordionArrow = function EuiAccordionArrow(_ref) {
19
+ var _ref$arrowDisplay = _ref.arrowDisplay,
20
+ arrowDisplay = _ref$arrowDisplay === void 0 ? 'left' : _ref$arrowDisplay,
21
+ arrowProps = _ref.arrowProps,
22
+ isOpen = _ref.isOpen,
23
+ rest = _objectWithoutProperties(_ref, _excluded);
24
+ var euiTheme = useEuiTheme();
25
+ if (arrowDisplay === 'none') return null;
26
+ var styles = euiAccordionArrowStyles(euiTheme);
27
+ var cssStyles = [styles.euiAccordion__arrow, styles[arrowDisplay], isOpen ? styles.isOpen : styles.isClosed, arrowProps === null || arrowProps === void 0 ? void 0 : arrowProps.css];
28
+ var classes = classNames('euiAccordion__arrow', arrowProps === null || arrowProps === void 0 ? void 0 : arrowProps.className);
29
+ return ___EmotionJSX(EuiButtonIcon, _extends({
30
+ color: "text"
31
+ }, arrowProps, rest, {
32
+ className: classes,
33
+ css: cssStyles,
34
+ iconType: "arrowRight"
35
+ }));
36
+ };