@elastic/eui 95.10.1 → 95.12.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 (371) hide show
  1. package/README.md +1 -69
  2. package/dist/eui_theme_dark.css +0 -924
  3. package/dist/eui_theme_dark.min.css +1 -1
  4. package/dist/eui_theme_light.css +0 -924
  5. package/dist/eui_theme_light.min.css +1 -1
  6. package/es/components/basic_table/basic_table.js +43 -35
  7. package/es/components/basic_table/collapsed_item_actions.js +24 -31
  8. package/es/components/datagrid/body/cell/data_grid_cell.js +212 -94
  9. package/es/components/datagrid/body/cell/data_grid_cell.styles.js +110 -0
  10. package/es/components/datagrid/body/cell/data_grid_cell_actions.js +13 -3
  11. package/es/components/datagrid/body/cell/data_grid_cell_actions.styles.js +33 -0
  12. package/es/components/datagrid/body/cell/data_grid_cell_popover.js +21 -12
  13. package/es/components/datagrid/body/cell/data_grid_cell_popover.styles.js +19 -0
  14. package/es/components/datagrid/body/cell/focus_utils.js +18 -20
  15. package/es/components/datagrid/body/data_grid_body.js +20 -4
  16. package/es/components/datagrid/body/data_grid_body.styles.js +26 -0
  17. package/es/components/datagrid/body/data_grid_body_custom.js +23 -8
  18. package/es/components/datagrid/body/data_grid_body_virtualized.js +23 -8
  19. package/es/components/datagrid/body/footer/data_grid_footer.styles.js +24 -0
  20. package/es/components/datagrid/body/footer/data_grid_footer_row.js +24 -11
  21. package/es/components/datagrid/body/header/column_actions.js +16 -4
  22. package/es/components/datagrid/body/header/data_grid_column_resizer.js +14 -7
  23. package/es/components/datagrid/body/header/data_grid_column_resizer.styles.js +36 -0
  24. package/es/components/datagrid/body/header/data_grid_control_header_cell.js +6 -5
  25. package/es/components/datagrid/body/header/data_grid_header_cell.js +42 -66
  26. package/es/components/datagrid/body/header/data_grid_header_cell.styles.js +27 -0
  27. package/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +9 -3
  28. package/es/components/datagrid/body/header/data_grid_header_cell_wrapper.styles.js +27 -0
  29. package/es/components/datagrid/body/header/data_grid_header_row.js +12 -2
  30. package/es/components/datagrid/body/header/data_grid_header_row.styles.js +21 -0
  31. package/es/components/datagrid/controls/column_selector.js +17 -8
  32. package/es/components/datagrid/controls/column_selector.styles.js +22 -0
  33. package/es/components/datagrid/controls/column_sorting.js +7 -2
  34. package/es/components/datagrid/controls/column_sorting.styles.js +35 -0
  35. package/es/components/datagrid/controls/column_sorting_draggable.js +19 -14
  36. package/es/components/datagrid/controls/data_grid_toolbar.js +8 -1
  37. package/es/components/datagrid/controls/data_grid_toolbar.styles.js +18 -0
  38. package/es/components/datagrid/controls/data_grid_toolbar_control.js +27 -27
  39. package/es/components/datagrid/controls/display_selector.js +14 -3
  40. package/es/components/datagrid/controls/fullscreen_selector.js +8 -5
  41. package/es/components/datagrid/controls/fullscreen_selector.styles.js +20 -0
  42. package/es/components/datagrid/controls/keyboard_shortcuts.js +7 -3
  43. package/es/components/datagrid/controls/keyboard_shortcuts.styles.js +18 -0
  44. package/es/components/datagrid/data_grid.a11y.js +1 -0
  45. package/es/components/datagrid/data_grid.js +17 -9
  46. package/es/components/datagrid/data_grid.stories.utils.js +1422 -0
  47. package/es/components/datagrid/data_grid.styles.js +88 -0
  48. package/es/components/datagrid/{utils → pagination}/data_grid_pagination.js +30 -30
  49. package/es/components/datagrid/pagination/data_grid_pagination.styles.js +16 -0
  50. package/es/components/datagrid/pagination/index.js +9 -0
  51. package/es/components/datagrid/utils/row_heights.js +10 -36
  52. package/es/components/datagrid/utils/scrolling.js +14 -7
  53. package/es/components/datagrid/utils/scrolling.styles.js +30 -0
  54. package/es/components/date_picker/date_picker.js +1 -1
  55. package/es/components/flyout/flyout_resizable.js +6 -2
  56. package/es/components/flyout/flyout_resizable.styles.js +34 -5
  57. package/es/components/popover/popover.js +1 -1
  58. package/es/components/provider/provider.js +16 -13
  59. package/es/components/provider/system_color_mode/index.js +9 -0
  60. package/es/components/provider/system_color_mode/system_color_mode_provider.js +49 -0
  61. package/es/components/resizable_container/resizable_button.js +9 -2
  62. package/es/components/resizable_container/resizable_button.styles.js +19 -6
  63. package/es/components/table/table_header_cell.js +10 -3
  64. package/es/components/table/table_header_cell_checkbox.js +5 -3
  65. package/es/components/table/table_row_cell.js +10 -3
  66. package/es/components/table/table_row_cell_checkbox.js +5 -3
  67. package/es/components/text/text.js +25 -9
  68. package/es/components/text/text_align.js +19 -6
  69. package/es/components/text/text_color.js +14 -11
  70. package/es/components/text/types.js +1 -0
  71. package/es/services/copy/index.js +10 -0
  72. package/es/services/copy/tabular_copy.js +103 -0
  73. package/es/services/index.js +1 -1
  74. package/eui.d.ts +692 -124
  75. package/i18ntokens.json +432 -396
  76. package/lib/components/basic_table/basic_table.js +42 -34
  77. package/lib/components/basic_table/collapsed_item_actions.js +23 -30
  78. package/lib/components/datagrid/body/cell/data_grid_cell.js +209 -91
  79. package/lib/components/datagrid/body/cell/data_grid_cell.styles.js +114 -0
  80. package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +13 -3
  81. package/lib/components/datagrid/body/cell/data_grid_cell_actions.styles.js +38 -0
  82. package/lib/components/datagrid/body/cell/data_grid_cell_popover.js +20 -11
  83. package/lib/components/datagrid/body/cell/data_grid_cell_popover.styles.js +24 -0
  84. package/lib/components/datagrid/body/cell/focus_utils.js +17 -19
  85. package/lib/components/datagrid/body/data_grid_body.js +20 -4
  86. package/lib/components/datagrid/body/data_grid_body.styles.js +30 -0
  87. package/lib/components/datagrid/body/data_grid_body_custom.js +23 -8
  88. package/lib/components/datagrid/body/data_grid_body_virtualized.js +23 -8
  89. package/lib/components/datagrid/body/footer/data_grid_footer.styles.js +30 -0
  90. package/lib/components/datagrid/body/footer/data_grid_footer_row.js +23 -10
  91. package/lib/components/datagrid/body/header/column_actions.js +16 -4
  92. package/lib/components/datagrid/body/header/data_grid_column_resizer.js +14 -7
  93. package/lib/components/datagrid/body/header/data_grid_column_resizer.styles.js +39 -0
  94. package/lib/components/datagrid/body/header/data_grid_control_header_cell.js +6 -5
  95. package/lib/components/datagrid/body/header/data_grid_header_cell.js +49 -74
  96. package/lib/components/datagrid/body/header/data_grid_header_cell.styles.js +32 -0
  97. package/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +8 -2
  98. package/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.styles.js +32 -0
  99. package/lib/components/datagrid/body/header/data_grid_header_row.js +12 -2
  100. package/lib/components/datagrid/body/header/data_grid_header_row.styles.js +27 -0
  101. package/lib/components/datagrid/controls/column_selector.js +17 -8
  102. package/lib/components/datagrid/controls/column_selector.styles.js +28 -0
  103. package/lib/components/datagrid/controls/column_sorting.js +7 -2
  104. package/lib/components/datagrid/controls/column_sorting.styles.js +41 -0
  105. package/lib/components/datagrid/controls/column_sorting_draggable.js +19 -14
  106. package/lib/components/datagrid/controls/data_grid_toolbar.js +8 -1
  107. package/lib/components/datagrid/controls/data_grid_toolbar.styles.js +24 -0
  108. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +27 -27
  109. package/lib/components/datagrid/controls/display_selector.js +13 -2
  110. package/lib/components/datagrid/controls/fullscreen_selector.js +7 -4
  111. package/lib/components/datagrid/controls/fullscreen_selector.styles.js +26 -0
  112. package/lib/components/datagrid/controls/keyboard_shortcuts.js +6 -2
  113. package/lib/components/datagrid/controls/keyboard_shortcuts.styles.js +24 -0
  114. package/lib/components/datagrid/data_grid.a11y.js +1 -0
  115. package/lib/components/datagrid/data_grid.js +16 -8
  116. package/lib/components/datagrid/data_grid.stories.utils.js +1426 -0
  117. package/lib/components/datagrid/data_grid.styles.js +94 -0
  118. package/lib/components/datagrid/{utils → pagination}/data_grid_pagination.js +30 -30
  119. package/lib/components/datagrid/pagination/data_grid_pagination.styles.js +22 -0
  120. package/lib/components/datagrid/pagination/index.js +18 -0
  121. package/lib/components/datagrid/utils/row_heights.js +11 -36
  122. package/lib/components/datagrid/utils/scrolling.js +14 -7
  123. package/lib/components/datagrid/utils/scrolling.styles.js +36 -0
  124. package/lib/components/date_picker/date_picker.js +1 -1
  125. package/lib/components/flyout/flyout_resizable.js +6 -2
  126. package/lib/components/flyout/flyout_resizable.styles.js +34 -5
  127. package/lib/components/popover/popover.js +1 -1
  128. package/lib/components/provider/provider.js +16 -13
  129. package/lib/components/provider/system_color_mode/index.js +12 -0
  130. package/lib/components/provider/system_color_mode/system_color_mode_provider.js +54 -0
  131. package/lib/components/resizable_container/resizable_button.js +9 -2
  132. package/lib/components/resizable_container/resizable_button.styles.js +19 -6
  133. package/lib/components/table/table_header_cell.js +10 -3
  134. package/lib/components/table/table_header_cell_checkbox.js +5 -3
  135. package/lib/components/table/table_row_cell.js +10 -3
  136. package/lib/components/table/table_row_cell_checkbox.js +5 -3
  137. package/lib/components/text/text.js +25 -9
  138. package/lib/components/text/text_align.js +19 -6
  139. package/lib/components/text/text_color.js +14 -11
  140. package/lib/components/text/types.js +5 -0
  141. package/lib/services/copy/index.js +25 -0
  142. package/lib/services/copy/tabular_copy.js +111 -0
  143. package/lib/services/index.js +12 -8
  144. package/optimize/es/components/basic_table/basic_table.js +43 -35
  145. package/optimize/es/components/basic_table/collapsed_item_actions.js +24 -31
  146. package/optimize/es/components/datagrid/body/cell/data_grid_cell.js +98 -88
  147. package/optimize/es/components/datagrid/body/cell/data_grid_cell.styles.js +110 -0
  148. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +13 -3
  149. package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.styles.js +33 -0
  150. package/optimize/es/components/datagrid/body/cell/data_grid_cell_popover.js +21 -12
  151. package/optimize/es/components/datagrid/body/cell/data_grid_cell_popover.styles.js +19 -0
  152. package/optimize/es/components/datagrid/body/cell/focus_utils.js +18 -20
  153. package/optimize/es/components/datagrid/body/data_grid_body.js +9 -2
  154. package/optimize/es/components/datagrid/body/data_grid_body.styles.js +26 -0
  155. package/optimize/es/components/datagrid/body/data_grid_body_custom.js +12 -6
  156. package/optimize/es/components/datagrid/body/data_grid_body_virtualized.js +12 -6
  157. package/optimize/es/components/datagrid/body/footer/data_grid_footer.styles.js +24 -0
  158. package/optimize/es/components/datagrid/body/footer/data_grid_footer_row.js +24 -11
  159. package/optimize/es/components/datagrid/body/header/column_actions.js +16 -4
  160. package/optimize/es/components/datagrid/body/header/data_grid_column_resizer.js +14 -7
  161. package/optimize/es/components/datagrid/body/header/data_grid_column_resizer.styles.js +36 -0
  162. package/optimize/es/components/datagrid/body/header/data_grid_control_header_cell.js +5 -5
  163. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +42 -61
  164. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.styles.js +27 -0
  165. package/optimize/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +8 -3
  166. package/optimize/es/components/datagrid/body/header/data_grid_header_cell_wrapper.styles.js +27 -0
  167. package/optimize/es/components/datagrid/body/header/data_grid_header_row.js +12 -2
  168. package/optimize/es/components/datagrid/body/header/data_grid_header_row.styles.js +21 -0
  169. package/optimize/es/components/datagrid/controls/column_selector.js +17 -8
  170. package/optimize/es/components/datagrid/controls/column_selector.styles.js +22 -0
  171. package/optimize/es/components/datagrid/controls/column_sorting.js +7 -2
  172. package/optimize/es/components/datagrid/controls/column_sorting.styles.js +35 -0
  173. package/optimize/es/components/datagrid/controls/column_sorting_draggable.js +19 -14
  174. package/optimize/es/components/datagrid/controls/data_grid_toolbar.js +8 -1
  175. package/optimize/es/components/datagrid/controls/data_grid_toolbar.styles.js +18 -0
  176. package/optimize/es/components/datagrid/controls/data_grid_toolbar_control.js +27 -27
  177. package/optimize/es/components/datagrid/controls/display_selector.js +14 -3
  178. package/optimize/es/components/datagrid/controls/fullscreen_selector.js +8 -5
  179. package/optimize/es/components/datagrid/controls/fullscreen_selector.styles.js +20 -0
  180. package/optimize/es/components/datagrid/controls/keyboard_shortcuts.js +7 -3
  181. package/optimize/es/components/datagrid/controls/keyboard_shortcuts.styles.js +18 -0
  182. package/optimize/es/components/datagrid/data_grid.a11y.js +1 -0
  183. package/optimize/es/components/datagrid/data_grid.js +17 -9
  184. package/optimize/es/components/datagrid/data_grid.stories.utils.js +369 -0
  185. package/optimize/es/components/datagrid/data_grid.styles.js +88 -0
  186. package/optimize/es/components/datagrid/{utils → pagination}/data_grid_pagination.js +30 -30
  187. package/optimize/es/components/datagrid/pagination/data_grid_pagination.styles.js +16 -0
  188. package/optimize/es/components/datagrid/pagination/index.js +9 -0
  189. package/optimize/es/components/datagrid/utils/row_heights.js +10 -36
  190. package/optimize/es/components/datagrid/utils/scrolling.js +14 -7
  191. package/optimize/es/components/datagrid/utils/scrolling.styles.js +30 -0
  192. package/optimize/es/components/date_picker/date_picker.js +1 -1
  193. package/optimize/es/components/flyout/flyout_resizable.js +6 -2
  194. package/optimize/es/components/flyout/flyout_resizable.styles.js +34 -5
  195. package/optimize/es/components/popover/popover.js +1 -1
  196. package/optimize/es/components/provider/provider.js +16 -13
  197. package/optimize/es/components/provider/system_color_mode/index.js +9 -0
  198. package/optimize/es/components/provider/system_color_mode/system_color_mode_provider.js +40 -0
  199. package/optimize/es/components/resizable_container/resizable_button.js +3 -2
  200. package/optimize/es/components/resizable_container/resizable_button.styles.js +19 -6
  201. package/optimize/es/components/table/table_header_cell.js +3 -2
  202. package/optimize/es/components/table/table_header_cell_checkbox.js +3 -2
  203. package/optimize/es/components/table/table_row_cell.js +4 -3
  204. package/optimize/es/components/table/table_row_cell_checkbox.js +3 -2
  205. package/optimize/es/components/text/text.js +9 -4
  206. package/optimize/es/components/text/text_align.js +4 -2
  207. package/optimize/es/components/text/text_color.js +1 -2
  208. package/optimize/es/components/text/types.js +1 -0
  209. package/optimize/es/services/copy/index.js +10 -0
  210. package/optimize/es/services/copy/tabular_copy.js +103 -0
  211. package/optimize/es/services/index.js +1 -1
  212. package/optimize/lib/components/basic_table/basic_table.js +42 -34
  213. package/optimize/lib/components/basic_table/collapsed_item_actions.js +23 -30
  214. package/optimize/lib/components/datagrid/body/cell/data_grid_cell.js +95 -85
  215. package/optimize/lib/components/datagrid/body/cell/data_grid_cell.styles.js +114 -0
  216. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +13 -3
  217. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.styles.js +39 -0
  218. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_popover.js +20 -11
  219. package/optimize/lib/components/datagrid/body/cell/data_grid_cell_popover.styles.js +25 -0
  220. package/optimize/lib/components/datagrid/body/cell/focus_utils.js +17 -19
  221. package/optimize/lib/components/datagrid/body/data_grid_body.js +9 -2
  222. package/optimize/lib/components/datagrid/body/data_grid_body.styles.js +30 -0
  223. package/optimize/lib/components/datagrid/body/data_grid_body_custom.js +12 -6
  224. package/optimize/lib/components/datagrid/body/data_grid_body_virtualized.js +12 -6
  225. package/optimize/lib/components/datagrid/body/footer/data_grid_footer.styles.js +30 -0
  226. package/optimize/lib/components/datagrid/body/footer/data_grid_footer_row.js +22 -9
  227. package/optimize/lib/components/datagrid/body/header/column_actions.js +16 -4
  228. package/optimize/lib/components/datagrid/body/header/data_grid_column_resizer.js +14 -7
  229. package/optimize/lib/components/datagrid/body/header/data_grid_column_resizer.styles.js +39 -0
  230. package/optimize/lib/components/datagrid/body/header/data_grid_control_header_cell.js +5 -5
  231. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +45 -63
  232. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.styles.js +32 -0
  233. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +7 -2
  234. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.styles.js +32 -0
  235. package/optimize/lib/components/datagrid/body/header/data_grid_header_row.js +12 -2
  236. package/optimize/lib/components/datagrid/body/header/data_grid_header_row.styles.js +27 -0
  237. package/optimize/lib/components/datagrid/controls/column_selector.js +17 -8
  238. package/optimize/lib/components/datagrid/controls/column_selector.styles.js +28 -0
  239. package/optimize/lib/components/datagrid/controls/column_sorting.js +7 -2
  240. package/optimize/lib/components/datagrid/controls/column_sorting.styles.js +41 -0
  241. package/optimize/lib/components/datagrid/controls/column_sorting_draggable.js +19 -14
  242. package/optimize/lib/components/datagrid/controls/data_grid_toolbar.js +8 -1
  243. package/optimize/lib/components/datagrid/controls/data_grid_toolbar.styles.js +24 -0
  244. package/optimize/lib/components/datagrid/controls/data_grid_toolbar_control.js +27 -27
  245. package/optimize/lib/components/datagrid/controls/display_selector.js +13 -2
  246. package/optimize/lib/components/datagrid/controls/fullscreen_selector.js +7 -4
  247. package/optimize/lib/components/datagrid/controls/fullscreen_selector.styles.js +26 -0
  248. package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.js +6 -2
  249. package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.styles.js +24 -0
  250. package/optimize/lib/components/datagrid/data_grid.a11y.js +1 -0
  251. package/optimize/lib/components/datagrid/data_grid.js +16 -8
  252. package/optimize/lib/components/datagrid/data_grid.stories.utils.js +374 -0
  253. package/optimize/lib/components/datagrid/data_grid.styles.js +94 -0
  254. package/{test-env/components/datagrid/utils → optimize/lib/components/datagrid/pagination}/data_grid_pagination.js +29 -31
  255. package/optimize/lib/components/datagrid/pagination/data_grid_pagination.styles.js +22 -0
  256. package/optimize/lib/components/datagrid/pagination/index.js +18 -0
  257. package/optimize/lib/components/datagrid/utils/row_heights.js +11 -36
  258. package/optimize/lib/components/datagrid/utils/scrolling.js +14 -7
  259. package/optimize/lib/components/datagrid/utils/scrolling.styles.js +36 -0
  260. package/optimize/lib/components/date_picker/date_picker.js +1 -1
  261. package/optimize/lib/components/flyout/flyout_resizable.js +6 -2
  262. package/optimize/lib/components/flyout/flyout_resizable.styles.js +34 -5
  263. package/optimize/lib/components/popover/popover.js +1 -1
  264. package/optimize/lib/components/provider/provider.js +16 -13
  265. package/optimize/lib/components/provider/system_color_mode/index.js +12 -0
  266. package/optimize/lib/components/provider/system_color_mode/system_color_mode_provider.js +47 -0
  267. package/optimize/lib/components/resizable_container/resizable_button.js +3 -2
  268. package/optimize/lib/components/resizable_container/resizable_button.styles.js +19 -6
  269. package/optimize/lib/components/table/table_header_cell.js +3 -2
  270. package/optimize/lib/components/table/table_header_cell_checkbox.js +3 -2
  271. package/optimize/lib/components/table/table_row_cell.js +4 -3
  272. package/optimize/lib/components/table/table_row_cell_checkbox.js +3 -2
  273. package/optimize/lib/components/text/text.js +9 -4
  274. package/optimize/lib/components/text/text_align.js +4 -2
  275. package/optimize/lib/components/text/text_color.js +1 -2
  276. package/optimize/lib/components/text/types.js +5 -0
  277. package/optimize/lib/services/copy/index.js +25 -0
  278. package/optimize/lib/services/copy/tabular_copy.js +111 -0
  279. package/optimize/lib/services/index.js +12 -8
  280. package/package.json +3 -3
  281. package/src/themes/amsterdam/theme_dark.scss +0 -7
  282. package/src/themes/amsterdam/theme_light.scss +0 -7
  283. package/test-env/components/basic_table/basic_table.js +42 -34
  284. package/test-env/components/basic_table/collapsed_item_actions.js +23 -30
  285. package/test-env/components/datagrid/body/cell/data_grid_cell.js +204 -91
  286. package/test-env/components/datagrid/body/cell/data_grid_cell.styles.js +114 -0
  287. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +13 -3
  288. package/test-env/components/datagrid/body/cell/data_grid_cell_actions.styles.js +39 -0
  289. package/test-env/components/datagrid/body/cell/data_grid_cell_popover.js +20 -11
  290. package/test-env/components/datagrid/body/cell/data_grid_cell_popover.styles.js +25 -0
  291. package/test-env/components/datagrid/body/cell/focus_utils.js +17 -19
  292. package/test-env/components/datagrid/body/data_grid_body.js +20 -4
  293. package/test-env/components/datagrid/body/data_grid_body.styles.js +30 -0
  294. package/test-env/components/datagrid/body/data_grid_body_custom.js +23 -8
  295. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +23 -8
  296. package/test-env/components/datagrid/body/footer/data_grid_footer.styles.js +30 -0
  297. package/test-env/components/datagrid/body/footer/data_grid_footer_row.js +22 -9
  298. package/test-env/components/datagrid/body/header/column_actions.js +16 -4
  299. package/test-env/components/datagrid/body/header/data_grid_column_resizer.js +14 -7
  300. package/test-env/components/datagrid/body/header/data_grid_column_resizer.styles.js +39 -0
  301. package/test-env/components/datagrid/body/header/data_grid_control_header_cell.js +6 -5
  302. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +45 -67
  303. package/test-env/components/datagrid/body/header/data_grid_header_cell.styles.js +32 -0
  304. package/test-env/components/datagrid/body/header/data_grid_header_cell_wrapper.js +8 -2
  305. package/test-env/components/datagrid/body/header/data_grid_header_cell_wrapper.styles.js +32 -0
  306. package/test-env/components/datagrid/body/header/data_grid_header_row.js +12 -2
  307. package/test-env/components/datagrid/body/header/data_grid_header_row.styles.js +27 -0
  308. package/test-env/components/datagrid/controls/column_selector.js +17 -8
  309. package/test-env/components/datagrid/controls/column_selector.styles.js +28 -0
  310. package/test-env/components/datagrid/controls/column_sorting.js +7 -2
  311. package/test-env/components/datagrid/controls/column_sorting.styles.js +41 -0
  312. package/test-env/components/datagrid/controls/column_sorting_draggable.js +19 -14
  313. package/test-env/components/datagrid/controls/data_grid_toolbar.js +8 -1
  314. package/test-env/components/datagrid/controls/data_grid_toolbar.styles.js +24 -0
  315. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +27 -27
  316. package/test-env/components/datagrid/controls/display_selector.js +13 -2
  317. package/test-env/components/datagrid/controls/fullscreen_selector.js +7 -4
  318. package/test-env/components/datagrid/controls/fullscreen_selector.styles.js +26 -0
  319. package/test-env/components/datagrid/controls/keyboard_shortcuts.js +6 -2
  320. package/test-env/components/datagrid/controls/keyboard_shortcuts.styles.js +24 -0
  321. package/test-env/components/datagrid/data_grid.a11y.js +1 -0
  322. package/test-env/components/datagrid/data_grid.js +16 -8
  323. package/test-env/components/datagrid/data_grid.stories.utils.js +1419 -0
  324. package/test-env/components/datagrid/data_grid.styles.js +94 -0
  325. package/{optimize/lib/components/datagrid/utils → test-env/components/datagrid/pagination}/data_grid_pagination.js +29 -31
  326. package/test-env/components/datagrid/pagination/data_grid_pagination.styles.js +22 -0
  327. package/test-env/components/datagrid/pagination/index.js +18 -0
  328. package/test-env/components/datagrid/utils/row_heights.js +11 -36
  329. package/test-env/components/datagrid/utils/scrolling.js +14 -7
  330. package/test-env/components/datagrid/utils/scrolling.styles.js +36 -0
  331. package/test-env/components/date_picker/date_picker.js +1 -1
  332. package/test-env/components/flyout/flyout_resizable.js +6 -2
  333. package/test-env/components/flyout/flyout_resizable.styles.js +34 -5
  334. package/test-env/components/popover/popover.js +1 -1
  335. package/test-env/components/provider/provider.js +16 -13
  336. package/test-env/components/provider/system_color_mode/index.js +12 -0
  337. package/test-env/components/provider/system_color_mode/system_color_mode_provider.js +51 -0
  338. package/test-env/components/resizable_container/resizable_button.js +9 -2
  339. package/test-env/components/resizable_container/resizable_button.styles.js +19 -6
  340. package/test-env/components/table/table_header_cell.js +10 -3
  341. package/test-env/components/table/table_header_cell_checkbox.js +5 -3
  342. package/test-env/components/table/table_row_cell.js +10 -3
  343. package/test-env/components/table/table_row_cell_checkbox.js +5 -3
  344. package/test-env/components/text/text.js +25 -9
  345. package/test-env/components/text/text_align.js +19 -6
  346. package/test-env/components/text/text_color.js +14 -11
  347. package/test-env/components/text/types.js +5 -0
  348. package/test-env/services/copy/index.js +25 -0
  349. package/test-env/services/copy/tabular_copy.js +30 -0
  350. package/test-env/services/index.js +12 -8
  351. package/src/components/datagrid/_data_grid.scss +0 -121
  352. package/src/components/datagrid/_data_grid_data_row.scss +0 -303
  353. package/src/components/datagrid/_index.scss +0 -12
  354. package/src/components/datagrid/_mixins.scss +0 -84
  355. package/src/components/datagrid/_variables.scss +0 -11
  356. package/src/components/datagrid/body/footer/_data_grid_footer_row.scss +0 -47
  357. package/src/components/datagrid/body/header/_data_grid_column_resizer.scss +0 -48
  358. package/src/components/datagrid/body/header/_data_grid_header_row.scss +0 -221
  359. package/src/components/datagrid/controls/_data_grid_column_selector.scss +0 -19
  360. package/src/components/datagrid/controls/_data_grid_column_sorting.scss +0 -43
  361. package/src/components/datagrid/controls/_data_grid_display.scss +0 -3
  362. package/src/components/datagrid/controls/_data_grid_keyboard_shortcuts.scss +0 -11
  363. package/src/components/datagrid/controls/_data_grid_toolbar.scss +0 -55
  364. package/src/components/index.scss +0 -3
  365. package/src/themes/amsterdam/overrides/_data_grid.scss +0 -5
  366. package/src/themes/amsterdam/overrides/_index.scss +0 -1
  367. /package/es/services/{copy_to_clipboard.js → copy/copy_to_clipboard.js} +0 -0
  368. /package/lib/services/{copy_to_clipboard.js → copy/copy_to_clipboard.js} +0 -0
  369. /package/optimize/es/services/{copy_to_clipboard.js → copy/copy_to_clipboard.js} +0 -0
  370. /package/optimize/lib/services/{copy_to_clipboard.js → copy/copy_to_clipboard.js} +0 -0
  371. /package/test-env/services/{copy_to_clipboard.js → copy/copy_to_clipboard.js} +0 -0
