@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
@@ -10,14 +10,15 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
- var _react = _interopRequireWildcard(require("react"));
13
+ var _react = require("@emotion/react");
14
+ var _react2 = _interopRequireWildcard(require("react"));
14
15
  var _classnames = _interopRequireDefault(require("classnames"));
15
- var _css = require("@emotion/css");
16
+ var _css2 = require("@emotion/css");
16
17
  var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
18
+ var _emotion = require("../emotion");
17
19
  var _context = require("./context");
18
- var _emotion = require("./emotion");
20
+ var _emotion2 = require("./emotion");
19
21
  var _utils = require("./utils");
20
- var _react2 = require("@emotion/react");
21
22
  var _excluded = ["cloneElement", "className"];
22
23
  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); }
23
24
  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; }
@@ -35,35 +36,37 @@ var EuiThemeProvider = function EuiThemeProvider(_ref) {
35
36
  _modifications = _ref.modify,
36
37
  children = _ref.children,
37
38
  wrapperProps = _ref.wrapperProps;
38
- var _useContext = (0, _react.useContext)(_context.EuiNestedThemeContext),
39
+ var _useContext = (0, _react2.useContext)(_context.EuiNestedThemeContext),
39
40
  isGlobalTheme = _useContext.isGlobalTheme,
40
- bodyColor = _useContext.bodyColor;
41
- var parentSystem = (0, _react.useContext)(_context.EuiSystemContext);
42
- var parentModifications = (0, _react.useContext)(_context.EuiModificationsContext);
43
- var parentColorMode = (0, _react.useContext)(_context.EuiColorModeContext);
44
- var parentTheme = (0, _react.useContext)(_context.EuiThemeContext);
45
- var _useState = (0, _react.useState)(_system || parentSystem),
41
+ bodyColor = _useContext.bodyColor,
42
+ globalCSSVariables = _useContext.globalCSSVariables,
43
+ setGlobalCSSVariables = _useContext.setGlobalCSSVariables;
44
+ var parentSystem = (0, _react2.useContext)(_context.EuiSystemContext);
45
+ var parentModifications = (0, _react2.useContext)(_context.EuiModificationsContext);
46
+ var parentColorMode = (0, _react2.useContext)(_context.EuiColorModeContext);
47
+ var parentTheme = (0, _react2.useContext)(_context.EuiThemeContext);
48
+ var _useState = (0, _react2.useState)(_system || parentSystem),
46
49
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
47
50
  system = _useState2[0],
48
51
  setSystem = _useState2[1];
49
- var prevSystemKey = (0, _react.useRef)(system.key);
50
- var _useState3 = (0, _react.useState)((0, _utils.mergeDeep)(parentModifications, _modifications)),
52
+ var prevSystemKey = (0, _react2.useRef)(system.key);
53
+ var _useState3 = (0, _react2.useState)((0, _utils.mergeDeep)(parentModifications, _modifications)),
51
54
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
52
55
  modifications = _useState4[0],
53
56
  setModifications = _useState4[1];
54
- var prevModifications = (0, _react.useRef)(modifications);
55
- var _useState5 = (0, _react.useState)((0, _utils.getColorMode)(_colorMode, parentColorMode)),
57
+ var prevModifications = (0, _react2.useRef)(modifications);
58
+ var _useState5 = (0, _react2.useState)((0, _utils.getColorMode)(_colorMode, parentColorMode)),
56
59
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
57
60
  colorMode = _useState6[0],
58
61
  setColorMode = _useState6[1];
59
- var prevColorMode = (0, _react.useRef)(colorMode);
60
- var isParentTheme = (0, _react.useRef)(prevSystemKey.current === parentSystem.key && colorMode === parentColorMode && (0, _isEqual.default)(parentModifications, modifications));
61
- var _useState7 = (0, _react.useState)(isParentTheme.current && Object.keys(parentTheme).length ? _objectSpread({}, parentTheme) // Intentionally create a new object to break referential equality
62
+ var prevColorMode = (0, _react2.useRef)(colorMode);
63
+ var isParentTheme = (0, _react2.useRef)(prevSystemKey.current === parentSystem.key && colorMode === parentColorMode && (0, _isEqual.default)(parentModifications, modifications));
64
+ var _useState7 = (0, _react2.useState)(isParentTheme.current && Object.keys(parentTheme).length ? _objectSpread({}, parentTheme) // Intentionally create a new object to break referential equality
62
65
  : (0, _utils.getComputed)(system, (0, _utils.buildTheme)(modifications, "_".concat(system.key)), colorMode)),
63
66
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
64
67
  theme = _useState8[0],
65
68
  setTheme = _useState8[1];
66
- (0, _react.useEffect)(function () {
69
+ (0, _react2.useEffect)(function () {
67
70
  var newSystem = _system || parentSystem;
68
71
  if (prevSystemKey.current !== newSystem.key) {
69
72
  setSystem(newSystem);
@@ -71,7 +74,7 @@ var EuiThemeProvider = function EuiThemeProvider(_ref) {
71
74
  isParentTheme.current = false;
72
75
  }
73
76
  }, [_system, parentSystem]);
74
- (0, _react.useEffect)(function () {
77
+ (0, _react2.useEffect)(function () {
75
78
  var newModifications = (0, _utils.mergeDeep)(parentModifications, _modifications);
76
79
  if (!(0, _isEqual.default)(prevModifications.current, newModifications)) {
77
80
  setModifications(newModifications);
@@ -79,7 +82,7 @@ var EuiThemeProvider = function EuiThemeProvider(_ref) {
79
82
  isParentTheme.current = false;
80
83
  }
81
84
  }, [_modifications, parentModifications]);
82
- (0, _react.useEffect)(function () {
85
+ (0, _react2.useEffect)(function () {
83
86
  var newColorMode = (0, _utils.getColorMode)(_colorMode, parentColorMode);
84
87
  if (!(0, _isEqual.default)(newColorMode, prevColorMode.current)) {
85
88
  setColorMode(newColorMode);
@@ -87,21 +90,34 @@ var EuiThemeProvider = function EuiThemeProvider(_ref) {
87
90
  isParentTheme.current = false;
88
91
  }
89
92
  }, [_colorMode, parentColorMode]);
90
- (0, _react.useEffect)(function () {
93
+ (0, _react2.useEffect)(function () {
91
94
  if (!isParentTheme.current) {
92
95
  setTheme((0, _utils.getComputed)(system, (0, _utils.buildTheme)(modifications, "_".concat(system.key)), colorMode));
93
96
  }
94
97
  }, [colorMode, system, modifications]);
95
- var nestedThemeContext = (0, _react.useMemo)(function () {
98
+ var _useState9 = (0, _react2.useState)(),
99
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
100
+ themeCSSVariables = _useState10[0],
101
+ _setThemeCSSVariables = _useState10[1];
102
+ var setThemeCSSVariables = (0, _react2.useCallback)(function (variables) {
103
+ return _setThemeCSSVariables(function (previous) {
104
+ return _objectSpread(_objectSpread({}, previous), variables);
105
+ });
106
+ }, []);
107
+ var nestedThemeContext = (0, _react2.useMemo)(function () {
96
108
  return {
97
109
  isGlobalTheme: false,
98
110
  // The theme that determines the global body styles
99
111
  bodyColor: isGlobalTheme ? theme.colors.text : bodyColor,
100
112
  hasDifferentColorFromGlobalTheme: isGlobalTheme ? false : bodyColor !== theme.colors.text,
101
- colorClassName: /*#__PURE__*/(0, _css.css)("label:euiColorMode-", _colorMode, ";color:", theme.colors.text, ";;label:colorClassName;")
113
+ colorClassName: /*#__PURE__*/(0, _css2.css)("label:euiColorMode-", _colorMode, ";color:", theme.colors.text, ";;label:colorClassName;"),
114
+ setGlobalCSSVariables: isGlobalTheme ? setThemeCSSVariables : setGlobalCSSVariables,
115
+ globalCSSVariables: isGlobalTheme ? themeCSSVariables : globalCSSVariables,
116
+ setNearestThemeCSSVariables: setThemeCSSVariables,
117
+ themeCSSVariables: themeCSSVariables
102
118
  };
103
- }, [theme, isGlobalTheme, bodyColor, _colorMode]);
104
- var renderedChildren = (0, _react.useMemo)(function () {
119
+ }, [theme, isGlobalTheme, bodyColor, _colorMode, setGlobalCSSVariables, globalCSSVariables, setThemeCSSVariables, themeCSSVariables]);
120
+ var renderedChildren = (0, _react2.useMemo)(function () {
105
121
  if (isGlobalTheme) {
106
122
  return children; // No wrapper
107
123
  }
@@ -113,26 +129,37 @@ var EuiThemeProvider = function EuiThemeProvider(_ref) {
113
129
  var props = _objectSpread(_objectSpread({}, rest), {}, {
114
130
  className: (0, _classnames.default)(className, nestedThemeContext.colorClassName)
115
131
  });
132
+ // Condition avoids rendering an empty Emotion selector if no
133
+ // theme-specific CSS variables have been set by child components
134
+ if (themeCSSVariables) {
135
+ props.css = _objectSpread({
136
+ label: 'euiCSSVariables'
137
+ }, themeCSSVariables);
138
+ }
116
139
  if (cloneElement) {
117
- return /*#__PURE__*/_react.default.cloneElement(children, _objectSpread(_objectSpread({}, props), {}, {
140
+ return (0, _emotion.cloneElementWithCss)(children, _objectSpread(_objectSpread({}, props), {}, {
118
141
  className: (0, _classnames.default)(children.props.className, props.className)
119
142
  }));
120
143
  } else {
121
- return (0, _react2.jsx)("span", (0, _extends2.default)({}, props, {
144
+ return (0, _react.jsx)("span", (0, _extends2.default)({}, props, {
122
145
  className: (0, _classnames.default)('euiThemeProvider', props.className)
123
146
  }), children);
124
147
  }
125
- }, [isGlobalTheme, nestedThemeContext, wrapperProps, children]);
126
- return (0, _react2.jsx)(_context.EuiColorModeContext.Provider, {
148
+ }, [isGlobalTheme, themeCSSVariables, nestedThemeContext, wrapperProps, children]);
149
+ return (0, _react.jsx)(_react2.default.Fragment, null, isGlobalTheme && themeCSSVariables && (0, _react.jsx)(_react.Global, {
150
+ styles: /*#__PURE__*/(0, _react.css)({
151
+ ':root': themeCSSVariables
152
+ }, ";label:EuiThemeProvider;")
153
+ }), (0, _react.jsx)(_context.EuiColorModeContext.Provider, {
127
154
  value: colorMode
128
- }, (0, _react2.jsx)(_context.EuiSystemContext.Provider, {
155
+ }, (0, _react.jsx)(_context.EuiSystemContext.Provider, {
129
156
  value: system
130
- }, (0, _react2.jsx)(_context.EuiModificationsContext.Provider, {
157
+ }, (0, _react.jsx)(_context.EuiModificationsContext.Provider, {
131
158
  value: modifications
132
- }, (0, _react2.jsx)(_context.EuiThemeContext.Provider, {
159
+ }, (0, _react.jsx)(_context.EuiThemeContext.Provider, {
133
160
  value: theme
134
- }, (0, _react2.jsx)(_context.EuiNestedThemeContext.Provider, {
161
+ }, (0, _react.jsx)(_context.EuiNestedThemeContext.Provider, {
135
162
  value: nestedThemeContext
136
- }, (0, _react2.jsx)(_emotion.EuiEmotionThemeProvider, null, renderedChildren))))));
163
+ }, (0, _react.jsx)(_emotion2.EuiEmotionThemeProvider, null, renderedChildren)))))));
137
164
  };
138
165
  exports.EuiThemeProvider = EuiThemeProvider;
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.1.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",
@@ -49,12 +49,23 @@
49
49
  }
50
50
 
51
51
  // This is used to remove extra scrollbars on the body when fullscreen is enabled
52
+ // and tweak any components that account for fixed headers
52
53
  .euiDataGrid__restrictBody {
53
54
  height: 100vh;
54
55
  overflow: hidden;
55
56
 
56
- .euiHeader {
57
- z-index: $euiZHeaderBelowDataGrid;
57
+ .euiHeader[data-fixed-header] {
58
+ // !important needed to override header inline styles
59
+ z-index: $euiZHeaderBelowDataGrid !important; // stylelint-disable-line declaration-no-important
60
+ }
61
+
62
+ .euiOverlayMask[data-relative-to-header='below'] {
63
+ top: 0;
64
+ }
65
+
66
+ .euiFlyout {
67
+ top: 0;
68
+ height: 100%;
58
69
  }
59
70
  }
60
71
 
@@ -1,6 +1,5 @@
1
1
  // Components
2
2
 
3
- @import 'accordion/index';
4
3
  @import 'color_picker/index';
5
4
  @import 'combo_box/index';
6
5
  @import 'context_menu/index';
@@ -12,7 +11,6 @@
12
11
  @import 'form/index';
13
12
  @import 'markdown_editor/index';
14
13
  @import 'notification/index';
15
- @import 'panel/index';
16
14
  @import 'page/index'; // Page needs to come after Panel for cascade specificity
17
15
  @import 'tree_view/index';
18
16
  @import 'side_nav/index';
@@ -1,6 +1,8 @@
1
1
  @import '../variables/header';
2
2
 
3
3
  @mixin euiHeaderAffordForFixed($headerHeight: $euiHeaderHeightCompensation) {
4
+ @warn 'This mixin will shortly be deprecated. Use the CSS variable var(--euiFixedHeadersOffset) instead, which updates dynamically based on the number of fixed headers on the page.';
5
+
4
6
  // The `@at-root #{&}` allows for grouping alongside another specific body class.
5
7
  // When not applied inside of another selector, it simply renders with the single class
6
8
  @at-root #{&}.euiBody--headerIsFixed {
@@ -18,17 +18,13 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
18
18
  var _react = _interopRequireWildcard(require("react"));
19
19
  var _propTypes = _interopRequireDefault(require("prop-types"));
20
20
  var _classnames = _interopRequireDefault(require("classnames"));
21
- var _tabbable = require("tabbable");
22
- var _loading = require("../loading");
23
- var _resize_observer = require("../observer/resize_observer");
24
- var _text = require("../text");
25
- var _i18n = require("../i18n");
26
21
  var _services = require("../../services");
27
- var _button = require("../button");
22
+ var _loading = require("../loading");
23
+ var _accordion_trigger = require("./accordion_trigger");
24
+ var _accordion_children = require("./accordion_children");
28
25
  var _accordion = require("./accordion.styles");
29
- var _global_styling = require("../../global_styling");
30
26
  var _react2 = require("@emotion/react");
31
- var _excluded = ["children", "buttonContent", "className", "id", "element", "buttonClassName", "buttonContentClassName", "extraAction", "paddingSize", "initialIsOpen", "arrowDisplay", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "buttonProps", "buttonElement", "arrowProps", "theme"];
27
+ var _excluded = ["children", "className", "id", "element", "buttonElement", "buttonProps", "buttonClassName", "buttonContentClassName", "buttonContent", "arrowDisplay", "arrowProps", "extraAction", "paddingSize", "borders", "initialIsOpen", "forceState", "isLoading", "isLoadingMessage", "isDisabled", "theme"];
32
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); }
33
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; }
34
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); }; }
@@ -51,18 +47,9 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
51
47
  args[_key] = arguments[_key];
52
48
  }
53
49
  _this = _super.call.apply(_super, [this].concat(args));
54
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "childContent", null);
55
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "childWrapper", null);
56
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "tabbableChildren", null);
57
50
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
58
51
  isOpen: _this.props.forceState ? _this.props.forceState === 'open' : _this.props.initialIsOpen
59
52
  });
60
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setChildContentHeight", function () {
61
- requestAnimationFrame(function () {
62
- var height = _this.childContent && _this.isOpen ? _this.childContent.clientHeight : 0;
63
- _this.childWrapper && _this.childWrapper.setAttribute('style', (0, _global_styling.logicalCSS)('height', "".concat(height, "px")));
64
- });
65
- });
66
53
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onToggle", function () {
67
54
  var forceState = _this.props.forceState;
68
55
  if (forceState) {
@@ -75,57 +62,11 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
75
62
  };
76
63
  }, function () {
77
64
  var _this$props$onToggle2, _this$props2;
78
- if (_this.state.isOpen && _this.childWrapper) {
79
- _this.childWrapper.focus();
80
- }
81
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);
82
66
  });
83
67
  }
84
68
  });
