@elastic/eui 93.2.0 → 93.4.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 (418) hide show
  1. package/dist/eui_charts_theme.d.ts +9 -0
  2. package/dist/eui_charts_theme.js +56 -14
  3. package/dist/eui_charts_theme.js.map +1 -1
  4. package/dist/eui_theme_dark.css +3 -0
  5. package/dist/eui_theme_dark.min.css +1 -1
  6. package/dist/eui_theme_light.css +3 -0
  7. package/dist/eui_theme_light.min.css +1 -1
  8. package/es/components/breadcrumbs/_breadcrumb_content.js +362 -0
  9. package/es/components/breadcrumbs/_breadcrumb_content.styles.js +48 -0
  10. package/es/components/breadcrumbs/breadcrumb.js +10 -324
  11. package/es/components/breadcrumbs/breadcrumb.styles.js +5 -27
  12. package/es/components/breadcrumbs/breadcrumbs.js +8 -6
  13. package/es/components/breadcrumbs/types.js +1 -0
  14. package/es/components/button/button_display/_button_display.js +2 -3
  15. package/es/components/button/button_empty/button_empty.js +2 -3
  16. package/es/components/button/button_group/button_group.js +19 -7
  17. package/es/components/button/button_group/button_group.styles.js +11 -14
  18. package/es/components/button/button_group/button_group_button.js +59 -5
  19. package/es/components/button/button_group/button_group_button.styles.js +39 -3
  20. package/es/components/button/button_icon/button_icon.js +4 -5
  21. package/es/components/button/button_icon/button_icon.styles.js +11 -3
  22. package/es/components/datagrid/body/cell/data_grid_cell.js +102 -59
  23. package/es/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  24. package/es/components/datagrid/body/cell/data_grid_cell_popover.js +64 -56
  25. package/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
  26. package/es/components/datagrid/body/cell/index.js +1 -1
  27. package/es/components/datagrid/body/data_grid_body.js +14 -0
  28. package/es/components/datagrid/body/data_grid_body_custom.js +54 -35
  29. package/es/components/datagrid/body/data_grid_body_virtualized.js +87 -56
  30. package/es/components/datagrid/body/data_grid_row_manager.js +7 -5
  31. package/es/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  32. package/es/components/datagrid/body/header/data_grid_control_header_cell.js +5 -4
  33. package/es/components/datagrid/body/header/data_grid_header_cell.js +73 -53
  34. package/es/components/datagrid/body/header/data_grid_header_row.js +15 -551
  35. package/es/components/datagrid/body/header/use_data_grid_header.js +7 -6
  36. package/es/components/datagrid/controls/column_selector.js +126 -123
  37. package/es/components/datagrid/controls/column_sorting.js +605 -103
  38. package/es/components/datagrid/controls/column_sorting_draggable.js +24 -22
  39. package/es/components/datagrid/controls/display_selector.js +109 -107
  40. package/es/components/datagrid/data_grid.a11y.js +13 -12
  41. package/es/components/datagrid/data_grid.js +47 -22
  42. package/es/components/datagrid/utils/col_widths.js +12 -8
  43. package/es/components/datagrid/utils/focus.js +10 -8
  44. package/es/components/datagrid/utils/grid_height_width.js +31 -30
  45. package/es/components/datagrid/utils/ref.js +1 -1
  46. package/es/components/datagrid/utils/row_heights.js +2 -2
  47. package/es/components/datagrid/utils/sorting.js +29 -27
  48. package/es/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  49. package/es/components/date_picker/super_date_picker/super_update_button.js +57 -29
  50. package/es/components/facet/facet_button.styles.js +1 -2
  51. package/es/components/flex/flex_grid.js +22 -8
  52. package/es/components/flex/flex_grid.styles.js +13 -6
  53. package/es/components/flex/flex_group.js +10 -11
  54. package/es/components/flex/flex_item.js +9 -11
  55. package/es/components/flex/flex_item.styles.js +107 -122
  56. package/es/components/flyout/flyout.js +16 -18
  57. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +7 -7
  58. package/es/components/icon/icon.js +13 -16
  59. package/es/components/icon/icon.styles.js +6 -9
  60. package/es/components/link/external_link_icon.js +11 -8
  61. package/es/components/link/link.js +2 -3
  62. package/es/components/link/link.styles.js +4 -10
  63. package/es/components/modal/confirm_modal.js +2 -1
  64. package/es/components/modal/modal.js +12 -3
  65. package/es/components/observer/resize_observer/resize_observer.js +15 -24
  66. package/es/components/page/page_header/page_header_content.js +4 -2
  67. package/es/components/progress/progress.styles.js +2 -2
  68. package/es/components/skeleton/skeleton_circle.js +2 -3
  69. package/es/components/skeleton/skeleton_rectangle.js +2 -3
  70. package/es/components/skeleton/skeleton_text.js +16 -12
  71. package/es/components/skeleton/skeleton_title.js +2 -3
  72. package/es/components/spacer/spacer.js +2 -3
  73. package/es/components/text/text.js +2 -3
  74. package/es/components/text/text_align.js +1 -2
  75. package/es/components/text/text_align.styles.js +5 -7
  76. package/es/components/text/text_color.js +2 -3
  77. package/es/components/title/title.js +2 -3
  78. package/es/components/title/title.styles.js +0 -7
  79. package/es/components/toast/global_toast_list.js +70 -73
  80. package/es/components/toast/toast.js +27 -42
  81. package/es/components/toast/toast.styles.js +2 -17
  82. package/es/global_styling/mixins/_typography.js +17 -6
  83. package/es/services/color/eui_palettes.js +21 -13
  84. package/es/services/color/index.js +1 -1
  85. package/es/services/hooks/index.js +1 -0
  86. package/es/services/hooks/useDeepEqual.js +23 -0
  87. package/es/services/index.js +1 -1
  88. package/es/services/theme/index.js +1 -1
  89. package/es/services/theme/style_memoization.js +47 -14
  90. package/es/themes/amsterdam/global_styling/mixins/button.js +47 -24
  91. package/eui.d.ts +2862 -2748
  92. package/i18ntokens.json +267 -267
  93. package/lib/components/breadcrumbs/_breadcrumb_content.js +372 -0
  94. package/lib/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  95. package/lib/components/breadcrumbs/breadcrumb.js +11 -328
  96. package/lib/components/breadcrumbs/breadcrumb.styles.js +5 -29
  97. package/lib/components/breadcrumbs/breadcrumbs.js +7 -5
  98. package/lib/components/breadcrumbs/types.js +5 -0
  99. package/lib/components/button/button_display/_button_display.js +1 -2
  100. package/lib/components/button/button_empty/button_empty.js +1 -2
  101. package/lib/components/button/button_group/button_group.js +18 -6
  102. package/lib/components/button/button_group/button_group.styles.js +11 -14
  103. package/lib/components/button/button_group/button_group_button.js +59 -5
  104. package/lib/components/button/button_group/button_group_button.styles.js +45 -11
  105. package/lib/components/button/button_icon/button_icon.js +3 -4
  106. package/lib/components/button/button_icon/button_icon.styles.js +10 -2
  107. package/lib/components/datagrid/body/cell/data_grid_cell.js +100 -58
  108. package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  109. package/lib/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  110. package/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
  111. package/lib/components/datagrid/body/cell/index.js +2 -2
  112. package/lib/components/datagrid/body/data_grid_body.js +14 -0
  113. package/lib/components/datagrid/body/data_grid_body_custom.js +53 -34
  114. package/lib/components/datagrid/body/data_grid_body_virtualized.js +86 -55
  115. package/lib/components/datagrid/body/data_grid_row_manager.js +6 -4
  116. package/lib/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  117. package/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  118. package/lib/components/datagrid/body/header/data_grid_header_cell.js +72 -52
  119. package/lib/components/datagrid/body/header/data_grid_header_row.js +14 -550
  120. package/lib/components/datagrid/body/header/use_data_grid_header.js +7 -6
  121. package/lib/components/datagrid/controls/column_selector.js +126 -123
  122. package/lib/components/datagrid/controls/column_sorting.js +615 -110
  123. package/lib/components/datagrid/controls/column_sorting_draggable.js +27 -22
  124. package/lib/components/datagrid/controls/display_selector.js +109 -107
  125. package/lib/components/datagrid/data_grid.a11y.js +13 -12
  126. package/lib/components/datagrid/data_grid.js +45 -20
  127. package/lib/components/datagrid/utils/col_widths.js +12 -8
  128. package/lib/components/datagrid/utils/focus.js +10 -8
  129. package/lib/components/datagrid/utils/grid_height_width.js +29 -28
  130. package/lib/components/datagrid/utils/ref.js +1 -1
  131. package/lib/components/datagrid/utils/row_heights.js +1 -1
  132. package/lib/components/datagrid/utils/sorting.js +31 -29
  133. package/lib/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  134. package/lib/components/date_picker/super_date_picker/super_update_button.js +57 -29
  135. package/lib/components/facet/facet_button.styles.js +1 -2
  136. package/lib/components/flex/flex_grid.js +23 -7
  137. package/lib/components/flex/flex_grid.styles.js +13 -6
  138. package/lib/components/flex/flex_group.js +10 -10
  139. package/lib/components/flex/flex_item.js +13 -13
  140. package/lib/components/flex/flex_item.styles.js +107 -122
  141. package/lib/components/flyout/flyout.js +16 -18
  142. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +7 -7
  143. package/lib/components/icon/icon.js +12 -15
  144. package/lib/components/icon/icon.styles.js +5 -8
  145. package/lib/components/link/external_link_icon.js +10 -7
  146. package/lib/components/link/link.js +1 -2
  147. package/lib/components/link/link.styles.js +6 -14
  148. package/lib/components/modal/confirm_modal.js +2 -1
  149. package/lib/components/modal/modal.js +12 -3
  150. package/lib/components/observer/resize_observer/resize_observer.js +15 -24
  151. package/lib/components/page/page_header/page_header_content.js +4 -2
  152. package/lib/components/progress/progress.styles.js +1 -1
  153. package/lib/components/skeleton/skeleton_circle.js +1 -2
  154. package/lib/components/skeleton/skeleton_rectangle.js +1 -2
  155. package/lib/components/skeleton/skeleton_text.js +18 -11
  156. package/lib/components/skeleton/skeleton_title.js +1 -2
  157. package/lib/components/spacer/spacer.js +1 -2
  158. package/lib/components/text/text.js +1 -2
  159. package/lib/components/text/text_align.js +1 -2
  160. package/lib/components/text/text_align.styles.js +5 -7
  161. package/lib/components/text/text_color.js +1 -2
  162. package/lib/components/title/title.js +1 -2
  163. package/lib/components/title/title.styles.js +2 -10
  164. package/lib/components/toast/global_toast_list.js +68 -71
  165. package/lib/components/toast/toast.js +25 -40
  166. package/lib/components/toast/toast.styles.js +11 -25
  167. package/lib/global_styling/mixins/_typography.js +27 -19
  168. package/lib/services/color/eui_palettes.js +24 -14
  169. package/lib/services/color/index.js +14 -0
  170. package/lib/services/hooks/index.js +11 -0
  171. package/lib/services/hooks/useDeepEqual.js +30 -0
  172. package/lib/services/index.js +15 -1
  173. package/lib/services/theme/index.js +6 -0
  174. package/lib/services/theme/style_memoization.js +49 -16
  175. package/lib/themes/amsterdam/global_styling/mixins/button.js +49 -25
  176. package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +153 -0
  177. package/optimize/es/components/breadcrumbs/_breadcrumb_content.styles.js +48 -0
  178. package/optimize/es/components/breadcrumbs/breadcrumb.js +10 -109
  179. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +5 -27
  180. package/optimize/es/components/breadcrumbs/breadcrumbs.js +4 -4
  181. package/optimize/es/components/breadcrumbs/types.js +1 -0
  182. package/optimize/es/components/button/button_display/_button_display.js +2 -3
  183. package/optimize/es/components/button/button_empty/button_empty.js +2 -3
  184. package/optimize/es/components/button/button_group/button_group.js +5 -7
  185. package/optimize/es/components/button/button_group/button_group.styles.js +11 -14
  186. package/optimize/es/components/button/button_group/button_group_button.js +36 -4
  187. package/optimize/es/components/button/button_group/button_group_button.styles.js +39 -3
  188. package/optimize/es/components/button/button_icon/button_icon.js +4 -5
  189. package/optimize/es/components/button/button_icon/button_icon.styles.js +8 -3
  190. package/optimize/es/components/datagrid/body/cell/data_grid_cell.js +83 -56
  191. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  192. package/optimize/es/components/datagrid/body/cell/data_grid_cell_popover.js +64 -56
  193. package/optimize/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
  194. package/optimize/es/components/datagrid/body/cell/index.js +1 -1
  195. package/optimize/es/components/datagrid/body/data_grid_body_custom.js +40 -35
  196. package/optimize/es/components/datagrid/body/data_grid_body_virtualized.js +71 -49
  197. package/optimize/es/components/datagrid/body/data_grid_row_manager.js +7 -5
  198. package/optimize/es/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  199. package/optimize/es/components/datagrid/body/header/data_grid_control_header_cell.js +4 -3
  200. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +65 -49
  201. package/optimize/es/components/datagrid/body/header/data_grid_header_row.js +15 -13
  202. package/optimize/es/components/datagrid/body/header/use_data_grid_header.js +7 -6
  203. package/optimize/es/components/datagrid/controls/column_selector.js +126 -123
  204. package/optimize/es/components/datagrid/controls/column_sorting.js +121 -103
  205. package/optimize/es/components/datagrid/controls/column_sorting_draggable.js +24 -22
  206. package/optimize/es/components/datagrid/controls/display_selector.js +109 -107
  207. package/optimize/es/components/datagrid/data_grid.a11y.js +13 -12
  208. package/optimize/es/components/datagrid/data_grid.js +47 -22
  209. package/optimize/es/components/datagrid/utils/col_widths.js +9 -5
  210. package/optimize/es/components/datagrid/utils/focus.js +10 -8
  211. package/optimize/es/components/datagrid/utils/grid_height_width.js +31 -30
  212. package/optimize/es/components/datagrid/utils/ref.js +1 -1
  213. package/optimize/es/components/datagrid/utils/row_heights.js +2 -2
  214. package/optimize/es/components/datagrid/utils/sorting.js +29 -27
  215. package/optimize/es/components/date_picker/super_date_picker/super_update_button.js +49 -29
  216. package/optimize/es/components/facet/facet_button.styles.js +1 -2
  217. package/optimize/es/components/flex/flex_grid.js +19 -8
  218. package/optimize/es/components/flex/flex_grid.styles.js +13 -6
  219. package/optimize/es/components/flex/flex_group.js +9 -10
  220. package/optimize/es/components/flex/flex_item.js +9 -11
  221. package/optimize/es/components/flex/flex_item.styles.js +107 -122
  222. package/optimize/es/components/flyout/flyout.js +16 -18
  223. package/optimize/es/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  224. package/optimize/es/components/icon/icon.js +13 -16
  225. package/optimize/es/components/icon/icon.styles.js +6 -9
  226. package/optimize/es/components/link/external_link_icon.js +11 -8
  227. package/optimize/es/components/link/link.js +2 -3
  228. package/optimize/es/components/link/link.styles.js +4 -10
  229. package/optimize/es/components/modal/confirm_modal.js +2 -1
  230. package/optimize/es/components/modal/modal.js +6 -2
  231. package/optimize/es/components/observer/resize_observer/resize_observer.js +15 -24
  232. package/optimize/es/components/progress/progress.styles.js +2 -2
  233. package/optimize/es/components/skeleton/skeleton_circle.js +2 -3
  234. package/optimize/es/components/skeleton/skeleton_rectangle.js +2 -3
  235. package/optimize/es/components/skeleton/skeleton_text.js +16 -12
  236. package/optimize/es/components/skeleton/skeleton_title.js +2 -3
  237. package/optimize/es/components/spacer/spacer.js +2 -3
  238. package/optimize/es/components/text/text.js +2 -3
  239. package/optimize/es/components/text/text_align.js +1 -2
  240. package/optimize/es/components/text/text_align.styles.js +5 -7
  241. package/optimize/es/components/text/text_color.js +2 -3
  242. package/optimize/es/components/title/title.js +2 -3
  243. package/optimize/es/components/title/title.styles.js +0 -7
  244. package/optimize/es/components/toast/global_toast_list.js +70 -73
  245. package/optimize/es/components/toast/toast.js +27 -42
  246. package/optimize/es/components/toast/toast.styles.js +2 -17
  247. package/optimize/es/global_styling/mixins/_typography.js +14 -6
  248. package/optimize/es/services/color/eui_palettes.js +21 -13
  249. package/optimize/es/services/color/index.js +1 -1
  250. package/optimize/es/services/hooks/index.js +1 -0
  251. package/optimize/es/services/hooks/useDeepEqual.js +23 -0
  252. package/optimize/es/services/index.js +1 -1
  253. package/optimize/es/services/theme/index.js +1 -1
  254. package/optimize/es/services/theme/style_memoization.js +47 -14
  255. package/optimize/es/themes/amsterdam/global_styling/mixins/button.js +47 -24
  256. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +163 -0
  257. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  258. package/optimize/lib/components/breadcrumbs/breadcrumb.js +10 -112
  259. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +5 -29
  260. package/optimize/lib/components/breadcrumbs/breadcrumbs.js +3 -3
  261. package/optimize/lib/components/breadcrumbs/types.js +5 -0
  262. package/optimize/lib/components/button/button_display/_button_display.js +1 -2
  263. package/optimize/lib/components/button/button_empty/button_empty.js +1 -2
  264. package/optimize/lib/components/button/button_group/button_group.js +4 -6
  265. package/optimize/lib/components/button/button_group/button_group.styles.js +11 -14
  266. package/optimize/lib/components/button/button_group/button_group_button.js +37 -5
  267. package/optimize/lib/components/button/button_group/button_group_button.styles.js +45 -11
  268. package/optimize/lib/components/button/button_icon/button_icon.js +3 -4
  269. package/optimize/lib/components/button/button_icon/button_icon.styles.js +8 -2
  270. package/optimize/lib/components/datagrid/body/cell/data_grid_cell.js +81 -55
  271. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  272. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  273. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
  274. package/optimize/lib/components/datagrid/body/cell/index.js +2 -2
  275. package/optimize/lib/components/datagrid/body/data_grid_body_custom.js +39 -34
  276. package/optimize/lib/components/datagrid/body/data_grid_body_virtualized.js +72 -50
  277. package/optimize/lib/components/datagrid/body/data_grid_row_manager.js +6 -4
  278. package/optimize/lib/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  279. package/optimize/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  280. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +65 -49
  281. package/optimize/lib/components/datagrid/body/header/data_grid_header_row.js +14 -12
  282. package/optimize/lib/components/datagrid/body/header/use_data_grid_header.js +7 -6
  283. package/optimize/lib/components/datagrid/controls/column_selector.js +126 -123
  284. package/optimize/lib/components/datagrid/controls/column_sorting.js +125 -107
  285. package/optimize/lib/components/datagrid/controls/column_sorting_draggable.js +27 -22
  286. package/optimize/lib/components/datagrid/controls/display_selector.js +109 -107
  287. package/optimize/lib/components/datagrid/data_grid.a11y.js +13 -12
  288. package/optimize/lib/components/datagrid/data_grid.js +45 -20
  289. package/optimize/lib/components/datagrid/utils/col_widths.js +9 -5
  290. package/optimize/lib/components/datagrid/utils/focus.js +10 -8
  291. package/optimize/lib/components/datagrid/utils/grid_height_width.js +29 -28
  292. package/optimize/lib/components/datagrid/utils/ref.js +1 -1
  293. package/optimize/lib/components/datagrid/utils/row_heights.js +1 -1
  294. package/optimize/lib/components/datagrid/utils/sorting.js +31 -29
  295. package/optimize/lib/components/date_picker/super_date_picker/super_update_button.js +49 -29
  296. package/optimize/lib/components/facet/facet_button.styles.js +1 -2
  297. package/optimize/lib/components/flex/flex_grid.js +21 -7
  298. package/optimize/lib/components/flex/flex_grid.styles.js +13 -6
  299. package/optimize/lib/components/flex/flex_group.js +9 -9
  300. package/optimize/lib/components/flex/flex_item.js +13 -13
  301. package/optimize/lib/components/flex/flex_item.styles.js +107 -122
  302. package/optimize/lib/components/flyout/flyout.js +16 -18
  303. package/optimize/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  304. package/optimize/lib/components/icon/icon.js +12 -15
  305. package/optimize/lib/components/icon/icon.styles.js +5 -8
  306. package/optimize/lib/components/link/external_link_icon.js +10 -7
  307. package/optimize/lib/components/link/link.js +1 -2
  308. package/optimize/lib/components/link/link.styles.js +6 -14
  309. package/optimize/lib/components/modal/confirm_modal.js +2 -1
  310. package/optimize/lib/components/modal/modal.js +6 -2
  311. package/optimize/lib/components/observer/resize_observer/resize_observer.js +15 -24
  312. package/optimize/lib/components/progress/progress.styles.js +1 -1
  313. package/optimize/lib/components/skeleton/skeleton_circle.js +1 -2
  314. package/optimize/lib/components/skeleton/skeleton_rectangle.js +1 -2
  315. package/optimize/lib/components/skeleton/skeleton_text.js +18 -11
  316. package/optimize/lib/components/skeleton/skeleton_title.js +1 -2
  317. package/optimize/lib/components/spacer/spacer.js +1 -2
  318. package/optimize/lib/components/text/text.js +1 -2
  319. package/optimize/lib/components/text/text_align.js +1 -2
  320. package/optimize/lib/components/text/text_align.styles.js +5 -7
  321. package/optimize/lib/components/text/text_color.js +1 -2
  322. package/optimize/lib/components/title/title.js +1 -2
  323. package/optimize/lib/components/title/title.styles.js +2 -10
  324. package/optimize/lib/components/toast/global_toast_list.js +68 -71
  325. package/optimize/lib/components/toast/toast.js +25 -40
  326. package/optimize/lib/components/toast/toast.styles.js +11 -25
  327. package/optimize/lib/global_styling/mixins/_typography.js +25 -19
  328. package/optimize/lib/services/color/eui_palettes.js +24 -14
  329. package/optimize/lib/services/color/index.js +14 -0
  330. package/optimize/lib/services/hooks/index.js +11 -0
  331. package/optimize/lib/services/hooks/useDeepEqual.js +30 -0
  332. package/optimize/lib/services/index.js +15 -1
  333. package/optimize/lib/services/theme/index.js +6 -0
  334. package/optimize/lib/services/theme/style_memoization.js +49 -16
  335. package/optimize/lib/themes/amsterdam/global_styling/mixins/button.js +49 -26
  336. package/package.json +3 -3
  337. package/src/components/datagrid/_data_grid_data_row.scss +4 -0
  338. package/test-env/components/breadcrumbs/_breadcrumb_content.js +363 -0
  339. package/test-env/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  340. package/test-env/components/breadcrumbs/breadcrumb.js +11 -323
  341. package/test-env/components/breadcrumbs/breadcrumb.styles.js +5 -29
  342. package/test-env/components/breadcrumbs/breadcrumbs.js +7 -5
  343. package/test-env/components/breadcrumbs/types.js +5 -0
  344. package/test-env/components/button/button_display/_button_display.js +1 -2
  345. package/test-env/components/button/button_empty/button_empty.js +1 -2
  346. package/test-env/components/button/button_group/button_group.js +18 -6
  347. package/test-env/components/button/button_group/button_group.styles.js +11 -14
  348. package/test-env/components/button/button_group/button_group_button.js +56 -5
  349. package/test-env/components/button/button_group/button_group_button.styles.js +45 -11
  350. package/test-env/components/button/button_icon/button_icon.js +3 -4
  351. package/test-env/components/button/button_icon/button_icon.styles.js +8 -2
  352. package/test-env/components/datagrid/body/cell/data_grid_cell.js +100 -58
  353. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  354. package/test-env/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  355. package/test-env/components/datagrid/body/cell/data_grid_cell_wrapper.js +34 -31
  356. package/test-env/components/datagrid/body/cell/index.js +2 -2
  357. package/test-env/components/datagrid/body/data_grid_body.js +14 -0
  358. package/test-env/components/datagrid/body/data_grid_body_custom.js +53 -34
  359. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +86 -55
  360. package/test-env/components/datagrid/body/data_grid_row_manager.js +6 -4
  361. package/test-env/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  362. package/test-env/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  363. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +72 -52
  364. package/test-env/components/datagrid/body/header/data_grid_header_row.js +14 -550
  365. package/test-env/components/datagrid/body/header/use_data_grid_header.js +7 -6
  366. package/test-env/components/datagrid/controls/column_selector.js +126 -123
  367. package/test-env/components/datagrid/controls/column_sorting.js +607 -106
  368. package/test-env/components/datagrid/controls/column_sorting_draggable.js +27 -22
  369. package/test-env/components/datagrid/controls/display_selector.js +109 -107
  370. package/test-env/components/datagrid/data_grid.a11y.js +13 -12
  371. package/test-env/components/datagrid/data_grid.js +45 -20
  372. package/test-env/components/datagrid/utils/col_widths.js +9 -5
  373. package/test-env/components/datagrid/utils/focus.js +10 -8
  374. package/test-env/components/datagrid/utils/grid_height_width.js +29 -28
  375. package/test-env/components/datagrid/utils/ref.js +1 -1
  376. package/test-env/components/datagrid/utils/row_heights.js +1 -1
  377. package/test-env/components/datagrid/utils/sorting.js +31 -29
  378. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  379. package/test-env/components/date_picker/super_date_picker/super_update_button.js +57 -29
  380. package/test-env/components/facet/facet_button.styles.js +1 -2
  381. package/test-env/components/flex/flex_grid.js +21 -7
  382. package/test-env/components/flex/flex_grid.styles.js +13 -6
  383. package/test-env/components/flex/flex_group.js +10 -10
  384. package/test-env/components/flex/flex_item.js +13 -13
  385. package/test-env/components/flex/flex_item.styles.js +107 -122
  386. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +7 -7
  387. package/test-env/components/icon/icon.styles.js +5 -8
  388. package/test-env/components/link/external_link_icon.js +10 -7
  389. package/test-env/components/link/link.js +1 -2
  390. package/test-env/components/link/link.styles.js +6 -14
  391. package/test-env/components/modal/confirm_modal.js +2 -1
  392. package/test-env/components/modal/modal.js +12 -3
  393. package/test-env/components/page/page_header/page_header_content.js +4 -2
  394. package/test-env/components/progress/progress.styles.js +1 -1
  395. package/test-env/components/skeleton/skeleton_circle.js +1 -2
  396. package/test-env/components/skeleton/skeleton_rectangle.js +1 -2
  397. package/test-env/components/skeleton/skeleton_text.js +18 -11
  398. package/test-env/components/skeleton/skeleton_title.js +1 -2
  399. package/test-env/components/spacer/spacer.js +1 -2
  400. package/test-env/components/text/text.js +1 -2
  401. package/test-env/components/text/text_align.js +1 -2
  402. package/test-env/components/text/text_align.styles.js +5 -7
  403. package/test-env/components/text/text_color.js +1 -2
  404. package/test-env/components/title/title.js +1 -2
  405. package/test-env/components/title/title.styles.js +2 -10
  406. package/test-env/components/toast/global_toast_list.js +68 -71
  407. package/test-env/components/toast/toast.js +25 -40
  408. package/test-env/components/toast/toast.styles.js +11 -25
  409. package/test-env/global_styling/mixins/_typography.js +25 -19
  410. package/test-env/services/color/eui_palettes.js +24 -14
  411. package/test-env/services/color/index.js +14 -0
  412. package/test-env/services/hooks/index.js +11 -0
  413. package/test-env/services/hooks/useDeepEqual.js +30 -0
  414. package/test-env/services/index.js +15 -1
  415. package/test-env/services/theme/index.js +6 -0
  416. package/test-env/services/theme/style_memoization.js +49 -16
  417. package/test-env/themes/amsterdam/global_styling/mixins/button.js +49 -26
  418. package/src/themes/charts/theme.scss +0 -5
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.EuiButtonGroupButton = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
@@ -16,8 +17,9 @@ var _button = require("../../../themes/amsterdam/global_styling/mixins/button");
16
17
  var _inner_text = require("../../inner_text");