@@ -19,16 +19,18 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
19
19
 
20
20
  import React, { useState, useMemo, useCallback } from 'react';
21
21
  import classNames from 'classnames';
22
+ import { useDependentState, useEuiMemoizedStyles } from '../../../services';
22
23
  import { EuiPopover, EuiPopoverFooter, EuiPopoverTitle } from '../../popover';
23
24
  import { EuiI18n, useEuiI18n } from '../../i18n';
24
25
  import { EuiButtonEmpty } from '../../button';
25
26
  import { EuiFlexGroup, EuiFlexItem } from '../../flex';
26
27
  import { EuiSwitch, EuiFieldText } from '../../form';
27
- import { EuiDragDropContext, EuiDraggable, EuiDroppable, euiDragDropReorder } from '../../drag_and_drop';
28
+ import { EuiText } from '../../text';
28
29
  import { EuiIcon } from '../../icon';
29
- import { useDependentState } from '../../../services';
30
+ import { EuiDragDropContext, EuiDraggable, EuiDroppable, euiDragDropReorder } from '../../drag_and_drop';
30
31
  import { getNestedObjectOptions } from './data_grid_toolbar';
31
32
  import { EuiDataGridToolbarControl } from './data_grid_toolbar_control';
33
+ import { euiDataGridColumnSelectorStyles } from './column_selector.styles';
32
34
  import { jsx as ___EmotionJSX } from "@emotion/react";