85
- // When accordions are closed, tabbable children should not be present in the tab order
86
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "preventTabbing", function () {
87
- if (_this.childContent) {
88
- // Re-check for children on every close - content can change dynamically
89
- _this.tabbableChildren = (0, _tabbable.tabbable)(_this.childContent);
90
- _this.tabbableChildren.forEach(function (element) {
91
- // If the element has an existing `tabIndex` set, make sure we can restore it
92
- var originalTabIndex = element.getAttribute('tabIndex');
93
- if (originalTabIndex) {
94
- element.setAttribute('data-original-tabindex', originalTabIndex);
95
- }
96
- element.setAttribute('tabIndex', '-1');
97
- });
98
- }
99
- });
100
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "enableTabbing", function () {
101
- // If no tabbable children were set, we don't need to re-enable anything
102
- if (_this.tabbableChildren) {
103
- _this.tabbableChildren.forEach(function (element) {
104
- var originalTabIndex = element.getAttribute('data-original-tabindex');
105
- if (originalTabIndex) {
106
- // If the element originally had an existing `tabIndex` set, restore it
107
- element.setAttribute('tabIndex', originalTabIndex);
108
- element.removeAttribute('data-original-tabindex');
109
- } else {
110
- // If not, remove the tabIndex property
111
- element.removeAttribute('tabIndex');
112
- }
113
- });
114
- // Cleanup - unset the list of children
115
- _this.tabbableChildren = null;
116
- }
117
- });
118
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "setChildContentRef", function (node) {
119
- _this.childContent = node;
120
- });
121
69
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "generatedId", (0, _services.htmlIdGenerator)()());
122
- // Storing resize/observer refs as an instance variable is a performance optimization
123
- // and also resolves https://github.com/elastic/eui/issues/5903
124
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "resizeRef", function () {});
125
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "observerRef", function (ref) {
126
- _this.setChildContentRef(ref);
127
- _this.resizeRef(ref);
128
- });
129
70
  return _this;