17
18
  var _button_display = require("../button_display/_button_display");
18
19
  var _button_group_button = require("./button_group_button.styles");
20
+ var _tool_tip = require("../../../components/tool_tip");
19
21
  var _react2 = require("@emotion/react");
20
- var _excluded = ["className", "id", "isDisabled", "isIconOnly", "isSelected", "label", "value", "size", "color"];
22
+ var _excluded = ["className", "id", "isDisabled", "isIconOnly", "isSelected", "label", "value", "size", "color", "toolTipContent", "toolTipProps"];
21
23
  /*
22
24
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
23
25
  * or more contributor license agreements. Licensed under the Elastic License
@@ -25,6 +27,8 @@ var _excluded = ["className", "id", "isDisabled", "isIconOnly", "isSelected", "l
25
27
  * in compliance with, at your election, the Elastic License 2.0 or the Server
26
28
  * Side Public License, v 1.
27
29
  */
30
+ 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; }
31
+ 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; }
28
32
  var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
29
33
  var className = _ref.className,
30
34
  id = _ref.id,
@@ -37,17 +41,21 @@ var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
37
41
  size = _ref.size,
38
42
  _ref$color = _ref.color,
39
43
  _color = _ref$color === void 0 ? 'primary' : _ref$color,
44
+ toolTipContent = _ref.toolTipContent,
45
+ toolTipProps = _ref.toolTipProps,
40
46
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
41
47
  var isCompressed = size === 'compressed';