33
35
  export var useDataGridColumnSelector = function useDataGridColumnSelector(availableColumns, columnVisibility, showColumnSelector, displayValues) {
34
36
  var allowColumnHiding = getNestedObjectOptions(showColumnSelector, 'allowHide');
@@ -90,6 +92,7 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
90
92
  return column != null;
91
93
  });
92
94
  }, [availableColumns, visibleColumns]);
95
+ var styles = useEuiMemoizedStyles(euiDataGridColumnSelectorStyles);
93
96
  var columnSelector = useMemo(function () {
94
97
  return allowColumnHiding || allowColumnReorder ? ___EmotionJSX(EuiPopover, {
95
98
  "data-test-subj": "dataGridColumnSelectorPopover",
@@ -98,7 +101,7 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
98
101
  return setIsOpen(false);
99
102
  },
100
103
  anchorPosition: "downLeft",
101
- panelPaddingSize: "s",
104
+ panelPaddingSize: "none",
102
105
  hasDragDrop: true,
103
106
  button: ___EmotionJSX(EuiDataGridToolbarControl, {
104
107
  badgeContent: numberOfHiddenFields > 0 ? "".concat(orderedVisibleColumns.length, "/").concat(availableColumns.length) : availableColumns.length,
@@ -111,7 +114,9 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
111
114
  token: "euiColumnSelector.button",
112
115
  default: "Columns"
113
116
  }))
114
- }, allowColumnHiding && ___EmotionJSX(EuiPopoverTitle, null, ___EmotionJSX(EuiI18n, {
117
+ }, allowColumnHiding && ___EmotionJSX(EuiPopoverTitle, {
118
+ paddingSize: "s"
119
+ }, ___EmotionJSX(EuiI18n, {
115
120
  tokens: ['euiColumnSelector.search', 'euiColumnSelector.searchcolumns'],
116
121
  defaults: ['Search', 'Search columns']
117
122
  }, function (_ref4) {
@@ -133,7 +138,7 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
133
138
  }, ___EmotionJSX(EuiDroppable, {
134
139
  droppableId: "columnOrder",
135
140
  isDropDisabled: !isDragEnabled,
136
- className: "euiDataGrid__controlScroll"
141
+ css: styles.euiDataGridColumnSelector
137
142
  }, ___EmotionJSX(React.Fragment, null, filteredColumns.map(function (id, index) {
138
143
  return ___EmotionJSX(EuiDraggable, {
139
144
  key: id,
@@ -144,6 +149,7 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
144
149
  customDragHandle: true
145
150
  }, function (provided, state) {
146
151
  return ___EmotionJSX("div", {
152
+ css: styles.euiDataGridColumnSelector__item,
147
153
  className: classNames('euiDataGridColumnSelector__item', {
148
154
  'euiDataGridColumnSelector__item-isDragging': state.isDragging
149
155
  }),
@@ -174,7 +180,8 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
174
180
  , _extends({}, provided.dragHandleProps, {
175
181
  "aria-hidden": true,
176
182
  tabIndex: -1
177
- }), ___EmotionJSX("span", {
183
+ }), ___EmotionJSX(EuiText, {
184
+ size: "xs",
178
185
  className: "euiDataGridColumnSelector__itemLabel"
179
186
  }, displayValues[id] || id)), isDragEnabled && ___EmotionJSX(EuiFlexItem, _extends({
180
187
  grow: false
@@ -185,7 +192,9 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
185
192
  color: "subdued"
186
193
  }))));
187
194
  });
188
- })))), allowColumnHiding && ___EmotionJSX(EuiPopoverFooter, null, ___EmotionJSX(EuiFlexGroup, {
195
+ })))), allowColumnHiding && ___EmotionJSX(EuiPopoverFooter, {
196
+ paddingSize: "s"
197
+ }, ___EmotionJSX(EuiFlexGroup, {
189
198
  gutterSize: "s",
190
199
  responsive: false,
191
200
  justifyContent: "spaceBetween"
@@ -214,7 +223,7 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
214
223
  token: "euiColumnSelector.hideAll",
215
224
  default: "Hide all"
216
225
  })))))) : null;