130
71
  }
131
72
  (0, _createClass2.default)(EuiAccordionClass, [{
@@ -133,164 +74,66 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
133
74
  get: function get() {
134
75
  return this.props.forceState ? this.props.forceState === 'open' : this.state.isOpen;
135
76
  }
136
- }, {
137
- key: "componentDidMount",
138
- value: function componentDidMount() {
139
- this.setChildContentHeight();
140
- if (!this.isOpen) this.preventTabbing();
141
- }
142
- }, {
143
- key: "componentDidUpdate",
144
- value: function componentDidUpdate(prevProps, prevState) {
145
- this.setChildContentHeight();
146
- if (prevProps.forceState === 'open' && this.props.forceState === 'closed' || prevState.isOpen === true && this.state.isOpen === false) {
147
- this.preventTabbing();
148
- }
149
- if (prevProps.forceState === 'closed' && this.props.forceState === 'open' || prevState.isOpen === false && this.state.isOpen === true) {
150
- this.enableTabbing();
151
- }
152
- }
153
77
  }, {
154
78
  key: "render",
155
79
  value: function render() {
156
- var _buttonProps$id,
157
- _this2 = this;
80
+ var _buttonProps$id;
158
81
  var _this$props3 = this.props,
159
82
  children = _this$props3.children,
160
- buttonContent = _this$props3.buttonContent,
161
83
  className = _this$props3.className,
162
84
  id = _this$props3.id,
163
85
  _this$props3$element = _this$props3.element,
164
86
  Element = _this$props3$element === void 0 ? 'div' : _this$props3$element,
87
+ buttonElement = _this$props3.buttonElement,
88
+ buttonProps = _this$props3.buttonProps,
165
89
  buttonClassName = _this$props3.buttonClassName,
166
90
  buttonContentClassName = _this$props3.buttonContentClassName,
91
+ buttonContent = _this$props3.buttonContent,
92
+ arrowDisplay = _this$props3.arrowDisplay,
93
+ arrowProps = _this$props3.arrowProps,
167
94
  extraAction = _this$props3.extraAction,
168
95
  paddingSize = _this$props3.paddingSize,
96
+ borders = _this$props3.borders,
169
97
  initialIsOpen = _this$props3.initialIsOpen,
170
- arrowDisplay = _this$props3.arrowDisplay,
171
98
  forceState = _this$props3.forceState,
172
99
  isLoading = _this$props3.isLoading,
173
100
  isLoadingMessage = _this$props3.isLoadingMessage,
174
101
  isDisabled = _this$props3.isDisabled,
175
- buttonProps = _this$props3.buttonProps,
176
- _this$props3$buttonEl = _this$props3.buttonElement,
177
- _ButtonElement = _this$props3$buttonEl === void 0 ? 'button' : _this$props3$buttonEl,
178
- arrowProps = _this$props3.arrowProps,
179
102
  theme = _this$props3.theme,
180
103
  rest = (0, _objectWithoutProperties2.default)(_this$props3, _excluded);
181
-
182
- // Force button element to be a legend if the element is a fieldset
183
- var ButtonElement = Element === 'fieldset' ? 'legend' : _ButtonElement;
184
- var buttonElementIsFocusable = ButtonElement === 'button';
185
-
186
- // Force visibility of arrow button if button element is not focusable
187
- var _arrowDisplay = arrowDisplay === 'none' && !buttonElementIsFocusable ? 'left' : arrowDisplay;
188
104
  var classes = (0, _classnames.default)('euiAccordion', {
189
105
  'euiAccordion-isOpen': this.isOpen
190
106
  }, className);
191
- var childrenClasses = (0, _classnames.default)('euiAccordion__children', {
192
- 'euiAccordion__children-isLoading': isLoading
193
- });
194
- var buttonClasses = (0, _classnames.default)('euiAccordion__button', buttonClassName, buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.className);
195
- var buttonContentClasses = (0, _classnames.default)('euiAccordion__buttonContent', buttonContentClassName);
196
- var iconButtonClasses = (0, _classnames.default)('euiAccordion__iconButton', {
197
- 'euiAccordion__iconButton-isOpen': this.isOpen,
198
- 'euiAccordion__iconButton--right': _arrowDisplay === 'right'
199
- }, arrowProps === null || arrowProps === void 0 ? void 0 : arrowProps.className);
200
-
201
- // Emotion styles
202
- var buttonStyles = (0, _accordion.euiAccordionButtonStyles)(theme);
203
- var cssButtonStyles = [buttonStyles.euiAccordion__button, isDisabled && buttonStyles.disabled, buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.css];
204
- var childrenStyles = (0, _accordion.euiAccordionChildrenStyles)(theme);
205
- var cssChildrenStyles = [childrenStyles.euiAccordion__children, isLoading && childrenStyles.isLoading, paddingSize && paddingSize !== 'none' && childrenStyles[paddingSize]];
206
- var childWrapperStyles = (0, _accordion.euiAccordionChildWrapperStyles)(theme);
207
- var cssChildWrapperStyles = [childWrapperStyles.euiAccordion__childWrapper, this.isOpen && childWrapperStyles.isOpen];
208
- var iconButtonStyles = (0, _accordion.euiAccordionIconButtonStyles)(theme);
209
- var cssIconButtonStyles = [iconButtonStyles.euiAccordion__iconButton, this.isOpen && iconButtonStyles.isOpen, _arrowDisplay === 'right' && iconButtonStyles.arrowRight, arrowProps === null || arrowProps === void 0 ? void 0 : arrowProps.css];
210
- var optionalActionStyles = (0, _accordion.euiAccordionOptionalActionStyles)();
211
- var cssOptionalActionStyles = [optionalActionStyles.euiAccordion__optionalAction];
212
- var spinnerStyles = (0, _accordion.euiAccordionSpinnerStyles)(theme);
213
- var cssSpinnerStyles = [spinnerStyles.euiAccordion__spinner];
214
- var triggerWrapperStyles = (0, _accordion.euiAccordionTriggerWrapperStyles)();
215
- var cssTriggerWrapperStyles = [triggerWrapperStyles.euiAccordion__triggerWrapper];
216
- var iconButton;
107
+ var styles = (0, _accordion.euiAccordionStyles)(theme);
108
+ var cssStyles = [styles.euiAccordion, borders !== 'none' && styles.borders.borders, borders !== 'none' && styles.borders[borders]];
217
109
  var buttonId = (_buttonProps$id = buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.id) !== null && _buttonProps$id !== void 0 ? _buttonProps$id : this.generatedId;
218
- if (_arrowDisplay !== 'none') {
219
- iconButton = (0, _react2.jsx)(_button.EuiButtonIcon, (0, _extends2.default)({
220
- color: "text"
221
- }, arrowProps, {
222
- className: iconButtonClasses,
223
- css: cssIconButtonStyles,
224
- iconType: "arrowRight",
225
- onClick: this.onToggle,
226
- "aria-controls": id,
227
- "aria-expanded": this.isOpen,
228
- "aria-labelledby": buttonId,
229
- tabIndex: buttonElementIsFocusable ? -1 : 0,
230
- isDisabled: isDisabled
231
- }));
232
- }
233
- var optionalAction = null;
234
- if (isLoading || extraAction) {
235
- optionalAction = (0, _react2.jsx)("div", {
236
- className: "euiAccordion__optionalAction",
237
- css: cssOptionalActionStyles
238
- }, isLoading ? (0, _react2.jsx)(_loading.EuiLoadingSpinner, null) : extraAction);
239
- }
240
- var childrenContent;
241
- if (isLoading && isLoadingMessage) {
242
- childrenContent = (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_loading.EuiLoadingSpinner, {
243
- className: "euiAccordion__spinner",
244
- css: cssSpinnerStyles
245
- }), (0, _react2.jsx)(_text.EuiText, {
246
- size: "s"
247
- }, (0, _react2.jsx)("p", null, isLoadingMessage !== true ? isLoadingMessage : (0, _react2.jsx)(_i18n.EuiI18n, {
248
- token: "euiAccordion.isLoading",
249
- default: "Loading"
250
- }))));
251
- } else {
252
- childrenContent = children;
253
- }
254
- var button = (0, _react2.jsx)(ButtonElement, (0, _extends2.default)({}, buttonProps, {
255
- id: buttonId,
256
- className: buttonClasses,
257
- css: cssButtonStyles,
258
- "aria-controls": id
259
- // `aria-expanded` is only a valid attribute on interactive controls - axe-core throws a violation otherwise
260
- ,
261
- "aria-expanded": ButtonElement === 'button' ? this.isOpen : undefined,
262
- onClick: isDisabled ? undefined : this.onToggle,
263
- type: ButtonElement === 'button' ? 'button' : undefined,
264
- disabled: ButtonElement === 'button' ? isDisabled : undefined
265
- }), (0, _react2.jsx)("span", {
266
- className: buttonContentClasses
267
- }, buttonContent));
268
110
  return (0, _react2.jsx)(Element, (0, _extends2.default)({
269
- className: classes
270
- }, rest), (0, _react2.jsx)("div", {
271
- className: "euiAccordion__triggerWrapper",
272
- css: cssTriggerWrapperStyles
273
- }, _arrowDisplay === 'left' && iconButton, button, optionalAction, _arrowDisplay === 'right' && iconButton), (0, _react2.jsx)("div", {
274
- className: "euiAccordion__childWrapper",
275
- css: cssChildWrapperStyles,
276
- ref: function ref(node) {
277
- _this2.childWrapper = node;
278
- },
279
- tabIndex: -1,
280
- role: "region",
111
+ className: classes,
112
+ css: cssStyles
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,
281
131
  "aria-labelledby": buttonId,
282
- id: id
283
- }, (0, _react2.jsx)(_resize_observer.EuiResizeObserver, {
284
- onResize: this.setChildContentHeight
285
- }, function (resizeRef) {
286
- _this2.resizeRef = resizeRef;
287
- return (0, _react2.jsx)("div", {
288
- ref: _this2.observerRef
289
- }, (0, _react2.jsx)("div", {
290
- className: childrenClasses,
291
- css: cssChildrenStyles
292
- }, childrenContent));
293
- })));
132
+ paddingSize: paddingSize,
133
+ isLoading: isLoading,
134
+ isLoadingMessage: isLoadingMessage,
135
+ isOpen: this.isOpen
136
+ }, children));
294
137
  }
