@elastic/eui 93.5.2 → 94.0.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 (464) hide show
  1. package/dist/eui_theme_dark.css +0 -765
  2. package/dist/eui_theme_dark.min.css +1 -1
  3. package/dist/eui_theme_light.css +0 -765
  4. package/dist/eui_theme_light.min.css +1 -1
  5. package/es/components/accessibility/screen_reader_only/screen_reader_only.js +9 -8
  6. package/es/components/accessibility/screen_reader_only/screen_reader_only.styles.js +3 -4
  7. package/es/components/accessibility/skip_link/skip_link.js +2 -3
  8. package/es/components/aspect_ratio/aspect_ratio.js +16 -14
  9. package/es/components/avatar/avatar.js +41 -42
  10. package/es/components/avatar/avatar.styles.js +1 -1
  11. package/es/components/badge/badge.js +4 -4
  12. package/es/components/badge/badge_group/badge_group.js +3 -4
  13. package/es/components/badge/beta_badge/beta_badge.js +2 -3
  14. package/es/components/badge/notification_badge/badge_notification.js +3 -4
  15. package/es/components/basic_table/basic_table.js +117 -131
  16. package/es/components/basic_table/basic_table.styles.js +3 -17
  17. package/es/components/basic_table/expanded_item_actions.js +1 -2
  18. package/es/components/basic_table/in_memory_table.js +57 -76
  19. package/es/components/bottom_bar/bottom_bar.js +8 -18
  20. package/es/components/bottom_bar/bottom_bar.styles.js +3 -2
  21. package/es/components/breadcrumbs/_breadcrumb_content.js +8 -11
  22. package/es/components/breadcrumbs/_breadcrumb_content.styles.js +17 -4
  23. package/es/components/breadcrumbs/breadcrumbs.js +4 -3
  24. package/es/components/button/button_display/_button_display_content.js +28 -30
  25. package/es/components/button/button_group/button_group_button.js +5 -6
  26. package/es/components/button/button_group/button_group_button.styles.js +21 -10
  27. package/es/components/call_out/call_out.js +45 -42
  28. package/es/components/call_out/call_out.styles.js +4 -4
  29. package/es/components/code/code_block_annotations.js +7 -6
  30. package/es/components/code/code_block_annotations.style.js +2 -1
  31. package/es/components/collapsible_nav/collapsible_nav.js +2 -3
  32. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +2 -3
  33. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +4 -4
  34. package/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +2 -3
  35. package/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +2 -3
  36. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +2 -3
  37. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +3 -4
  38. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -3
  39. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +2 -3
  40. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +2 -3
  41. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +2 -3
  42. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +2 -3
  43. package/es/components/color_picker/color_palette_picker/color_palette_picker.js +1 -0
  44. package/es/components/combo_box/combo_box.js +22 -16
  45. package/es/components/comment_list/comment_event.js +4 -5
  46. package/es/components/context_menu/context_menu.js +6 -7
  47. package/es/components/context_menu/context_menu_item.js +2 -3
  48. package/es/components/context_menu/context_menu_panel.js +5 -5
  49. package/es/components/description_list/description_list.js +14 -16
  50. package/es/components/description_list/description_list_description.js +2 -3
  51. package/es/components/description_list/description_list_title.js +2 -3
  52. package/es/components/empty_prompt/empty_prompt.js +2 -5
  53. package/es/components/flyout/_flyout_close_button.js +45 -0
  54. package/es/components/flyout/_flyout_close_button.styles.js +27 -0
  55. package/es/components/flyout/flyout.js +77 -64
  56. package/es/components/flyout/flyout.styles.js +3 -17
  57. package/es/components/flyout/flyout_body.js +5 -8
  58. package/es/components/flyout/flyout_body.styles.js +2 -1
  59. package/es/components/flyout/flyout_footer.js +3 -5
  60. package/es/components/flyout/flyout_header.js +2 -3
  61. package/es/components/flyout/flyout_resizable.js +2 -3
  62. package/es/components/form/super_select/super_select.js +33 -22
  63. package/es/components/form/super_select/super_select_control.js +39 -5
  64. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +4 -3
  65. package/es/components/horizontal_rule/horizontal_rule.js +3 -18
  66. package/es/components/loading/loading_chart.js +16 -21
  67. package/es/components/loading/loading_chart.styles.js +28 -10
  68. package/es/components/loading/loading_elastic.js +3 -5
  69. package/es/components/loading/loading_elastic.styles.js +2 -4
  70. package/es/components/loading/loading_logo.js +6 -9
  71. package/es/components/loading/loading_logo.styles.js +1 -6
  72. package/es/components/loading/loading_spinner.js +5 -5
  73. package/es/components/page/page_header/page_header_content.js +1 -1
  74. package/es/components/provider/component_defaults/component_defaults.js +7 -1
  75. package/es/components/resizable_container/resizable_collapse_button.js +1 -2
  76. package/es/components/table/_table_cell_content.js +72 -0
  77. package/es/components/table/_table_cell_content.styles.js +63 -0
  78. package/es/components/table/index.js +0 -1
  79. package/es/components/table/mobile/responsive_context.js +37 -0
  80. package/es/components/table/mobile/table_header_mobile.js +11 -4
  81. package/es/components/table/mobile/table_header_mobile.styles.js +15 -0
  82. package/es/components/table/mobile/table_sort_mobile.js +12 -3
  83. package/es/components/table/table.js +23 -13
  84. package/es/components/table/table.styles.js +102 -0
  85. package/es/components/table/table_cells_shared.styles.js +47 -0
  86. package/es/components/table/table_footer_cell.js +12 -12
  87. package/es/components/table/table_header_cell.js +36 -51
  88. package/es/components/table/table_header_cell_checkbox.js +6 -2
  89. package/es/components/table/table_row.js +18 -6
  90. package/es/components/table/table_row.styles.js +78 -0
  91. package/es/components/table/table_row_cell.js +65 -91
  92. package/es/components/table/table_row_cell.styles.js +89 -0
  93. package/es/components/table/table_row_cell_checkbox.js +7 -0
  94. package/es/components/tabs/tab.js +3 -4
  95. package/es/components/tabs/tabs.js +2 -3
  96. package/eui.d.ts +743 -574
  97. package/i18ntokens.json +122 -140
  98. package/lib/components/accessibility/screen_reader_only/screen_reader_only.js +8 -7
  99. package/lib/components/accessibility/screen_reader_only/screen_reader_only.styles.js +3 -4
  100. package/lib/components/accessibility/skip_link/skip_link.js +1 -2
  101. package/lib/components/aspect_ratio/aspect_ratio.js +18 -14
  102. package/lib/components/avatar/avatar.js +42 -41
  103. package/lib/components/avatar/avatar.styles.js +1 -1
  104. package/lib/components/badge/badge.js +3 -3
  105. package/lib/components/badge/badge_group/badge_group.js +2 -3
  106. package/lib/components/badge/beta_badge/beta_badge.js +1 -2
  107. package/lib/components/badge/notification_badge/badge_notification.js +2 -3
  108. package/lib/components/basic_table/basic_table.js +116 -130
  109. package/lib/components/basic_table/basic_table.styles.js +5 -20
  110. package/lib/components/basic_table/expanded_item_actions.js +1 -2
  111. package/lib/components/basic_table/in_memory_table.js +57 -76
  112. package/lib/components/bottom_bar/bottom_bar.js +10 -20
  113. package/lib/components/bottom_bar/bottom_bar.styles.js +3 -2
  114. package/lib/components/breadcrumbs/_breadcrumb_content.js +8 -11
  115. package/lib/components/breadcrumbs/_breadcrumb_content.styles.js +16 -3
  116. package/lib/components/breadcrumbs/breadcrumbs.js +4 -3
  117. package/lib/components/button/button_display/_button_display_content.js +30 -29
  118. package/lib/components/button/button_group/button_group_button.js +3 -4
  119. package/lib/components/button/button_group/button_group_button.styles.js +22 -12
  120. package/lib/components/call_out/call_out.js +43 -40
  121. package/lib/components/call_out/call_out.styles.js +6 -6
  122. package/lib/components/code/code_block_annotations.js +6 -5
  123. package/lib/components/code/code_block_annotations.style.js +2 -1
  124. package/lib/components/collapsible_nav/collapsible_nav.js +1 -2
  125. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -2
  126. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +3 -3
  127. package/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +1 -2
  128. package/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +1 -2
  129. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -2
  130. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +2 -3
  131. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +1 -2
  132. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +1 -2
  133. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +1 -2
  134. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +1 -2
  135. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +1 -2
  136. package/lib/components/color_picker/color_palette_picker/color_palette_picker.js +1 -0
  137. package/lib/components/combo_box/combo_box.js +22 -16
  138. package/lib/components/comment_list/comment_event.js +3 -4
  139. package/lib/components/context_menu/context_menu.js +5 -6
  140. package/lib/components/context_menu/context_menu_item.js +1 -2
  141. package/lib/components/context_menu/context_menu_panel.js +4 -4
  142. package/lib/components/description_list/description_list.js +13 -15
  143. package/lib/components/description_list/description_list_description.js +1 -2
  144. package/lib/components/description_list/description_list_title.js +1 -2
  145. package/lib/components/empty_prompt/empty_prompt.js +1 -4
  146. package/lib/components/flyout/_flyout_close_button.js +52 -0
  147. package/lib/components/flyout/_flyout_close_button.styles.js +34 -0
  148. package/lib/components/flyout/flyout.js +76 -63
  149. package/lib/components/flyout/flyout.styles.js +5 -19
  150. package/lib/components/flyout/flyout_body.js +4 -7
  151. package/lib/components/flyout/flyout_body.styles.js +2 -1
  152. package/lib/components/flyout/flyout_footer.js +2 -4
  153. package/lib/components/flyout/flyout_header.js +1 -2
  154. package/lib/components/flyout/flyout_resizable.js +1 -2
  155. package/lib/components/form/super_select/super_select.js +32 -21
  156. package/lib/components/form/super_select/super_select_control.js +38 -4
  157. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +4 -3
  158. package/lib/components/horizontal_rule/horizontal_rule.js +2 -17
  159. package/lib/components/loading/loading_chart.js +14 -19
  160. package/lib/components/loading/loading_chart.styles.js +28 -10
  161. package/lib/components/loading/loading_elastic.js +2 -4
  162. package/lib/components/loading/loading_elastic.styles.js +2 -4
  163. package/lib/components/loading/loading_logo.js +5 -8
  164. package/lib/components/loading/loading_logo.styles.js +3 -9
  165. package/lib/components/loading/loading_spinner.js +5 -5
  166. package/lib/components/page/page_header/page_header_content.js +1 -1
  167. package/lib/components/provider/component_defaults/component_defaults.js +7 -1
  168. package/lib/components/resizable_container/resizable_collapse_button.js +1 -2
  169. package/lib/components/table/_table_cell_content.js +82 -0
  170. package/lib/components/table/_table_cell_content.styles.js +68 -0
  171. package/lib/components/table/index.js +0 -7
  172. package/lib/components/table/mobile/responsive_context.js +47 -0
  173. package/lib/components/table/mobile/table_header_mobile.js +11 -4
  174. package/lib/components/table/mobile/table_header_mobile.styles.js +22 -0
  175. package/lib/components/table/mobile/table_sort_mobile.js +12 -3
  176. package/lib/components/table/table.js +23 -13
  177. package/lib/components/table/table.styles.js +109 -0
  178. package/lib/components/table/table_cells_shared.styles.js +53 -0
  179. package/lib/components/table/table_footer_cell.js +11 -11
  180. package/lib/components/table/table_header_cell.js +36 -51
  181. package/lib/components/table/table_header_cell_checkbox.js +6 -2
  182. package/lib/components/table/table_row.js +17 -5
  183. package/lib/components/table/table_row.styles.js +84 -0
  184. package/lib/components/table/table_row_cell.js +64 -92
  185. package/lib/components/table/table_row_cell.styles.js +94 -0
  186. package/lib/components/table/table_row_cell_checkbox.js +7 -0
  187. package/lib/components/tabs/tab.js +2 -3
  188. package/lib/components/tabs/tabs.js +1 -2
  189. package/optimize/es/components/accessibility/screen_reader_only/screen_reader_only.js +8 -7
  190. package/optimize/es/components/accessibility/screen_reader_only/screen_reader_only.styles.js +3 -4
  191. package/optimize/es/components/accessibility/skip_link/skip_link.js +2 -3
  192. package/optimize/es/components/aspect_ratio/aspect_ratio.js +16 -14
  193. package/optimize/es/components/avatar/avatar.js +39 -40
  194. package/optimize/es/components/avatar/avatar.styles.js +1 -1
  195. package/optimize/es/components/badge/badge.js +4 -4
  196. package/optimize/es/components/badge/badge_group/badge_group.js +3 -4
  197. package/optimize/es/components/badge/beta_badge/beta_badge.js +2 -3
  198. package/optimize/es/components/badge/notification_badge/badge_notification.js +3 -4
  199. package/optimize/es/components/basic_table/basic_table.js +56 -59
  200. package/optimize/es/components/basic_table/basic_table.styles.js +3 -17
  201. package/optimize/es/components/basic_table/expanded_item_actions.js +1 -2
  202. package/optimize/es/components/basic_table/in_memory_table.js +1 -6
  203. package/optimize/es/components/bottom_bar/bottom_bar.js +6 -16
  204. package/optimize/es/components/bottom_bar/bottom_bar.styles.js +3 -2
  205. package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +7 -10
  206. package/optimize/es/components/breadcrumbs/_breadcrumb_content.styles.js +17 -4
  207. package/optimize/es/components/button/button_display/_button_display_content.js +28 -30
  208. package/optimize/es/components/button/button_group/button_group_button.js +5 -6
  209. package/optimize/es/components/button/button_group/button_group_button.styles.js +13 -10
  210. package/optimize/es/components/call_out/call_out.js +45 -42
  211. package/optimize/es/components/call_out/call_out.styles.js +4 -4
  212. package/optimize/es/components/code/code_block_annotations.js +7 -6
  213. package/optimize/es/components/code/code_block_annotations.style.js +2 -1
  214. package/optimize/es/components/collapsible_nav/collapsible_nav.js +2 -3
  215. package/optimize/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +2 -3
  216. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +4 -4
  217. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_body_footer.js +2 -3
  218. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +2 -3
  219. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +2 -3
  220. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +3 -4
  221. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +2 -3
  222. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +2 -3
  223. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +2 -3
  224. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +2 -3
  225. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +2 -3
  226. package/optimize/es/components/combo_box/combo_box.js +22 -16
  227. package/optimize/es/components/comment_list/comment_event.js +4 -5
  228. package/optimize/es/components/context_menu/context_menu.js +6 -7
  229. package/optimize/es/components/context_menu/context_menu_item.js +2 -3
  230. package/optimize/es/components/context_menu/context_menu_panel.js +5 -5
  231. package/optimize/es/components/description_list/description_list.js +14 -16
  232. package/optimize/es/components/description_list/description_list_description.js +2 -3
  233. package/optimize/es/components/description_list/description_list_title.js +2 -3
  234. package/optimize/es/components/empty_prompt/empty_prompt.js +2 -5
  235. package/optimize/es/components/flyout/_flyout_close_button.js +44 -0
  236. package/optimize/es/components/flyout/_flyout_close_button.styles.js +27 -0
  237. package/optimize/es/components/flyout/flyout.js +57 -64
  238. package/optimize/es/components/flyout/flyout.styles.js +3 -17
  239. package/optimize/es/components/flyout/flyout_body.js +5 -8
  240. package/optimize/es/components/flyout/flyout_body.styles.js +2 -1
  241. package/optimize/es/components/flyout/flyout_footer.js +3 -5
  242. package/optimize/es/components/flyout/flyout_header.js +2 -3
  243. package/optimize/es/components/flyout/flyout_resizable.js +2 -3
  244. package/optimize/es/components/form/super_select/super_select.js +32 -22
  245. package/optimize/es/components/form/super_select/super_select_control.js +34 -5
  246. package/optimize/es/components/horizontal_rule/horizontal_rule.js +3 -15
  247. package/optimize/es/components/loading/loading_chart.js +16 -21
  248. package/optimize/es/components/loading/loading_chart.styles.js +28 -10
  249. package/optimize/es/components/loading/loading_elastic.js +3 -5
  250. package/optimize/es/components/loading/loading_elastic.styles.js +2 -4
  251. package/optimize/es/components/loading/loading_logo.js +6 -9
  252. package/optimize/es/components/loading/loading_logo.styles.js +1 -6
  253. package/optimize/es/components/loading/loading_spinner.js +5 -5
  254. package/optimize/es/components/resizable_container/resizable_collapse_button.js +1 -2
  255. package/optimize/es/components/table/_table_cell_content.js +56 -0
  256. package/optimize/es/components/table/_table_cell_content.styles.js +63 -0
  257. package/optimize/es/components/table/index.js +0 -1
  258. package/optimize/es/components/table/mobile/responsive_context.js +37 -0
  259. package/optimize/es/components/table/mobile/table_header_mobile.js +11 -4
  260. package/optimize/es/components/table/mobile/table_header_mobile.styles.js +15 -0
  261. package/optimize/es/components/table/mobile/table_sort_mobile.js +7 -1
  262. package/optimize/es/components/table/table.js +13 -12
  263. package/optimize/es/components/table/table.styles.js +102 -0
  264. package/optimize/es/components/table/table_cells_shared.styles.js +44 -0
  265. package/optimize/es/components/table/table_footer_cell.js +12 -12
  266. package/optimize/es/components/table/table_header_cell.js +35 -37
  267. package/optimize/es/components/table/table_header_cell_checkbox.js +6 -2
  268. package/optimize/es/components/table/table_row.js +10 -2
  269. package/optimize/es/components/table/table_row.styles.js +78 -0
  270. package/optimize/es/components/table/table_row_cell.js +49 -80
  271. package/optimize/es/components/table/table_row_cell.styles.js +89 -0
  272. package/optimize/es/components/table/table_row_cell_checkbox.js +7 -0
  273. package/optimize/es/components/tabs/tab.js +3 -4
  274. package/optimize/es/components/tabs/tabs.js +2 -3
  275. package/optimize/lib/components/accessibility/screen_reader_only/screen_reader_only.js +7 -6
  276. package/optimize/lib/components/accessibility/screen_reader_only/screen_reader_only.styles.js +3 -4
  277. package/optimize/lib/components/accessibility/skip_link/skip_link.js +1 -2
  278. package/optimize/lib/components/aspect_ratio/aspect_ratio.js +19 -14
  279. package/optimize/lib/components/avatar/avatar.js +41 -39
  280. package/optimize/lib/components/avatar/avatar.styles.js +1 -1
  281. package/optimize/lib/components/badge/badge.js +3 -3
  282. package/optimize/lib/components/badge/badge_group/badge_group.js +2 -3
  283. package/optimize/lib/components/badge/beta_badge/beta_badge.js +1 -2
  284. package/optimize/lib/components/badge/notification_badge/badge_notification.js +2 -3
  285. package/optimize/lib/components/basic_table/basic_table.js +55 -58
  286. package/optimize/lib/components/basic_table/basic_table.styles.js +5 -20
  287. package/optimize/lib/components/basic_table/expanded_item_actions.js +1 -2
  288. package/optimize/lib/components/basic_table/in_memory_table.js +1 -6
  289. package/optimize/lib/components/bottom_bar/bottom_bar.js +8 -18
  290. package/optimize/lib/components/bottom_bar/bottom_bar.styles.js +3 -2
  291. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +7 -10
  292. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.styles.js +16 -3
  293. package/optimize/lib/components/button/button_display/_button_display_content.js +30 -29
  294. package/optimize/lib/components/button/button_group/button_group_button.js +3 -4
  295. package/optimize/lib/components/button/button_group/button_group_button.styles.js +15 -12
  296. package/optimize/lib/components/call_out/call_out.js +43 -40
  297. package/optimize/lib/components/call_out/call_out.styles.js +6 -6
  298. package/optimize/lib/components/code/code_block_annotations.js +6 -5
  299. package/optimize/lib/components/code/code_block_annotations.style.js +2 -1
  300. package/optimize/lib/components/collapsible_nav/collapsible_nav.js +1 -2
  301. package/optimize/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -2
  302. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +3 -3
  303. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_body_footer.js +1 -2
  304. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +1 -2
  305. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -2
  306. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +2 -3
  307. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +1 -2
  308. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +1 -2
  309. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +1 -2
  310. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +1 -2
  311. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +1 -2
  312. package/optimize/lib/components/combo_box/combo_box.js +22 -16
  313. package/optimize/lib/components/comment_list/comment_event.js +3 -4
  314. package/optimize/lib/components/context_menu/context_menu.js +5 -6
  315. package/optimize/lib/components/context_menu/context_menu_item.js +1 -2
  316. package/optimize/lib/components/context_menu/context_menu_panel.js +4 -4
  317. package/optimize/lib/components/description_list/description_list.js +13 -15
  318. package/optimize/lib/components/description_list/description_list_description.js +1 -2
  319. package/optimize/lib/components/description_list/description_list_title.js +1 -2
  320. package/optimize/lib/components/empty_prompt/empty_prompt.js +1 -4
  321. package/optimize/lib/components/flyout/_flyout_close_button.js +51 -0
  322. package/optimize/lib/components/flyout/_flyout_close_button.styles.js +34 -0
  323. package/optimize/lib/components/flyout/flyout.js +55 -62
  324. package/optimize/lib/components/flyout/flyout.styles.js +5 -19
  325. package/optimize/lib/components/flyout/flyout_body.js +4 -7
  326. package/optimize/lib/components/flyout/flyout_body.styles.js +2 -1
  327. package/optimize/lib/components/flyout/flyout_footer.js +2 -4
  328. package/optimize/lib/components/flyout/flyout_header.js +1 -2
  329. package/optimize/lib/components/flyout/flyout_resizable.js +1 -2
  330. package/optimize/lib/components/form/super_select/super_select.js +31 -21
  331. package/optimize/lib/components/form/super_select/super_select_control.js +33 -4
  332. package/optimize/lib/components/horizontal_rule/horizontal_rule.js +2 -14
  333. package/optimize/lib/components/loading/loading_chart.js +14 -19
  334. package/optimize/lib/components/loading/loading_chart.styles.js +28 -10
  335. package/optimize/lib/components/loading/loading_elastic.js +2 -4
  336. package/optimize/lib/components/loading/loading_elastic.styles.js +2 -4
  337. package/optimize/lib/components/loading/loading_logo.js +5 -8
  338. package/optimize/lib/components/loading/loading_logo.styles.js +3 -9
  339. package/optimize/lib/components/loading/loading_spinner.js +5 -5
  340. package/optimize/lib/components/resizable_container/resizable_collapse_button.js +1 -2
  341. package/optimize/lib/components/table/_table_cell_content.js +66 -0
  342. package/optimize/lib/components/table/_table_cell_content.styles.js +68 -0
  343. package/optimize/lib/components/table/index.js +0 -7
  344. package/optimize/lib/components/table/mobile/responsive_context.js +47 -0
  345. package/optimize/lib/components/table/mobile/table_header_mobile.js +11 -4
  346. package/optimize/lib/components/table/mobile/table_header_mobile.styles.js +22 -0
  347. package/optimize/lib/components/table/mobile/table_sort_mobile.js +7 -1
  348. package/optimize/lib/components/table/table.js +13 -12
  349. package/optimize/lib/components/table/table.styles.js +109 -0
  350. package/optimize/lib/components/table/table_cells_shared.styles.js +51 -0
  351. package/optimize/lib/components/table/table_footer_cell.js +11 -11
  352. package/optimize/lib/components/table/table_header_cell.js +35 -37
  353. package/optimize/lib/components/table/table_header_cell_checkbox.js +6 -2
  354. package/optimize/lib/components/table/table_row.js +9 -1
  355. package/optimize/lib/components/table/table_row.styles.js +85 -0
  356. package/optimize/lib/components/table/table_row_cell.js +48 -82
  357. package/optimize/lib/components/table/table_row_cell.styles.js +94 -0
  358. package/optimize/lib/components/table/table_row_cell_checkbox.js +7 -0
  359. package/optimize/lib/components/tabs/tab.js +2 -3
  360. package/optimize/lib/components/tabs/tabs.js +1 -2
  361. package/package.json +1 -1
  362. package/src/components/index.scss +0 -1
  363. package/test-env/components/accessibility/screen_reader_only/screen_reader_only.js +8 -7
  364. package/test-env/components/accessibility/screen_reader_only/screen_reader_only.styles.js +3 -4
  365. package/test-env/components/accessibility/skip_link/skip_link.js +1 -2
  366. package/test-env/components/aspect_ratio/aspect_ratio.js +19 -14
  367. package/test-env/components/avatar/avatar.js +41 -39
  368. package/test-env/components/avatar/avatar.styles.js +1 -1
  369. package/test-env/components/badge/badge.js +3 -3
  370. package/test-env/components/badge/badge_group/badge_group.js +2 -3
  371. package/test-env/components/badge/beta_badge/beta_badge.js +1 -2
  372. package/test-env/components/badge/notification_badge/badge_notification.js +2 -3
  373. package/test-env/components/basic_table/basic_table.js +112 -129
  374. package/test-env/components/basic_table/basic_table.styles.js +5 -20
  375. package/test-env/components/basic_table/expanded_item_actions.js +1 -2
  376. package/test-env/components/basic_table/in_memory_table.js +57 -76
  377. package/test-env/components/bottom_bar/bottom_bar.js +10 -20
  378. package/test-env/components/bottom_bar/bottom_bar.styles.js +3 -2
  379. package/test-env/components/breadcrumbs/_breadcrumb_content.js +8 -11
  380. package/test-env/components/breadcrumbs/_breadcrumb_content.styles.js +16 -3
  381. package/test-env/components/breadcrumbs/breadcrumbs.js +4 -3
  382. package/test-env/components/button/button_display/_button_display_content.js +30 -29
  383. package/test-env/components/button/button_group/button_group_button.js +3 -4
  384. package/test-env/components/button/button_group/button_group_button.styles.js +15 -12
  385. package/test-env/components/call_out/call_out.js +43 -40
  386. package/test-env/components/call_out/call_out.styles.js +6 -6
  387. package/test-env/components/code/code_block_annotations.js +6 -5
  388. package/test-env/components/code/code_block_annotations.style.js +2 -1
  389. package/test-env/components/collapsible_nav/collapsible_nav.js +1 -2
  390. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +1 -2
  391. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +3 -3
  392. package/test-env/components/collapsible_nav_beta/collapsible_nav_body_footer.js +1 -2
  393. package/test-env/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +1 -2
  394. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +1 -2
  395. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +2 -3
  396. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +1 -2
  397. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +1 -2
  398. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +1 -2
  399. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +1 -2
  400. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_link.js +1 -2
  401. package/test-env/components/color_picker/color_palette_picker/color_palette_picker.js +1 -0
  402. package/test-env/components/combo_box/combo_box.js +22 -16
  403. package/test-env/components/comment_list/comment_event.js +3 -4
  404. package/test-env/components/context_menu/context_menu.js +5 -6
  405. package/test-env/components/context_menu/context_menu_item.js +1 -2
  406. package/test-env/components/context_menu/context_menu_panel.js +4 -4
  407. package/test-env/components/description_list/description_list.js +13 -15
  408. package/test-env/components/description_list/description_list_description.js +1 -2
  409. package/test-env/components/description_list/description_list_title.js +1 -2
  410. package/test-env/components/empty_prompt/empty_prompt.js +1 -4
  411. package/test-env/components/flyout/_flyout_close_button.js +51 -0
  412. package/test-env/components/flyout/_flyout_close_button.styles.js +34 -0
  413. package/test-env/components/flyout/flyout.styles.js +5 -19
  414. package/test-env/components/flyout/flyout_body.js +4 -7
  415. package/test-env/components/flyout/flyout_body.styles.js +2 -1
  416. package/test-env/components/flyout/flyout_footer.js +2 -4
  417. package/test-env/components/flyout/flyout_header.js +1 -2
  418. package/test-env/components/flyout/flyout_resizable.js +1 -2
  419. package/test-env/components/form/super_select/super_select.js +32 -21
  420. package/test-env/components/form/super_select/super_select_control.js +33 -4
  421. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +4 -3
  422. package/test-env/components/horizontal_rule/horizontal_rule.js +2 -14
  423. package/test-env/components/loading/loading_chart.js +14 -19
  424. package/test-env/components/loading/loading_chart.styles.js +28 -10
  425. package/test-env/components/loading/loading_elastic.js +2 -4
  426. package/test-env/components/loading/loading_elastic.styles.js +2 -4
  427. package/test-env/components/loading/loading_logo.js +5 -8
  428. package/test-env/components/loading/loading_logo.styles.js +3 -9
  429. package/test-env/components/loading/loading_spinner.js +5 -5
  430. package/test-env/components/page/page_header/page_header_content.js +1 -1
  431. package/test-env/components/provider/component_defaults/component_defaults.js +7 -1
  432. package/test-env/components/resizable_container/resizable_collapse_button.js +1 -2
  433. package/test-env/components/table/_table_cell_content.js +76 -0
  434. package/test-env/components/table/_table_cell_content.styles.js +68 -0
  435. package/test-env/components/table/index.js +0 -7
  436. package/test-env/components/table/mobile/responsive_context.js +47 -0
  437. package/test-env/components/table/mobile/table_header_mobile.js +11 -4
  438. package/test-env/components/table/mobile/table_header_mobile.styles.js +22 -0
  439. package/test-env/components/table/mobile/table_sort_mobile.js +12 -3
  440. package/test-env/components/table/table.js +23 -13
  441. package/test-env/components/table/table.styles.js +109 -0
  442. package/test-env/components/table/table_cells_shared.styles.js +51 -0
  443. package/test-env/components/table/table_footer_cell.js +11 -11
  444. package/test-env/components/table/table_header_cell.js +36 -51
  445. package/test-env/components/table/table_header_cell_checkbox.js +6 -2
  446. package/test-env/components/table/table_row.js +17 -5
  447. package/test-env/components/table/table_row.styles.js +85 -0
  448. package/test-env/components/table/table_row_cell.js +59 -93
  449. package/test-env/components/table/table_row_cell.styles.js +94 -0
  450. package/test-env/components/table/table_row_cell_checkbox.js +7 -0
  451. package/test-env/components/tabs/tab.js +2 -3
  452. package/test-env/components/tabs/tabs.js +1 -2
  453. package/es/components/table/table_header_button.js +0 -52
  454. package/lib/components/table/table_header_button.js +0 -59
  455. package/optimize/es/components/table/table_header_button.js +0 -43
  456. package/optimize/lib/components/table/table_header_button.js +0 -50
  457. package/src/components/table/_index.scss +0 -7
  458. package/src/components/table/_mixins.scss +0 -20
  459. package/src/components/table/_responsive.scss +0 -211
  460. package/src/components/table/_table.scss +0 -241
  461. package/src/components/table/_variables.scss +0 -17
  462. package/src/components/table/mobile/_index.scss +0 -1
  463. package/src/components/table/mobile/_mobile.scss +0 -17
  464. package/test-env/components/table/table_header_button.js +0 -58