217
- }, [availableColumns.length, numberOfHiddenFields, orderedVisibleColumns.length, allowColumnHiding, allowColumnReorder, isOpen, columnSearchText, displayValues, visibleColumnIds, sortedColumns, setVisibleColumns, setIsOpen, onDragEnd, isDragEnabled, dragHandleAriaLabel, filteredColumns]);
226
+ }, [styles, availableColumns.length, numberOfHiddenFields, orderedVisibleColumns.length, allowColumnHiding, allowColumnReorder, isOpen, columnSearchText, displayValues, visibleColumnIds, sortedColumns, setVisibleColumns, setIsOpen, onDragEnd, isDragEnabled, dragHandleAriaLabel, filteredColumns]);
218
227
 
219
228
  /**
220
229
  * Used for moving columns left/right, available in the headers actions menu
@@ -0,0 +1,22 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { css } from '@emotion/react';
10
+ import { euiYScroll, logicalCSS, mathWithUnits } from '../../../global_styling';
11
+ import { euiShadowLarge } from '../../../themes';
12
+ export var euiDataGridColumnSelectorStyles = function euiDataGridColumnSelectorStyles(euiThemeContext) {
13
+ var euiTheme = euiThemeContext.euiTheme;
14
+ var maxStaticHeight = mathWithUnits(euiTheme.size.base, function (x) {
15
+ return x * 25;
16
+ });
17
+ var maxResponsiveHeight = "min(".concat(maxStaticHeight, ", 50vh)");
18
+ return {
19
+ euiDataGridColumnSelector: /*#__PURE__*/css(euiYScroll(euiThemeContext), " ", logicalCSS('max-height', maxResponsiveHeight), " padding:", euiTheme.size.s, ";;label:euiDataGridColumnSelector;"),
20
+ euiDataGridColumnSelector__item: /*#__PURE__*/css("padding:", euiTheme.size.xs, ";&.euiDataGridColumnSelector__item-isDragging{", euiShadowLarge(euiThemeContext), " background-color:", euiTheme.colors.emptyShade, ";};label:euiDataGridColumnSelector__item;")
21
+ };
22
+ };
@@ -22,6 +22,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
22
22
  */