42
48
  var color = isDisabled ? 'disabled' : _color;
43
49
  var display = isSelected ? 'fill' : isCompressed ? 'empty' : 'base';
50
+ var hasToolTip = !!toolTipContent;
44
51
  var euiTheme = (0, _services.useEuiTheme)();
45
52
  var buttonColorStyles = (0, _button.useEuiButtonColorCSS)({
46
53
  display: display
47
54
  })[color];
48
55
  var focusColorStyles = isCompressed ? (0, _button_group_button._compressedButtonFocusColor)(euiTheme, color) : (0, _button_group_button._uncompressedButtonFocus)(euiTheme);
49
56
  var styles = (0, _button_group_button.euiButtonGroupButtonStyles)(euiTheme);
50
- var cssStyles = [styles.euiButtonGroupButton, isIconOnly && styles.iconOnly, styles[size], !isCompressed && styles.uncompressed, isDisabled && isSelected ? styles.disabledAndSelected : buttonColorStyles, !isDisabled && focusColorStyles];
57
+ var cssStyles = [styles.euiButtonGroupButton, isIconOnly && styles.iconOnly, !isCompressed && (hasToolTip ? styles.uncompressed.hasToolTip : styles.uncompressed[size]), isCompressed ? styles.compressed : styles.uncompressed.uncompressed, isDisabled && isSelected ? styles.disabledAndSelected : buttonColorStyles, !isDisabled && focusColorStyles];
58
+ var tooltipWrapperStyles = [styles.tooltipWrapper, !isCompressed && styles.uncompressed[size]];
51
59
  var contentStyles = [styles.content.euiButtonGroupButton__content, isCompressed && styles.content.compressed];