295
138
  }]);
296
139
  return EuiAccordionClass;
@@ -298,6 +141,7 @@ var EuiAccordionClass = /*#__PURE__*/function (_Component) {
298
141
  exports.EuiAccordionClass = EuiAccordionClass;
299
142
  (0, _defineProperty2.default)(EuiAccordionClass, "defaultProps", {
300
143
  initialIsOpen: false,
144
+ borders: 'none',
301
145
  paddingSize: 'none',
302
146
  arrowDisplay: 'left',
303
147
  isLoading: false,
@@ -322,13 +166,17 @@ EuiAccordionClass.propTypes = {
322
166
  */
323
167
  buttonClassName: _propTypes.default.string,
324
168
  /**
325
- * Apply more props to the triggering button
169
+ * Apply more props to the triggering button.
170
+ *
171
+ * Includes optional `paddingSize` prop which allows sizes of `s`, `m`, or `l`.
172
+ * Note: Padding will not be present on the side closest to the accordion arrow.
326
173
  */
327
174
  buttonProps: _propTypes.default.shape({
328
175
  className: _propTypes.default.string,
329
176
  "aria-label": _propTypes.default.string,
330
177
  "data-test-subj": _propTypes.default.string,
331
- css: _propTypes.default.any
178
+ css: _propTypes.default.any,
179
+ paddingSize: _propTypes.default.oneOf(["s", "m", "l"])
332
180
  }),
333
181
  /**
334
182
  * Class that will apply to the trigger content for the accordion.
@@ -367,6 +215,10 @@ EuiAccordionClass.propTypes = {
367
215
  * Placement of the arrow indicator, or 'none' to hide it.
368
216
  */
369
217
  arrowDisplay: _propTypes.default.oneOf(["left", "right", "none"]),
218
+ /**
219
+ * Optional border styling. Defaults to 'none'.
220
+ */
221
+ borders: _propTypes.default.oneOf(["horizontal", "all", "none"]),
370
222
  /**
371
223
  * Control the opening of accordion via prop
372
224
  */