23
23
 
24
24
  import React, { useEffect, useState, useMemo, useCallback, memo } from 'react';
25
+ import { useEuiMemoizedStyles } from '../../../services';
25
26
  import { EuiButtonEmpty } from '../../button';
26
27
  import { EuiDragDropContext, euiDragDropReorder, EuiDroppable } from '../../drag_and_drop';
27
28
  import { EuiFlexGroup, EuiFlexItem } from '../../flex';
@@ -29,9 +30,10 @@ import { EuiI18n, useEuiI18n } from '../../i18n';
29
30
  import { EuiPopover, EuiPopoverFooter } from '../../popover';
30
31
  import { EuiText } from '../../text';
31
32
  import { EuiToken } from '../../token';
33
+ import { getDetailsForSchema } from '../utils/data_grid_schema';
32
34
  import { EuiDataGridToolbarControl } from './data_grid_toolbar_control';
33
35
  import { EuiDataGridColumnSortingDraggable } from './column_sorting_draggable';
34
- import { getDetailsForSchema } from '../utils/data_grid_schema';
36
+ import { euiDataGridColumnSortingStyles } from './column_sorting.styles';
35
37
  import { jsx as ___EmotionJSX } from "@emotion/react";
36
38
  export var useDataGridColumnSorting = function useDataGridColumnSorting(_ref) {
37
39
  var sorting = _ref.sorting,
@@ -52,6 +54,7 @@ export var DataGridSortingControl = /*#__PURE__*/memo(function (_ref2) {
52
54
  setIsOpen = _useState2[1];
53
55
  var sortingButtonText = useEuiI18n('euiColumnSorting.button', 'Sort fields');
54
56
  var sortFieldAriaLabel = useEuiI18n('euiColumnSorting.sortFieldAriaLabel', 'Sort by: ');
57
+ var styles = useEuiMemoizedStyles(euiDataGridColumnSortingStyles);
55
58
  var _useState3 = useState(false),
56
59
  _useState4 = _slicedToArray(_useState3, 2),
57
60
  availableColumnsIsOpen = _useState4[0],
@@ -152,7 +155,7 @@ export var DataGridSortingControl = /*#__PURE__*/memo(function (_ref2) {
152
155
  onDragEnd: onDragEnd
153
156
  }, ___EmotionJSX(EuiDroppable, {
154
157
  droppableId: "columnSorting",
155
- className: "euiDataGrid__controlScroll"
158
+ css: styles.euiDataGridColumnSorting
156
159
  }, ___EmotionJSX(React.Fragment, null, sorting.columns.map(function (_ref7, index) {
157
160
  var id = _ref7.id,
158
161
  direction = _ref7.direction;
@@ -202,6 +205,7 @@ export var DataGridSortingControl = /*#__PURE__*/memo(function (_ref2) {
202
205
  default: "Pick fields to sort by"
203
206
  }))
204
207
  }, ___EmotionJSX("div", {
208
+ css: styles.euiDataGridColumnSorting__fieldList,
205
209
  className: "euiDataGridColumnSorting__fieldList",
206
210
  role: "listbox"
207
211
  }, inactiveSortableColumns.map(function (_ref8) {
@@ -209,6 +213,7 @@ export var DataGridSortingControl = /*#__PURE__*/memo(function (_ref2) {
209
213
  defaultSortDirection = _ref8.defaultSortDirection;
210
214
  return ___EmotionJSX("button", {
211
215
  key: id,
216
+ css: styles.euiDataGridColumnSorting__field,
212
217
  className: "euiDataGridColumnSorting__field",
213
218
  "aria-label": "".concat(sortFieldAriaLabel, " ").concat(id),
214
219
  role: "option",
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { css } from '@emotion/react';
10
+ import { euiFontSize, euiMinBreakpoint, euiYScroll, logicalCSS, mathWithUnits } from '../../../global_styling';
11
+ import { euiShadowLarge } from '../../../themes';
12
+ export var euiDataGridColumnSortingStyles = function euiDataGridColumnSortingStyles(euiThemeContext) {
13
+ var euiTheme = euiThemeContext.euiTheme;
14
+ var maxStaticHeight = mathWithUnits(euiTheme.size.m, function (x) {
15
+ return x * 25;
16
+ });
17
+ var maxResponsiveHeight = "min(".concat(maxStaticHeight, ", 75vh)");
18
+ return {
19
+ /**
20
+ * Sorted fields
21
+ */
22
+ euiDataGridColumnSorting: /*#__PURE__*/css(logicalCSS('max-height', maxResponsiveHeight), " ", logicalCSS('padding-vertical', euiTheme.size.s), "margin:-", euiTheme.size.s, ";", euiYScroll(euiThemeContext), ";;label:euiDataGridColumnSorting;"),
23
+ euiDataGridColumnSorting__item: /*#__PURE__*/css(logicalCSS('padding-horizontal', euiTheme.size.s), " &.euiDataGridColumnSorting__item-isDragging{", euiShadowLarge(euiThemeContext), " background-color:", euiTheme.colors.emptyShade, ";};label:euiDataGridColumnSorting__item;"),
24
+ euiDataGridColumnSorting__name: /*#__PURE__*/css(logicalCSS('padding-right', euiTheme.size.xs), " ", euiMinBreakpoint(euiThemeContext, 'm'), "{", logicalCSS('padding-right', euiTheme.size.l), ";};label:euiDataGridColumnSorting__name;"),
25
+ euiDataGridColumnSorting__order: /*#__PURE__*/css(euiMinBreakpoint(euiThemeContext, 'm'), "{", logicalCSS('min-width', mathWithUnits(euiTheme.size.xxl, function (x) {
26
+ return x * 5;
27
+ })), ";}.euiButtonGroup__buttons{border:none;}.euiButtonGroupButton{font-size:", euiFontSize(euiThemeContext, 'xs').fontSize, ";};label:euiDataGridColumnSorting__order;"),
28
+ euiDataGridColumnSorting__dragHandle: /*#__PURE__*/css(logicalCSS('padding-right', euiTheme.size.xs), ";;label:euiDataGridColumnSorting__dragHandle;"),
29
+ /**
30
+ * 'Pick fields to sort by' popover
31
+ */
32
+ euiDataGridColumnSorting__fieldList: /*#__PURE__*/css("display:flex;flex-direction:column;padding-block:", euiTheme.size.xs, ";", logicalCSS('max-height', maxResponsiveHeight), " ", euiYScroll(euiThemeContext), ";;label:euiDataGridColumnSorting__fieldList;"),
33
+ euiDataGridColumnSorting__field: /*#__PURE__*/css("padding-block:", euiTheme.size.xs, ";padding-inline:", euiTheme.size.s, ";outline-offset:-", euiTheme.focus.width, ";;label:euiDataGridColumnSorting__field;")
34
+ };
35
+ };
@@ -19,6 +19,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
19
19
  import React, { useCallback } from 'react';
20
20
  import PropTypes from "prop-types";
21
21
  import classNames from 'classnames';
22
+ import { useEuiMemoizedStyles } from '../../../services';
22
23
  import { EuiScreenReaderOnly } from '../../accessibility';
23
24
  import { EuiButtonGroup, EuiButtonIcon } from '../../button';
24
25
  import { EuiDraggable } from '../../drag_and_drop';
@@ -28,6 +29,7 @@ import { EuiIcon } from '../../icon';
28
29
  import { EuiText } from '../../text';
29
30
  import { EuiToken } from '../../token';
30
31
  import { getDetailsForSchema } from '../utils/data_grid_schema';
32
+ import { euiDataGridColumnSortingStyles } from './column_sorting.styles';
31
33
  import { jsx as ___EmotionJSX } from "@emotion/react";
32
34
  export var defaultSortAscLabel = ___EmotionJSX(EuiI18n, {
33
35
  token: "euiColumnSortingDraggable.defaultSortAsc",
@@ -82,16 +84,22 @@ export var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSorting
82
84
  });
83
85
  sorting.onSort(nextColumns);
84
86
  }, [id, sorting]);
87
+ var styles = useEuiMemoizedStyles(euiDataGridColumnSortingStyles);
85
88
  return ___EmotionJSX(EuiDraggable, _extends({
86
89
  draggableId: id,
87
90
  index: index,
88
91
  hasInteractiveChildren: true,
89
92
  customDragHandle: true
90
93
  }, rest), function (provided, state) {
91
- return ___EmotionJSX("div", {
94
+ return ___EmotionJSX(EuiFlexGroup, {
95
+ css: styles.euiDataGridColumnSorting__item,
92
96
  className: classNames('euiDataGridColumnSorting__item', {
93
97
  'euiDataGridColumnSorting__item-isDragging': state.isDragging
94
- })
98
+ }),
99
+ gutterSize: "xs",
100
+ alignItems: "center",
101
+ responsive: false,
102
+ "data-test-subj": "euiDataGridColumnSorting-sortColumn-".concat(id)
95
103
  }, ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", null, ___EmotionJSX(EuiI18n, {
96
104
  token: "euiColumnSortingDraggable.activeSortLabel",
97
105
  default: "{display} is sorting this data grid",
@@ -100,12 +108,7 @@ export var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSorting
100
108
  }
101
109
  }, function (activeSortLabel) {
102
110
  return activeSortLabel;
103
- }))), ___EmotionJSX(EuiFlexGroup, {
104
- gutterSize: "xs",
105
- alignItems: "center",
106
- responsive: false,
107
- "data-test-subj": "euiDataGridColumnSorting-sortColumn-".concat(id)
108
- }, ___EmotionJSX(EuiFlexItem, {
111
+ }))), ___EmotionJSX(EuiFlexItem, {
109
112
  grow: false
110
113
  }, ___EmotionJSX(EuiI18n, {
111
114
  token: "euiColumnSortingDraggable.removeSortLabel",
@@ -121,10 +124,12 @@ export var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSorting
121
124
  iconType: "cross",
122
125
  onClick: removeSort
123
126
  });
124
- })), ___EmotionJSX(EuiFlexItem, _extends({
127
+ })), ___EmotionJSX(EuiFlexItem
128
+ // This extra column name flex item affords the column more grabbable real estate
129
+ // for mouse users, while hiding repetition for keyboard/screen reader users
130
+ , _extends({
131
+ css: styles.euiDataGridColumnSorting__name,
125
132
  className: "euiDataGridColumnSorting__name"
126
- // This extra column name flex item affords the column more grabbable real estate
127
- // for mouse users, while hiding repetition for keyboard/screen reader users
128
133
  }, provided.dragHandleProps, {
129
134
  tabIndex: -1,
130
135
  "aria-hidden": true
@@ -139,7 +144,7 @@ export var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSorting
139
144
  iconType: schemaDetails != null ? schemaDetails.icon : 'tokenString'
140
145
  })), ___EmotionJSX(EuiFlexItem, null, ___EmotionJSX(EuiText, {
141
146
  size: "xs"
142
- }, ___EmotionJSX("p", null, display))))), ___EmotionJSX(EuiFlexItem, null, ___EmotionJSX(EuiI18n, {
147
+ }, display)))), ___EmotionJSX(EuiFlexItem, null, ___EmotionJSX(EuiI18n, {
143
148
  token: "euiColumnSortingDraggable.toggleLegend",
144
149
  default: "Select sorting method for {display}",
145
150
  values: {
@@ -148,10 +153,10 @@ export var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSorting
148
153
  }, function (toggleLegend) {
149
154
  return ___EmotionJSX(EuiButtonGroup, {
150
155
  legend: toggleLegend,
151
- name: id,
152
156
  isFullWidth: true,
153
157
  options: toggleOptions,
154
158
  buttonSize: "compressed",
159
+ css: styles.euiDataGridColumnSorting__order,
155
160
  className: "euiDataGridColumnSorting__order",
156
161
  idSelected: direction === 'asc' ? "".concat(id, "Asc") : "".concat(id, "Desc"),
157
162
  onChange: toggleLegendHandler
@@ -163,7 +168,7 @@ export var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSorting
163
168
  }), ___EmotionJSX(EuiIcon, {
164
169
  type: "grab",
165
170
  color: "subdued"
166
- }))));
171
+ })));
167
172
  });