52
60
  var textStyles = [isIconOnly ? styles.text.euiButtonGroupButton__iconOnly : styles.text.euiButtonGroupButton__text];
53
61
  var buttonClasses = (0, _classnames.default)('euiButtonGroupButton', {
@@ -64,7 +72,12 @@ var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
64
72
  _useInnerText2 = (0, _slicedToArray2.default)(_useInnerText, 2),
65
73
  buttonTextRef = _useInnerText2[0],
66
74
  innerText = _useInnerText2[1];
67
- return (0, _react2.jsx)(_button_display.EuiButtonDisplay, (0, _extends2.default)({
75
+ return (0, _react2.jsx)(EuiButtonGroupButtonWithToolTip, {
76
+ toolTipContent: toolTipContent,
77
+ toolTipProps: toolTipProps,
78
+ wrapperCss: tooltipWrapperStyles,
79
+ isSelected: isSelected
80
+ }, (0, _react2.jsx)(_button_display.EuiButtonDisplay, (0, _extends2.default)({
68
81
  css: cssStyles,
69
82
  className: buttonClasses,
70
83
  isDisabled: isDisabled,
@@ -80,7 +93,7 @@ var EuiButtonGroupButton = function EuiButtonGroupButton(_ref) {
80
93
  title: innerText,
81
94
  "data-test-subj": id,
82
95
  isSelected: isSelected
83
- }, rest), label);
96
+ }, rest), label));
84
97
  };
85
98
  exports.EuiButtonGroupButton = EuiButtonGroupButton;
86
99
  EuiButtonGroupButton.propTypes = {
@@ -101,6 +114,20 @@ EuiButtonGroupButton.propTypes = {
101
114
  * The type of the underlying HTML button
102
115
  */
103
116
  type: _propTypes.default.any,
117
+ /**
118
+ * By default, will use the button text for the native browser title.
119
+ *
120
+ * This can be either customized or unset via `title: ''` if necessary.
121
+ */
122
+ title: _propTypes.default.any,
123
+ /**
124
+ * Optional custom tooltip content for the button
125
+ */
126
+ toolTipContent: _propTypes.default.node,
127
+ /**
128
+ * Optional props to pass to the underlying **[EuiToolTip](/#/display/tooltip)**
129
+ */
130
+ toolTipProps: _propTypes.default.any,
104
131
  /**
105
132
  * Any `type` accepted by EuiIcon
106
133
  */
@@ -139,7 +166,7 @@ EuiButtonGroupButton.propTypes = {
139
166
  /**
140
167
  * Inherit from EuiButtonGroup
141
168
  */
142
- size: _propTypes.default.oneOf(["s", "m", "compressed"]).isRequired,
169
+ size: _propTypes.default.any.isRequired,
143
170
  /**
144
171
  * Inherit from EuiButtonGroup
145
172
  */
@@ -148,4 +175,28 @@ EuiButtonGroupButton.propTypes = {
148
175
  * Inherit from EuiButtonGroup
149
176
  */
150
177
  onClick: _propTypes.default.func.isRequired
178
+ };
179
+ var EuiButtonGroupButtonWithToolTip = function EuiButtonGroupButtonWithToolTip(_ref2) {
180
+ var _toolTipProps$anchorP, _toolTipProps$anchorP2;
181
+ var toolTipContent = _ref2.toolTipContent,
182
+ toolTipProps = _ref2.toolTipProps,
183
+ wrapperCss = _ref2.wrapperCss,
184
+ isSelected = _ref2.isSelected,
185
+ children = _ref2.children;
186
+ return toolTipContent ? (0, _react2.jsx)(_tool_tip.EuiToolTip, (0, _extends2.default)({
187
+ content: toolTipContent,
188
+ position: "top"
189
+ }, toolTipProps, {
190
+ anchorProps: _objectSpread(_objectSpread({}, toolTipProps === null || toolTipProps === void 0 ? void 0 : toolTipProps.anchorProps), {}, {
191
+ className: (0, _classnames.default)('euiButtonGroup__tooltipWrapper', {
192
+ 'euiButtonGroup__tooltipWrapper-isSelected': isSelected
193
+ }, toolTipProps === null || toolTipProps === void 0 ? void 0 : (_toolTipProps$anchorP = toolTipProps.anchorProps) === null || _toolTipProps$anchorP === void 0 ? void 0 : _toolTipProps$anchorP.className),
194
+ css: [wrapperCss, toolTipProps === null || toolTipProps === void 0 ? void 0 : (_toolTipProps$anchorP2 = toolTipProps.anchorProps) === null || _toolTipProps$anchorP2 === void 0 ? void 0 : _toolTipProps$anchorP2.css]
195
+ })
196
+ }), children) : children;
197
+ };
198
+ EuiButtonGroupButtonWithToolTip.propTypes = {
199
+ children: _propTypes.default.element.isRequired,
200
+ wrapperCss: _propTypes.default.any.isRequired,
201
+ isSelected: _propTypes.default.bool.isRequired
151
202
  };
@@ -10,14 +10,29 @@ var _global_styling = require("../../../global_styling");
10
10
  var _button = require("../../../themes/amsterdam/global_styling/mixins/button");
11
11
  var _accessibility = require("../../accessibility");
12
12
  var _form = require("../../form/form.styles");
13
- /*
14
- * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
15
- * or more contributor license agreements. Licensed under the Elastic License
16
- * 2.0 and the Server Side Public License, v 1; you may not use this file except
17
- * in compliance with, at your election, the Elastic License 2.0 or the Server
18
- * Side Public License, v 1.
19
- */
20
-
13
+ 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)."; } /*
14
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
15
+ * or more contributor license agreements. Licensed under the Elastic License
16
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
17
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
18
+ * Side Public License, v 1.
19
+ */
20
+ var _ref = process.env.NODE_ENV === "production" ? {
21
+ name: "nwv4a2-tooltipWrapper",
22
+ styles: "overflow:hidden;label:tooltipWrapper;"
23
+ } : {
24
+ name: "nwv4a2-tooltipWrapper",
25
+ styles: "overflow:hidden;label:tooltipWrapper;",
26
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
27
+ };
28
+ var _ref2 = process.env.NODE_ENV === "production" ? {
29
+ name: "1u3o7zy-hasToolTip",
30
+ styles: "border-radius:inherit;label:hasToolTip;"
31
+ } : {
32
+ name: "1u3o7zy-hasToolTip",
33
+ styles: "border-radius:inherit;label:hasToolTip;",
34
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
35
+ };
21
36
  var euiButtonGroupButtonStyles = function euiButtonGroupButtonStyles(euiThemeContext) {
22
37
  var euiTheme = euiThemeContext.euiTheme;
23
38
  var _euiFormVariables = (0, _form.euiFormVariables)(euiThemeContext),
@@ -34,9 +49,26 @@ var euiButtonGroupButtonStyles = function euiButtonGroupButtonStyles(euiThemeCon
34
49
  euiButtonGroupButton: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('min-width', 0), " flex-shrink:1;flex-grow:0;", _global_styling.euiCanAnimate, "{transition:background-color ", euiTheme.animation.normal, " ease-in-out,color ", euiTheme.animation.normal, " ease-in-out;};label:euiButtonGroupButton;"),
35
50
  iconOnly: /*#__PURE__*/(0, _react.css)("padding-inline:", euiTheme.size.s, ";;label:iconOnly;"),
36
51
  // Sizes
37
- s: /*#__PURE__*/(0, _react.css)(uncompressedBorderRadii(euiTheme.border.radius.small), ";;label:s;"),
38
- m: /*#__PURE__*/(0, _react.css)(uncompressedBorderRadii(euiTheme.border.radius.medium), ";;label:m;"),
39
- uncompressed: /*#__PURE__*/(0, _react.css)("&:is(.euiButtonGroupButton-isSelected){font-weight:", euiTheme.font.weight.bold, ";}&:not(.euiButtonGroupButton-isSelected)+.euiButtonGroupButton:not(.euiButtonGroupButton-isSelected){box-shadow:-", euiTheme.border.width.thin, " 0 0 0 ", (0, _services.transparentize)(euiTheme.colors.fullShade, 0.1), ";}&:is(.euiButtonGroupButton-isSelected)+.euiButtonGroupButton-isSelected{box-shadow:-", euiTheme.border.width.thin, " 0 0 0 ", (0, _services.transparentize)(euiTheme.colors.emptyShade, 0.2), ";};label:uncompressed;"),
52
+ uncompressed: {
53
+ uncompressed: /*#__PURE__*/(0, _react.css)("&:is(.euiButtonGroupButton-isSelected){font-weight:", euiTheme.font.weight.bold, ";};label:uncompressed;"),
54
+ get borders() {
55
+ var selectors = '.euiButtonGroupButton-isSelected, .euiButtonGroup__tooltipWrapper-isSelected';
56
+ var selectedColor = (0, _services.transparentize)(euiTheme.colors.emptyShade, 0.2);
57
+ var unselectedColor = (0, _services.transparentize)(euiTheme.colors.fullShade, 0.1);
58
+ var borderWidth = euiTheme.border.width.thin;
59
+
60
+ // "Borders" between buttons should be present between two of the same colored buttons,
61
+ // and absent between selected vs non-selected buttons (different colors)
62
+ return "\n &:not(".concat(selectors, ") + *:not(").concat(selectors, ") {\n box-shadow: -").concat(borderWidth, " 0 0 0 ").concat(unselectedColor, ";\n }\n &:is(").concat(selectors, ") + *:is(").concat(selectors, ") {\n box-shadow: -").concat(borderWidth, " 0 0 0 ").concat(selectedColor, ";\n }\n ");
63
+ },
64
+ get s() {
65
+ return /*#__PURE__*/(0, _react.css)(this.borders, " ", uncompressedBorderRadii(euiTheme.border.radius.small), ";;label:s;");
66
+ },
67
+ get m() {
68
+ return /*#__PURE__*/(0, _react.css)(this.borders, " ", uncompressedBorderRadii(euiTheme.border.radius.medium), ";;label:m;");
69
+ },
70
+ hasToolTip: _ref2
71
+ },
40
72
  compressed: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('height', compressedButtonHeight), " line-height:", compressedButtonHeight, ";padding:", (0, _global_styling.mathWithUnits)(euiTheme.border.width.thin, function (x) {
41
73
  return x * 2;
42
74
  }), ";background-clip:content-box;border-radius:", (0, _global_styling.mathWithUnits)([controlCompressedBorderRadius, euiTheme.border.width.thin], function (x, y) {
@@ -44,6 +76,8 @@ var euiButtonGroupButtonStyles = function euiButtonGroupButtonStyles(euiThemeCon
44
76
  }), ";font-weight:", euiTheme.font.weight.regular, ";&:is(.euiButtonGroupButton-isSelected){font-weight:", euiTheme.font.weight.semiBold, ";};label:compressed;"),
45
77
  // States
46
78
  disabledAndSelected: /*#__PURE__*/(0, _react.css)("color:", (0, _services.makeDisabledContrastColor)(euiTheme.colors.disabledText)(euiTheme.colors.disabled), ";background-color:", euiTheme.colors.disabled, ";;label:disabledAndSelected;"),
79
+ // Tooltip anchor wrapper
80
+ tooltipWrapper: _ref,
47
81
  // Content wrapper
48
82
  content: {
49
83
  euiButtonGroupButton__content: /*#__PURE__*/(0, _react.css)(";label:euiButtonGroupButton__content;"),
@@ -51,7 +51,6 @@ var EuiButtonIcon = function EuiButtonIcon(_ref) {
51
51
  isSelected = _ref.isSelected,
52
52
  isLoading = _ref.isLoading,
53
53
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
54
- var euiThemeContext = (0, _services.useEuiTheme)();
55
54
  var isDisabled = (0, _button_display.isButtonDisabled)({
56
55
  isDisabled: _isDisabled || disabled,
57
56
  href: href,
@@ -66,9 +65,9 @@ var EuiButtonIcon = function EuiButtonIcon(_ref) {
66
65
  display: display
67
66
  });
68
67
  var buttonFocusStyle = (0, _button.useEuiButtonFocusCSS)();
69
- var emptyHoverStyles = display === 'empty' && !isDisabled && (0, _button_icon._emptyHoverStyles)(euiThemeContext, color);
70
- var styles = (0, _button_icon.euiButtonIconStyles)(euiThemeContext);
71
- var cssStyles = [styles.euiButtonIcon, styles[size], buttonColorStyles[isDisabled ? 'disabled' : color], buttonFocusStyle, emptyHoverStyles, isDisabled && styles.isDisabled];
68
+ var emptyHoverStyles = (0, _services.useEuiMemoizedStyles)(_button_icon._emptyHoverStyles);
69
+ var styles = (0, _services.useEuiMemoizedStyles)(_button_icon.euiButtonIconStyles);
70
+ var cssStyles = [styles.euiButtonIcon, styles[size], buttonColorStyles[isDisabled ? 'disabled' : color], buttonFocusStyle, display === 'empty' && !isDisabled && emptyHoverStyles[color], isDisabled && styles.isDisabled];
72
71
  var classes = (0, _classnames.default)('euiButtonIcon', className);
73
72
 
74
73
  // Add an icon to the button if one exists.
@@ -1,13 +1,17 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.euiButtonIconStyles = exports._emptyHoverStyles = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
9
  var _react = require("@emotion/react");
8
10
  var _global_styling = require("../../../global_styling");
9
11
  var _button = require("../../../themes/amsterdam/global_styling/mixins/button");
10
12
  var _button_display = require("../button_display/_button_display.styles");
13
+ 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; }
14
+ 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; }
11
15
  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)."; } /*
12
16
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
13
17
  * or more contributor license agreements. Licensed under the Elastic License
@@ -35,7 +39,9 @@ var euiButtonIconStyles = function euiButtonIconStyles(euiThemeContext) {
35
39
  };
36
40
  };
37
41
  exports.euiButtonIconStyles = euiButtonIconStyles;
38
- var _emptyHoverStyles = function _emptyHoverStyles(euiThemeContext, color) {
39
- return /*#__PURE__*/(0, _react.css)("&:hover{background-color:", (0, _button.euiButtonEmptyColor)(euiThemeContext, color).backgroundColor, ";}");
42
+ var _emptyHoverStyles = function _emptyHoverStyles(euiThemeContext) {
43
+ return _button.BUTTON_COLORS.reduce(function (styles, color) {
44
+ return _objectSpread(_objectSpread({}, styles), {}, (0, _defineProperty2.default)({}, color, /*#__PURE__*/(0, _react.css)("&:hover{background-color:", (0, _button.euiButtonEmptyColor)(euiThemeContext, color).backgroundColor, ";}")));
45
+ }, {});
40
46
  };
41
47
  exports._emptyHoverStyles = _emptyHoverStyles;
@@ -30,7 +30,7 @@ var _data_grid_cell_actions = require("./data_grid_cell_actions");
30
30
  var _data_grid_cell_popover = require("./data_grid_cell_popover");
31
31
  var _focus_utils = require("./focus_utils");
32
32
  var _react2 = require("@emotion/react");
33
- var _excluded = ["renderCellValue", "column", "setCellContentsRef", "rowIndex", "colIndex", "ariaRowIndex", "rowHeight", "rowHeightUtils", "isControlColumn", "isFocused", "cellActions"],
33
+ var _excluded = ["renderCellValue", "cellContext", "column", "setCellContentsRef", "rowIndex", "colIndex", "ariaRowIndex", "rowHeight", "rowHeightUtils", "isControlColumn", "isFocused", "showCellActions", "onExpandClick", "popoverAnchorRef"],
34
34
  _excluded2 = ["width", "popoverContext", "interactiveCellId", "columnType", "className", "column", "style", "rowHeightUtils", "rowHeightsOptions", "rowManager", "pagination"],
35
35
  _excluded3 = ["isExpandable", "style", "className", "data-test-subj"];
36
36
  /*
@@ -48,6 +48,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
48
48
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
49
49
  var EuiDataGridCellContent = /*#__PURE__*/(0, _react.memo)(function (_ref) {
50
50
  var renderCellValue = _ref.renderCellValue,
51
+ cellContext = _ref.cellContext,
51
52
  column = _ref.column,
52
53
  setCellContentsRef = _ref.setCellContentsRef,
53
54
  rowIndex = _ref.rowIndex,
@@ -57,16 +58,25 @@ var EuiDataGridCellContent = /*#__PURE__*/(0, _react.memo)(function (_ref) {
57
58
  rowHeightUtils = _ref.rowHeightUtils,
58
59
  isControlColumn = _ref.isControlColumn,
59
60
  isFocused = _ref.isFocused,
60
- cellActions = _ref.cellActions,
61
+ showCellActions = _ref.showCellActions,
62
+ onExpandClick = _ref.onExpandClick,
63
+ popoverAnchorRef = _ref.popoverAnchorRef,
61
64
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
62
- // React is more permissible than the TS types indicate
65
+ // React is more permissive than the TS types indicate
63
66
  var CellElement = renderCellValue;
64
- var cellHeightType = (rowHeightUtils === null || rowHeightUtils === void 0 ? void 0 : rowHeightUtils.getHeightType(rowHeight)) || 'default';
65
- var classes = (0, _classnames.default)('euiDataGridRowCell__content', "euiDataGridRowCell__content--".concat(cellHeightType, "Height"), !isControlColumn && {
66
- 'eui-textBreakWord': cellHeightType !== 'default',
67
- 'eui-textTruncate': cellHeightType === 'default'
68
- });
69
- var cellContent = (0, _react2.jsx)("div", {
67
+ var cellHeightType = (0, _react.useMemo)(function () {
68
+ return (rowHeightUtils === null || rowHeightUtils === void 0 ? void 0 : rowHeightUtils.getHeightType(rowHeight)) || 'default';
69
+ }, [rowHeightUtils, rowHeight]);
70
+ var classes = (0, _react.useMemo)(function () {
71
+ return (0, _classnames.default)('euiDataGridRowCell__content', "euiDataGridRowCell__content--".concat(cellHeightType, "Height"), !isControlColumn && {
72
+ 'eui-textBreakWord': cellHeightType !== 'default',
73
+ 'eui-textTruncate': cellHeightType === 'default'
74
+ });
75
+ }, [cellHeightType, isControlColumn]);
76
+ return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(RenderTruncatedCellContent, {
77
+ hasLineCountTruncation: cellHeightType === 'lineCount' && !isControlColumn,
78
+ rowHeight: rowHeight
79
+ }, (0, _react2.jsx)("div", {
70
80
  ref: setCellContentsRef,
71
81
  "data-datagrid-cellcontent": true,
72
82
  className: classes
@@ -76,15 +86,7 @@ var EuiDataGridCellContent = /*#__PURE__*/(0, _react.memo)(function (_ref) {
76
86
  rowIndex: rowIndex,
77
87
  colIndex: colIndex,
78
88
  schema: (column === null || column === void 0 ? void 0 : column.schema) || rest.columnType
79
- }, rest)));
80
- if (cellHeightType === 'lineCount' && !isControlColumn) {
81
- var lines = rowHeightUtils.getLineCount(rowHeight);
82
- cellContent = (0, _react2.jsx)(_text_truncate.EuiTextBlockTruncate, {
83
- lines: lines,
84
- cloneElement: true
85
- }, cellContent);
86
- }
87
- var screenReaderText = (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("p", {
89
+ }, cellContext, rest)))), (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("p", {
88
90
  hidden: !isFocused
89
91
  }, '- ', (0, _react2.jsx)(_i18n.EuiI18n, {
90
92
  token: "euiDataGridCell.position",
@@ -94,11 +96,16 @@ var EuiDataGridCellContent = /*#__PURE__*/(0, _react.memo)(function (_ref) {
94
96
  col: colIndex + 1,
95
97
  row: ariaRowIndex
96
98
  }
97
- }), cellActions && (0, _react2.jsx)(_react.default.Fragment, null, '. ', (0, _react2.jsx)(_i18n.EuiI18n, {
99
+ }), showCellActions && (0, _react2.jsx)(_react.default.Fragment, null, '. ', (0, _react2.jsx)(_i18n.EuiI18n, {
98
100
  token: "euiDataGridCell.expansionEnterPrompt",
99
101
  default: "Press the Enter key to expand this cell."
100
- }))));
101
- return (0, _react2.jsx)(_react.default.Fragment, null, cellContent, screenReaderText, cellActions);
102
+ })))), showCellActions && (0, _react2.jsx)(_data_grid_cell_actions.EuiDataGridCellActions, {
103
+ rowIndex: rowIndex,
104
+ colIndex: colIndex,
105
+ column: column,
106
+ onExpandClick: onExpandClick,
107
+ popoverAnchorRef: popoverAnchorRef
108
+ }));
102
109
  });
103
110
  EuiDataGridCellContent.propTypes = {
104
111
  rowIndex: _propTypes.default.number.isRequired,
@@ -532,6 +539,7 @@ EuiDataGridCellContent.propTypes = {
532
539
  isExpandable: _propTypes.default.bool.isRequired,
533
540
  className: _propTypes.default.string,
534
541
  renderCellValue: _propTypes.default.oneOfType([_propTypes.default.func.isRequired, _propTypes.default.element.isRequired]).isRequired,
542
+ cellContext: _propTypes.default.any,
535
543
  renderCellPopover: _propTypes.default.oneOfType([_propTypes.default.func.isRequired, _propTypes.default.func.isRequired]),
536
544
  setRowHeight: _propTypes.default.func,
537
545
  getRowHeight: _propTypes.default.func,
@@ -571,16 +579,18 @@ EuiDataGridCellContent.propTypes = {
571
579
  rowHeightUtils: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.any.isRequired]),
572
580
  pagination: _propTypes.default.any,
573
581
  setCellProps: _propTypes.default.func.isRequired,
574
- setCellContentsRef: _propTypes.default.any.isRequired,
582
+ setCellContentsRef: _propTypes.default.func.isRequired,
583
+ showCellActions: _propTypes.default.bool.isRequired,
575
584
  isExpanded: _propTypes.default.bool.isRequired,
585
+ onExpandClick: _propTypes.default.func.isRequired,
586
+ popoverAnchorRef: _propTypes.default.any.isRequired,
576
587
  isControlColumn: _propTypes.default.bool.isRequired,
577
588
  isFocused: _propTypes.default.bool.isRequired,
578
589
  ariaRowIndex: _propTypes.default.number.isRequired,
579
590
  rowHeight: _propTypes.default.oneOfType([_propTypes.default.number.isRequired, _propTypes.default.oneOf(["auto"]), _propTypes.default.shape({
580
591
  lineCount: _propTypes.default.number,
581
592
  height: _propTypes.default.number
582
- }).isRequired]),
583
- cellActions: _propTypes.default.node
593
+ }).isRequired])
584
594
  };
