@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
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["colIndex", "visibleRowIndex", "style", "schema", "schemaDetectors", "pagination", "columns", "leadingControlColumns", "trailingControlColumns", "visibleColCount", "columnWidths", "defaultColumnWidth", "renderCellValue", "renderCellPopover", "interactiveCellId", "setRowHeight", "rowHeightsOptions", "rowHeightUtils", "rowManager"];
4
+ var _excluded = ["colIndex", "visibleRowIndex", "style", "schema", "schemaDetectors", "pagination", "columns", "leadingControlColumns", "trailingControlColumns", "visibleColCount", "columnWidths", "defaultColumnWidth", "renderCellValue", "cellContext", "renderCellPopover", "interactiveCellId", "setRowHeight", "rowHeightsOptions", "rowHeightUtils", "rowManager"];
5
5
  /*
6
6
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
7
7
  * or more contributor license agreements. Licensed under the Elastic License
@@ -10,9 +10,9 @@ var _excluded = ["colIndex", "visibleRowIndex", "style", "schema", "schemaDetect
10
10
  * Side Public License, v 1.
11
11
  */
12
12
 
13
- import React, { useContext, useMemo } from 'react';
13
+ import React, { useContext, useMemo, memo } from 'react';
14
14
  import classNames from 'classnames';
15
- import { DataGridSortingContext } from '../../utils/sorting';
15
+ import { DataGridSortedContext } from '../../utils/sorting';
16
16
  import { DataGridCellPopoverContext } from './data_grid_cell_popover';
17
17
  import { EuiDataGridCell } from './data_grid_cell';
18
18
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -21,7 +21,7 @@ import { jsx as ___EmotionJSX } from "@emotion/react";
21
21
  * It grabs context, determines the type of cell being rendered
22
22
  * (e.g. control vs data cell), & sets shared props between all cells
23
23
  */