168
173
  };
169
174
  EuiDataGridColumnSortingDraggable.propTypes = {
@@ -8,8 +8,10 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
8
8
  */
9
9
 
10
10
  import React, { isValidElement } from 'react';
11
- import { EuiScreenReaderOnly } from '../../accessibility';
12
11
  import { IS_JEST_ENVIRONMENT } from '../../../utils';
12
+ import { useEuiMemoizedStyles } from '../../../services';
13
+ import { EuiScreenReaderOnly } from '../../accessibility';
14
+ import { euiDataGridToolbarStyles } from './data_grid_toolbar.styles';
13
15
 
14
16
  // When below this number the grid only shows the right control icon buttons
15
17
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -26,6 +28,8 @@ export var EuiDataGridToolbar = function EuiDataGridToolbar(_ref) {
26
28
  columnSelector = _ref.columnSelector,
27
29
  columnSorting = _ref.columnSorting,
28
30
  renderCustomToolbar = _ref.renderCustomToolbar;
31
+ var styles = useEuiMemoizedStyles(euiDataGridToolbarStyles);
32
+
29
33
  // Enables/disables grid controls based on available width
30
34
  var hasRoomForGridControls = IS_JEST_ENVIRONMENT ? true : gridWidth > minSizeForControls || isFullScreen;
31
35
  var columnControl = checkOrDefaultToolBarDisplayOptions(toolbarVisibility, 'showColumnSelector') ? columnSelector : null;
@@ -46,11 +50,14 @@ export var EuiDataGridToolbar = function EuiDataGridToolbar(_ref) {
46
50
  });
47
51
  }
48
52
  return ___EmotionJSX("div", {
53
+ css: styles.euiDataGrid__controls,
49
54
  className: "euiDataGrid__controls",
50
55
  "data-test-subj": "dataGridControls"
51
56
  }, hasRoomForGridControls && ___EmotionJSX("div", {
57
+ css: styles.euiDataGrid__leftControls,
52
58
  className: "euiDataGrid__leftControls"
53
59
  }, renderAdditionalControls(toolbarVisibility, 'left.prepend'), columnControl, columnSortingControl, renderAdditionalControls(toolbarVisibility, 'left.append')), ___EmotionJSX("div", {
60
+ css: styles.euiDataGrid__rightControls,
54
61
  className: "euiDataGrid__rightControls"
55
62
  }, renderAdditionalControls(toolbarVisibility, 'right'), keyboardShortcutsControl, displayControl, fullScreenControl));