585
595
  EuiDataGridCellContent.displayName = 'EuiDataGridCellContent';
586
596
  var EuiDataGridCell = /*#__PURE__*/function (_Component) {
@@ -741,6 +751,7 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
741
751
  var _this$props5 = _this.props,
742
752
  renderCellPopover = _this$props5.renderCellPopover,
743
753
  renderCellValue = _this$props5.renderCellValue,
754
+ cellContext = _this$props5.cellContext,
744
755
  rowIndex = _this$props5.rowIndex,
745
756
  colIndex = _this$props5.colIndex,
746
757
  column = _this$props5.column,
@@ -761,7 +772,7 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
761
772
  })),
762
773
  DefaultCellPopover: _data_grid_cell_popover.DefaultCellPopover,
763
774
  setCellPopoverProps: setCellPopoverProps
764
- }), (0, _react2.jsx)(CellElement, (0, _extends2.default)({}, sharedProps, {
775
+ }), (0, _react2.jsx)(CellElement, (0, _extends2.default)({}, cellContext, sharedProps, {
765
776
  setCellProps: _this.setCellProps,
766
777
  isExpandable: true,
767
778
  isExpanded: true,
@@ -906,6 +917,7 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
906
917
  if (nextProps.style.height !== this.props.style.height) return true;
907
918
  if (nextProps.style.width !== this.props.style.width) return true;
908
919
  }
920
+ if (nextProps.cellContext !== this.props.cellContext) return true;
909
921
  if (nextState.cellProps !== this.state.cellProps) return true;
910
922
  if (nextState.isFocused !== this.state.isFocused) return true;
911
923
  if (nextState.isHovered !== this.state.isHovered) return true;
@@ -955,21 +967,16 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
955
967
  lineHeight: (_rowHeightsOptions$li = rowHeightsOptions === null || rowHeightsOptions === void 0 ? void 0 : rowHeightsOptions.lineHeight) !== null && _rowHeightsOptions$li !== void 0 ? _rowHeightsOptions$li : undefined
956
968
  }, cellPropsStyle);
957
969
  var rowHeight = rowHeightUtils === null || rowHeightUtils === void 0 ? void 0 : rowHeightUtils.getRowHeightOption(rowIndex, rowHeightsOptions);
958
- var cellContentProps = _objectSpread(_objectSpread({}, rest), {}, {
959
- setCellProps: this.setCellProps,
960
- column: column,
961
- columnType: columnType,
962
- isExpandable: isExpandable,
963
- isExpanded: popoverIsOpen,
964
- isDetails: false,
965
- isFocused: this.state.isFocused,
966
- setCellContentsRef: this.setCellContentsRef,
967
- rowHeight: rowHeight,
968
- rowHeightUtils: rowHeightUtils,
969
- isControlColumn: cellClasses.includes('euiDataGridRowCell--controlColumn'),
970
- ariaRowIndex: ariaRowIndex
971
- });
972
- var cell = (0, _react2.jsx)("div", (0, _extends2.default)({
970
+ var row = rowManager && !_utils.IS_JEST_ENVIRONMENT ? rowManager.getRow({
971
+ rowIndex: rowIndex,
972
+ visibleRowIndex: visibleRowIndex,
973
+ top: style.top,
974
+ // comes in as a `{float}px` string from react-window
975
+ height: style.height // comes in as an integer from react-window
976
+ }) : undefined;
977
+ return (0, _react2.jsx)(RenderCellInRow, {
978
+ row: row
979
+ }, (0, _react2.jsx)("div", (0, _extends2.default)({
973
980
  role: "gridcell",
974
981
  "aria-rowindex": ariaRowIndex,
975
982
  tabIndex: this.state.isFocused ? 0 : -1,
@@ -993,28 +1000,32 @@ var EuiDataGridCell = /*#__PURE__*/function (_Component) {
993
1000
  cellEl: this.cellRef.current,
994
1001
  updateCellFocusContext: this.updateCellFocusContext,
995
1002
  renderFocusTrap: !isExpandable
996
- }, (0, _react2.jsx)(EuiDataGridCellContent, (0, _extends2.default)({}, cellContentProps, {
997
- cellActions: showCellActions && (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_data_grid_cell_actions.EuiDataGridCellActions, {
998
- rowIndex: rowIndex,
999
- colIndex: colIndex,
1000
- column: column,
1001
- onExpandClick: this.handleCellExpansionClick
1002
- }), (0, _react2.jsx)("div", {
1003
- ref: this.popoverAnchorRef,
1004
- "data-test-subject": "cellPopoverAnchor"
1005
- }))
1006
- }))));
1007
- return rowManager && !_utils.IS_JEST_ENVIRONMENT ? /*#__PURE__*/(0, _reactDom.createPortal)(cell, rowManager.getRow({
1003
+ }, (0, _react2.jsx)(EuiDataGridCellContent, (0, _extends2.default)({}, rest, {
1004
+ setCellProps: this.setCellProps,
1005
+ column: column,
1006
+ columnType: columnType,
1007
+ isExpandable: isExpandable,
1008
+ isExpanded: popoverIsOpen,
1009
+ onExpandClick: this.handleCellExpansionClick,
1010
+ popoverAnchorRef: this.popoverAnchorRef,
1011
+ showCellActions: showCellActions,
1012
+ isFocused: this.state.isFocused,
1013
+ setCellContentsRef: this.setCellContentsRef,
1014
+ rowHeight: rowHeight,
1015
+ rowHeightUtils: rowHeightUtils,
1016
+ isControlColumn: cellClasses.includes('euiDataGridRowCell--controlColumn'),
1017
+ ariaRowIndex: ariaRowIndex,
1008
1018
  rowIndex: rowIndex,
1009
- visibleRowIndex: visibleRowIndex,
1010
- top: style.top,
1011
- // comes in as a `{float}px` string from react-window
1012
- height: style.height // comes in as an integer from react-window
1013
- })) : cell;
1019
+ colIndex: colIndex
1020
+ })))));
1014
1021
  }