@@ -1,7 +1,8 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
4
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["align", "children", "className", "truncateText", "setScopeRow", "showOnHover", "textOnly", "hasActions", "isExpander", "style", "width", "valign", "mobileOptions"];
5
+ var _excluded = ["align", "children", "className", "truncateText", "setScopeRow", "textOnly", "hasActions", "isExpander", "style", "width", "valign", "mobileOptions"];
5
6
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6
7
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
8
  /*
@@ -12,22 +13,21 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
12
13
  * Side Public License, v 1.
13
14
  */
14
15
 
15
- import React, { useCallback } from 'react';
16
+ import React from 'react';
16
17
  import classNames from 'classnames';
17
- import { LEFT_ALIGNMENT, RIGHT_ALIGNMENT, CENTER_ALIGNMENT, useIsWithinBreakpoints } from '../../services';
18
- import { isObject } from '../../services/predicate';
19
- import { EuiTextBlockTruncate } from '../text_truncate';
18
+ import { useEuiMemoizedStyles, LEFT_ALIGNMENT } from '../../services';
19
+ import { useEuiTableIsResponsive } from './mobile/responsive_context';
20
20
  import { resolveWidthAsStyle } from './utils';
21
+ import { EuiTableCellContent } from './_table_cell_content';
22
+ import { euiTableRowCellStyles } from './table_row_cell.styles';
21
23
  import { jsx as ___EmotionJSX } from "@emotion/react";