56
63
  };
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { css } from '@emotion/react';
10
+ import { logicalCSS } from '../../../global_styling';
11
+ export var euiDataGridToolbarStyles = function euiDataGridToolbarStyles(_ref) {
12
+ var euiTheme = _ref.euiTheme;
13
+ return {
14
+ euiDataGrid__controls: /*#__PURE__*/css("z-index:2;position:relative;display:flex;justify-content:space-between;align-items:center;gap:", euiTheme.size.base, ";", logicalCSS('padding-vertical', euiTheme.size.xs), " background-color:", euiTheme.colors.emptyShade, ";;label:euiDataGrid__controls;"),
15
+ euiDataGrid__rightControls: /*#__PURE__*/css("display:flex;justify-content:flex-end;flex-wrap:wrap;column-gap:", euiTheme.size.s, ";", logicalCSS('padding-right', euiTheme.size.xs), "&:only-child{", logicalCSS('margin-left', 'auto'), ";};label:euiDataGrid__rightControls;"),
16
+ euiDataGrid__leftControls: /*#__PURE__*/css("display:flex;flex-wrap:wrap;gap:", euiTheme.size.xxs, ";;label:euiDataGrid__leftControls;")
17
+ };
18
+ };
@@ -19,28 +19,12 @@ import { EuiButtonEmpty } from '../../button';
19
19
  import { EuiNotificationBadge } from '../../badge';
20
20
  import { useEuiI18n } from '../../i18n';
21
21
  import { jsx as ___EmotionJSX } from "@emotion/react";
22
- var _ref = process.env.NODE_ENV === "production" ? {
23
- name: "1vci2nd-EuiDataGridToolbarControl",
24
- styles: "cursor:inherit;label:EuiDataGridToolbarControl;"
25
- } : {
26
- name: "1vci2nd-EuiDataGridToolbarControl",
27
- styles: "cursor:inherit;label:EuiDataGridToolbarControl;",
28
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
29
- };
30
- var _ref2 = process.env.NODE_ENV === "production" ? {
31
- name: "8fsqop-EuiDataGridToolbarControl",
32
- styles: "&:focus,&:hover:not(:disabled){text-decoration:none;.euiDataGridToolbarControl__text{text-decoration:underline;}};label:EuiDataGridToolbarControl;"
33
- } : {
34
- name: "8fsqop-EuiDataGridToolbarControl",
35
- styles: "&:focus,&:hover:not(:disabled){text-decoration:none;.euiDataGridToolbarControl__text{text-decoration:underline;}};label:EuiDataGridToolbarControl;",
36
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
37
- };
38
- export var EuiDataGridToolbarControl = function EuiDataGridToolbarControl(_ref3) {
39
- var children = _ref3.children,
40
- className = _ref3.className,
41
- badgeContent = _ref3.badgeContent,
42
- textProps = _ref3.textProps,
43
- rest = _objectWithoutProperties(_ref3, _excluded);
22
+ export var EuiDataGridToolbarControl = function EuiDataGridToolbarControl(_ref) {
23
+ var children = _ref.children,
24
+ className = _ref.className,
25
+ badgeContent = _ref.badgeContent,
26
+ textProps = _ref.textProps,
27
+ rest = _objectWithoutProperties(_ref, _excluded);
44
28
  var classes = classNames('euiDataGridToolbarControl', className);
45
29
  var badgeAriaLabel = useEuiI18n('euiDataGridToolbarControl.badgeAriaLabel', 'Active: {count}', {
46
30
  count: typeof badgeContent === 'string' ? betterScreenReaderSlashes(badgeContent) : badgeContent
@@ -49,15 +33,13 @@ export var EuiDataGridToolbarControl = function EuiDataGridToolbarControl(_ref3)
49
33
  className: classes,
50
34
  size: "xs",
51
35
  color: "text",
52
- textProps: false
53
- // Underline actual text, but not the badge
54
- ,
55
- css: _ref2
36
+ textProps: false,
37
+ css: underlineStyles
56
38
  }, rest), ___EmotionJSX("span", _extends({}, textProps, {
57
39
  className: classNames('euiDataGridToolbarControl__text', 'eui-textTruncate', textProps && textProps.className)
58
40
  }), children), Boolean(badgeContent) && ___EmotionJSX(EuiNotificationBadge, {
59
41
  className: "euiDataGridToolbarControl__badge",
60
- css: _ref,
42
+ css: badgeStyles,
61
43
  color: "subdued",
62
44
  "aria-label": "- ".concat(badgeAriaLabel) // Punctuation helps add pauses for screen readers
63
45
  ,
@@ -151,4 +133,22 @@ EuiDataGridToolbarControl.propTypes = {
151
133
  };
152
134
  var betterScreenReaderSlashes = function betterScreenReaderSlashes(badgeContent) {
153
135
  return badgeContent.replaceAll('/', ' out of ');
136
+ };
137
+
138
+ // Underline actual text, but not the badge
139
+ var underlineStyles = process.env.NODE_ENV === "production" ? {
140
+ name: "128tp1b-underlineStyles",
141
+ styles: "&:focus,&:hover:not(:disabled){text-decoration:none;.euiDataGridToolbarControl__text{text-decoration:underline;}};label:underlineStyles;"
142
+ } : {
143
+ name: "128tp1b-underlineStyles",
144
+ styles: "&:focus,&:hover:not(:disabled){text-decoration:none;.euiDataGridToolbarControl__text{text-decoration:underline;}};label:underlineStyles;",
145
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
146
+ };
147
+ var badgeStyles = process.env.NODE_ENV === "production" ? {
148
+ name: "1968nw3-badgeStyles",
149
+ styles: "cursor:inherit;label:badgeStyles;"
150
+ } : {
151
+ name: "1968nw3-badgeStyles",
152
+ styles: "cursor:inherit;label:badgeStyles;",
153
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
154
154
  };
@@ -23,11 +23,13 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
23
23
  */
24
24
 
25
25
  import React, { useState, useMemo, useCallback, useEffect } from 'react';
26
- import { useUpdateEffect } from '../../../services';
26
+ import { logicalStyle, mathWithUnits } from '../../../global_styling';
27
+ import { useUpdateEffect, useEuiTheme } from '../../../services';
27
28
  import { EuiI18n, useEuiI18n } from '../../i18n';
28
29
  import { EuiPopover, EuiPopoverFooter } from '../../popover';
29
30
  import { EuiButtonIcon, EuiButtonGroup, EuiButtonEmpty } from '../../button';
30
31
  import { EuiFormRow, EuiRange } from '../../form';
32
+ import { euiFormMaxWidth } from '../../form/form.styles';
31
33
  import { EuiFlexGroup, EuiFlexItem } from '../../flex';
32
34
  import { EuiToolTip } from '../../tool_tip';
33
35
  import { getNestedObjectOptions } from './data_grid_toolbar';
@@ -202,7 +204,13 @@ export var useDataGridDisplaySelector = function useDataGridDisplaySelector(show
202
204
  }, []);
203
205
  var buttonLabel = useEuiI18n('euiDisplaySelector.buttonText', 'Display options');
204
206
  var resetButtonLabel = useEuiI18n('euiDisplaySelector.resetButtonText', 'Reset to default');
207
+ var euiTheme = useEuiTheme();
205
208
  var displaySelector = useMemo(function () {
209
+ var paddingSize = 's';
210
+ var formMaxWidth = euiFormMaxWidth(euiTheme);
211
+ var popoverWidth = mathWithUnits([formMaxWidth, euiTheme.euiTheme.size[paddingSize]], function (x, y) {
212
+ return x + y * 2;
213
+ });
206
214
  return showDensityControls || showRowHeightControls || additionalDisplaySettings ? ___EmotionJSX(EuiPopover, {
207
215
  "data-test-subj": "dataGridDisplaySelectorPopover",
208
216
  isOpen: isOpen,
@@ -210,7 +218,10 @@ export var useDataGridDisplaySelector = function useDataGridDisplaySelector(show
210
218
  return setIsOpen(false);
211
219
  },
212
220
  anchorPosition: "downRight",
213
- panelPaddingSize: "s",
221
+ panelPaddingSize: paddingSize,
222
+ panelProps: {
223
+ css: logicalStyle('width', popoverWidth)
224
+ },
214
225
  panelClassName: "euiDataGrid__displayPopoverPanel",
215
226
  button: ___EmotionJSX(EuiToolTip, {
216
227
  content: buttonLabel,
@@ -311,6 +322,6 @@ export var useDataGridDisplaySelector = function useDataGridDisplaySelector(show
311
322
  onClick: resetToInitialState,
312
323
  "data-test-subj": "resetDisplaySelector"
313
324
  }, resetButtonLabel)))))) : null;
314
- }, [additionalDisplaySettings, buttonLabel, isOpen, resetButtonLabel, showDensityControls, showResetButton, showRowHeightControls, gridDensity, rowHeightSelection, lineCountInput, setGridStyles, setRowHeight, setLineCountHeight, resetToInitialState]);
325
+ }, [euiTheme, additionalDisplaySettings, buttonLabel, isOpen, resetButtonLabel, showDensityControls, showResetButton, showRowHeightControls, gridDensity, rowHeightSelection, lineCountInput, setGridStyles, setRowHeight, setLineCountHeight, resetToInitialState]);
315
326
  return [displaySelector, gridStyles, rowHeightsOptions];