1015
1022
  }]);
1016
1023
  return EuiDataGridCell;
1017
1024
  }(_react.Component);
1025
+ /**
1026
+ * Function component utilities for conditional rendering.
1027
+ * Used for DRYness and performance
1028
+ */
1018
1029
  exports.EuiDataGridCell = EuiDataGridCell;
1019
1030
  (0, _defineProperty2.default)(EuiDataGridCell, "contextType", _focus.DataGridFocusContext);
1020
1031
  EuiDataGridCell.propTypes = {
@@ -1380,6 +1391,7 @@ EuiDataGridCell.propTypes = {
1380
1391
  setCellPopoverProps: _propTypes.default.func.isRequired
1381
1392
  }).isRequired,
1382
1393
  renderCellValue: _propTypes.default.oneOfType([_propTypes.default.func.isRequired, _propTypes.default.element.isRequired]).isRequired,
1394
+ cellContext: _propTypes.default.any,
1383
1395
  renderCellPopover: _propTypes.default.oneOfType([_propTypes.default.func.isRequired, _propTypes.default.func.isRequired]),
1384
1396
  setRowHeight: _propTypes.default.func,
1385
1397
  getRowHeight: _propTypes.default.func,
@@ -1421,4 +1433,34 @@ EuiDataGridCell.propTypes = {
1421
1433
  getRow: _propTypes.default.func.isRequired
1422
1434
  }),
