@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,5 +1,8 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import _extends from "@babel/runtime/helpers/extends";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
+ var _excluded = ["sorting"];
3
6
  /*
4
7
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
5
8
  * or more contributor license agreements. Licensed under the Elastic License
@@ -8,7 +11,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
8
11
  * Side Public License, v 1.
9
12
  */
10
13
 
11
- import React, { useEffect, useState } from 'react';
14
+ import React, { useEffect, useState, useMemo, useCallback, memo } from 'react';
12
15
  import { EuiButtonEmpty } from '../../button';
13
16
  import { EuiDragDropContext, euiDragDropReorder, EuiDroppable } from '../../drag_and_drop';
14
17
  import { EuiFlexGroup, EuiFlexItem } from '../../flex';
@@ -20,79 +23,105 @@ import { EuiDataGridToolbarControl } from './data_grid_toolbar_control';
20
23
  import { EuiDataGridColumnSortingDraggable } from './column_sorting_draggable';
21
24
  import { getDetailsForSchema } from '../utils/data_grid_schema';
22
25
  import { jsx as ___EmotionJSX } from "@emotion/react";
23
- export var useDataGridColumnSorting = function useDataGridColumnSorting(columns, sorting, schema, schemaDetectors, displayValues) {
26
+ export var useDataGridColumnSorting = function useDataGridColumnSorting(_ref) {
27
+ var sorting = _ref.sorting,
28
+ rest = _objectWithoutProperties(_ref, _excluded);
29
+ return sorting == null ? null : ___EmotionJSX(DataGridSortingControl, _extends({
30
+ sorting: sorting
31
+ }, rest));
32
+ };
33
+ export var DataGridSortingControl = /*#__PURE__*/memo(function (_ref2) {
34
+ var columns = _ref2.columns,
35
+ sorting = _ref2.sorting,
36
+ schema = _ref2.schema,
37
+ schemaDetectors = _ref2.schemaDetectors,
38
+ displayValues = _ref2.displayValues;
24
39
  var _useState = useState(false),
25
40
  _useState2 = _slicedToArray(_useState, 2),
26
41
  isOpen = _useState2[0],
27
42
  setIsOpen = _useState2[1];
43
+ var sortingButtonText = useEuiI18n('euiColumnSorting.button', 'Sort fields');
44
+ var sortFieldAriaLabel = useEuiI18n('euiColumnSorting.sortFieldAriaLabel', 'Sort by: ');
28
45
  var _useState3 = useState(false),
29
46
  _useState4 = _slicedToArray(_useState3, 2),
30
47
  availableColumnsIsOpen = _useState4[0],
31
48
  setAvailableColumnsIsOpen = _useState4[1];
49
+ var availableColumnIds = useMemo(function () {
50
+ return new Set(columns.map(function (_ref3) {
51
+ var id = _ref3.id;
52
+ return id;
53
+ }));
54
+ }, [columns]);
55
+
32
56
  // prune any non-existent/hidden columns from sorting
33
57
  useEffect(function () {
34
- if (sorting) {
35
- var nextSortingColumns = [];
36
- var availableColumnIds = new Set(columns.map(function (_ref) {
37
- var id = _ref.id;
38
- return id;
39
- }));
40
- for (var i = 0; i < sorting.columns.length; i++) {
41
- var column = sorting.columns[i];
42
- if (availableColumnIds.has(column.id)) {
43
- nextSortingColumns.push(column);
44
- }
58
+ var nextSortingColumns = [];
59
+ for (var i = 0; i < sorting.columns.length; i++) {
60
+ var column = sorting.columns[i];
61
+ if (availableColumnIds.has(column.id)) {
62
+ nextSortingColumns.push(column);
45
63
  }
64
+ }
46
65
 
47
- // if the column array lengths differ then the sorting columns have been pruned
48
- if (nextSortingColumns.length !== sorting.columns.length) {
49
- sorting.onSort(nextSortingColumns);
50
- }
66
+ // if the column array lengths differ then the sorting columns have been pruned
67
+ if (nextSortingColumns.length !== sorting.columns.length) {
68
+ sorting.onSort(nextSortingColumns);
51
69
  }
52
- }, [columns, sorting]);
53
- var sortingButtonText = useEuiI18n('euiColumnSorting.button', 'Sort fields');
54
- if (sorting == null) return null;
55
- var activeColumnIds = new Set(sorting.columns.map(function (_ref2) {
56
- var id = _ref2.id;
57
- return id;
58
- }));
59
- var _columns$reduce = columns.reduce(function (acc, column) {
60
- if (activeColumnIds.has(column.id)) {
61
- acc.activeColumns.push(column);
62
- } else {
63
- acc.inactiveColumns.push(column);
64
- }
65
- return acc;
66
- }, {
67
- activeColumns: [],
68
- inactiveColumns: []
69
- }),
70
- inactiveColumns = _columns$reduce.inactiveColumns;
71
- var onDragEnd = function onDragEnd(_ref3) {
72
- var sourceIndex = _ref3.source.index,
73
- destination = _ref3.destination;
70
+ }, [availableColumnIds, sorting]);
71
+ var _useMemo = useMemo(function () {
72
+ var activeColumnIds = new Set(sorting.columns.map(function (_ref4) {
73
+ var id = _ref4.id;
74
+ return id;
75
+ }));
76
+ return columns.reduce(function (acc, column) {
77
+ if (activeColumnIds.has(column.id)) {
78
+ acc.activeColumns.push(column);
79
+ } else {
80
+ acc.inactiveColumns.push(column);
81
+ }
82
+ return acc;
83
+ }, {
84
+ activeColumns: [],
85
+ inactiveColumns: []
86
+ });
87
+ }, [columns, sorting]),
88
+ inactiveColumns = _useMemo.inactiveColumns;
89
+ var onDragEnd = useCallback(function (_ref5) {
90
+ var sourceIndex = _ref5.source.index,
91
+ destination = _ref5.destination;
74
92
  if (destination) {
75
93
  var destinationIndex = destination.index;
76
94
  var nextColumns = euiDragDropReorder(sorting.columns, sourceIndex, destinationIndex);
77
95
  sorting.onSort(nextColumns);
78
96
  }
79
- };
80
- var schemaDetails = function schemaDetails(id) {
97
+ }, [sorting]);
98
+ var schemaDetails = useCallback(function (id) {
81
99
  return schema.hasOwnProperty(id) && schema[id].columnType != null ? getDetailsForSchema(schemaDetectors, schema[id].columnType) : null;
82
- };
83
- var inactiveSortableColumns = inactiveColumns.filter(function (_ref4) {
84
- var id = _ref4.id,
85
- isSortable = _ref4.isSortable;
86
- var schemaDetail = schemaDetails(id);
87
- var sortable = true;
88
- if (isSortable != null) {
89
- sortable = isSortable;
90
- } else if (schemaDetail != null) {
91
- sortable = schemaDetail.hasOwnProperty('isSortable') ? schemaDetail.isSortable : true;
92
- }
93
- return sortable;
94
- });
95
- var columnSorting = ___EmotionJSX(EuiPopover, {
100
+ }, [schema, schemaDetectors]);
101
+ var inactiveSortableColumns = useMemo(function () {
102
+ return inactiveColumns.filter(function (_ref6) {
103
+ var id = _ref6.id,
104
+ isSortable = _ref6.isSortable;
105
+ var schemaDetail = schemaDetails(id);
106
+ var sortable = true;
107
+ if (isSortable != null) {
108
+ sortable = isSortable;
109
+ } else if (schemaDetail != null) {
110
+ sortable = schemaDetail.hasOwnProperty('isSortable') ? schemaDetail.isSortable : true;
111
+ }
112
+ return sortable;
113
+ });
114
+ }, [inactiveColumns, schemaDetails]);
115
+ var onButtonClick = useCallback(function (id, defaultSortDirection) {
116
+ var _schemaDetails;
117
+ var nextColumns = _toConsumableArray(sorting.columns);
118
+ nextColumns.push({
119
+ id: id,
120
+ direction: defaultSortDirection || ((_schemaDetails = schemaDetails(id)) === null || _schemaDetails === void 0 ? void 0 : _schemaDetails.defaultSortDirection) || 'asc'
121
+ });
122
+ sorting.onSort(nextColumns);
123
+ }, [sorting, schemaDetails]);
124
+ return ___EmotionJSX(EuiPopover, {
96
125
  "data-test-subj": "dataGridColumnSortingPopover",
97
126
  isOpen: isOpen,
98
127
  closePopover: function closePopover() {
@@ -114,9 +143,9 @@ export var useDataGridColumnSorting = function useDataGridColumnSorting(columns,
114
143
  }, ___EmotionJSX(EuiDroppable, {
115
144
  droppableId: "columnSorting",
116
145
  className: "euiDataGrid__controlScroll"
117
- }, ___EmotionJSX(React.Fragment, null, sorting.columns.map(function (_ref5, index) {
118
- var id = _ref5.id,
119
- direction = _ref5.direction;
146
+ }, ___EmotionJSX(React.Fragment, null, sorting.columns.map(function (_ref7, index) {
147
+ var id = _ref7.id,
148
+ direction = _ref7.direction;
120
149
  return ___EmotionJSX(EuiDataGridColumnSortingDraggable, {
121
150
  key: id,
122
151
  id: id,
@@ -162,49 +191,38 @@ export var useDataGridColumnSorting = function useDataGridColumnSorting(columns,
162
191
  token: "euiColumnSorting.pickFields",
163
192
  default: "Pick fields to sort by"
164
193
  }))
165
- }, ___EmotionJSX(EuiI18n, {
166
- token: "euiColumnSorting.sortFieldAriaLabel",
167
- default: "Sort by: "
168
- }, function (sortFieldAriaLabel) {
169
- return ___EmotionJSX("div", {
170
- className: "euiDataGridColumnSorting__fieldList",
171
- role: "listbox"
172
- }, inactiveSortableColumns.map(function (_ref6) {
173
- var id = _ref6.id,
174
- defaultSortDirection = _ref6.defaultSortDirection;
175
- return ___EmotionJSX("button", {
176
- key: id,
177
- className: "euiDataGridColumnSorting__field",
178
- "aria-label": "".concat(sortFieldAriaLabel, " ").concat(id),
179
- role: "option",
180
- "aria-selected": "false",
181
- "data-test-subj": "dataGridColumnSortingPopoverColumnSelection-".concat(id),
182
- onClick: function onClick() {
183
- var _schemaDetails;
184
- var nextColumns = _toConsumableArray(sorting.columns);
185
- nextColumns.push({
186
- id: id,
187
- direction: defaultSortDirection || ((_schemaDetails = schemaDetails(id)) === null || _schemaDetails === void 0 ? void 0 : _schemaDetails.defaultSortDirection) || 'asc'
188
- });
189
- sorting.onSort(nextColumns);
190
- }
191
- }, ___EmotionJSX(EuiFlexGroup, {
192
- alignItems: "center",
193
- gutterSize: "s",
194
- component: "span",
195
- responsive: false
196
- }, ___EmotionJSX(EuiFlexItem, {
197
- grow: false
198
- }, ___EmotionJSX(EuiToken, {
199
- iconType: schemaDetails(id) != null ? getDetailsForSchema(schemaDetectors, schema[id].columnType).icon : 'tokenString',
200
- color: schemaDetails(id) != null ? getDetailsForSchema(schemaDetectors, schema[id].columnType).color : undefined
201
- })), ___EmotionJSX(EuiFlexItem, {
202
- grow: false
203
- }, ___EmotionJSX(EuiText, {
204
- size: "xs"
205
- }, displayValues[id]))));
206
- }));
207
- }))), sorting.columns.length > 0 ? ___EmotionJSX(EuiFlexItem, {
194
+ }, ___EmotionJSX("div", {
195
+ className: "euiDataGridColumnSorting__fieldList",
196
+ role: "listbox"
197
+ }, inactiveSortableColumns.map(function (_ref8) {
198
+ var id = _ref8.id,
199
+ defaultSortDirection = _ref8.defaultSortDirection;
200
+ return ___EmotionJSX("button", {
201
+ key: id,
202
+ className: "euiDataGridColumnSorting__field",
203
+ "aria-label": "".concat(sortFieldAriaLabel, " ").concat(id),
204
+ role: "option",
205
+ "aria-selected": "false",
206
+ "data-test-subj": "dataGridColumnSortingPopoverColumnSelection-".concat(id),
207
+ onClick: function onClick() {
208
+ return onButtonClick(id, defaultSortDirection);
209
+ }
210
+ }, ___EmotionJSX(EuiFlexGroup, {
211
+ alignItems: "center",
212
+ gutterSize: "s",
213
+ component: "span",
214
+ responsive: false
215
+ }, ___EmotionJSX(EuiFlexItem, {
216
+ grow: false
217
+ }, ___EmotionJSX(EuiToken, {
218
+ iconType: schemaDetails(id) != null ? getDetailsForSchema(schemaDetectors, schema[id].columnType).icon : 'tokenString',
219
+ color: schemaDetails(id) != null ? getDetailsForSchema(schemaDetectors, schema[id].columnType).color : undefined
220
+ })), ___EmotionJSX(EuiFlexItem, {
221
+ grow: false
222
+ }, ___EmotionJSX(EuiText, {
223
+ size: "xs"
224
+ }, displayValues[id]))));
225
+ })))), sorting.columns.length > 0 ? ___EmotionJSX(EuiFlexItem, {
208
226
  grow: false
209
227
  }, ___EmotionJSX(EuiButtonEmpty, {
210
228
  size: "xs",
@@ -217,5 +235,5 @@ export var useDataGridColumnSorting = function useDataGridColumnSorting(columns,
217
235
  token: "euiColumnSorting.clearAll",
218
236
  default: "Clear sorting"
219
237
  }))) : null)));
220
- return columnSorting;
221
- };
238
+ });
239
+ DataGridSortingControl.displayName = 'DataGridSortingControl';
@@ -10,7 +10,7 @@ var _excluded = ["id", "display", "direction", "index", "sorting", "schema", "sc
10
10
  * Side Public License, v 1.
11
11
  */
12
12
 
13
- import React from 'react';
13
+ import React, { useCallback } from 'react';
14
14
  import classNames from 'classnames';
15
15
  import { EuiScreenReaderOnly } from '../../accessibility';
16
16
  import { EuiButtonGroup, EuiButtonIcon } from '../../button';
@@ -54,6 +54,27 @@ export var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSorting
54
54
  'data-test-subj': "euiDataGridColumnSorting-sortColumn-".concat(id, "-desc")
55
55
  }];
56
56
  var dragHandleAriaLabel = useEuiI18n('euiColumnSortingDraggable.dragHandleAriaLabel', 'Drag handle');
57
+ var removeSort = useCallback(function () {
58
+ var nextColumns = _toConsumableArray(sorting.columns);
59
+ var columnIndex = nextColumns.map(function (_ref2) {
60
+ var id = _ref2.id;
61
+ return id;
62
+ }).indexOf(id);
63
+ nextColumns.splice(columnIndex, 1);
64
+ sorting.onSort(nextColumns);
65
+ }, [id, sorting]);
66
+ var toggleLegendHandler = useCallback(function (_, direction) {
67
+ var nextColumns = _toConsumableArray(sorting.columns);
68
+ var columnIndex = nextColumns.map(function (_ref3) {
69
+ var id = _ref3.id;
70
+ return id;
71
+ }).indexOf(id);
72
+ nextColumns.splice(columnIndex, 1, {
73
+ id: id,
74
+ direction: direction
75
+ });
76
+ sorting.onSort(nextColumns);
77
+ }, [id, sorting]);
57
78
  return ___EmotionJSX(EuiDraggable, _extends({
58
79
  draggableId: id,
59
80
  index: index,
@@ -91,15 +112,7 @@ export var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSorting
91
112
  className: "euiDataGridColumnSorting__button",
92
113
  "aria-label": removeSortLabel,
93
114
  iconType: "cross",
94
- onClick: function onClick() {
95
- var nextColumns = _toConsumableArray(sorting.columns);
96
- var columnIndex = nextColumns.map(function (_ref2) {
97
- var id = _ref2.id;
98
- return id;
99
- }).indexOf(id);
100
- nextColumns.splice(columnIndex, 1);
101
- sorting.onSort(nextColumns);
102
- }
115
+ onClick: removeSort
103
116
  });
104
117
  })), ___EmotionJSX(EuiFlexItem, _extends({
105
118
  className: "euiDataGridColumnSorting__name"
@@ -134,18 +147,7 @@ export var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSorting
134
147
  buttonSize: "compressed",
135
148
  className: "euiDataGridColumnSorting__order",
136
149
  idSelected: direction === 'asc' ? "".concat(id, "Asc") : "".concat(id, "Desc"),
137
- onChange: function onChange(_, direction) {
138
- var nextColumns = _toConsumableArray(sorting.columns);
139
- var columnIndex = nextColumns.map(function (_ref3) {
140
- var id = _ref3.id;
141
- return id;
142
- }).indexOf(id);
143
- nextColumns.splice(columnIndex, 1, {
144
- id: id,
145
- direction: direction
146
- });
147
- sorting.onSort(nextColumns);
148
- }
150
+ onChange: toggleLegendHandler
149
151
  });
150
152
  })), ___EmotionJSX(EuiFlexItem, _extends({
151
153
  grow: false
@@ -195,113 +195,115 @@ export var useDataGridDisplaySelector = function useDataGridDisplaySelector(show
195
195
  }, []);
196
196
  var buttonLabel = useEuiI18n('euiDisplaySelector.buttonText', 'Display options');
197
197
  var resetButtonLabel = useEuiI18n('euiDisplaySelector.resetButtonText', 'Reset to default');
198
- var displaySelector = showDensityControls || showRowHeightControls || additionalDisplaySettings ? ___EmotionJSX(EuiPopover, {
199
- "data-test-subj": "dataGridDisplaySelectorPopover",
200
- isOpen: isOpen,
201
- closePopover: function closePopover() {
202
- return setIsOpen(false);
203
- },
204
- anchorPosition: "downRight",
205
- panelPaddingSize: "s",
206
- panelClassName: "euiDataGrid__displayPopoverPanel",
207
- button: ___EmotionJSX(EuiToolTip, {
208
- content: buttonLabel,
209
- delay: "long"
210
- }, ___EmotionJSX(EuiButtonIcon, {
211
- size: "xs",
212
- iconType: "controlsHorizontal",
213
- color: "text",
214
- "data-test-subj": "dataGridDisplaySelectorButton",
215
- onClick: function onClick() {
216
- return setIsOpen(!isOpen);
198
+ var displaySelector = useMemo(function () {
199
+ return showDensityControls || showRowHeightControls || additionalDisplaySettings ? ___EmotionJSX(EuiPopover, {
200
+ "data-test-subj": "dataGridDisplaySelectorPopover",
201
+ isOpen: isOpen,
202
+ closePopover: function closePopover() {
203
+ return setIsOpen(false);
217
204
  },
218
- "aria-label": buttonLabel
219
- }))
220
- }, showDensityControls && ___EmotionJSX(EuiI18n, {
221
- tokens: ['euiDisplaySelector.densityLabel', 'euiDisplaySelector.labelCompact', 'euiDisplaySelector.labelNormal', 'euiDisplaySelector.labelExpanded'],
222
- defaults: ['Density', 'Compact', 'Normal', 'Expanded']
223
- }, function (_ref) {
224
- var _ref2 = _slicedToArray(_ref, 4),
225
- densityLabel = _ref2[0],
226
- labelCompact = _ref2[1],
227
- labelNormal = _ref2[2],
228
- labelExpanded = _ref2[3];
229
- return ___EmotionJSX(EuiFormRow, {
230
- label: densityLabel,
231
- display: "columnCompressed"
232
- }, ___EmotionJSX(EuiButtonGroup, {
233
- legend: densityLabel,
234
- buttonSize: "compressed",
235
- isFullWidth: true,
236
- options: [{
237
- id: densityOptions[0],
238
- label: labelCompact
239
- }, {
240
- id: densityOptions[1],
241
- label: labelNormal
242
- }, {
243
- id: densityOptions[2],
244
- label: labelExpanded
245
- }],
246
- onChange: setGridStyles,
247
- idSelected: gridDensity,
248
- "data-test-subj": "densityButtonGroup"
249
- }));
250
- }), showRowHeightControls && ___EmotionJSX(EuiI18n, {
251
- tokens: ['euiDisplaySelector.rowHeightLabel', 'euiDisplaySelector.labelSingle', 'euiDisplaySelector.labelAuto', 'euiDisplaySelector.labelCustom', 'euiDisplaySelector.lineCountLabel'],
252
- defaults: ['Row height', 'Single', 'Auto fit', 'Custom', 'Lines per row']
253
- }, function (_ref3) {
254
- var _ref4 = _slicedToArray(_ref3, 5),
255
- rowHeightLabel = _ref4[0],
256
- labelSingle = _ref4[1],
257
- labelAuto = _ref4[2],
258
- labelCustom = _ref4[3],
259
- lineCountLabel = _ref4[4];
260
- return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiFormRow, {
261
- label: rowHeightLabel,
262
- display: "columnCompressed"
263
- }, ___EmotionJSX(EuiButtonGroup, {
264
- legend: rowHeightLabel,
265
- buttonSize: "compressed",
266
- isFullWidth: true,
267
- options: [{
268
- id: rowHeightButtonOptions[0],
269
- label: labelSingle
270
- }, {
271
- id: rowHeightButtonOptions[1],
272
- label: labelAuto
273
- }, {
274
- id: rowHeightButtonOptions[2],
275
- label: labelCustom
276
- }],
277
- onChange: setRowHeight,
278
- idSelected: rowHeightSelection,
279
- "data-test-subj": "rowHeightButtonGroup"
280
- })), rowHeightSelection === rowHeightButtonOptions[2] && ___EmotionJSX(EuiFormRow, {
281
- label: lineCountLabel,
282
- display: "columnCompressed"
283
- }, ___EmotionJSX(EuiRange, {
284
- compressed: true,
285
- fullWidth: true,
286
- showInput: true,
287
- min: 1,
288
- max: 20,
289
- step: 1,
290
- required: true,
291
- value: lineCountInput,
292
- onChange: setLineCountHeight,
293
- "data-test-subj": "lineCountNumber"
294
- })));
295
- }), additionalDisplaySettings, showResetButton && ___EmotionJSX(EuiPopoverFooter, null, ___EmotionJSX(EuiFlexGroup, {
296
- justifyContent: "flexEnd",
297
- responsive: false
298
- }, ___EmotionJSX(EuiFlexItem, {
299
- grow: false
300
- }, ___EmotionJSX("div", null, ___EmotionJSX(EuiButtonEmpty, {
301
- flush: "both",
302
- size: "xs",
303
- onClick: resetToInitialState,
304
- "data-test-subj": "resetDisplaySelector"
305
- }, resetButtonLabel)))))) : null;
205
+ anchorPosition: "downRight",
206
+ panelPaddingSize: "s",
207
+ panelClassName: "euiDataGrid__displayPopoverPanel",
208
+ button: ___EmotionJSX(EuiToolTip, {
209
+ content: buttonLabel,
210
+ delay: "long"
211
+ }, ___EmotionJSX(EuiButtonIcon, {
212
+ size: "xs",
213
+ iconType: "controlsHorizontal",
214
+ color: "text",
215
+ "data-test-subj": "dataGridDisplaySelectorButton",
216
+ onClick: function onClick() {
217
+ return setIsOpen(!isOpen);
218
+ },
219
+ "aria-label": buttonLabel
220
+ }))
221
+ }, showDensityControls && ___EmotionJSX(EuiI18n, {
222
+ tokens: ['euiDisplaySelector.densityLabel', 'euiDisplaySelector.labelCompact', 'euiDisplaySelector.labelNormal', 'euiDisplaySelector.labelExpanded'],
223
+ defaults: ['Density', 'Compact', 'Normal', 'Expanded']
224
+ }, function (_ref) {
225
+ var _ref2 = _slicedToArray(_ref, 4),
226
+ densityLabel = _ref2[0],
227
+ labelCompact = _ref2[1],
228
+ labelNormal = _ref2[2],
229
+ labelExpanded = _ref2[3];
230
+ return ___EmotionJSX(EuiFormRow, {
231
+ label: densityLabel,
232
+ display: "columnCompressed"
233
+ }, ___EmotionJSX(EuiButtonGroup, {
234
+ legend: densityLabel,
235
+ buttonSize: "compressed",
236
+ isFullWidth: true,
237
+ options: [{
238
+ id: densityOptions[0],
239
+ label: labelCompact
240
+ }, {
241
+ id: densityOptions[1],
242
+ label: labelNormal
243
+ }, {
244
+ id: densityOptions[2],
245
+ label: labelExpanded
246
+ }],
247
+ onChange: setGridStyles,
248
+ idSelected: gridDensity,
249
+ "data-test-subj": "densityButtonGroup"
250
+ }));
251
+ }), showRowHeightControls && ___EmotionJSX(EuiI18n, {
252
+ tokens: ['euiDisplaySelector.rowHeightLabel', 'euiDisplaySelector.labelSingle', 'euiDisplaySelector.labelAuto', 'euiDisplaySelector.labelCustom', 'euiDisplaySelector.lineCountLabel'],
253
+ defaults: ['Row height', 'Single', 'Auto fit', 'Custom', 'Lines per row']
254
+ }, function (_ref3) {
255
+ var _ref4 = _slicedToArray(_ref3, 5),
256
+ rowHeightLabel = _ref4[0],
257
+ labelSingle = _ref4[1],
258
+ labelAuto = _ref4[2],
259
+ labelCustom = _ref4[3],
260
+ lineCountLabel = _ref4[4];
261
+ return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiFormRow, {
262
+ label: rowHeightLabel,
263
+ display: "columnCompressed"
264
+ }, ___EmotionJSX(EuiButtonGroup, {
265
+ legend: rowHeightLabel,
266
+ buttonSize: "compressed",
267
+ isFullWidth: true,
268
+ options: [{
269
+ id: rowHeightButtonOptions[0],
270
+ label: labelSingle
271
+ }, {
272
+ id: rowHeightButtonOptions[1],
273
+ label: labelAuto
274
+ }, {
275
+ id: rowHeightButtonOptions[2],
276
+ label: labelCustom
277
+ }],
278
+ onChange: setRowHeight,
279
+ idSelected: rowHeightSelection,
280
+ "data-test-subj": "rowHeightButtonGroup"
281
+ })), rowHeightSelection === rowHeightButtonOptions[2] && ___EmotionJSX(EuiFormRow, {
282
+ label: lineCountLabel,
283
+ display: "columnCompressed"
284
+ }, ___EmotionJSX(EuiRange, {
285
+ compressed: true,
286
+ fullWidth: true,
287
+ showInput: true,
288
+ min: 1,
289
+ max: 20,
290
+ step: 1,
291
+ required: true,
292
+ value: lineCountInput,
293
+ onChange: setLineCountHeight,
294
+ "data-test-subj": "lineCountNumber"
295
+ })));
296
+ }), additionalDisplaySettings, showResetButton && ___EmotionJSX(EuiPopoverFooter, null, ___EmotionJSX(EuiFlexGroup, {
297
+ justifyContent: "flexEnd",
298
+ responsive: false
299
+ }, ___EmotionJSX(EuiFlexItem, {
300
+ grow: false
301
+ }, ___EmotionJSX("div", null, ___EmotionJSX(EuiButtonEmpty, {
302
+ flush: "both",
303
+ size: "xs",
304
+ onClick: resetToInitialState,
305
+ "data-test-subj": "resetDisplaySelector"
306
+ }, resetButtonLabel)))))) : null;
307
+ }, [additionalDisplaySettings, buttonLabel, isOpen, resetButtonLabel, showDensityControls, showResetButton, showRowHeightControls, gridDensity, rowHeightSelection, lineCountInput, setGridStyles, setRowHeight, setLineCountHeight, resetToInitialState]);
306
308
  return [displaySelector, gridStyles, rowHeightsOptions];