316
327
  };
@@ -13,10 +13,11 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
13
13
  */
14
14
 
15
15
  import React, { useState, useEffect, useMemo, useCallback } from 'react';
16
- import { keys } from '../../../services';
16
+ import { keys, useEuiMemoizedStyles } from '../../../services';
17
17
  import { EuiToolTip } from '../../tool_tip';
18
18
  import { EuiButtonIcon } from '../../button';
19
19
  import { useEuiI18n } from '../../i18n';
20
+ import { euiDataGridFullScreenStyles } from './fullscreen_selector.styles';
20
21
  import { jsx as ___EmotionJSX } from "@emotion/react";
21
22
  var GRID_IS_FULLSCREEN_CLASSNAME = 'euiDataGrid__restrictBody';
22
23
  export var useDataGridFullScreenSelector = function useDataGridFullScreenSelector() {
@@ -54,19 +55,21 @@ export var useDataGridFullScreenSelector = function useDataGridFullScreenSelecto
54
55
  break;
55
56
  }
56
57
  }, [isFullScreen]);
58
+ var styles = useEuiMemoizedStyles(euiDataGridFullScreenStyles);
57
59
  useEffect(function () {
58
60
  // When the data grid is fullscreen, we add a class to the body to remove the extra scrollbar and stay above any fixed headers
59
61
  if (isFullScreen) {
60
- document.body.classList.add(GRID_IS_FULLSCREEN_CLASSNAME);
62
+ document.body.classList.add(GRID_IS_FULLSCREEN_CLASSNAME, styles.euiDataGrid__restrictBody);
61
63
  return function () {
62
- document.body.classList.remove(GRID_IS_FULLSCREEN_CLASSNAME);
64
+ document.body.classList.remove(GRID_IS_FULLSCREEN_CLASSNAME, styles.euiDataGrid__restrictBody);
63
65
  };
64
66
  }
65
- }, [isFullScreen]);
67
+ }, [isFullScreen, styles.euiDataGrid__restrictBody]);
66
68
  return {
67
69
  isFullScreen: isFullScreen,
68
70
  setIsFullScreen: setIsFullScreen,
69
71
  fullScreenSelector: fullScreenSelector,
70
- handleGridKeyDown: handleGridKeyDown
72
+ handleGridKeyDown: handleGridKeyDown,
73
+ fullScreenStyles: styles['euiDataGrid--fullScreen']
71
74
  };
72
75
  };
@@ -0,0 +1,20 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { css } from '@emotion/css';
10
+ import { logicalCSS } from '../../../global_styling';
11
+ export var euiDataGridFullScreenStyles = function euiDataGridFullScreenStyles(euiThemeContext) {
12
+ var euiTheme = euiThemeContext.euiTheme;
13
+ var fullScreenZIndex = Number(euiTheme.levels.header) - 1;
14
+ return {
15
+ 'euiDataGrid--fullScreen': /*#__PURE__*/css("z-index:", fullScreenZIndex, ";position:fixed;inset:0;background-color:", euiTheme.colors.emptyShade, ";;label:euiDataGrid--fullScreen;"),
16
+ // This is a vanilla className applied to the <body> when fullscreen is enabled.
17
+ // It removes extra scrollbars + tweaks components to account for fixed headers
18
+ euiDataGrid__restrictBody: /*#__PURE__*/css(logicalCSS('height', '100vh'), " overflow:hidden;.euiHeader[data-fixed-header]{z-index:", fullScreenZIndex - 1, "!important;}.euiOverlayMask[data-relative-to-header='below']{", logicalCSS('top', '0'), ";}.euiFlyout{", logicalCSS('top', '0'), " ", logicalCSS('height', '100%'), ";};label:euiDataGrid__restrictBody;")
19
+ };
20
+ };
@@ -13,13 +13,14 @@ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
13
13
  */
14
14
 
15
15
  import React, { useState, useMemo } from 'react';
16
- import { useGeneratedHtmlId } from '../../../services';
16
+ import { useGeneratedHtmlId, useEuiMemoizedStyles } from '../../../services';
17
17
  import { EuiButtonIcon } from '../../button';
18
18
  import { EuiToolTip } from '../../tool_tip';
19
19
  import { EuiPopover, EuiPopoverTitle } from '../../popover';
20
20
  import { EuiDescriptionList } from '../../description_list';
21
21
  import { EuiText } from '../../text';
22
22
  import { useEuiI18n, EuiI18n } from '../../i18n';
23
+ import { euiDataGridKeyboardShortcutsStyles } from './keyboard_shortcuts.styles';
23
24
  import { jsx as ___EmotionJSX } from "@emotion/react";
24
25
  export var useDataGridKeyboardShortcuts = function useDataGridKeyboardShortcuts() {
25
26
  var _useState = useState(false),
@@ -28,6 +29,7 @@ export var useDataGridKeyboardShortcuts = function useDataGridKeyboardShortcuts(
28
29
  setIsOpen = _useState2[1];
29
30
  var title = useEuiI18n('euiKeyboardShortcuts.title', 'Keyboard shortcuts');
30
31
  var titleId = useGeneratedHtmlId();
32
+ var styles = useEuiMemoizedStyles(euiDataGridKeyboardShortcutsStyles);
31
33
  var keyboardShortcuts = useMemo(function () {
32
34
  return ___EmotionJSX(EuiPopover, {
33
35
  "data-test-subj": "dataGridKeyboardShortcutsPopover",
@@ -36,6 +38,7 @@ export var useDataGridKeyboardShortcuts = function useDataGridKeyboardShortcuts(
36
38
  return setIsOpen(false);
37
39
  },
38
40
  anchorPosition: "downRight",
41
+ panelPaddingSize: "none",
39
42
  button: ___EmotionJSX(EuiToolTip, {
40
43
  content: title,
41
44
  delay: "long"
@@ -54,12 +57,13 @@ export var useDataGridKeyboardShortcuts = function useDataGridKeyboardShortcuts(
54
57
  }, ___EmotionJSX("h2", {
55
58
  id: titleId
56
59
  }, title)), ___EmotionJSX(EuiText, {
60
+ css: styles.euiDataGrid__keyboardShortcuts,
57
61
  className: "euiDataGrid__keyboardShortcuts",
58
62
  size: "xs"
59
63
  }, ___EmotionJSX(EuiDescriptionList, {
60
64
  "aria-labelledby": titleId,
61
65
  type: "column",
62
- columnWidths: [1, 3],
66
+ columnWidths: ['auto', 'auto'],
63
67
  align: "center",
64
68
  compressed: true,
65
69
  listItems: [{
@@ -178,7 +182,7 @@ export var useDataGridKeyboardShortcuts = function useDataGridKeyboardShortcuts(
178
182
  })
179
183
  }]
180
184
  })));
181
- }, [isOpen, title, titleId]);
185
+ }, [isOpen, title, titleId, styles]);
182
186
  return {
183
187
  keyboardShortcuts: keyboardShortcuts
184
188
  };
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
+ * or more contributor license agreements. Licensed under the Elastic License
4
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
5
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
6
+ * Side Public License, v 1.
7
+ */
8
+
9
+ import { css } from '@emotion/react';
10
+ import { euiYScroll, logicalCSS, mathWithUnits } from '../../../global_styling';
11
+ export var euiDataGridKeyboardShortcutsStyles = function euiDataGridKeyboardShortcutsStyles(euiThemeContext) {
12
+ var euiTheme = euiThemeContext.euiTheme;
13
+ return {
14
+ euiDataGrid__keyboardShortcuts: /*#__PURE__*/css(logicalCSS('max-height', '80vh'), " ", logicalCSS('max-width', mathWithUnits(euiTheme.size.xxl, function (x) {
15
+ return x * 10;
16
+ })), " padding:", euiTheme.size.m, ";", euiYScroll(euiThemeContext), " .euiDescriptionList{row-gap:0;};label:euiDataGrid__keyboardShortcuts;")
17
+ };
18
+ };
@@ -223,6 +223,7 @@ describe('EuiDataGrid', function () {
223
223
  });
224
224
  it('has zero violations on sort and when the columns sorting menu is open', function () {
225
225
  cy.get('.euiDataGridHeaderCell').last().realHover();
226
+ cy.wait(200); // Wait for transition
226
227
  cy.get('button.euiDataGridHeaderCell__button').last().realClick();
227
228
  cy.get('button.euiListGroupItem__button').contains('Sort Alma to Debian').should('exist').realClick();
228
229
  cy.get('div[data-test-subj="dataGridColumnSortingPopover"] button').realClick();