1423
1435
  pagination: _propTypes.default.any
1424
- };
1436
+ };
1437
+ var RenderCellInRow = /*#__PURE__*/(0, _react.memo)(function (_ref2) {
1438
+ var row = _ref2.row,
1439
+ children = _ref2.children;
1440
+ return row ? /*#__PURE__*/(0, _reactDom.createPortal)(children, row) : children;
1441
+ });
1442
+ RenderCellInRow.propTypes = {
1443
+ children: _propTypes.default.element.isRequired,
1444
+ row: _propTypes.default.any
1445
+ };
1446
+ RenderCellInRow.displayName = 'RenderCellInRow';
1447
+ var RenderTruncatedCellContent = /*#__PURE__*/(0, _react.memo)(function (_ref3) {
1448
+ var children = _ref3.children,
1449
+ hasLineCountTruncation = _ref3.hasLineCountTruncation,
1450
+ rowHeight = _ref3.rowHeight;
1451
+ // If `hasLineCountTruncation` is true, we can rely on rowHeight being the correct type
1452
+ var lines = hasLineCountTruncation ? rowHeight.lineCount : undefined;
1453
+ return lines ? (0, _react2.jsx)(_text_truncate.EuiTextBlockTruncate, {
1454
+ lines: lines,
1455
+ cloneElement: true
1456
+ }, children) : children;
1457
+ });
1458
+ RenderTruncatedCellContent.propTypes = {
1459
+ children: _propTypes.default.element.isRequired,
1460
+ hasLineCountTruncation: _propTypes.default.bool.isRequired,
1461
+ rowHeight: _propTypes.default.oneOfType([_propTypes.default.number.isRequired, _propTypes.default.oneOf(["auto"]), _propTypes.default.shape({
1462
+ lineCount: _propTypes.default.number,
1463
+ height: _propTypes.default.number
1464
+ }).isRequired])
1465
+ };
1466
+ RenderTruncatedCellContent.displayName = 'RenderTruncatedCellContent';
@@ -28,6 +28,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
28
28
 
