@elastic/eui 93.3.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 (286) 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/es/components/breadcrumbs/_breadcrumb_content.js +362 -0
  5. package/es/components/breadcrumbs/_breadcrumb_content.styles.js +48 -0
  6. package/es/components/breadcrumbs/breadcrumb.js +10 -327
  7. package/es/components/breadcrumbs/breadcrumb.styles.js +5 -27
  8. package/es/components/breadcrumbs/breadcrumbs.js +4 -4
  9. package/es/components/breadcrumbs/types.js +1 -0
  10. package/es/components/button/button_group/button_group.js +16 -2
  11. package/es/components/button/button_group/button_group.styles.js +1 -1
  12. package/es/components/button/button_group/button_group_button.js +59 -5
  13. package/es/components/button/button_group/button_group_button.styles.js +39 -3
  14. package/es/components/datagrid/body/cell/data_grid_cell.js +97 -58
  15. package/es/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  16. package/es/components/datagrid/body/cell/data_grid_cell_popover.js +64 -56
  17. package/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  18. package/es/components/datagrid/body/cell/index.js +1 -1
  19. package/es/components/datagrid/body/data_grid_body.js +13 -0
  20. package/es/components/datagrid/body/data_grid_body_custom.js +52 -36
  21. package/es/components/datagrid/body/data_grid_body_virtualized.js +84 -56
  22. package/es/components/datagrid/body/data_grid_row_manager.js +6 -4
  23. package/es/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  24. package/es/components/datagrid/body/header/data_grid_control_header_cell.js +5 -4
  25. package/es/components/datagrid/body/header/data_grid_header_cell.js +73 -53
  26. package/es/components/datagrid/body/header/data_grid_header_row.js +15 -551
  27. package/es/components/datagrid/body/header/use_data_grid_header.js +7 -6
  28. package/es/components/datagrid/controls/column_selector.js +126 -123
  29. package/es/components/datagrid/controls/column_sorting.js +605 -103
  30. package/es/components/datagrid/controls/column_sorting_draggable.js +24 -22
  31. package/es/components/datagrid/controls/display_selector.js +109 -107
  32. package/es/components/datagrid/data_grid.a11y.js +13 -12
  33. package/es/components/datagrid/data_grid.js +45 -22
  34. package/es/components/datagrid/utils/col_widths.js +12 -8
  35. package/es/components/datagrid/utils/focus.js +10 -8
  36. package/es/components/datagrid/utils/grid_height_width.js +31 -30
  37. package/es/components/datagrid/utils/ref.js +1 -1
  38. package/es/components/datagrid/utils/row_heights.js +2 -2
  39. package/es/components/datagrid/utils/sorting.js +29 -27
  40. package/es/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  41. package/es/components/date_picker/super_date_picker/super_update_button.js +57 -29
  42. package/es/components/flex/flex_grid.js +22 -8
  43. package/es/components/flex/flex_grid.styles.js +13 -6
  44. package/es/components/flex/flex_group.js +10 -11
  45. package/es/components/flex/flex_item.js +9 -11
  46. package/es/components/flex/flex_item.styles.js +107 -122
  47. package/es/components/flyout/flyout.js +16 -18
  48. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  49. package/es/components/modal/confirm_modal.js +2 -1
  50. package/es/components/modal/modal.js +12 -3
  51. package/es/components/observer/resize_observer/resize_observer.js +15 -24
  52. package/es/components/spacer/spacer.js +2 -3
  53. package/es/components/toast/global_toast_list.js +70 -73
  54. package/es/components/toast/toast.js +27 -42
  55. package/es/components/toast/toast.styles.js +2 -17
  56. package/es/services/color/eui_palettes.js +21 -13
  57. package/es/services/color/index.js +1 -1
  58. package/es/services/hooks/index.js +1 -0
  59. package/es/services/hooks/useDeepEqual.js +23 -0
  60. package/es/services/index.js +1 -1
  61. package/eui.d.ts +2442 -2337
  62. package/i18ntokens.json +259 -259
  63. package/lib/components/breadcrumbs/_breadcrumb_content.js +372 -0
  64. package/lib/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  65. package/lib/components/breadcrumbs/breadcrumb.js +11 -331
  66. package/lib/components/breadcrumbs/breadcrumb.styles.js +5 -29
  67. package/lib/components/breadcrumbs/breadcrumbs.js +3 -3
  68. package/lib/components/breadcrumbs/types.js +5 -0
  69. package/lib/components/button/button_group/button_group.js +16 -2
  70. package/lib/components/button/button_group/button_group.styles.js +1 -1
  71. package/lib/components/button/button_group/button_group_button.js +59 -5
  72. package/lib/components/button/button_group/button_group_button.styles.js +45 -11
  73. package/lib/components/datagrid/body/cell/data_grid_cell.js +95 -57
  74. package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  75. package/lib/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  76. package/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  77. package/lib/components/datagrid/body/cell/index.js +2 -2
  78. package/lib/components/datagrid/body/data_grid_body.js +13 -0
  79. package/lib/components/datagrid/body/data_grid_body_custom.js +51 -35
  80. package/lib/components/datagrid/body/data_grid_body_virtualized.js +83 -55
  81. package/lib/components/datagrid/body/data_grid_row_manager.js +5 -3
  82. package/lib/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  83. package/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  84. package/lib/components/datagrid/body/header/data_grid_header_cell.js +72 -52
  85. package/lib/components/datagrid/body/header/data_grid_header_row.js +14 -550
  86. package/lib/components/datagrid/body/header/use_data_grid_header.js +7 -6
  87. package/lib/components/datagrid/controls/column_selector.js +126 -123
  88. package/lib/components/datagrid/controls/column_sorting.js +615 -110
  89. package/lib/components/datagrid/controls/column_sorting_draggable.js +27 -22
  90. package/lib/components/datagrid/controls/display_selector.js +109 -107
  91. package/lib/components/datagrid/data_grid.a11y.js +13 -12
  92. package/lib/components/datagrid/data_grid.js +43 -20
  93. package/lib/components/datagrid/utils/col_widths.js +12 -8
  94. package/lib/components/datagrid/utils/focus.js +10 -8
  95. package/lib/components/datagrid/utils/grid_height_width.js +29 -28
  96. package/lib/components/datagrid/utils/ref.js +1 -1
  97. package/lib/components/datagrid/utils/row_heights.js +1 -1
  98. package/lib/components/datagrid/utils/sorting.js +31 -29
  99. package/lib/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  100. package/lib/components/date_picker/super_date_picker/super_update_button.js +57 -29
  101. package/lib/components/flex/flex_grid.js +23 -7
  102. package/lib/components/flex/flex_grid.styles.js +13 -6
  103. package/lib/components/flex/flex_group.js +10 -10
  104. package/lib/components/flex/flex_item.js +13 -13
  105. package/lib/components/flex/flex_item.styles.js +107 -122
  106. package/lib/components/flyout/flyout.js +16 -18
  107. package/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  108. package/lib/components/modal/confirm_modal.js +2 -1
  109. package/lib/components/modal/modal.js +12 -3
  110. package/lib/components/observer/resize_observer/resize_observer.js +15 -24
  111. package/lib/components/spacer/spacer.js +1 -2
  112. package/lib/components/toast/global_toast_list.js +68 -71
  113. package/lib/components/toast/toast.js +25 -40
  114. package/lib/components/toast/toast.styles.js +11 -25
  115. package/lib/services/color/eui_palettes.js +24 -14
  116. package/lib/services/color/index.js +14 -0
  117. package/lib/services/hooks/index.js +11 -0
  118. package/lib/services/hooks/useDeepEqual.js +30 -0
  119. package/lib/services/index.js +15 -1
  120. package/optimize/es/components/breadcrumbs/_breadcrumb_content.js +153 -0
  121. package/optimize/es/components/breadcrumbs/_breadcrumb_content.styles.js +48 -0
  122. package/optimize/es/components/breadcrumbs/breadcrumb.js +10 -110
  123. package/optimize/es/components/breadcrumbs/breadcrumb.styles.js +5 -27
  124. package/optimize/es/components/breadcrumbs/breadcrumbs.js +4 -4
  125. package/optimize/es/components/breadcrumbs/types.js +1 -0
  126. package/optimize/es/components/button/button_group/button_group.js +2 -2
  127. package/optimize/es/components/button/button_group/button_group.styles.js +1 -1
  128. package/optimize/es/components/button/button_group/button_group_button.js +36 -4
  129. package/optimize/es/components/button/button_group/button_group_button.styles.js +39 -3
  130. package/optimize/es/components/datagrid/body/cell/data_grid_cell.js +80 -55
  131. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  132. package/optimize/es/components/datagrid/body/cell/data_grid_cell_popover.js +64 -56
  133. package/optimize/es/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  134. package/optimize/es/components/datagrid/body/cell/index.js +1 -1
  135. package/optimize/es/components/datagrid/body/data_grid_body_custom.js +39 -36
  136. package/optimize/es/components/datagrid/body/data_grid_body_virtualized.js +69 -49
  137. package/optimize/es/components/datagrid/body/data_grid_row_manager.js +6 -4
  138. package/optimize/es/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  139. package/optimize/es/components/datagrid/body/header/data_grid_control_header_cell.js +4 -3
  140. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +65 -49
  141. package/optimize/es/components/datagrid/body/header/data_grid_header_row.js +15 -13
  142. package/optimize/es/components/datagrid/body/header/use_data_grid_header.js +7 -6
  143. package/optimize/es/components/datagrid/controls/column_selector.js +126 -123
  144. package/optimize/es/components/datagrid/controls/column_sorting.js +121 -103
  145. package/optimize/es/components/datagrid/controls/column_sorting_draggable.js +24 -22
  146. package/optimize/es/components/datagrid/controls/display_selector.js +109 -107
  147. package/optimize/es/components/datagrid/data_grid.a11y.js +13 -12
  148. package/optimize/es/components/datagrid/data_grid.js +45 -22
  149. package/optimize/es/components/datagrid/utils/col_widths.js +9 -5
  150. package/optimize/es/components/datagrid/utils/focus.js +10 -8
  151. package/optimize/es/components/datagrid/utils/grid_height_width.js +31 -30
  152. package/optimize/es/components/datagrid/utils/ref.js +1 -1
  153. package/optimize/es/components/datagrid/utils/row_heights.js +2 -2
  154. package/optimize/es/components/datagrid/utils/sorting.js +29 -27
  155. package/optimize/es/components/date_picker/super_date_picker/super_update_button.js +49 -29
  156. package/optimize/es/components/flex/flex_grid.js +19 -8
  157. package/optimize/es/components/flex/flex_grid.styles.js +13 -6
  158. package/optimize/es/components/flex/flex_group.js +9 -10
  159. package/optimize/es/components/flex/flex_item.js +9 -11
  160. package/optimize/es/components/flex/flex_item.styles.js +107 -122
  161. package/optimize/es/components/flyout/flyout.js +16 -18
  162. package/optimize/es/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  163. package/optimize/es/components/modal/confirm_modal.js +2 -1
  164. package/optimize/es/components/modal/modal.js +6 -2
  165. package/optimize/es/components/observer/resize_observer/resize_observer.js +15 -24
  166. package/optimize/es/components/spacer/spacer.js +2 -3
  167. package/optimize/es/components/toast/global_toast_list.js +70 -73
  168. package/optimize/es/components/toast/toast.js +27 -42
  169. package/optimize/es/components/toast/toast.styles.js +2 -17
  170. package/optimize/es/services/color/eui_palettes.js +21 -13
  171. package/optimize/es/services/color/index.js +1 -1
  172. package/optimize/es/services/hooks/index.js +1 -0
  173. package/optimize/es/services/hooks/useDeepEqual.js +23 -0
  174. package/optimize/es/services/index.js +1 -1
  175. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.js +163 -0
  176. package/optimize/lib/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  177. package/optimize/lib/components/breadcrumbs/breadcrumb.js +10 -113
  178. package/optimize/lib/components/breadcrumbs/breadcrumb.styles.js +5 -29
  179. package/optimize/lib/components/breadcrumbs/breadcrumbs.js +3 -3
  180. package/optimize/lib/components/breadcrumbs/types.js +5 -0
  181. package/optimize/lib/components/button/button_group/button_group.js +2 -2
  182. package/optimize/lib/components/button/button_group/button_group.styles.js +1 -1
  183. package/optimize/lib/components/button/button_group/button_group_button.js +37 -5
  184. package/optimize/lib/components/button/button_group/button_group_button.styles.js +45 -11
  185. package/optimize/lib/components/datagrid/body/cell/data_grid_cell.js +78 -54
  186. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  187. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  188. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  189. package/optimize/lib/components/datagrid/body/cell/index.js +2 -2
  190. package/optimize/lib/components/datagrid/body/data_grid_body_custom.js +38 -35
  191. package/optimize/lib/components/datagrid/body/data_grid_body_virtualized.js +70 -50
  192. package/optimize/lib/components/datagrid/body/data_grid_row_manager.js +5 -3
  193. package/optimize/lib/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  194. package/optimize/lib/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  195. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +65 -49
  196. package/optimize/lib/components/datagrid/body/header/data_grid_header_row.js +14 -12
  197. package/optimize/lib/components/datagrid/body/header/use_data_grid_header.js +7 -6
  198. package/optimize/lib/components/datagrid/controls/column_selector.js +126 -123
  199. package/optimize/lib/components/datagrid/controls/column_sorting.js +125 -107
  200. package/optimize/lib/components/datagrid/controls/column_sorting_draggable.js +27 -22
  201. package/optimize/lib/components/datagrid/controls/display_selector.js +109 -107
  202. package/optimize/lib/components/datagrid/data_grid.a11y.js +13 -12
  203. package/optimize/lib/components/datagrid/data_grid.js +43 -20
  204. package/optimize/lib/components/datagrid/utils/col_widths.js +9 -5
  205. package/optimize/lib/components/datagrid/utils/focus.js +10 -8
  206. package/optimize/lib/components/datagrid/utils/grid_height_width.js +29 -28
  207. package/optimize/lib/components/datagrid/utils/ref.js +1 -1
  208. package/optimize/lib/components/datagrid/utils/row_heights.js +1 -1
  209. package/optimize/lib/components/datagrid/utils/sorting.js +31 -29
  210. package/optimize/lib/components/date_picker/super_date_picker/super_update_button.js +49 -29
  211. package/optimize/lib/components/flex/flex_grid.js +21 -7
  212. package/optimize/lib/components/flex/flex_grid.styles.js +13 -6
  213. package/optimize/lib/components/flex/flex_group.js +9 -9
  214. package/optimize/lib/components/flex/flex_item.js +13 -13
  215. package/optimize/lib/components/flex/flex_item.styles.js +107 -122
  216. package/optimize/lib/components/flyout/flyout.js +16 -18
  217. package/optimize/lib/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  218. package/optimize/lib/components/modal/confirm_modal.js +2 -1
  219. package/optimize/lib/components/modal/modal.js +6 -2
  220. package/optimize/lib/components/observer/resize_observer/resize_observer.js +15 -24
  221. package/optimize/lib/components/spacer/spacer.js +1 -2
  222. package/optimize/lib/components/toast/global_toast_list.js +68 -71
  223. package/optimize/lib/components/toast/toast.js +25 -40
  224. package/optimize/lib/components/toast/toast.styles.js +11 -25
  225. package/optimize/lib/services/color/eui_palettes.js +24 -14
  226. package/optimize/lib/services/color/index.js +14 -0
  227. package/optimize/lib/services/hooks/index.js +11 -0
  228. package/optimize/lib/services/hooks/useDeepEqual.js +30 -0
  229. package/optimize/lib/services/index.js +15 -1
  230. package/package.json +2 -2
  231. package/test-env/components/breadcrumbs/_breadcrumb_content.js +363 -0
  232. package/test-env/components/breadcrumbs/_breadcrumb_content.styles.js +55 -0
  233. package/test-env/components/breadcrumbs/breadcrumb.js +11 -326
  234. package/test-env/components/breadcrumbs/breadcrumb.styles.js +5 -29
  235. package/test-env/components/breadcrumbs/breadcrumbs.js +3 -3
  236. package/test-env/components/breadcrumbs/types.js +5 -0
  237. package/test-env/components/button/button_group/button_group.js +16 -2
  238. package/test-env/components/button/button_group/button_group.styles.js +1 -1
  239. package/test-env/components/button/button_group/button_group_button.js +56 -5
  240. package/test-env/components/button/button_group/button_group_button.styles.js +45 -11
  241. package/test-env/components/datagrid/body/cell/data_grid_cell.js +95 -57
  242. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +24 -18
  243. package/test-env/components/datagrid/body/cell/data_grid_cell_popover.js +63 -55
  244. package/test-env/components/datagrid/body/cell/data_grid_cell_wrapper.js +32 -31
  245. package/test-env/components/datagrid/body/cell/index.js +2 -2
  246. package/test-env/components/datagrid/body/data_grid_body.js +13 -0
  247. package/test-env/components/datagrid/body/data_grid_body_custom.js +51 -35
  248. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +83 -55
  249. package/test-env/components/datagrid/body/data_grid_row_manager.js +5 -3
  250. package/test-env/components/datagrid/body/footer/use_data_grid_footer.js +1 -2
  251. package/test-env/components/datagrid/body/header/data_grid_control_header_cell.js +8 -4
  252. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +72 -52
  253. package/test-env/components/datagrid/body/header/data_grid_header_row.js +14 -550
  254. package/test-env/components/datagrid/body/header/use_data_grid_header.js +7 -6
  255. package/test-env/components/datagrid/controls/column_selector.js +126 -123
  256. package/test-env/components/datagrid/controls/column_sorting.js +607 -106
  257. package/test-env/components/datagrid/controls/column_sorting_draggable.js +27 -22
  258. package/test-env/components/datagrid/controls/display_selector.js +109 -107
  259. package/test-env/components/datagrid/data_grid.a11y.js +13 -12
  260. package/test-env/components/datagrid/data_grid.js +43 -20
  261. package/test-env/components/datagrid/utils/col_widths.js +9 -5
  262. package/test-env/components/datagrid/utils/focus.js +10 -8
  263. package/test-env/components/datagrid/utils/grid_height_width.js +29 -28
  264. package/test-env/components/datagrid/utils/ref.js +1 -1
  265. package/test-env/components/datagrid/utils/row_heights.js +1 -1
  266. package/test-env/components/datagrid/utils/sorting.js +31 -29
  267. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +9 -0
  268. package/test-env/components/date_picker/super_date_picker/super_update_button.js +57 -29
  269. package/test-env/components/flex/flex_grid.js +21 -7
  270. package/test-env/components/flex/flex_grid.styles.js +13 -6
  271. package/test-env/components/flex/flex_group.js +10 -10
  272. package/test-env/components/flex/flex_item.js +13 -13
  273. package/test-env/components/flex/flex_item.styles.js +107 -122
  274. package/test-env/components/header/header_breadcrumbs/header_breadcrumbs.js +3 -5
  275. package/test-env/components/modal/confirm_modal.js +2 -1
  276. package/test-env/components/modal/modal.js +12 -3
  277. package/test-env/components/spacer/spacer.js +1 -2
  278. package/test-env/components/toast/global_toast_list.js +68 -71
  279. package/test-env/components/toast/toast.js +25 -40
  280. package/test-env/components/toast/toast.styles.js +11 -25
  281. package/test-env/services/color/eui_palettes.js +24 -14
  282. package/test-env/services/color/index.js +14 -0
  283. package/test-env/services/hooks/index.js +11 -0
  284. package/test-env/services/hooks/useDeepEqual.js +30 -0
  285. package/test-env/services/index.js +15 -1
  286. package/src/themes/charts/theme.scss +0 -5