307
309
  };
@@ -66,9 +66,19 @@ var commaSeparateNumbers = function commaSeparateNumbers(numberString) {
66
66
  );
67
67
  });
68
68
  };
69
+ var renderCellValue = function renderCellValue(_ref2) {
70
+ var rowIndex = _ref2.rowIndex,
71
+ columnId = _ref2.columnId,
72
+ schema = _ref2.schema;
73
+ var value = storeData[rowIndex][columnId];
74
+ if (schema === 'numeric') {
75
+ value = commaSeparateNumbers(value);
76
+ }
77
+ return value;
78
+ };
69
79
  var DataGrid = function DataGrid() {
70
- var _useState = useState(columns.map(function (_ref2) {
71
- var id = _ref2.id;
80
+ var _useState = useState(columns.map(function (_ref3) {
81
+ var id = _ref3.id;
72
82
  return id;
73
83
  })),
74
84
  _useState2 = _slicedToArray(_useState, 2),
@@ -110,16 +120,7 @@ var DataGrid = function DataGrid() {
110
120
  inMemory: {
111
121
  level: 'sorting'
112
122
  },
113
- renderCellValue: function renderCellValue(_ref3) {
114
- var rowIndex = _ref3.rowIndex,
115
- columnId = _ref3.columnId,
116
- schema = _ref3.schema;
117
- var value = data[rowIndex][columnId];
118
- if (schema === 'numeric') {
119
- value = commaSeparateNumbers(value);
120
- }
121
- return value;
122
- },
123
+ renderCellValue: renderCellValue,
123
124
  sorting: {
124
125
  columns: sortingColumns,
125
126
  onSort: setSorting