29
29
  var EuiDataGridCellActions = function EuiDataGridCellActions(_ref) {
30
30
  var onExpandClick = _ref.onExpandClick,
31
+ popoverAnchorRef = _ref.popoverAnchorRef,
31
32
  column = _ref.column,
32
33
  rowIndex = _ref.rowIndex,
33
34
  colIndex = _ref.colIndex;
@@ -35,23 +36,25 @@ var EuiDataGridCellActions = function EuiDataGridCellActions(_ref) {
35
36
  // column.cellActions is present (regardless of column.isExpandable).
36
37
  // This is because cell actions are not otherwise accessible to keyboard
37
38
  // or screen reader users
38
- var expandButton = (0, _react2.jsx)(_i18n.EuiI18n, {
39
- key: 'expand',
40
- token: "euiDataGridCellActions.expandButtonTitle",
41
- default: "Click or hit enter to interact with cell content"
42
- }, function (expandButtonTitle) {
43
- return (0, _react2.jsx)(_button_icon.EuiButtonIcon, {
44
- className: "euiDataGridRowCell__actionButtonIcon euiDataGridRowCell__expandCell",
45
- "data-test-subj": "euiDataGridCellExpandButton",
46
- display: "fill",
47
- color: "primary",
48
- iconSize: "m",
49
- iconType: "expandMini",
50
- "aria-hidden": true,
51
- onClick: onExpandClick,
52
- title: expandButtonTitle
39
+ var expandButton = (0, _react.useMemo)(function () {
40
+ return (0, _react2.jsx)(_i18n.EuiI18n, {
41
+ key: 'expand',
42
+ token: "euiDataGridCellActions.expandButtonTitle",
43
+ default: "Click or hit enter to interact with cell content"
44
+ }, function (expandButtonTitle) {
45
+ return (0, _react2.jsx)(_button_icon.EuiButtonIcon, {
46
+ className: "euiDataGridRowCell__actionButtonIcon euiDataGridRowCell__expandCell",
47
+ "data-test-subj": "euiDataGridCellExpandButton",
48
+ display: "fill",
49
+ color: "primary",
50
+ iconSize: "m",
51
+ iconType: "expandMini",
52
+ "aria-hidden": true,
53
+ onClick: onExpandClick,
54
+ title: expandButtonTitle
55
+ });
53
56
  });
54
- });
57
+ }, [onExpandClick]);
55
58
  var additionalButtons = (0, _react.useMemo)(function () {
56
59
  if (!column || !Array.isArray(column === null || column === void 0 ? void 0 : column.cellActions)) return [];
57
60
  var ButtonComponent = function ButtonComponent(props) {
@@ -82,9 +85,12 @@ var EuiDataGridCellActions = function EuiDataGridCellActions(_ref) {
82
85
  });
83
86
  });
84
87
  }, [column, colIndex, rowIndex]);
85
- return (0, _react2.jsx)("div", {
88
+ return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)("div", {
86
89
  className: "euiDataGridRowCell__actions"
87
- }, [].concat((0, _toConsumableArray2.default)(additionalButtons), [expandButton]));
90
+ }, [].concat((0, _toConsumableArray2.default)(additionalButtons), [expandButton])), (0, _react2.jsx)("div", {
91
+ ref: popoverAnchorRef,
92
+ "data-test-subject": "cellPopoverAnchor"
93
+ }));
88
94
  };
89
95
  exports.EuiDataGridCellActions = EuiDataGridCellActions;
90
96
  var EuiDataGridCellPopoverActions = function EuiDataGridCellPopoverActions(_ref2) {