@@ -72,9 +72,19 @@ var commaSeparateNumbers = function commaSeparateNumbers(numberString) {
72
72
  );
73
73
  });
74
74
  };
75
+ var renderCellValue = function renderCellValue(_ref2) {
76
+ var rowIndex = _ref2.rowIndex,
77
+ columnId = _ref2.columnId,
78
+ schema = _ref2.schema;
79
+ var value = storeData[rowIndex][columnId];
80
+ if (schema === 'numeric') {
81
+ value = commaSeparateNumbers(value);
82
+ }
83
+ return value;
84
+ };
75
85
  var DataGrid = function DataGrid() {
76
- var _useState = (0, _react.useState)(columns.map(function (_ref2) {
77
- var id = _ref2.id;
86
+ var _useState = (0, _react.useState)(columns.map(function (_ref3) {
87
+ var id = _ref3.id;
78
88
  return id;
79
89
  })),
80
90
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -116,16 +126,7 @@ var DataGrid = function DataGrid() {
116
126
  inMemory: {
117
127
  level: 'sorting'
118
128
  },
119
- renderCellValue: function renderCellValue(_ref3) {
120
- var rowIndex = _ref3.rowIndex,
121
- columnId = _ref3.columnId,
122
- schema = _ref3.schema;
123
- var value = data[rowIndex][columnId];
124
- if (schema === 'numeric') {
125
- value = commaSeparateNumbers(value);
126
- }
127
- return value;
128
- },
129
+ renderCellValue: renderCellValue,
129
130
  sorting: {
130
131
  columns: sortingColumns,
131
132
  onSort: setSorting
@@ -31,8 +31,7 @@ var _data_grid_schema = require("./utils/data_grid_schema");
31
31
  var _ref = require("./utils/ref");
32
32
  var _data_grid_types = require("./data_grid_types");
33
33
  var _react2 = require("@emotion/react");
34
- var _excluded = ["leadingControlColumns", "trailingControlColumns", "columns", "columnVisibility", "schemaDetectors", "rowCount", "renderCellValue", "cellContext", "renderCellPopover", "renderFooterCellValue", "className", "gridStyle", "toolbarVisibility", "pagination", "sorting", "inMemory", "onColumnResize", "minSizeForControls", "height", "width", "rowHeightsOptions", "virtualizationOptions", "renderCustomGridBody", "renderCustomToolbar"],
35
- _excluded2 = ["focusProps"];
34
+ var _excluded = ["leadingControlColumns", "trailingControlColumns", "columns", "columnVisibility", "schemaDetectors", "rowCount", "renderCellValue", "cellContext", "renderCellPopover", "renderFooterCellValue", "className", "gridStyle", "toolbarVisibility", "pagination", "sorting", "inMemory", "onColumnResize", "minSizeForControls", "height", "width", "rowHeightsOptions", "virtualizationOptions", "renderCustomGridBody", "renderCustomToolbar"];
36
35
  /*
37
36
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
38
37
  * or more contributor license agreements. Licensed under the Elastic License
@@ -73,8 +72,8 @@ var cellPaddingsToClassMap = {
73
72
  m: '',
74
73
  l: 'euiDataGrid--paddingLarge'
75
74
  };
75
+ var emptyVirtualizationOptions = {};
76
76
  var EuiDataGrid = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
77
- var _gridItemsRendered$cu;
78
77
  var _props$leadingControl = props.leadingControlColumns,
79
78
  leadingControlColumns = _props$leadingControl === void 0 ? _data_grid_types.emptyControlColumns : _props$leadingControl,
80
79
  _props$trailingContro = props.trailingControlColumns,
@@ -194,8 +193,14 @@ var EuiDataGrid = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forward
194
193
  /**
195
194
  * Sorting
196
195
  */
197
- var columnSorting = (0, _controls.useDataGridColumnSorting)(orderedVisibleColumns, sorting, mergedSchema, allSchemaDetectors, displayValues);
198
- var sortingContext = (0, _sorting.useSorting)({
196
+ var columnSorting = (0, _controls.useDataGridColumnSorting)({
197
+ sorting: sorting,
198
+ columns: orderedVisibleColumns,
199
+ displayValues: displayValues,
200
+ schema: mergedSchema,
201
+ schemaDetectors: allSchemaDetectors
202
+ });
203
+ var sortedContext = (0, _sorting.useSorting)({
199
204
  sorting: sorting,
200
205
  inMemory: inMemory,
201
206
  inMemoryValues: inMemoryValues,
@@ -209,7 +214,20 @@ var EuiDataGrid = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forward
209
214
  */
210
215
  var _useFocus = (0, _focus.useFocus)(),
211
216
  wrappingDivFocusProps = _useFocus.focusProps,
212
- focusContext = (0, _objectWithoutProperties2.default)(_useFocus, _excluded2);
217
+ onFocusUpdate = _useFocus.onFocusUpdate,
218
+ focusedCell = _useFocus.focusedCell,
219
+ setFocusedCell = _useFocus.setFocusedCell,
220
+ setIsFocusedCellInView = _useFocus.setIsFocusedCellInView,
221
+ focusFirstVisibleInteractiveCell = _useFocus.focusFirstVisibleInteractiveCell;
222
+ var focusContext = (0, _react.useMemo)(function () {
223
+ return {
224
+ onFocusUpdate: onFocusUpdate,
225
+ focusedCell: focusedCell,
226
+ setFocusedCell: setFocusedCell,
227
+ setIsFocusedCellInView: setIsFocusedCellInView,
228
+ focusFirstVisibleInteractiveCell: focusFirstVisibleInteractiveCell
229
+ };
230
+ }, [onFocusUpdate, focusedCell, setFocusedCell, setIsFocusedCellInView, focusFirstVisibleInteractiveCell]);
213
231
 
214
232
  /**
215
233
  * Cell popover
@@ -239,7 +257,7 @@ var EuiDataGrid = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forward
239
257
  setIsFullScreen: setIsFullScreen,
240
258
  focusContext: focusContext,
241
259
  cellPopoverContext: cellPopoverContext,
242
- sortingContext: sortingContext,
260
+ sortedContext: sortedContext,
243
261
  pagination: pagination,
244
262
  rowCount: rowCount,
245
263
  visibleColCount: visibleColCount
@@ -286,12 +304,25 @@ var EuiDataGrid = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forward
286
304
  gridAriaProps['aria-labelledby'] = "".concat(rest['aria-labelledby'], " ").concat(pagination ? ariaLabelledById : '');
287
305
  delete rest['aria-labelledby'];
288
306
  }
307
+ var onKeyDown = (0, _react.useCallback)(function (event) {
308
+ var _gridItemsRendered$cu;
309
+ (0, _focus.createKeyDownHandler)({
310
+ gridElement: contentRef.current,
311
+ visibleColCount: visibleColCount,
312
+ visibleRowCount: visibleRowCount,
313
+ visibleRowStartIndex: ((_gridItemsRendered$cu = gridItemsRendered.current) === null || _gridItemsRendered$cu === void 0 ? void 0 : _gridItemsRendered$cu.visibleRowStartIndex) || 0,
314
+ rowCount: rowCount,
315
+ pagination: pagination,
316
+ hasFooter: !!renderFooterCellValue,
317
+ focusContext: focusContext
318
+ })(event);
319
+ }, [focusContext, visibleColCount, visibleRowCount, rowCount, pagination, renderFooterCellValue]);
289
320
  return (0, _react2.jsx)(_focus.DataGridFocusContext.Provider, {
290
321
  value: focusContext
291
322
  }, (0, _react2.jsx)(_cell.DataGridCellPopoverContext.Provider, {
292
323
  value: cellPopoverContext
293
- }, (0, _react2.jsx)(_sorting.DataGridSortingContext.Provider, {
294
- value: sortingContext
324
+ }, (0, _react2.jsx)(_sorting.DataGridSortedContext.Provider, {
325
+ value: sortedContext
295
326
  }, (0, _react2.jsx)(_focus_trap.EuiFocusTrap, {
296
327
  disabled: !isFullScreen,
297
328
  className: "euiDataGrid__focusWrap"
@@ -327,16 +358,7 @@ var EuiDataGrid = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forward
327
358
  }) : null, (0, _react2.jsx)("div", (0, _extends2.default)({
328
359
  // eslint-disable-line jsx-a11y/interactive-supports-focus
329
360
  ref: contentRef,
330
- onKeyDown: (0, _focus.createKeyDownHandler)({
331
- gridElement: contentRef.current,
332
- visibleColCount: visibleColCount,
333
- visibleRowCount: visibleRowCount,
334
- visibleRowStartIndex: ((_gridItemsRendered$cu = gridItemsRendered.current) === null || _gridItemsRendered$cu === void 0 ? void 0 : _gridItemsRendered$cu.visibleRowStartIndex) || 0,
335
- rowCount: rowCount,
336
- pagination: pagination,
337
- hasFooter: !!renderFooterCellValue,
338
- focusContext: focusContext
339
- }),
361
+ onKeyDown: onKeyDown,
340
362
  "data-test-subj": "euiDataGridBody",
341
363
  className: "euiDataGrid__content",
342
364
  role: "grid",
@@ -352,6 +374,7 @@ var EuiDataGrid = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forward
352
374
  switchColumnPos: switchColumnPos,
353
375
  onColumnResize: onColumnResize,
354
376
  schemaDetectors: allSchemaDetectors,
377
+ sorting: sorting,
355
378
  pagination: pagination,
356
379
  renderCellValue: renderCellValue,
357
380
  cellContext: cellContext,
@@ -361,7 +384,7 @@ var EuiDataGrid = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forward
361
384
  visibleRows: visibleRows,
362
385
  interactiveCellId: interactiveCellId,
363
386
  rowHeightsOptions: rowHeightsOptions,
364
- virtualizationOptions: virtualizationOptions || {},
387
+ virtualizationOptions: virtualizationOptions || emptyVirtualizationOptions,
365
388
  isFullScreen: isFullScreen,
366
389
  gridStyles: gridStyles,
367
390
  gridWidth: gridWidth,
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.useDefaultColumnWidth = exports.useColumnWidths = exports.doesColumnHaveAnInitialWidth = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
11
  var _react = require("react");
12
12
  var _services = require("../../../services");
@@ -55,10 +55,12 @@ var useColumnWidths = function useColumnWidths(_ref) {
55
55
  onColumnResize = _ref.onColumnResize;
56
56
  var computeColumnWidths = (0, _react.useCallback)(function () {
57
57
  return columns.filter(doesColumnHaveAnInitialWidth).reduce(function (initialWidths, column) {
58
- initialWidths[column.id] = column.initialWidth;
59
- return initialWidths;
58
+ return _objectSpread(_objectSpread({}, initialWidths), {}, (0, _defineProperty2.default)({}, column.id, column.initialWidth));
60
59
  }, {});
61
60
  }, [columns]);
61
+
62
+ // Passes initializer function for performance, so computing only runs once on init
63
+ // @see https://react.dev/reference/react/useState#examples-initializer
62
64
  var _useState = (0, _react.useState)(computeColumnWidths),
63
65
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
64
66
  columnWidths = _useState2[0],
@@ -67,14 +69,16 @@ var useColumnWidths = function useColumnWidths(_ref) {
67
69
  setColumnWidths(computeColumnWidths());
68
70
  }, [computeColumnWidths]);
69
71
  var setColumnWidth = (0, _react.useCallback)(function (columnId, width) {
70
- setColumnWidths(_objectSpread(_objectSpread({}, columnWidths), {}, (0, _defineProperty2.default)({}, columnId, width)));
72
+ setColumnWidths(function (prevColumnWidths) {
73
+ return _objectSpread(_objectSpread({}, prevColumnWidths), {}, (0, _defineProperty2.default)({}, columnId, width));
74
+ });
71
75
  if (onColumnResize) {
72
76
  onColumnResize({
73
77
  columnId: columnId,
74
78
  width: width
75
79
  });
76
80
  }
77
- }, [columnWidths, onColumnResize]);
81
+ }, [onColumnResize]);
78
82
 
79
83
  // Used by react-window to determine actual column widths
80
84
  var getColumnWidth = (0, _react.useCallback)(function (index) {
@@ -95,14 +95,16 @@ var useFocus = function useFocus() {
95
95
  }
96
96
  };
97
97
  }, [isFocusedCellInView, focusFirstVisibleInteractiveCell]);
98
- return {
99
- onFocusUpdate: onFocusUpdate,
100
- focusedCell: focusedCell,
101
- setFocusedCell: setFocusedCell,
102
- setIsFocusedCellInView: setIsFocusedCellInView,
103
- focusFirstVisibleInteractiveCell: focusFirstVisibleInteractiveCell,
104
- focusProps: focusProps
105
- };
98
+ return (0, _react.useMemo)(function () {
99
+ return {
100
+ onFocusUpdate: onFocusUpdate,
101
+ focusedCell: focusedCell,
102
+ setFocusedCell: setFocusedCell,
103
+ setIsFocusedCellInView: setIsFocusedCellInView,
104
+ focusFirstVisibleInteractiveCell: focusFirstVisibleInteractiveCell,
105
+ focusProps: focusProps
106
+ };
107
+ }, [onFocusUpdate, focusedCell, setFocusedCell, setIsFocusedCellInView, focusFirstVisibleInteractiveCell, focusProps]);
106
108
  };
107
109
  exports.useFocus = useFocus;
108
110
  var notifyCellOfFocusState = function notifyCellOfFocusState(cellsUpdateFocus, cell, isFocused) {
@@ -91,42 +91,43 @@ var useUnconstrainedHeight = function useUnconstrainedHeight(_ref2) {
91
91
  footerRowHeight = _ref2.footerRowHeight,
92
92
  scrollBarHeight = _ref2.scrollBarHeight,
93
93
  innerGridRef = _ref2.innerGridRef;
94
- var _useContext = (0, _react.useContext)(_sorting.DataGridSortingContext),
94
+ var _useContext = (0, _react.useContext)(_sorting.DataGridSortedContext),
95
95
  getCorrectRowIndex = _useContext.getCorrectRowIndex;
96
- var knownHeight = 0; // tracks the pixel height of rows we know the size of
97
- var knownRowCount = 0; // how many rows we know the size of
98
- for (var i = startRow; i < endRow; i++) {
99
- var correctRowIndex = getCorrectRowIndex(i); // map visible row to logical row
100
-
101
- // lookup the height configuration of this row
102
- var rowHeightOption = rowHeightUtils.getRowHeightOption(correctRowIndex, rowHeightsOptions);
103
- if (rowHeightOption) {
104
- // this row's height is known
105
- knownRowCount++;
106
- knownHeight += rowHeightUtils.getCalculatedHeight(rowHeightOption, defaultRowHeight, correctRowIndex, rowHeightUtils.isRowHeightOverride(correctRowIndex, rowHeightsOptions));
107
- }
108
- }
109
-
110
- // how many rows to provide space for on the screen
111
- var rowCountToAffordFor = endRow - startRow;
112
-
113
96
  // watch the inner element for a change to its width
114
97
  // which may cause the horizontal scrollbar to be added or removed
115
98
  var _useResizeObserver = (0, _resize_observer.useResizeObserver)(innerGridRef.current, 'width'),
116
99
  innerWidth = _useResizeObserver.width;
117
100
  var forceRender = (0, _services.useForceRender)();
118
101
  (0, _services.useUpdateEffect)(forceRender, [innerWidth]);
119
- var unconstrainedHeight = defaultRowHeight * (rowCountToAffordFor - knownRowCount) +
120
- // guess how much space is required for unknown rows
121
- knownHeight +
122
- // computed pixel height of the known rows
123
- headerRowHeight +
124
- // account for header
125
- footerRowHeight +
126
- // account for footer
127
- scrollBarHeight; // account for horizontal scrollbar
102
+ return (0, _react.useMemo)(function () {
103
+ var knownHeight = 0; // tracks the pixel height of rows we know the size of
104
+ var knownRowCount = 0; // how many rows we know the size of
105
+ for (var i = startRow; i < endRow; i++) {
106
+ var correctRowIndex = getCorrectRowIndex(i); // map visible row to logical row
107
+
108
+ // lookup the height configuration of this row
109
+ var rowHeightOption = rowHeightUtils.getRowHeightOption(correctRowIndex, rowHeightsOptions);
110
+ if (rowHeightOption) {
111
+ // this row's height is known
112
+ knownRowCount++;
113
+ knownHeight += rowHeightUtils.getCalculatedHeight(rowHeightOption, defaultRowHeight, correctRowIndex, rowHeightUtils.isRowHeightOverride(correctRowIndex, rowHeightsOptions));
114
+ }
115
+ }
116
+
117
+ // how many rows to provide space for on the screen
118
+ var rowCountToAffordFor = endRow - startRow;
119
+ var unconstrainedHeight = defaultRowHeight * (rowCountToAffordFor - knownRowCount) +
120
+ // guess how much space is required for unknown rows
121
+ knownHeight +
122
+ // computed pixel height of the known rows
123
+ headerRowHeight +
124
+ // account for header
125
+ footerRowHeight +
126
+ // account for footer
127
+ scrollBarHeight; // account for horizontal scrollbar
128
128
 
129
- return unconstrainedHeight;
129
+ return unconstrainedHeight;
130
+ }, [defaultRowHeight, endRow, footerRowHeight, headerRowHeight, startRow, getCorrectRowIndex, rowHeightUtils, rowHeightsOptions, scrollBarHeight]);
130
131
  };
131
132
 
132
133
  /**
@@ -19,7 +19,7 @@ var useImperativeGridRef = function useImperativeGridRef(_ref) {
19
19
  setIsFullScreen = _ref.setIsFullScreen,
20
20
  focusContext = _ref.focusContext,
21
21
  cellPopoverContext = _ref.cellPopoverContext,
22
- sortedRowMap = _ref.sortingContext.sortedRowMap,
22
+ sortedRowMap = _ref.sortedContext.sortedRowMap,
23
23
  pagination = _ref.pagination,
24
24
  rowCount = _ref.rowCount,
25
25
  visibleColCount = _ref.visibleColCount;
@@ -333,7 +333,7 @@ exports.useRowHeightUtils = useRowHeightUtils;
333
333
  var useDefaultRowHeight = function useDefaultRowHeight(_ref3) {
334
334
  var rowHeightsOptions = _ref3.rowHeightsOptions,
335
335
  rowHeightUtils = _ref3.rowHeightUtils;
336
- var _useContext = (0, _react.useContext)(_sorting.DataGridSortingContext),
336
+ var _useContext = (0, _react.useContext)(_sorting.DataGridSortedContext),
337
337
  getCorrectRowIndex = _useContext.getCorrectRowIndex;
338
338
 
339
339
  // `minRowHeight` is primarily used by undefined & lineCount heights
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useSorting = exports.DataGridSortingContext = void 0;
6
+ exports.useSorting = exports.DataGridSortedContext = void 0;
7
7
  var _react = require("react");
8
+ var _services = require("../../../services");
8
9
  var _data_grid_schema = require("./data_grid_schema");
9
10
  /*
10
11
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -14,14 +15,13 @@ var _data_grid_schema = require("./data_grid_schema");
14
15
  * Side Public License, v 1.
15
16
  */
16
17
 
17
- var DataGridSortingContext = /*#__PURE__*/(0, _react.createContext)({
18
- sorting: undefined,
18
+ var DataGridSortedContext = /*#__PURE__*/(0, _react.createContext)({
19
19
  sortedRowMap: [],
20
20
  getCorrectRowIndex: function getCorrectRowIndex(number) {
21
21
  return number;
22
22
  }
23
23
  });
24
- exports.DataGridSortingContext = DataGridSortingContext;
24
+ exports.DataGridSortedContext = DataGridSortedContext;
25
25
  var useSorting = function useSorting(_ref) {
26
26
  var sorting = _ref.sorting,
27
27
  inMemory = _ref.inMemory,
@@ -29,22 +29,18 @@ var useSorting = function useSorting(_ref) {
29
29
  schema = _ref.schema,
30
30
  schemaDetectors = _ref.schemaDetectors,
31
31
  startRow = _ref.startRow;
32
- var sortingColumns = sorting === null || sorting === void 0 ? void 0 : sorting.columns;
33
- var sortedRowMap = (0, _react.useMemo)(function () {
34
- var rowMap = [];
32
+ var sortingColumns = (0, _services.useDeepEqual)(sorting === null || sorting === void 0 ? void 0 : sorting.columns);
33
+ var sortedWrappedValues = (0, _react.useMemo)(function () {
35
34
  if ((inMemory === null || inMemory === void 0 ? void 0 : inMemory.level) === 'sorting' && sortingColumns != null && sortingColumns.length > 0) {
36
35
  var inMemoryRowIndices = Object.keys(inMemoryValues);
37
- var wrappedValues = [];
38
- for (var i = 0; i < inMemoryRowIndices.length; i++) {
39
- var inMemoryRow = inMemoryValues[inMemoryRowIndices[i]];
40
- wrappedValues.push({
41
- index: i,
42
- values: inMemoryRow
43
- });
44
- }
45
- wrappedValues.sort(function (a, b) {
46
- for (var _i = 0; _i < sortingColumns.length; _i++) {
47
- var column = sortingColumns[_i];
36
+ return inMemoryRowIndices.map(function (row, index) {
37
+ return {
38
+ index: index,
39
+ values: inMemoryValues[row]
40
+ };
41
+ }).sort(function (a, b) {
42
+ for (var i = 0; i < sortingColumns.length; i++) {
43
+ var column = sortingColumns[i];
48
44
  var aValue = a.values[column.id];
49
45
  var bValue = b.values[column.id];
50
46
 
@@ -52,8 +48,8 @@ var useSorting = function useSorting(_ref) {
52
48
  var comparator = _data_grid_schema.defaultComparator;
53
49
  if (schema.hasOwnProperty(column.id)) {
54
50
  var columnType = schema[column.id].columnType;
55
- for (var _i2 = 0; _i2 < schemaDetectors.length; _i2++) {
56
- var detector = schemaDetectors[_i2];
51
+ for (var _i = 0; _i < schemaDetectors.length; _i++) {
52
+ var detector = schemaDetectors[_i];
57
53
  if (detector.type === columnType && detector.hasOwnProperty('comparator')) {
58
54
  comparator = detector.comparator;
59
55
  }
@@ -68,12 +64,17 @@ var useSorting = function useSorting(_ref) {
68
64
  }
69
65
  return 0;
70
66
  });
71
- for (var _i3 = 0; _i3 < wrappedValues.length; _i3++) {
72
- rowMap[_i3] = wrappedValues[_i3].index;
73
- }
74
67
  }
75
- return rowMap;
76
68
  }, [inMemory === null || inMemory === void 0 ? void 0 : inMemory.level, inMemoryValues, sortingColumns, schema, schemaDetectors]);
69
+ var sortedRowMap = (0, _react.useMemo)(function () {
70
+ if ((inMemory === null || inMemory === void 0 ? void 0 : inMemory.level) === 'sorting' && sortingColumns != null && sortingColumns.length > 0 && sortedWrappedValues != null) {
71
+ return sortedWrappedValues.map(function (row) {
72
+ return row.index;
73
+ });
74
+ } else {
75
+ return [];
76
+ }
77
+ }, [inMemory === null || inMemory === void 0 ? void 0 : inMemory.level, sortingColumns, sortedWrappedValues]);
77
78
 
78
79
  // Given a visible row index, obtain the unpaginated & unsorted
79
80
  // row index from the passed cell data
@@ -83,10 +84,11 @@ var useSorting = function useSorting(_ref) {
83
84
  var unsortedRowIndex = unpaginatedRowIndex in sortedRowMap ? sortedRowMap[unpaginatedRowIndex] : unpaginatedRowIndex;
84
85
  return unsortedRowIndex;
85
86
  }, [startRow, sortedRowMap]);
86
- return {
87
- sorting: sorting,
88
- sortedRowMap: sortedRowMap,
89
- getCorrectRowIndex: getCorrectRowIndex
90
- };
87
+ return (0, _react.useMemo)(function () {
88
+ return {
89
+ sortedRowMap: sortedRowMap,
90
+ getCorrectRowIndex: getCorrectRowIndex
91
+ };
92
+ }, [sortedRowMap, getCorrectRowIndex]);
91
93
  };
92
94
  exports.useSorting = useSorting;
@@ -22,7 +22,7 @@ var _i18n = require("../../i18n");
22
22
  var _tool_tip = require("../../tool_tip");
23
23
  var _responsive2 = require("../../responsive");
24
24
  var _react2 = require("@emotion/react");
25
- var _excluded = ["className", "needsUpdate", "isLoading", "isDisabled", "onClick", "toolTipProps", "showTooltip", "iconOnly", "responsive", "textProps", "fill"];
25
+ var _excluded = ["children", "className", "needsUpdate", "isLoading", "isDisabled", "onClick", "toolTipProps", "showTooltip", "iconOnly", "responsive", "textProps", "fill"];
26
26
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
27
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
28
28
  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; }
@@ -90,6 +90,7 @@ var EuiSuperUpdateButton = /*#__PURE__*/function (_Component) {
90
90
  key: "render",
91
91
  value: function render() {
92
92
  var _this$props = this.props,
93
+ children = _this$props.children,
93
94
  className = _this$props.className,
94
95
  needsUpdate = _this$props.needsUpdate,
95
96
  isLoading = _this$props.isLoading,
@@ -105,31 +106,6 @@ var EuiSuperUpdateButton = /*#__PURE__*/function (_Component) {
105
106
  // Force responsive for "all" if `iconOnly = true`
106
107
  var responsive = iconOnly ? 'all' : _responsive;
107
108
  var classes = (0, _classnames.default)('euiSuperUpdateButton', className);
108
- var buttonText = (0, _react2.jsx)(_i18n.EuiI18n, {
109
- token: "euiSuperUpdateButton.refreshButtonLabel",
110
- default: "Refresh"
111
- });
112
- if (needsUpdate || isLoading) {
113
- buttonText = isLoading ? (0, _react2.jsx)(_i18n.EuiI18n, {
114
- token: "euiSuperUpdateButton.updatingButtonLabel",
115
- default: "Updating"
116
- }) : (0, _react2.jsx)(_i18n.EuiI18n, {
117
- token: "euiSuperUpdateButton.updateButtonLabel",
118
- default: "Update"
119
- });
120
- }
121
- var tooltipContent;
122
- if (isDisabled) {
123
- tooltipContent = (0, _react2.jsx)(_i18n.EuiI18n, {
124
- token: "euiSuperUpdateButton.cannotUpdateTooltip",
125
- default: "Cannot update"
126
- });
127
- } else if (needsUpdate && !isLoading) {
128
- tooltipContent = (0, _react2.jsx)(_i18n.EuiI18n, {
129
- token: "euiSuperUpdateButton.clickToApplyTooltip",
130
- default: "Click to apply"
131
- });
132
- }
133
109
  var sharedButtonProps = {
134
110
  color: needsUpdate || isLoading ? 'success' : 'primary',
135
111
  iconType: needsUpdate || isLoading ? 'kqlFunction' : 'refresh',
@@ -137,9 +113,10 @@ var EuiSuperUpdateButton = /*#__PURE__*/function (_Component) {
137
113
  onClick: onClick,
138
114
  isLoading: isLoading
139
115
  };
116
+ var buttonContent = this.renderButtonContent();
140
117
  return (0, _react2.jsx)(_tool_tip.EuiToolTip, (0, _extends2.default)({
141
118
  ref: this.setTootipRef,
142
- content: tooltipContent,
119
+ content: this.renderTooltipContent(),
143
120
  position: "bottom"
144
121
  }, toolTipProps), (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_responsive2.EuiShowFor, {
145
122
  sizes: responsive || 'none'
@@ -151,7 +128,7 @@ var EuiSuperUpdateButton = /*#__PURE__*/function (_Component) {
151
128
  textProps: _objectSpread(_objectSpread({}, restTextProps), {}, {
152
129
  className: (0, _classnames.default)('euiScreenReaderOnly', restTextProps && restTextProps.className)
153
130
  })
154
- }, rest), buttonText)), (0, _react2.jsx)(_responsive2.EuiHideFor, {
131
+ }, rest), buttonContent)), (0, _react2.jsx)(_responsive2.EuiHideFor, {
155
132
  sizes: responsive || 'none'
156
133
  }, (0, _react2.jsx)(_button.EuiButton, (0, _extends2.default)({
157
134
  className: classes,
@@ -159,7 +136,50 @@ var EuiSuperUpdateButton = /*#__PURE__*/function (_Component) {
159
136
  }, sharedButtonProps, {
160
137
  fill: fill,
161
138
  textProps: restTextProps
162
- }, rest), buttonText))));
139
+ }, rest), buttonContent))));
140
+ }
141
+ }, {
142
+ key: "renderButtonContent",
143
+ value: function renderButtonContent() {
144
+ var _this$props2 = this.props,
145
+ children = _this$props2.children,
146
+ isLoading = _this$props2.isLoading,
147
+ needsUpdate = _this$props2.needsUpdate;
148
+ if (children) {
149
+ return children;
150
+ }
151
+ if (isLoading) {
152
+ return (0, _react2.jsx)(_i18n.EuiI18n, {
153
+ token: "euiSuperUpdateButton.updatingButtonLabel",
154
+ default: "Updating"
155
+ });
156
+ }
157
+ if (needsUpdate) {
158
+ return (0, _react2.jsx)(_i18n.EuiI18n, {
159
+ token: "euiSuperUpdateButton.updateButtonLabel",
160
+ default: "Update"
161
+ });
162
+ }
163
+ return (0, _react2.jsx)(_i18n.EuiI18n, {
164
+ token: "euiSuperUpdateButton.refreshButtonLabel",
165
+ default: "Refresh"
166
+ });
167
+ }
168
+ }, {
169
+ key: "renderTooltipContent",
170
+ value: function renderTooltipContent() {
171
+ if (this.props.isDisabled) {
172
+ return (0, _react2.jsx)(_i18n.EuiI18n, {
173
+ token: "euiSuperUpdateButton.cannotUpdateTooltip",
174
+ default: "Cannot update"
175
+ });
176
+ }
177
+ if (this.props.needsUpdate && !this.props.isLoading) {
178
+ return (0, _react2.jsx)(_i18n.EuiI18n, {
179
+ token: "euiSuperUpdateButton.clickToApplyTooltip",
180
+ default: "Click to apply"
181
+ });
182
+ }
163
183
  }
164
184
  }]);
165
185
  return EuiSuperUpdateButton;
@@ -1,18 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.GUTTER_SIZES = exports.EuiFlexGrid = exports.DIRECTIONS = exports.ALIGN_ITEMS = void 0;
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
- var _react = _interopRequireDefault(require("react"));
12
+ var _react = _interopRequireWildcard(require("react"));
11
13
  var _classnames = _interopRequireDefault(require("classnames"));
12
14
  var _services = require("../../services");
13
15
  var _flex_grid = require("./flex_grid.styles");
14
16
  var _react2 = require("@emotion/react");
15
- var _excluded = ["children", "className", "gutterSize", "direction", "alignItems", "responsive", "columns", "component"];
17
+ var _excluded = ["children", "className", "style", "gutterSize", "direction", "alignItems", "responsive", "columns", "component"];
16
18
  /*
17
19
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
18
20
  * or more contributor license agreements. Licensed under the Elastic License
@@ -20,6 +22,10 @@ var _excluded = ["children", "className", "gutterSize", "direction", "alignItems
20
22
  * in compliance with, at your election, the Elastic License 2.0 or the Server
21
23
  * Side Public License, v 1.
22
24
  */
25
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+ 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; }
28
+ 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; }
23
29
  var DIRECTIONS = ['row', 'column'];
24
30
  exports.DIRECTIONS = DIRECTIONS;
25
31
  var ALIGN_ITEMS = ['stretch', 'start', 'end', 'center', 'baseline'];
@@ -29,6 +35,7 @@ exports.GUTTER_SIZES = GUTTER_SIZES;
29
35
  var EuiFlexGrid = function EuiFlexGrid(_ref) {
30
36
  var children = _ref.children,
31
37
  className = _ref.className,
38
+ style = _ref.style,
32
39
  _ref$gutterSize = _ref.gutterSize,
33
40
  gutterSize = _ref$gutterSize === void 0 ? 'l' : _ref$gutterSize,
34
41
  _ref$direction = _ref.direction,
@@ -42,14 +49,21 @@ var EuiFlexGrid = function EuiFlexGrid(_ref) {
42
49
  _ref$component = _ref.component,
43
50
  Component = _ref$component === void 0 ? 'div' : _ref$component,
44
51
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
45
- var gridTemplateRows = direction === 'column' ? Math.ceil(_react.default.Children.count(children) / columns) : 0;
46
- var euiTheme = (0, _services.useEuiTheme)();
47
- var styles = (0, _flex_grid.euiFlexGridStyles)(euiTheme, gridTemplateRows);
48
- var cssStyles = [styles.euiFlexGrid, styles.gutterSizes[gutterSize], styles.direction[direction], styles.alignItems[alignItems], styles.columnCount[columns], responsive && styles.responsive];
49
52
  var classes = (0, _classnames.default)('euiFlexGrid', className);
53
+ var styles = (0, _services.useEuiMemoizedStyles)(_flex_grid.euiFlexGridStyles);
54
+ var cssStyles = [styles.euiFlexGrid, styles.gutterSizes[gutterSize], styles.direction[direction], styles.alignItems[alignItems], styles.columnCount[columns], responsive && styles.responsive];
55
+ var columnDirectionStyles = (0, _react.useMemo)(function () {
56
+ if (direction === 'column') {
57
+ var rowsToRender = Math.ceil(_react.default.Children.count(children) / columns);
58
+ return {
59
+ gridTemplateRows: "repeat(".concat(rowsToRender, ", 1fr)")
60
+ };
61
+ }
62
+ }, [direction, columns, children]);
50
63
  return (0, _react2.jsx)(Component, (0, _extends2.default)({
51
64
  css: cssStyles,
52
- className: classes
65
+ className: classes,
66
+ style: columnDirectionStyles ? _objectSpread(_objectSpread({}, style), columnDirectionStyles) : style
53
67
  }, rest), children);
54
68
  };
55
69
  exports.EuiFlexGrid = EuiFlexGrid;