22
24
  export var EuiTableRowCell = function EuiTableRowCell(_ref) {
23
- var _mobileOptions$showOn, _mobileOptions$trunca;
24
25
  var _ref$align = _ref.align,
25
26
  align = _ref$align === void 0 ? LEFT_ALIGNMENT : _ref$align,
26
27
  children = _ref.children,
27
28
  className = _ref.className,
28
29
  truncateText = _ref.truncateText,
29
30
  setScopeRow = _ref.setScopeRow,
30
- showOnHover = _ref.showOnHover,
31
31
  _ref$textOnly = _ref.textOnly,
32
32
  textOnly = _ref$textOnly === void 0 ? true : _ref$textOnly,
33
33
  hasActions = _ref.hasActions,
@@ -36,87 +36,56 @@ export var EuiTableRowCell = function EuiTableRowCell(_ref) {
36
36
  width = _ref.width,
37
37
  _ref$valign = _ref.valign,
38
38
  valign = _ref$valign === void 0 ? 'middle' : _ref$valign,
39
- _ref$mobileOptions = _ref.mobileOptions,
40
- mobileOptions = _ref$mobileOptions === void 0 ? {
41
- show: true
42
- } : _ref$mobileOptions,
39
+ mobileOptions = _ref.mobileOptions,
43
40
  rest = _objectWithoutProperties(_ref, _excluded);
44
- var cellClasses = classNames('euiTableRowCell', _defineProperty({
41
+ var isResponsive = useEuiTableIsResponsive();
42
+ var styles = useEuiMemoizedStyles(euiTableRowCellStyles);
43
+ var cssStyles = [styles.euiTableRowCell, setScopeRow && styles.rowHeader, isExpander && styles.isExpander, hasActions && styles.hasActions, styles[valign]].concat(_toConsumableArray(isResponsive ? [styles.mobile.mobile, (mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.enlarge) && styles.mobile.enlarge, hasActions === 'custom' && styles.mobile.customActions, hasActions === true && styles.mobile.actions, isExpander && styles.mobile.expander] : [styles.desktop.desktop, hasActions && styles.desktop.actions]));
44
+ var cellClasses = classNames('euiTableRowCell', className, {
45
45
  'euiTableRowCell--hasActions': hasActions,
46
- 'euiTableRowCell--isExpander': isExpander,
47
- 'euiTableRowCell--hideForDesktop': mobileOptions.only,
48
- 'euiTableRowCell--enlargeForMobile': mobileOptions.enlarge
49
- }, "euiTableRowCell--".concat(valign), valign));
50
- var contentClasses = classNames('euiTableCellContent', className, {
51
- 'euiTableCellContent--alignRight': align === RIGHT_ALIGNMENT,
52
- 'euiTableCellContent--alignCenter': align === CENTER_ALIGNMENT,
53
- 'euiTableCellContent--showOnHover': showOnHover,
54
- 'euiTableCellContent--truncateText': truncateText === true,
55
- // We're doing this rigamarole instead of creating `euiTableCellContent--textOnly` for BWC
56
- // purposes for the time-being.
57
- 'euiTableCellContent--overflowingContent': textOnly !== true
46
+ 'euiTableRowCell--isExpander': isExpander
58
47
  });
59
- var mobileContentClasses = classNames('euiTableCellContent', className, {
60
- 'euiTableCellContent--alignRight': mobileOptions.align === RIGHT_ALIGNMENT || align === RIGHT_ALIGNMENT,
61
- 'euiTableCellContent--alignCenter': mobileOptions.align === CENTER_ALIGNMENT || align === CENTER_ALIGNMENT,
62
- 'euiTableCellContent--showOnHover': (_mobileOptions$showOn = mobileOptions.showOnHover) !== null && _mobileOptions$showOn !== void 0 ? _mobileOptions$showOn : showOnHover,
63
- 'euiTableCellContent--truncateText': (_mobileOptions$trunca = mobileOptions.truncateText) !== null && _mobileOptions$trunca !== void 0 ? _mobileOptions$trunca : truncateText,
64
- // We're doing this rigamarole instead of creating `euiTableCellContent--textOnly` for BWC
65
- // purposes for the time-being.
66
- 'euiTableCellContent--overflowingContent': mobileOptions.textOnly !== true || textOnly !== true
67
- });
68
- var childClasses = classNames({
69
- euiTableCellContent__text: textOnly === true,
70
- euiTableCellContent__hoverItem: showOnHover
71
- });
72
- var widthValue = useIsWithinBreakpoints(['xs', 's']) && mobileOptions.width ? mobileOptions.width : width;
48
+ var widthValue = isResponsive ? hasActions || isExpander ? undefined // On mobile, actions are shifted to a right column via CSS
49
+ : mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.width : width;
73
50
  var styleObj = resolveWidthAsStyle(style, widthValue);
74
- var modifyChildren = useCallback(function (children) {
75
- var modifiedChildren = children;
76
- if (textOnly === true) {
77
- modifiedChildren = ___EmotionJSX("span", {
78
- className: childClasses
79
- }, children);
80
- } else if ( /*#__PURE__*/React.isValidElement(children)) {
81
- modifiedChildren = React.Children.map(children, function (child) {
82
- return /*#__PURE__*/React.cloneElement(child, {
83
- className: classNames(child.props.className, childClasses)
84
- });
85
- });
86
- }
87
- if (isObject(truncateText) && truncateText.lines) {
88
- modifiedChildren = ___EmotionJSX(EuiTextBlockTruncate, {
89
- lines: truncateText.lines,
90
- cloneElement: true
91
- }, modifiedChildren);
92
- }
93
- return modifiedChildren;
94
- }, [childClasses, textOnly, truncateText]);
95
- var childrenNode = modifyChildren(children);
96
- var hideForMobileClasses = 'euiTableRowCell--hideForMobile';
97
- var showForMobileClasses = 'euiTableRowCell--hideForDesktop';
98
51
  var Element = setScopeRow ? 'th' : 'td';
99
52
  var sharedProps = _objectSpread({
100
53
  scope: setScopeRow ? 'row' : undefined,
101
- style: styleObj
54
+ style: styleObj,
55
+ css: cssStyles
102
56
  }, rest);
103
- if (mobileOptions.show === false) {
104
- return ___EmotionJSX(Element, _extends({
105
- className: "".concat(cellClasses, " ").concat(hideForMobileClasses)
106
- }, sharedProps), ___EmotionJSX("div", {
107
- className: contentClasses
108
- }, childrenNode));
57
+ var sharedContentProps = {
58
+ align: align,
59
+ textOnly: textOnly,
60
+ truncateText: truncateText,
61
+ hasActions: hasActions || isExpander
62
+ };
63
+ if (isResponsive) {
64
+ // Mobile view
65
+ if ((mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.show) === false) {
66
+ return null;
67
+ } else {
68
+ var _mobileOptions$align, _mobileOptions$trunca, _mobileOptions$textOn;
69
+ return ___EmotionJSX(Element, _extends({
70
+ className: cellClasses
71
+ }, sharedProps), (mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.header) && ___EmotionJSX("div", {
72
+ className: "euiTableRowCell__mobileHeader",
73
+ css: styles.euiTableRowCell__mobileHeader
74
+ }, mobileOptions.header), ___EmotionJSX(EuiTableCellContent, _extends({}, sharedContentProps, {
75
+ align: (_mobileOptions$align = mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.align) !== null && _mobileOptions$align !== void 0 ? _mobileOptions$align : 'left' // Default to left aligned mobile cells, unless consumers specifically set an alignment for mobile
76
+ ,
77
+ truncateText: (_mobileOptions$trunca = mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.truncateText) !== null && _mobileOptions$trunca !== void 0 ? _mobileOptions$trunca : truncateText,
78
+ textOnly: (_mobileOptions$textOn = mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.textOnly) !== null && _mobileOptions$textOn !== void 0 ? _mobileOptions$textOn : textOnly
79
+ }), (mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.render) || children));
80
+ }
109
81
  } else {
110
- return ___EmotionJSX(Element, _extends({
111
- className: cellClasses
112
- }, sharedProps), mobileOptions.header && ___EmotionJSX("div", {
113
- className: "euiTableRowCell__mobileHeader ".concat(showForMobileClasses)
114
- }, mobileOptions.header), mobileOptions.render ? ___EmotionJSX(React.Fragment, null, ___EmotionJSX("div", {
115
- className: "".concat(mobileContentClasses, " ").concat(showForMobileClasses)
116
- }, modifyChildren(mobileOptions.render)), ___EmotionJSX("div", {
117
- className: "".concat(contentClasses, " ").concat(hideForMobileClasses)
118
- }, childrenNode)) : ___EmotionJSX("div", {
119
- className: contentClasses
120
- }, childrenNode));
82
+ // Desktop view
83
+ if (mobileOptions !== null && mobileOptions !== void 0 && mobileOptions.only) {
84
+ return null;
85
+ } else {
86
+ return ___EmotionJSX(Element, _extends({
87
+ className: cellClasses
88
+ }, sharedProps), ___EmotionJSX(EuiTableCellContent, sharedContentProps, children));
89
+ }
121
90
  }
122
91
  };
@@ -0,0 +1,89 @@
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 { euiCanAnimate, euiFontSize, euiTextTruncate, logicalCSS } from '../../global_styling';
12
+ import { euiTableVariables } from './table.styles';
13
+ var _ref = process.env.NODE_ENV === "production" ? {
14
+ name: "1amvdy6-bottom",
15
+ styles: "vertical-align:bottom;label:bottom;"
16
+ } : {
17
+ name: "1amvdy6-bottom",
18
+ styles: "vertical-align:bottom;label:bottom;",
19
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
20
+ };
21
+ var _ref2 = process.env.NODE_ENV === "production" ? {
22
+ name: "2f764e-top",
23
+ styles: "vertical-align:top;label:top;"
24
+ } : {
25
+ name: "2f764e-top",
26
+ styles: "vertical-align:top;label:top;",
27
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
28
+ };
29
+ var _ref3 = process.env.NODE_ENV === "production" ? {
30
+ name: "19hexhy-baseline",
31
+ styles: "vertical-align:baseline;label:baseline;"
32
+ } : {
33
+ name: "19hexhy-baseline",
34
+ styles: "vertical-align:baseline;label:baseline;",
35
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
36
+ };
37
+ var _ref4 = process.env.NODE_ENV === "production" ? {
38
+ name: "l1nme7-middle",
39
+ styles: "vertical-align:middle;label:middle;"
40
+ } : {
41
+ name: "l1nme7-middle",
42
+ styles: "vertical-align:middle;label:middle;",
43
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
44
+ };
45
+ export var euiTableRowCellStyles = function euiTableRowCellStyles(euiThemeContext) {
46
+ var euiTheme = euiThemeContext.euiTheme;
47
+ var _euiTableVariables = euiTableVariables(euiThemeContext),
48
+ mobileSizes = _euiTableVariables.mobileSizes;
49
+
50
+ // Unsets the extra strut caused by inline-block display of buttons/icons/tooltips.
51
+ // Without this, the row height jumps whenever actions are disabled.
52
+ var hasIcons = "line-height: 1;";
53
+ return {
54
+ euiTableRowCell: /*#__PURE__*/css("color:", euiTheme.colors.text, ";;label:euiTableRowCell;"),
55
+ rowHeader: /*#__PURE__*/css("font-weight:", euiTheme.font.weight.regular, ";;label:rowHeader;"),
56
+ isExpander: /*#__PURE__*/css(hasIcons, ";;label:isExpander;"),
57
+ hasActions: /*#__PURE__*/css(hasIcons, ";;label:hasActions;"),
58
+ // valign
59
+ middle: _ref4,
60
+ baseline: _ref3,
61
+ top: _ref2,
62
+ bottom: _ref,
63
+ desktop: {
64
+ desktop: /*#__PURE__*/css(logicalCSS('border-vertical', euiTheme.border.thin), ";;label:desktop;"),
65
+ actions: /*#__PURE__*/css(".euiBasicTableAction-showOnHover{opacity:0;", euiCanAnimate, "{transition:opacity ", euiTheme.animation.normal, " ", euiTheme.animation.resistance, ";}}&:focus-within,.euiTableRow-hasActions:hover &{.euiBasicTableAction-showOnHover{opacity:1;}};label:actions;")
66
+ },
67
+ mobile: {
68
+ mobile: /*#__PURE__*/css(logicalCSS('min-width', '50%'), ";;label:mobile;"),
69
+ enlarge: /*#__PURE__*/css(euiFontSize(euiThemeContext, 'm'), ";;label:enlarge;"),
70
+ rightColumnContent: "\n position: absolute;\n ".concat(logicalCSS('right', 0), "\n ").concat(logicalCSS('min-width', '0'), "\n ").concat(logicalCSS('width', mobileSizes.actions.width), "\n "),
71
+ get actions() {
72
+ // Note: Visible-on-hover actions on desktop always show on mobile
73
+ return /*#__PURE__*/css(this.rightColumnContent, " ", logicalCSS('top', mobileSizes.actions.offset), ";;label:actions;");
74
+ },
75
+ get expander() {
76
+ return /*#__PURE__*/css(this.rightColumnContent, " ", logicalCSS('bottom', mobileSizes.actions.offset), ";;label:expander;");
77
+ },
78
+ /**
79
+ * Custom actions may not be icons and therefore may not fit in a column
80
+ * If they're the last cell, we can create a pseudo "row"/"border-top"
81
+ * that mimicks the visual separation that the right column has
82
+ */
83
+ customActions: /*#__PURE__*/css("&:last-child{", logicalCSS('width', '100%'), " &::before{content:'';position:absolute;", logicalCSS('horizontal', 0), " ", logicalCSS('height', euiTheme.border.width.thin), " background-color:", euiTheme.border.color, ";}.euiTableCellContent{position:relative;", logicalCSS('top', euiTheme.size.xs), ";}};label:customActions;")
84
+ },
85
+ euiTableRowCell__mobileHeader: /*#__PURE__*/css(euiTextTruncate(), " font-size:", euiFontSize(euiThemeContext, 's', {
86
+ customScale: 'xxs'
87
+ }).fontSize, ";display:block;color:", euiTheme.colors.darkShade, ";padding:", euiTheme.size.s, ";padding-block-end:0;margin-block-end:-", euiTheme.size.s, ";.euiTableRowCell:not(:only-child) &{", logicalCSS('min-height', euiTheme.size.l), ";};label:euiTableRowCell__mobileHeader;")
88
+ };
89
+ };
@@ -11,13 +11,20 @@ var _excluded = ["children", "className"];
11
11
 
12
12
  import React from 'react';
13
13
  import classNames from 'classnames';
14
+ import { useEuiMemoizedStyles } from '../../services';
15
+ import { useEuiTableIsResponsive } from './mobile/responsive_context';
16
+ import { euiTableCellCheckboxStyles } from './table_cells_shared.styles';
14
17
  import { jsx as ___EmotionJSX } from "@emotion/react";
15
18
  export var EuiTableRowCellCheckbox = function EuiTableRowCellCheckbox(_ref) {
16
19
  var children = _ref.children,
17
20
  className = _ref.className,
18
21
  rest = _objectWithoutProperties(_ref, _excluded);
22
+ var isResponsive = useEuiTableIsResponsive();
23
+ var styles = useEuiMemoizedStyles(euiTableCellCheckboxStyles);
24
+ var cssStyles = [styles.euiTableRowCellCheckbox, isResponsive ? styles.mobile : styles.desktop];
19
25
  var classes = classNames('euiTableRowCellCheckbox', className);
20
26
  return ___EmotionJSX("td", _extends({
27
+ css: cssStyles,
21
28
  className: classes
22
29
  }, rest), ___EmotionJSX("div", {
23
30
  className: "euiTableCellContent"
@@ -11,7 +11,7 @@ var _excluded = ["isSelected", "children", "className", "disabled", "href", "tar
11
11
 
12
12
  import React, { useContext } from 'react';
13
13
  import classNames from 'classnames';
14
- import { getSecureRelForTarget, useEuiTheme } from '../../services';
14
+ import { getSecureRelForTarget, useEuiMemoizedStyles } from '../../services';
15
15
  import { validateHref } from '../../services/security/href_validator';
16
16
  import { euiTabStyles, euiTabContentStyles } from './tab.styles';
17
17
  import { EuiTabsContext } from './tabs_context';
@@ -30,7 +30,6 @@ export var EuiTab = function EuiTab(_ref) {
30
30
  var _useContext = useContext(EuiTabsContext),
31
31
  size = _useContext.size,
32
32
  expand = _useContext.expand;
33
- var euiTheme = useEuiTheme();
34
33
  var isHrefValid = !href || validateHref(href);
35
34
  var disabled = _disabled || !isHrefValid;
36
35
 
@@ -38,9 +37,9 @@ export var EuiTab = function EuiTab(_ref) {
38
37
  var classes = classNames('euiTab', className, {
39
38
  'euiTab-isSelected': isSelected
40
39
  });
41
- var tabStyles = euiTabStyles(euiTheme);
40
+ var tabStyles = useEuiMemoizedStyles(euiTabStyles);
42
41
  var cssTabStyles = [tabStyles.euiTab, expand && tabStyles.expanded, disabled && tabStyles.disabled.disabled, isSelected && (disabled ? tabStyles.disabled.selected : tabStyles.selected)];
43
- var tabContentStyles = euiTabContentStyles(euiTheme);
42
+ var tabContentStyles = useEuiMemoizedStyles(euiTabContentStyles);
44
43
  var cssTabContentStyles = [tabContentStyles.euiTab__content, size && tabContentStyles[size]];
45
44
  var prependNode = prepend && ___EmotionJSX("span", {
46
45
  className: "euiTab__prepend"
@@ -11,7 +11,7 @@ var _excluded = ["children", "className", "bottomBorder", "expand", "size"];
11
11
 
12
12
  import React, { forwardRef } from 'react';
13
13
  import classNames from 'classnames';
14
- import { useEuiTheme } from '../../services';
14
+ import { useEuiMemoizedStyles } from '../../services';
15
15
  import { euiTabsStyles } from './tabs.styles';
16
16
  import { EuiTabsContext } from './tabs_context';
17
17
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -26,9 +26,8 @@ export var EuiTabs = /*#__PURE__*/forwardRef(function (_ref, ref) {
26
26
  _ref$size = _ref.size,
27
27
  size = _ref$size === void 0 ? 'm' : _ref$size,
28
28
  rest = _objectWithoutProperties(_ref, _excluded);
29
- var euiTheme = useEuiTheme();
30
29
  var classes = classNames('euiTabs', className);
31
- var styles = euiTabsStyles(euiTheme);
30
+ var styles = useEuiMemoizedStyles(euiTabsStyles);
32
31
  var cssStyles = [styles.euiTabs, styles[size], bottomBorder && styles.bottomBorder];
33
32
  return ___EmotionJSX("div", _extends({
34
33
  ref: ref,
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.EuiScreenReaderOnly = void 0;
8
+ var _react = require("react");
8
9
  var _classnames = _interopRequireDefault(require("classnames"));
9
10
  var _services = require("../../../services");
10
11
  var _screen_reader_only = require("./screen_reader_only.styles");
@@ -21,12 +22,12 @@ var EuiScreenReaderOnly = function EuiScreenReaderOnly(_ref) {
21
22
  className = _ref.className,
22
23
  showOnFocus = _ref.showOnFocus;
23
24
  var classes = (0, _classnames.default)(className, children.props.className);
24
- var styles = (0, _screen_reader_only.euiScreenReaderOnlyStyles)(showOnFocus);
25
- var cssStyles = [styles.euiScreenReaderOnly];
26
- var props = {
27
- className: classes.length ? classes : undefined,
28
- css: cssStyles
29
- };
25
+ var props = (0, _react.useMemo)(function () {
26
+ return {
27
+ className: classes.length ? classes : undefined,
28
+ css: showOnFocus ? _screen_reader_only.euiScreenReaderOnlyStyles['euiScreenReaderOnly-showOnFocus'] : _screen_reader_only.euiScreenReaderOnlyStyles.euiScreenReaderOnly
29
+ };
30
+ }, [classes, showOnFocus]);
30
31
  return (0, _services.cloneElementWithCss)(children, props);
31
32
  };
32
33
  exports.EuiScreenReaderOnly = EuiScreenReaderOnly;
@@ -26,9 +26,8 @@ var euiScreenReaderOnly = function euiScreenReaderOnly() {
26
26
  * Styles
27
27
  */
28
28
  exports.euiScreenReaderOnly = euiScreenReaderOnly;
29
- var euiScreenReaderOnlyStyles = function euiScreenReaderOnlyStyles(showOnFocus) {
30
- return {
31
- euiScreenReaderOnly: showOnFocus ? /*#__PURE__*/(0, _react.css)("&:not(:focus, :active, :focus-within){", euiScreenReaderOnly(), ";};label:euiScreenReaderOnly;") : /*#__PURE__*/(0, _react.css)(euiScreenReaderOnly(), ";label:euiScreenReaderOnly;")
32
- };
29
+ var euiScreenReaderOnlyStyles = {
30
+ euiScreenReaderOnly: /*#__PURE__*/(0, _react.css)(euiScreenReaderOnly(), ";label:euiScreenReaderOnly;"),
31
+ 'euiScreenReaderOnly-showOnFocus': /*#__PURE__*/(0, _react.css)("&:not(:focus, :active, :focus-within){", euiScreenReaderOnly(), ";};label:euiScreenReaderOnly-showOnFocus;")
33
32
  };
34
33
  exports.euiScreenReaderOnlyStyles = euiScreenReaderOnlyStyles;
@@ -40,9 +40,8 @@ var EuiSkipLink = function EuiSkipLink(_ref) {
40
40
  className = _ref.className,
41
41
  _onClick = _ref.onClick,
42
42
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
43
- var euiTheme = (0, _services.useEuiTheme)();
44
- var styles = (0, _skip_link.euiSkipLinkStyles)(euiTheme);
45
43
  var classes = (0, _classnames.default)('euiSkipLink', className);
44
+ var styles = (0, _services.useEuiMemoizedStyles)(_skip_link.euiSkipLinkStyles);
46
45
  var cssStyles = [styles.euiSkipLink, position !== 'static' ? styles[position] : undefined];
47
46
  var onClick = (0, _react.useCallback)(function (e) {
48
47
  var destinationEl = null;
@@ -1,15 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.EuiAspectRatio = void 0;
8
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
- var _react = _interopRequireDefault(require("react"));
11
+ var _react = _interopRequireWildcard(require("react"));
11
12
  var _classnames = _interopRequireDefault(require("classnames"));
12
- var _excluded = ["children", "className", "height", "width", "maxWidth", "style"];
13
+ var _global_styling = require("../../global_styling");
14
+ var _excluded = ["children", "className", "style", "height", "width", "maxWidth"];
13
15
  /*
14
16
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
15
17
  * or more contributor license agreements. Licensed under the Elastic License
@@ -17,27 +19,30 @@ var _excluded = ["children", "className", "height", "width", "maxWidth", "style"
17
19
  * in compliance with, at your election, the Elastic License 2.0 or the Server
18
20
  * Side Public License, v 1.
19
21
  */
22
+ 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
+ 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; }
20
24
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
25
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
22
26
  var EuiAspectRatio = function EuiAspectRatio(_ref) {
23
27
  var children = _ref.children,
24
28
  className = _ref.className,
29
+ style = _ref.style,
25
30
  height = _ref.height,
26
31
  width = _ref.width,
27
32
  maxWidth = _ref.maxWidth,
28
- style = _ref.style,
29
33
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
30
- var classes = (0, _classnames.default)('euiAspectRatio', className);
31
- var euiAspectRatioStyle = _objectSpread(_objectSpread({}, children.props.style), {}, {
32
- aspectRatio: "".concat(width, " / ").concat(height),
33
- height: 'auto',
34
- width: '100%',
35
- maxWidth: maxWidth
36
- }, style);
37
- var props = _objectSpread({
34
+ var classes = (0, _classnames.default)('euiAspectRatio', className, children.props.className);
35
+ var euiAspectRatioStyle = (0, _react.useMemo)(function () {
36
+ return (0, _global_styling.logicalStyles)({
37
+ aspectRatio: "".concat(width, " / ").concat(height),
38
+ height: 'auto',
39
+ width: '100%',
40
+ maxWidth: maxWidth
41
+ });
42
+ }, [height, width, maxWidth]);
43
+ return /*#__PURE__*/_react.default.cloneElement(children, _objectSpread(_objectSpread({}, rest), {}, {
38
44
  className: classes,
39
- style: euiAspectRatioStyle
40
- }, rest);
41
- return /*#__PURE__*/_react.default.cloneElement(children, props);
45
+ style: _objectSpread(_objectSpread(_objectSpread({}, children.props.style), euiAspectRatioStyle), style)
46
+ }));
42
47
  };
43
48
  exports.EuiAspectRatio = EuiAspectRatio;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
@@ -9,7 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
12
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
- var _react = _interopRequireDefault(require("react"));
13
+ var _react = _interopRequireWildcard(require("react"));
13
14
  var _classnames = _interopRequireDefault(require("classnames"));
14
15
  var _color = require("../../services/color");
15
16
  var _services = require("../../services");
@@ -25,8 +26,11 @@ var _excluded = ["className", "color", "imageUrl", "initials", "initialsLength",
25
26
  * in compliance with, at your election, the Elastic License 2.0 or the Server
26
27
  * Side Public License, v 1.
27
28
  */
29
+ 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); }
30
+ 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; }
28
31
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
32
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
33
+ var visColors = (0, _services.euiPaletteColorBlindBehindText)();
30
34
  var SIZES = ['s', 'm', 'l', 'xl'];
31
35
  exports.SIZES = SIZES;
32
36
  var TYPES = ['space', 'user'];
@@ -57,57 +61,55 @@ var EuiAvatar = function EuiAvatar(_ref) {
57
61
  isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
58
62
  style = _ref.style,
59
63
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
64
+ checkValidInitials(initials);
60
65
  var _props$casing = props.casing,
61
66
  casing = _props$casing === void 0 ? type === 'space' ? 'none' : 'uppercase' : _props$casing,
62
67
  rest = (0, _objectWithoutProperties2.default)(props, _excluded2);
63
- var euiTheme = (0, _services.useEuiTheme)();
64
- var styles = (0, _avatar.euiAvatarStyles)(euiTheme);
65
- var visColors = (0, _services.euiPaletteColorBlindBehindText)();
66
68
  var isPlain = color === 'plain';
67
69
  var isSubdued = color === 'subdued';
70
+ var isNamedColor = isPlain || isSubdued || color === null;
68
71
  var classes = (0, _classnames.default)('euiAvatar', (_classNames = {}, (0, _defineProperty2.default)(_classNames, "euiAvatar--".concat(size), size), (0, _defineProperty2.default)(_classNames, "euiAvatar--".concat(type), type), (0, _defineProperty2.default)(_classNames, 'euiAvatar-isDisabled', isDisabled), _classNames), className);
72
+ var styles = (0, _services.useEuiMemoizedStyles)(_avatar.euiAvatarStyles);
69
73
  var cssStyles = [styles.euiAvatar, styles[type], styles[size], styles[casing], isPlain && styles.plain, isSubdued && styles.subdued, isDisabled && styles.isDisabled];
70
- checkValidInitials(initials);
71
- var avatarStyle = _objectSpread({}, style);
72
- var iconCustomColor = iconColor;
73
- var isNamedColor = color === 'plain' || color === 'subdued' || color === null;
74
- if (!isNamedColor) {
75
- checkValidColor(color);
76
- var assignedColor = color || visColors[Math.floor(name.length % visColors.length)];
77
- var textColor = _color.isColorDark.apply(void 0, (0, _toConsumableArray2.default)((0, _color.hexToRgb)(assignedColor))) ? '#FFFFFF' : '#000000';
78
- avatarStyle.backgroundColor = assignedColor;
79
- avatarStyle.color = textColor;
80
-
81
- // Allow consumers to let the icons keep their default color (like app icons)
82
- // when passing `iconColor = null`, otherwise continue to pass on `iconColor` or adjust with textColor
83
- iconCustomColor = iconColor || iconColor === null ? iconColor : textColor;
84
- }
85
- if (imageUrl) {
86
- avatarStyle.backgroundImage = "url(".concat(imageUrl, ")");
87
- }
88
- var content;
89
- if (!imageUrl && !iconType) {
90
- // Create the initials
91
- var calculatedInitials = (0, _services.toInitials)(name, initialsLength, initials);
92
- content = (0, _react2.jsx)("span", {
93
- "aria-hidden": "true"
94
- }, calculatedInitials);
95
- } else if (iconType) {
96
- content = (0, _react2.jsx)(_icon.EuiIcon, {
97
- className: "euiAvatar__icon",
98
- size: iconSize || size,
99
- type: iconType,
100
- color: iconCustomColor === null ? undefined : iconCustomColor
101
- });
102
- }
74
+ var avatarStyle = (0, _react.useMemo)(function () {
75
+ if (imageUrl) {
76
+ return {
77
+ backgroundImage: "url(".concat(imageUrl, ")")
78
+ };
79
+ }
80
+ if (!isNamedColor) {
81
+ checkValidColor(color);
82
+ var assignedColor = color || visColors[Math.floor(name.length % visColors.length)];
83
+ var textColor = _color.isColorDark.apply(void 0, (0, _toConsumableArray2.default)((0, _color.hexToRgb)(assignedColor))) ? '#FFFFFF' : '#000000';
84
+ return {
85
+ backgroundColor: assignedColor,
86
+ color: textColor
87
+ };
88
+ }
89
+ }, [imageUrl, color, isNamedColor, name.length]);
90
+ var iconCustomColor = (0, _react.useMemo)(function () {
91
+ // `null` allows icons to keep their default color (e.g. app icons)
92
+ if (iconColor === null) return undefined;
93
+ // Otherwise continue to pass on `iconColor`
94
+ if (iconColor) return iconColor;
95
+ // Fall back to the adjusted text color if it exists
96
+ return avatarStyle === null || avatarStyle === void 0 ? void 0 : avatarStyle.color;
97
+ }, [iconColor, avatarStyle === null || avatarStyle === void 0 ? void 0 : avatarStyle.color]);
103
98
  return (0, _react2.jsx)("div", (0, _extends2.default)({
104
99
  css: cssStyles,
105
100
  className: classes,
106
- style: avatarStyle,
101
+ style: _objectSpread(_objectSpread({}, style), avatarStyle),
107
102
  "aria-label": isDisabled ? undefined : name,
108
103
  role: isDisabled ? 'presentation' : 'img',
109
104
  title: name
110
- }, rest), content);
105
+ }, rest), !imageUrl && (iconType ? (0, _react2.jsx)(_icon.EuiIcon, {
106
+ className: "euiAvatar__icon",
107
+ size: iconSize || size,
108
+ type: iconType,
109
+ color: iconCustomColor
110
+ }) : (0, _react2.jsx)("span", {
111
+ "aria-hidden": "true"
112
+ }, (0, _services.toInitials)(name, initialsLength, initials))));
111
113
  };
112
114
 
113
115
  // TODO: Migrate to a service
@@ -70,7 +70,7 @@ var euiAvatarStyles = function euiAvatarStyles(_ref8) {
70
70
  var euiTheme = _ref8.euiTheme;
71
71
  return {
72
72
  // Base
73
- euiAvatar: /*#__PURE__*/(0, _react.css)("flex-shrink:0;display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;background-size:cover;", (0, _global_styling.logicalTextAlignCSS)('center'), " ", (0, _global_styling.logicalCSS)('overflow-x', 'hidden'), "font-weight:", euiTheme.font.weight.medium, ";;label:euiAvatar;"),
73
+ euiAvatar: /*#__PURE__*/(0, _react.css)("flex-shrink:0;display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;background-size:cover;background-color:", euiTheme.colors.lightShade, ";", (0, _global_styling.logicalTextAlignCSS)('center'), " ", (0, _global_styling.logicalCSS)('overflow-x', 'hidden'), "font-weight:", euiTheme.font.weight.medium, ";;label:euiAvatar;"),
74
74
  // Variants
75
75
  plain: /*#__PURE__*/(0, _react.css)("background-color:", euiTheme.colors.emptyShade, ";;label:plain;"),
76
76
  subdued: /*#__PURE__*/(0, _react.css)("background-color:", euiTheme.colors.lightestShade, ";;label:subdued;"),
@@ -12,9 +12,9 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var _classnames = _interopRequireDefault(require("classnames"));
14
14
  var _services = require("../../services");
15
+ var _href_validator = require("../../services/security/href_validator");
15
16
  var _inner_text = require("../inner_text");
16
17
  var _icon = require("../icon");
17
- var _href_validator = require("../../services/security/href_validator");
18
18
  var _color_utils = require("./color_utils");
19
19
  var _badge = require("./badge.styles");
20
20
  var _react2 = require("@emotion/react");
@@ -53,10 +53,10 @@ var EuiBadge = function EuiBadge(_ref) {
53
53
  target = _ref.target,
54
54
  style = _ref.style,
55
55
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
56
- var euiTheme = (0, _services.useEuiTheme)();
57
56
  var isHrefValid = !href || (0, _href_validator.validateHref)(href);
58
57
  var isDisabled = _isDisabled || !isHrefValid;
59
58
  var isNamedColor = COLORS.includes(color);
59
+ var euiTheme = (0, _services.useEuiTheme)();
60
60
  var customColorStyles = (0, _react.useMemo)(function () {
61
61
  // Named colors set their styles via Emotion CSS and not inline styles
62
62
  if (isNamedColor) return style;
@@ -81,7 +81,7 @@ var EuiBadge = function EuiBadge(_ref) {
81
81
  }
82
82
  }
83
83
  }, [color, isNamedColor, style, euiTheme]);
84
- var styles = (0, _badge.euiBadgeStyles)(euiTheme);
84
+ var styles = (0, _services.useEuiMemoizedStyles)(_badge.euiBadgeStyles);
85
85
  var cssStyles = [styles.euiBadge, isNamedColor && styles[color], (onClick || href) && !iconOnClick && styles.clickable, isDisabled && styles.disabled];
86
86
  var textCssStyles = [styles.text.euiBadge__text, (onClick || href) && !isDisabled && styles.text.clickable];
87
87
  var iconCssStyles = [styles.icon.euiBadge__icon, styles.icon[iconSide]];