24
- export var Cell = function Cell(_ref) {
24
+ export var CellWrapper = /*#__PURE__*/memo(function (_ref) {
25
25
  var colIndex = _ref.colIndex,
26
26
  visibleRowIndex = _ref.visibleRowIndex,
27
27
  style = _ref.style,
@@ -35,6 +35,7 @@ export var Cell = function Cell(_ref) {
35
35
  columnWidths = _ref.columnWidths,
36
36
  defaultColumnWidth = _ref.defaultColumnWidth,
37
37
  renderCellValue = _ref.renderCellValue,
38
+ cellContext = _ref.cellContext,
38
39
  renderCellPopover = _ref.renderCellPopover,
39
40
  interactiveCellId = _ref.interactiveCellId,
40
41
  setRowHeight = _ref.setRowHeight,
@@ -43,9 +44,8 @@ export var Cell = function Cell(_ref) {
43
44
  rowManager = _ref.rowManager,
44
45
  rest = _objectWithoutProperties(_ref, _excluded);
45
46
  var popoverContext = useContext(DataGridCellPopoverContext);
46
- var _useContext = useContext(DataGridSortingContext),
47
+ var _useContext = useContext(DataGridSortedContext),
47
48
  getCorrectRowIndex = _useContext.getCorrectRowIndex;
48
- var cellContent;
49
49
  var isFirstColumn = colIndex === 0;
50
50
  var isLastColumn = colIndex === visibleColCount - 1;
51
51
  var isLeadingControlColumn = colIndex < leadingControlColumns.length;
@@ -59,30 +59,33 @@ export var Cell = function Cell(_ref) {
59
59
  return column !== null && column !== void 0 && column.schema ? (column === null || column === void 0 ? void 0 : column.schema) === row.type : columnId === row.type;
60
60
  })[0]) === null || _schemaDetectors$filt === void 0 ? void 0 : _schemaDetectors$filt.textTransform;
61
61
  }, [columnId, column === null || column === void 0 ? void 0 : column.schema, schemaDetectors]);
62
- var classes = classNames(_defineProperty({
63
- 'euiDataGridRowCell--firstColumn': isFirstColumn,
64
- 'euiDataGridRowCell--lastColumn': isLastColumn,
65
- 'euiDataGridRowCell--controlColumn': isLeadingControlColumn || isTrailingControlColumn
66
- }, "euiDataGridRowCell--".concat(textTransform), textTransform));
67
- var sharedCellProps = {
68
- rowIndex: getCorrectRowIndex(visibleRowIndex),
69
- visibleRowIndex: visibleRowIndex,
70
- colIndex: colIndex,
71
- interactiveCellId: interactiveCellId,
72
- className: classes,
73
- style: style,
74
- rowHeightsOptions: rowHeightsOptions,
75
- rowHeightUtils: rowHeightUtils,
76
- setRowHeight: isFirstColumn ? setRowHeight : undefined,
77
- rowManager: rowManager,
78
- popoverContext: popoverContext,
79
- pagination: pagination
80
- };
62
+ var sharedCellProps = useMemo(function () {
63
+ var classes = classNames(_defineProperty({
64
+ 'euiDataGridRowCell--firstColumn': isFirstColumn,
65
+ 'euiDataGridRowCell--lastColumn': isLastColumn,
66
+ 'euiDataGridRowCell--controlColumn': isLeadingControlColumn || isTrailingControlColumn
67
+ }, "euiDataGridRowCell--".concat(textTransform), textTransform));
68
+ return {
69
+ rowIndex: getCorrectRowIndex(visibleRowIndex),
70
+ visibleRowIndex: visibleRowIndex,
71
+ colIndex: colIndex,
72
+ interactiveCellId: interactiveCellId,
73
+ className: classes,
74
+ style: style,
75
+ rowHeightsOptions: rowHeightsOptions,
76
+ rowHeightUtils: rowHeightUtils,
77
+ setRowHeight: isFirstColumn ? setRowHeight : undefined,
78
+ rowManager: rowManager,
79
+ popoverContext: popoverContext,
80
+ pagination: pagination,
81
+ cellContext: cellContext
82
+ };
83
+ }, [colIndex, setRowHeight, visibleRowIndex, getCorrectRowIndex, interactiveCellId, style, rowHeightsOptions, rowHeightUtils, rowManager, popoverContext, pagination, cellContext, isFirstColumn, isLastColumn, isLeadingControlColumn, isTrailingControlColumn, textTransform]);
81
84
  if (isLeadingControlColumn) {
82
85
  var leadingColumn = leadingControlColumns[colIndex];
83
86
  var id = leadingColumn.id,
84
87
  rowCellRender = leadingColumn.rowCellRender;
85
- cellContent = ___EmotionJSX(EuiDataGridCell, _extends({}, sharedCellProps, {
88
+ return ___EmotionJSX(EuiDataGridCell, _extends({}, sharedCellProps, {
86
89
  columnId: id,
87
90
  width: leadingColumn.width,
88
91
  renderCellValue: rowCellRender,
@@ -94,7 +97,7 @@ export var Cell = function Cell(_ref) {
94
97
  var trailingColumn = trailingControlColumns[trailingcolIndex];
95
98
  var _id = trailingColumn.id,
96
99
  _rowCellRender = trailingColumn.rowCellRender;
97
- cellContent = ___EmotionJSX(EuiDataGridCell, _extends({}, sharedCellProps, {
100
+ return ___EmotionJSX(EuiDataGridCell, _extends({}, sharedCellProps, {
98
101
  columnId: _id,
99
102
  width: trailingColumn.width,
100
103
  renderCellValue: _rowCellRender,
@@ -103,9 +106,9 @@ export var Cell = function Cell(_ref) {
103
106
  } else {
104
107
  // this is a normal data cell
105
108
  var columnType = schema[columnId] ? schema[columnId].columnType : null;
106
- var isExpandable = column.isExpandable !== undefined ? column.isExpandable : true;
109
+ var isExpandable = (column === null || column === void 0 ? void 0 : column.isExpandable) !== undefined ? column === null || column === void 0 ? void 0 : column.isExpandable : true;
107
110
  var width = columnWidths[columnId] || defaultColumnWidth;
108
- cellContent = ___EmotionJSX(EuiDataGridCell, _extends({}, sharedCellProps, {
111
+ return ___EmotionJSX(EuiDataGridCell, _extends({}, sharedCellProps, {
109
112
  columnId: columnId,
110
113
  column: column,
111
114
  columnType: columnType,
@@ -116,5 +119,5 @@ export var Cell = function Cell(_ref) {
116
119
  isExpandable: isExpandable
117
120
  }, rest));
118
121
  }
119
- return cellContent;
120
- };
122
+ });
123
+ CellWrapper.displayName = 'CellWrapper';
@@ -7,5 +7,5 @@
7
7
  */
8
8
 
9
9
  export { EuiDataGridCell } from './data_grid_cell';
10
- export { Cell } from './data_grid_cell_wrapper';
10
+ export { CellWrapper } from './data_grid_cell_wrapper';
11
11
  export { DataGridCellPopoverContext, useCellPopover } from './data_grid_cell_popover';
@@ -20,28 +20,30 @@ import { useDefaultColumnWidth, useColumnWidths } from '../utils/col_widths';
20
20
  import { useRowHeightUtils, useDefaultRowHeight } from '../utils/row_heights';
21
21
  import { useDataGridHeader } from './header';
22
22
  import { useDataGridFooter } from './footer';
23
- import { Cell } from './cell';
23
+ import { CellWrapper } from './cell';
24
24
  import { jsx as ___EmotionJSX } from "@emotion/react";
25
25
  export var EuiDataGridBodyCustomRender = function EuiDataGridBodyCustomRender(_ref) {
26
26
  var renderCustomGridBody = _ref.renderCustomGridBody,
27
- leadingControlColumns = _ref.leadingControlColumns,
28
- trailingControlColumns = _ref.trailingControlColumns,
29
- columns = _ref.columns,
30
- visibleColCount = _ref.visibleColCount,
31
- schema = _ref.schema,
32
- schemaDetectors = _ref.schemaDetectors,
33
- visibleRows = _ref.visibleRows,
34
27
  renderCellValue = _ref.renderCellValue,
28
+ cellContext = _ref.cellContext,
35
29
  renderCellPopover = _ref.renderCellPopover,
36
30
  renderFooterCellValue = _ref.renderFooterCellValue,
37
31
  interactiveCellId = _ref.interactiveCellId,
32
+ visibleRows = _ref.visibleRows,
33
+ visibleColCount = _ref.visibleColCount,
34
+ leadingControlColumns = _ref.leadingControlColumns,
35
+ trailingControlColumns = _ref.trailingControlColumns,
36
+ columns = _ref.columns,
38
37
  setVisibleColumns = _ref.setVisibleColumns,
39
38
  switchColumnPos = _ref.switchColumnPos,
40
39
  onColumnResize = _ref.onColumnResize,
41
- gridWidth = _ref.gridWidth,
42
- gridStyles = _ref.gridStyles,
40
+ schema = _ref.schema,
41
+ schemaDetectors = _ref.schemaDetectors,
42
+ sorting = _ref.sorting,
43
43
  pagination = _ref.pagination,
44
- rowHeightsOptions = _ref.rowHeightsOptions;
44
+ rowHeightsOptions = _ref.rowHeightsOptions,
45
+ gridWidth = _ref.gridWidth,
46
+ gridStyles = _ref.gridStyles;
45
47
  /**
46
48
  * Columns & widths
47
49
  */
@@ -80,14 +82,15 @@ export var EuiDataGridBodyCustomRender = function EuiDataGridBodyCustomRender(_r
80
82
  * Header & footer
81
83
  */
82
84
  var _useDataGridHeader = useDataGridHeader({
83
- switchColumnPos: switchColumnPos,
84
- setVisibleColumns: setVisibleColumns,
85
85
  leadingControlColumns: leadingControlColumns,
86
86
  trailingControlColumns: trailingControlColumns,
87
87
  columns: columns,
88
88
  columnWidths: columnWidths,
89
89
  defaultColumnWidth: defaultColumnWidth,
90
90
  setColumnWidth: setColumnWidth,
91
+ setVisibleColumns: setVisibleColumns,
92
+ switchColumnPos: switchColumnPos,
93
+ sorting: sorting,
91
94
  schema: schema,
92
95
  schemaDetectors: schemaDetectors
93
96
  }),
@@ -110,24 +113,27 @@ export var EuiDataGridBodyCustomRender = function EuiDataGridBodyCustomRender(_r
110
113
  /**
111
114
  * Cell render fn
112
115
  */
113
- var cellProps = {
114
- schema: schema,
115
- schemaDetectors: schemaDetectors,
116
- pagination: pagination,
117
- columns: columns,
118
- leadingControlColumns: leadingControlColumns,
119
- trailingControlColumns: trailingControlColumns,
120
- visibleColCount: visibleColCount,
121
- columnWidths: columnWidths,
122
- defaultColumnWidth: defaultColumnWidth,
123
- renderCellValue: renderCellValue,
124
- renderCellPopover: renderCellPopover,
125
- interactiveCellId: interactiveCellId,
126
- setRowHeight: setRowHeight,
127
- rowHeightsOptions: rowHeightsOptions,
128
- rowHeightUtils: rowHeightUtils
129
- };
130
- var _Cell = useCallback(function (_ref2) {
116
+ var cellProps = useMemo(function () {
117
+ return {
118
+ schema: schema,
119
+ schemaDetectors: schemaDetectors,
120
+ pagination: pagination,
121
+ columns: columns,
122
+ leadingControlColumns: leadingControlColumns,
123
+ trailingControlColumns: trailingControlColumns,
124
+ visibleColCount: visibleColCount,
125
+ columnWidths: columnWidths,
126
+ defaultColumnWidth: defaultColumnWidth,
127
+ renderCellValue: renderCellValue,
128
+ cellContext: cellContext,
129
+ renderCellPopover: renderCellPopover,
130
+ interactiveCellId: interactiveCellId,
131
+ setRowHeight: setRowHeight,
132
+ rowHeightsOptions: rowHeightsOptions,
133
+ rowHeightUtils: rowHeightUtils
134
+ };
135
+ }, [schema, schemaDetectors, pagination, columns, leadingControlColumns, trailingControlColumns, visibleColCount, columnWidths, defaultColumnWidth, renderCellValue, cellContext, renderCellPopover, interactiveCellId, setRowHeight, rowHeightsOptions, rowHeightUtils]);
136
+ var Cell = useCallback(function (_ref2) {
131
137
  var colIndex = _ref2.colIndex,
132
138
  visibleRowIndex = _ref2.visibleRowIndex,
133
139
  rest = _objectWithoutProperties(_ref2, _excluded);
@@ -139,9 +145,8 @@ export var EuiDataGridBodyCustomRender = function EuiDataGridBodyCustomRender(_r
139
145
  visibleRowIndex: visibleRowIndex,
140
146
  style: style
141
147
  }, cellProps);
142
- return ___EmotionJSX(Cell, _extends({}, props, rest));
143
- }, [].concat(_toConsumableArray(Object.values(cellProps)), [getRowHeight]) // eslint-disable-line react-hooks/exhaustive-deps
144
- );
148
+ return ___EmotionJSX(CellWrapper, _extends({}, props, rest));
149
+ }, [cellProps, getRowHeight, rowHeightUtils, rowHeightsOptions]);
145
150
 
146
151
  // Allow consumers to pass custom props/attributes/listeners etc. to the wrapping div
147
152
  var _useState = useState({}),
@@ -153,7 +158,7 @@ export var EuiDataGridBodyCustomRender = function EuiDataGridBodyCustomRender(_r
153
158
  }), headerRow, renderCustomGridBody({
154
159
  visibleColumns: visibleColumns,
155
160
  visibleRowData: visibleRows,
156
- Cell: _Cell,
161
+ Cell: Cell,
157
162
  setCustomGridBodyProps: setCustomGridBodyProps
158
163
  }), footerRow);
159
164
  };
@@ -13,12 +13,13 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
13
13
  */
14
14
 
15
15
  import classNames from 'classnames';
16
- import React, { forwardRef, createContext, useContext, useEffect, useRef } from 'react';
16
+ import React, { forwardRef, createContext, useCallback, useContext, useEffect, useRef, useMemo, memo } from 'react';
17
17
  import { VariableSizeGrid as Grid } from 'react-window';
18
+ import { useDeepEqual } from '../../../services';
18
19
  import { useResizeObserver } from '../../observer/resize_observer';
19
20
  import { useDataGridHeader } from './header';
20
21
  import { useDataGridFooter } from './footer';
21
- import { Cell } from './cell';
22
+ import { CellWrapper } from './cell';
22
23
  import { useRowManager } from './data_grid_row_manager';
23
24
  import { useFinalGridDimensions, useUnconstrainedHeight, useVirtualizeContainerWidth } from '../utils/grid_height_width';
24
25
  import { useDefaultColumnWidth, useColumnWidths } from '../utils/col_widths';
@@ -26,21 +27,25 @@ import { useRowHeightUtils, useDefaultRowHeight } from '../utils/row_heights';
26
27
  import { useScrollBars, useScroll } from '../utils/scrolling';
27
28
  import { IS_JEST_ENVIRONMENT } from '../../../utils';
28
29
  import { jsx as ___EmotionJSX } from "@emotion/react";
29
- export var _Cell = function _Cell(_ref) {
30
+ export var Cell = /*#__PURE__*/memo(function (_ref) {
30
31
  var columnIndex = _ref.columnIndex,
31
32
  rowIndex = _ref.rowIndex,
32
33
  style = _ref.style,
33
34
  data = _ref.data;
34
- var _useContext = useContext(DataGridWrapperRowsContext),
35
- headerRowHeight = _useContext.headerRowHeight;
36
- return ___EmotionJSX(Cell, _extends({
35
+ var memoizedStyles = useDeepEqual(style);
36
+ var cellStyles = useMemo(function () {
37
+ var headerRowHeight = data.headerRowHeight;
38
+ return _objectSpread(_objectSpread({}, memoizedStyles), {}, {
39
+ top: "".concat(parseFloat(memoizedStyles.top) + headerRowHeight, "px")
40
+ });
41
+ }, [memoizedStyles, data]);
42
+ return ___EmotionJSX(CellWrapper, _extends({
37
43
  colIndex: columnIndex,
38
44
  visibleRowIndex: rowIndex,
39
- style: _objectSpread(_objectSpread({}, style), {}, {
40
- top: "".concat(parseFloat(style.top) + headerRowHeight, "px")
41
- })
45
+ style: cellStyles
42
46
  }, data));
43
- };
47
+ });
48
+ Cell.displayName = 'Cell';
44
49
 
45
50
  // Context is required to pass props to react-window's innerElementType
46
51
  // @see https://github.com/bvaughn/react-window/issues/404
@@ -49,23 +54,27 @@ export var DataGridWrapperRowsContext = /*#__PURE__*/createContext({
49
54
  headerRowHeight: 0,
50
55
  footerRow: null
51
56
  });
52
- var InnerElement = /*#__PURE__*/forwardRef(function (_ref2, ref) {
57
+ var InnerElement = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (_ref2, ref) {
53
58
  var children = _ref2.children,
54
59
  style = _ref2.style,
55
60
  rest = _objectWithoutProperties(_ref2, _excluded);
56
- var _useContext2 = useContext(DataGridWrapperRowsContext),
57
- headerRowHeight = _useContext2.headerRowHeight,
58
- headerRow = _useContext2.headerRow,
59
- footerRow = _useContext2.footerRow;
61
+ var _useContext = useContext(DataGridWrapperRowsContext),
62
+ headerRowHeight = _useContext.headerRowHeight,
63
+ headerRow = _useContext.headerRow,
64
+ footerRow = _useContext.footerRow;
65
+ var memoizedStyles = useDeepEqual(style);
66
+ var innerElementStyles = useMemo(function () {
67
+ return _objectSpread(_objectSpread({}, memoizedStyles), {}, {
68
+ height: memoizedStyles.height + headerRowHeight
69
+ });
70
+ }, [memoizedStyles, headerRowHeight]);
60
71
  return ___EmotionJSX(React.Fragment, null, ___EmotionJSX("div", _extends({
61
72
  ref: ref,
62
- style: _objectSpread(_objectSpread({}, style), {}, {
63
- height: style.height + headerRowHeight
64
- })
73
+ style: innerElementStyles
65
74
  }, rest), headerRow, children), footerRow);
66
- });
75
+ }));
67
76
  InnerElement.displayName = 'EuiDataGridInnerElement';
68
- export var EuiDataGridBodyVirtualized = function EuiDataGridBodyVirtualized(_ref3) {
77
+ export var EuiDataGridBodyVirtualized = /*#__PURE__*/memo(function (_ref3) {
69
78
  var leadingControlColumns = _ref3.leadingControlColumns,
70
79
  trailingControlColumns = _ref3.trailingControlColumns,
71
80
  columns = _ref3.columns,
@@ -78,10 +87,12 @@ export var EuiDataGridBodyVirtualized = function EuiDataGridBodyVirtualized(_ref
78
87
  endRow = _ref3$visibleRows.endRow,
79
88
  visibleRowCount = _ref3$visibleRows.visibleRowCount,
80
89
  renderCellValue = _ref3.renderCellValue,
90
+ cellContext = _ref3.cellContext,
81
91
  renderCellPopover = _ref3.renderCellPopover,
82
92
  renderFooterCellValue = _ref3.renderFooterCellValue,
83
93
  interactiveCellId = _ref3.interactiveCellId,
84
94
  pagination = _ref3.pagination,
95
+ sorting = _ref3.sorting,
85
96
  setVisibleColumns = _ref3.setVisibleColumns,
86
97
  switchColumnPos = _ref3.switchColumnPos,
87
98
  onColumnResize = _ref3.onColumnResize,
@@ -131,14 +142,15 @@ export var EuiDataGridBodyVirtualized = function EuiDataGridBodyVirtualized(_ref
131
142
  * Header & footer
132
143
  */
133
144
  var _useDataGridHeader = useDataGridHeader({
134
- switchColumnPos: switchColumnPos,
135
- setVisibleColumns: setVisibleColumns,
136
145
  leadingControlColumns: leadingControlColumns,
137
146
  trailingControlColumns: trailingControlColumns,
138
147
  columns: columns,
139
148
  columnWidths: columnWidths,
140
149
  defaultColumnWidth: defaultColumnWidth,
141
150
  setColumnWidth: setColumnWidth,
151
+ setVisibleColumns: setVisibleColumns,
152
+ switchColumnPos: switchColumnPos,
153
+ sorting: sorting,
142
154
  schema: schema,
143
155
  schemaDetectors: schemaDetectors
144
156
  }),
@@ -246,29 +258,13 @@ export var EuiDataGridBodyVirtualized = function EuiDataGridBodyVirtualized(_ref
246
258
  gridRef.current.resetAfterRowIndex(0);
247
259
  }
248
260
  }, [gridRef, getRowHeight]);
249
- return IS_JEST_ENVIRONMENT || finalWidth > 0 ? ___EmotionJSX(DataGridWrapperRowsContext.Provider, {
250
- value: {
251
- headerRowHeight: headerRowHeight,
252
- headerRow: headerRow,
253
- footerRow: footerRow
254
- }
255
- }, ___EmotionJSX(Grid, _extends({}, virtualizationOptions ? virtualizationOptions : {}, {
256
- ref: gridRef,
257
- className: classNames('euiDataGrid__virtualized', virtualizationOptions === null || virtualizationOptions === void 0 ? void 0 : virtualizationOptions.className),
258
- onItemsRendered: function onItemsRendered(itemsRendered) {
259
- var _virtualizationOption;
260
- gridItemsRendered.current = itemsRendered;
261
- virtualizationOptions === null || virtualizationOptions === void 0 ? void 0 : (_virtualizationOption = virtualizationOptions.onItemsRendered) === null || _virtualizationOption === void 0 ? void 0 : _virtualizationOption.call(virtualizationOptions, itemsRendered);
262
- },
263
- innerElementType: InnerElement,
264
- outerRef: outerGridRef,
265
- innerRef: innerGridRef,
266
- columnCount: visibleColCount,
267
- width: finalWidth,
268
- columnWidth: getColumnWidth,
269
- height: finalHeight,
270
- rowHeight: getRowHeight,
271
- itemData: {
261
+ var onItemsRendered = useCallback(function (itemsRendered) {
262
+ var _virtualizationOption;
263
+ gridItemsRendered.current = itemsRendered;
264
+ virtualizationOptions === null || virtualizationOptions === void 0 ? void 0 : (_virtualizationOption = virtualizationOptions.onItemsRendered) === null || _virtualizationOption === void 0 ? void 0 : _virtualizationOption.call(virtualizationOptions, itemsRendered);
265
+ }, [gridItemsRendered, virtualizationOptions]);
266
+ var itemData = useMemo(function () {
267
+ return {
272
268
  schemaDetectors: schemaDetectors,
273
269
  setRowHeight: setRowHeight,
274
270
  leadingControlColumns: leadingControlColumns,
@@ -279,13 +275,39 @@ export var EuiDataGridBodyVirtualized = function EuiDataGridBodyVirtualized(_ref
279
275
  columnWidths: columnWidths,
280
276
  defaultColumnWidth: defaultColumnWidth,
281
277
  renderCellValue: renderCellValue,
278
+ cellContext: cellContext,
282
279
  renderCellPopover: renderCellPopover,
283
280
  interactiveCellId: interactiveCellId,
284
281
  rowHeightsOptions: rowHeightsOptions,
285
282
  rowHeightUtils: rowHeightUtils,
286
283
  rowManager: rowManager,
287
- pagination: pagination
288
- },
284
+ pagination: pagination,
285
+ headerRowHeight: headerRowHeight
286
+ };
287
+ }, [schemaDetectors, setRowHeight, leadingControlColumns, trailingControlColumns, columns, visibleColCount, schema, columnWidths, defaultColumnWidth, renderCellValue, cellContext, renderCellPopover, interactiveCellId, rowHeightsOptions, rowHeightUtils, rowManager, pagination, headerRowHeight]);
288
+ var rowWrapperContextValue = useMemo(function () {
289
+ return {
290
+ headerRowHeight: headerRowHeight,
291
+ headerRow: headerRow,
292
+ footerRow: footerRow
293
+ };
294
+ }, [headerRowHeight, headerRow, footerRow]);
295
+ return IS_JEST_ENVIRONMENT || finalWidth > 0 ? ___EmotionJSX(DataGridWrapperRowsContext.Provider, {
296
+ value: rowWrapperContextValue
297
+ }, ___EmotionJSX(Grid, _extends({}, virtualizationOptions, {
298
+ ref: gridRef,
299
+ className: classNames('euiDataGrid__virtualized', virtualizationOptions === null || virtualizationOptions === void 0 ? void 0 : virtualizationOptions.className),
300
+ onItemsRendered: onItemsRendered,
301
+ innerElementType: InnerElement,
302
+ outerRef: outerGridRef,
303
+ innerRef: innerGridRef,
304
+ columnCount: visibleColCount,
305
+ width: finalWidth,
306
+ columnWidth: getColumnWidth,
307
+ height: finalHeight,
308
+ rowHeight: getRowHeight,
309
+ itemData: itemData,
289
310
  rowCount: IS_JEST_ENVIRONMENT || headerRowHeight > 0 ? visibleRowCount : 0
290
- }), _Cell), scrollBorderOverlay) : null;
291
- };
311
+ }), Cell), scrollBorderOverlay) : null;
312
+ });
313
+ EuiDataGridBodyVirtualized.displayName = 'EuiDataGridBodyVirtualized';
@@ -7,7 +7,7 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
7
7
  * Side Public License, v 1.
8
8
  */
9
9
 
10
- import { useRef, useCallback } from 'react';
10
+ import { useRef, useCallback, useMemo } from 'react';
11
11
  import { useUpdateEffect } from '../../../services';
12
12
  export var useRowManager = function useRowManager(_ref) {
13
13
  var innerGridRef = _ref.innerGridRef,
@@ -78,7 +78,7 @@ export var useRowManager = function useRowManager(_ref) {
78
78
  if (rowClasses) {
79
79
  rowIdToElements.current.forEach(function (rowElement, rowIndex) {
80
80
  var euiClasses = Array.from(rowElement.classList).filter(function (className) {
81
- return className.startsWith('euiDataGridRow');
81
+ return ['euiDataGridRow', 'euiDataGridRow--striped'].includes(className);
82
82
  }).join(' ');
83
83
  if (rowClasses[rowIndex]) {
84
84
  rowElement.classList.value = "".concat(euiClasses, " ").concat(rowClasses[rowIndex]);
@@ -88,7 +88,9 @@ export var useRowManager = function useRowManager(_ref) {
88
88
  });
89
89
  }
90
90
  }, [rowClasses]);
91
- return {
92
- getRow: getRow
93
- };
91
+ return useMemo(function () {
92
+ return {
93
+ getRow: getRow
94
+ };
95
+ }, [getRow]);
94
96
  };
@@ -32,8 +32,7 @@ export var useDataGridFooter = function useDataGridFooter(props) {
32
32
  ref: setFooterRowRef,
33
33
  renderCellValue: renderFooterCellValue
34
34
  }, footerProps));
35
- }, Object.values(props)); // eslint-disable-line react-hooks/exhaustive-deps
36
-
35
+ }, [props]);
37
36
  return {
38
37
  footerRow: footerRow,
39
38
  footerRowHeight: footerRowHeight
@@ -7,11 +7,11 @@ import _extends from "@babel/runtime/helpers/extends";
7
7
  * Side Public License, v 1.
8
8
  */
9
9
 
10
- import React from 'react';
10
+ import React, { memo } from 'react';
11
11
  import classNames from 'classnames';
12
12
  import { EuiDataGridHeaderCellWrapper } from './data_grid_header_cell_wrapper';
13
13
  import { jsx as ___EmotionJSX } from "@emotion/react";
14
- export var EuiDataGridControlHeaderCell = function EuiDataGridControlHeaderCell(_ref) {
14
+ export var EuiDataGridControlHeaderCell = /*#__PURE__*/memo(function (_ref) {
15
15
  var controlColumn = _ref.controlColumn,
16
16
  index = _ref.index;
17
17
  var HeaderCellRender = controlColumn.headerCellRender,
@@ -26,4 +26,5 @@ export var EuiDataGridControlHeaderCell = function EuiDataGridControlHeaderCell(
26
26
  }), ___EmotionJSX("div", {
27
27
  className: "euiDataGridHeaderCell__content"
28
28
  }, ___EmotionJSX(HeaderCellRender, null)));
29
- };
29
+ });
30
+ EuiDataGridControlHeaderCell.displayName = 'EuiDataGridControlHeaderCell';