@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
@@ -12,6 +12,7 @@ var _excluded = ["id", "display", "direction", "index", "sorting", "schema", "sc
12
12
 
13
13
  import React, { useCallback } from 'react';
14
14
  import classNames from 'classnames';
15
+ import { useEuiMemoizedStyles } from '../../../services';
15
16
  import { EuiScreenReaderOnly } from '../../accessibility';
16
17
  import { EuiButtonGroup, EuiButtonIcon } from '../../button';
17
18
  import { EuiDraggable } from '../../drag_and_drop';
@@ -21,6 +22,7 @@ import { EuiIcon } from '../../icon';
21
22
  import { EuiText } from '../../text';
22
23
  import { EuiToken } from '../../token';
23
24
  import { getDetailsForSchema } from '../utils/data_grid_schema';
25
+ import { euiDataGridColumnSortingStyles } from './column_sorting.styles';
24
26
  import { jsx as ___EmotionJSX } from "@emotion/react";
25
27
  export var defaultSortAscLabel = ___EmotionJSX(EuiI18n, {
26
28
  token: "euiColumnSortingDraggable.defaultSortAsc",
@@ -75,16 +77,22 @@ export var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSorting
75
77
  });
76
78
  sorting.onSort(nextColumns);
77
79
  }, [id, sorting]);
80
+ var styles = useEuiMemoizedStyles(euiDataGridColumnSortingStyles);
78
81
  return ___EmotionJSX(EuiDraggable, _extends({
79
82
  draggableId: id,
80
83
  index: index,
81
84
  hasInteractiveChildren: true,
82
85
  customDragHandle: true
83
86
  }, rest), function (provided, state) {
84
- return ___EmotionJSX("div", {
87
+ return ___EmotionJSX(EuiFlexGroup, {
88
+ css: styles.euiDataGridColumnSorting__item,
85
89
  className: classNames('euiDataGridColumnSorting__item', {
86
90
  'euiDataGridColumnSorting__item-isDragging': state.isDragging
87
- })
91
+ }),
92
+ gutterSize: "xs",
93
+ alignItems: "center",
94
+ responsive: false,
95
+ "data-test-subj": "euiDataGridColumnSorting-sortColumn-".concat(id)
88
96
  }, ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", null, ___EmotionJSX(EuiI18n, {
89
97
  token: "euiColumnSortingDraggable.activeSortLabel",
90
98
  default: "{display} is sorting this data grid",
@@ -93,12 +101,7 @@ export var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSorting
93
101
  }
94
102
  }, function (activeSortLabel) {
95
103
  return activeSortLabel;
96
- }))), ___EmotionJSX(EuiFlexGroup, {
97
- gutterSize: "xs",
98
- alignItems: "center",
99
- responsive: false,
100
- "data-test-subj": "euiDataGridColumnSorting-sortColumn-".concat(id)
101
- }, ___EmotionJSX(EuiFlexItem, {
104
+ }))), ___EmotionJSX(EuiFlexItem, {
102
105
  grow: false
103
106
  }, ___EmotionJSX(EuiI18n, {
104
107
  token: "euiColumnSortingDraggable.removeSortLabel",
@@ -114,10 +117,12 @@ export var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSorting
114
117
  iconType: "cross",
115
118
  onClick: removeSort
116
119
  });
117
- })), ___EmotionJSX(EuiFlexItem, _extends({
120
+ })), ___EmotionJSX(EuiFlexItem
121
+ // This extra column name flex item affords the column more grabbable real estate
122
+ // for mouse users, while hiding repetition for keyboard/screen reader users
123
+ , _extends({
124
+ css: styles.euiDataGridColumnSorting__name,
118
125
  className: "euiDataGridColumnSorting__name"
119
- // This extra column name flex item affords the column more grabbable real estate
120
- // for mouse users, while hiding repetition for keyboard/screen reader users
121
126
  }, provided.dragHandleProps, {
122
127
  tabIndex: -1,
123
128
  "aria-hidden": true
@@ -132,7 +137,7 @@ export var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSorting
132
137
  iconType: schemaDetails != null ? schemaDetails.icon : 'tokenString'
133
138
  })), ___EmotionJSX(EuiFlexItem, null, ___EmotionJSX(EuiText, {
134
139
  size: "xs"
135
- }, ___EmotionJSX("p", null, display))))), ___EmotionJSX(EuiFlexItem, null, ___EmotionJSX(EuiI18n, {
140
+ }, display)))), ___EmotionJSX(EuiFlexItem, null, ___EmotionJSX(EuiI18n, {
136
141
  token: "euiColumnSortingDraggable.toggleLegend",
137
142
  default: "Select sorting method for {display}",
138
143
  values: {
@@ -141,10 +146,10 @@ export var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSorting
141
146
  }, function (toggleLegend) {
142
147
  return ___EmotionJSX(EuiButtonGroup, {
143
148
  legend: toggleLegend,
144
- name: id,
145
149
  isFullWidth: true,
146
150
  options: toggleOptions,
147
151
  buttonSize: "compressed",
152
+ css: styles.euiDataGridColumnSorting__order,
148
153
  className: "euiDataGridColumnSorting__order",
149
154
  idSelected: direction === 'asc' ? "".concat(id, "Asc") : "".concat(id, "Desc"),
150
155
  onChange: toggleLegendHandler
@@ -156,6 +161,6 @@ export var EuiDataGridColumnSortingDraggable = function EuiDataGridColumnSorting
156
161
  }), ___EmotionJSX(EuiIcon, {
157
162
  type: "grab",
158
163
  color: "subdued"
159
- }))));
164
+ })));
160
165
  });
161
166
  };
@@ -8,8 +8,10 @@ import _typeof from "@babel/runtime/helpers/typeof";
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
+ };
@@ -17,28 +17,12 @@ import { EuiButtonEmpty } from '../../button';
17
17
  import { EuiNotificationBadge } from '../../badge';
18
18
  import { useEuiI18n } from '../../i18n';
19
19
  import { jsx as ___EmotionJSX } from "@emotion/react";
20
- var _ref = process.env.NODE_ENV === "production" ? {
21
- name: "1vci2nd-EuiDataGridToolbarControl",
22
- styles: "cursor:inherit;label:EuiDataGridToolbarControl;"
23
- } : {
24
- name: "1vci2nd-EuiDataGridToolbarControl",
25
- styles: "cursor:inherit;label:EuiDataGridToolbarControl;",
26
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
27
- };
28
- var _ref2 = process.env.NODE_ENV === "production" ? {
29
- name: "8fsqop-EuiDataGridToolbarControl",
30
- styles: "&:focus,&:hover:not(:disabled){text-decoration:none;.euiDataGridToolbarControl__text{text-decoration:underline;}};label:EuiDataGridToolbarControl;"
31
- } : {
32
- name: "8fsqop-EuiDataGridToolbarControl",
33
- styles: "&:focus,&:hover:not(:disabled){text-decoration:none;.euiDataGridToolbarControl__text{text-decoration:underline;}};label:EuiDataGridToolbarControl;",
34
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
35
- };
36
- export var EuiDataGridToolbarControl = function EuiDataGridToolbarControl(_ref3) {
37
- var children = _ref3.children,
38
- className = _ref3.className,
39
- badgeContent = _ref3.badgeContent,
40
- textProps = _ref3.textProps,
41
- rest = _objectWithoutProperties(_ref3, _excluded);
20
+ export var EuiDataGridToolbarControl = function EuiDataGridToolbarControl(_ref) {
21
+ var children = _ref.children,
22
+ className = _ref.className,
23
+ badgeContent = _ref.badgeContent,
24
+ textProps = _ref.textProps,
25
+ rest = _objectWithoutProperties(_ref, _excluded);
42
26
  var classes = classNames('euiDataGridToolbarControl', className);
43
27
  var badgeAriaLabel = useEuiI18n('euiDataGridToolbarControl.badgeAriaLabel', 'Active: {count}', {
44
28
  count: typeof badgeContent === 'string' ? betterScreenReaderSlashes(badgeContent) : badgeContent
@@ -47,15 +31,13 @@ export var EuiDataGridToolbarControl = function EuiDataGridToolbarControl(_ref3)
47
31
  className: classes,
48
32
  size: "xs",
49
33
  color: "text",
50
- textProps: false
51
- // Underline actual text, but not the badge
52
- ,
53
- css: _ref2
34
+ textProps: false,
35
+ css: underlineStyles
54
36
  }, rest), ___EmotionJSX("span", _extends({}, textProps, {
55
37
  className: classNames('euiDataGridToolbarControl__text', 'eui-textTruncate', textProps && textProps.className)
56
38
  }), children), Boolean(badgeContent) && ___EmotionJSX(EuiNotificationBadge, {
57
39
  className: "euiDataGridToolbarControl__badge",
58
- css: _ref,
40
+ css: badgeStyles,
59
41
  color: "subdued",
60
42
  "aria-label": "- ".concat(badgeAriaLabel) // Punctuation helps add pauses for screen readers
61
43
  ,
@@ -67,4 +49,22 @@ export var EuiDataGridToolbarControl = function EuiDataGridToolbarControl(_ref3)
67
49
  // are being hidden. We can make this a bit more legible to SRs with this quick util
68
50
  var betterScreenReaderSlashes = function betterScreenReaderSlashes(badgeContent) {
69
51
  return badgeContent.replaceAll('/', ' out of ');
52
+ };
53
+
54
+ // Underline actual text, but not the badge
55
+ var underlineStyles = process.env.NODE_ENV === "production" ? {
56
+ name: "128tp1b-underlineStyles",
57
+ styles: "&:focus,&:hover:not(:disabled){text-decoration:none;.euiDataGridToolbarControl__text{text-decoration:underline;}};label:underlineStyles;"
58
+ } : {
59
+ name: "128tp1b-underlineStyles",
60
+ styles: "&:focus,&:hover:not(:disabled){text-decoration:none;.euiDataGridToolbarControl__text{text-decoration:underline;}};label:underlineStyles;",
61
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
62
+ };
63
+ var badgeStyles = process.env.NODE_ENV === "production" ? {
64
+ name: "1968nw3-badgeStyles",
65
+ styles: "cursor:inherit;label:badgeStyles;"
66
+ } : {
67
+ name: "1968nw3-badgeStyles",
68
+ styles: "cursor:inherit;label:badgeStyles;",
69
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
70
70
  };
@@ -15,11 +15,13 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
15
15
  */
16
16
 
17
17
  import React, { useState, useMemo, useCallback, useEffect } from 'react';
18
- import { useUpdateEffect } from '../../../services';
18
+ import { logicalStyle, mathWithUnits } from '../../../global_styling';
19
+ import { useUpdateEffect, useEuiTheme } from '../../../services';
19
20
  import { EuiI18n, useEuiI18n } from '../../i18n';
20
21
  import { EuiPopover, EuiPopoverFooter } from '../../popover';
21
22
  import { EuiButtonIcon, EuiButtonGroup, EuiButtonEmpty } from '../../button';
22
23
  import { EuiFormRow, EuiRange } from '../../form';
24
+ import { euiFormMaxWidth } from '../../form/form.styles';
23
25
  import { EuiFlexGroup, EuiFlexItem } from '../../flex';
24
26
  import { EuiToolTip } from '../../tool_tip';
25
27
  import { getNestedObjectOptions } from './data_grid_toolbar';
@@ -194,7 +196,13 @@ export var useDataGridDisplaySelector = function useDataGridDisplaySelector(show
194
196
  }, []);
195
197
  var buttonLabel = useEuiI18n('euiDisplaySelector.buttonText', 'Display options');
196
198
  var resetButtonLabel = useEuiI18n('euiDisplaySelector.resetButtonText', 'Reset to default');
199
+ var euiTheme = useEuiTheme();
197
200
  var displaySelector = useMemo(function () {
201
+ var paddingSize = 's';
202
+ var formMaxWidth = euiFormMaxWidth(euiTheme);
203
+ var popoverWidth = mathWithUnits([formMaxWidth, euiTheme.euiTheme.size[paddingSize]], function (x, y) {
204
+ return x + y * 2;
205
+ });
198
206
  return showDensityControls || showRowHeightControls || additionalDisplaySettings ? ___EmotionJSX(EuiPopover, {
199
207
  "data-test-subj": "dataGridDisplaySelectorPopover",
200
208
  isOpen: isOpen,
@@ -202,7 +210,10 @@ export var useDataGridDisplaySelector = function useDataGridDisplaySelector(show
202
210
  return setIsOpen(false);
203
211
  },
204
212
  anchorPosition: "downRight",
205
- panelPaddingSize: "s",
213
+ panelPaddingSize: paddingSize,
214
+ panelProps: {
215
+ css: logicalStyle('width', popoverWidth)
216
+ },
206
217
  panelClassName: "euiDataGrid__displayPopoverPanel",
207
218
  button: ___EmotionJSX(EuiToolTip, {
208
219
  content: buttonLabel,
@@ -303,6 +314,6 @@ export var useDataGridDisplaySelector = function useDataGridDisplaySelector(show
303
314
  onClick: resetToInitialState,
304
315
  "data-test-subj": "resetDisplaySelector"
305
316
  }, resetButtonLabel)))))) : null;
306
- }, [additionalDisplaySettings, buttonLabel, isOpen, resetButtonLabel, showDensityControls, showResetButton, showRowHeightControls, gridDensity, rowHeightSelection, lineCountInput, setGridStyles, setRowHeight, setLineCountHeight, resetToInitialState]);
317
+ }, [euiTheme, additionalDisplaySettings, buttonLabel, isOpen, resetButtonLabel, showDensityControls, showResetButton, showRowHeightControls, gridDensity, rowHeightSelection, lineCountInput, setGridStyles, setRowHeight, setLineCountHeight, resetToInitialState]);
307
318
  return [displaySelector, gridStyles, rowHeightsOptions];
308
319
  };
@@ -8,10 +8,11 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
8
8
  */
9
9
 
10
10
  import React, { useState, useEffect, useMemo, useCallback } from 'react';
11
- import { keys } from '../../../services';
11
+ import { keys, useEuiMemoizedStyles } from '../../../services';
12
12
  import { EuiToolTip } from '../../tool_tip';
13
13
  import { EuiButtonIcon } from '../../button';
14
14
  import { useEuiI18n } from '../../i18n';
15
+ import { euiDataGridFullScreenStyles } from './fullscreen_selector.styles';
15
16
  import { jsx as ___EmotionJSX } from "@emotion/react";
16
17
  var GRID_IS_FULLSCREEN_CLASSNAME = 'euiDataGrid__restrictBody';
17
18
  export var useDataGridFullScreenSelector = function useDataGridFullScreenSelector() {
@@ -49,19 +50,21 @@ export var useDataGridFullScreenSelector = function useDataGridFullScreenSelecto
49
50
  break;
50
51
  }
51
52
  }, [isFullScreen]);
53
+ var styles = useEuiMemoizedStyles(euiDataGridFullScreenStyles);
52
54
  useEffect(function () {
53
55
  // When the data grid is fullscreen, we add a class to the body to remove the extra scrollbar and stay above any fixed headers
54
56
  if (isFullScreen) {
55
- document.body.classList.add(GRID_IS_FULLSCREEN_CLASSNAME);
57
+ document.body.classList.add(GRID_IS_FULLSCREEN_CLASSNAME, styles.euiDataGrid__restrictBody);
56
58
  return function () {
57
- document.body.classList.remove(GRID_IS_FULLSCREEN_CLASSNAME);
59
+ document.body.classList.remove(GRID_IS_FULLSCREEN_CLASSNAME, styles.euiDataGrid__restrictBody);
58
60
  };
59
61
  }
60
- }, [isFullScreen]);
62
+ }, [isFullScreen, styles.euiDataGrid__restrictBody]);
61
63
  return {
62
64
  isFullScreen: isFullScreen,
63
65
  setIsFullScreen: setIsFullScreen,
64
66
  fullScreenSelector: fullScreenSelector,
65
- handleGridKeyDown: handleGridKeyDown
67
+ handleGridKeyDown: handleGridKeyDown,
68
+ fullScreenStyles: styles['euiDataGrid--fullScreen']
66
69
  };
67
70
  };
@@ -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
+ };
@@ -8,13 +8,14 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
8
8
  */
9
9
 
10
10
  import React, { useState, useMemo } from 'react';
11
- import { useGeneratedHtmlId } from '../../../services';
11
+ import { useGeneratedHtmlId, useEuiMemoizedStyles } from '../../../services';
12
12
  import { EuiButtonIcon } from '../../button';
13
13
  import { EuiToolTip } from '../../tool_tip';
14
14
  import { EuiPopover, EuiPopoverTitle } from '../../popover';
15
15
  import { EuiDescriptionList } from '../../description_list';
16
16
  import { EuiText } from '../../text';
17
17
  import { useEuiI18n, EuiI18n } from '../../i18n';
18
+ import { euiDataGridKeyboardShortcutsStyles } from './keyboard_shortcuts.styles';
18
19
  import { jsx as ___EmotionJSX } from "@emotion/react";
19
20
  export var useDataGridKeyboardShortcuts = function useDataGridKeyboardShortcuts() {
20
21
  var _useState = useState(false),
@@ -23,6 +24,7 @@ export var useDataGridKeyboardShortcuts = function useDataGridKeyboardShortcuts(
23
24
  setIsOpen = _useState2[1];
24
25
  var title = useEuiI18n('euiKeyboardShortcuts.title', 'Keyboard shortcuts');
25
26
  var titleId = useGeneratedHtmlId();
27
+ var styles = useEuiMemoizedStyles(euiDataGridKeyboardShortcutsStyles);
26
28
  var keyboardShortcuts = useMemo(function () {
27
29
  return ___EmotionJSX(EuiPopover, {
28
30
  "data-test-subj": "dataGridKeyboardShortcutsPopover",
@@ -31,6 +33,7 @@ export var useDataGridKeyboardShortcuts = function useDataGridKeyboardShortcuts(
31
33
  return setIsOpen(false);
32
34
  },
33
35
  anchorPosition: "downRight",
36
+ panelPaddingSize: "none",
34
37
  button: ___EmotionJSX(EuiToolTip, {
35
38
  content: title,
36
39
  delay: "long"
@@ -49,12 +52,13 @@ export var useDataGridKeyboardShortcuts = function useDataGridKeyboardShortcuts(
49
52
  }, ___EmotionJSX("h2", {
50
53
  id: titleId
51
54
  }, title)), ___EmotionJSX(EuiText, {
55
+ css: styles.euiDataGrid__keyboardShortcuts,
52
56
  className: "euiDataGrid__keyboardShortcuts",
53
57
  size: "xs"
54
58
  }, ___EmotionJSX(EuiDescriptionList, {
55
59
  "aria-labelledby": titleId,
56
60
  type: "column",
57
- columnWidths: [1, 3],
61
+ columnWidths: ['auto', 'auto'],
58
62
  align: "center",
59
63
  compressed: true,
60
64
  listItems: [{
@@ -173,7 +177,7 @@ export var useDataGridKeyboardShortcuts = function useDataGridKeyboardShortcuts(
173
177
  })
174
178
  }]
175
179
  })));
176
- }, [isOpen, title, titleId]);
180
+ }, [isOpen, title, titleId, styles]);
177
181
  return {
178
182
  keyboardShortcuts: keyboardShortcuts
179
183
  };
@@ -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
+ };
@@ -215,6 +215,7 @@ describe('EuiDataGrid', function () {
215
215
  });
216
216
  it('has zero violations on sort and when the columns sorting menu is open', function () {
217
217
  cy.get('.euiDataGridHeaderCell').last().realHover();
218
+ cy.wait(200); // Wait for transition
218
219
  cy.get('button.euiDataGridHeaderCell__button').last().realClick();
219
220
  cy.get('button.euiListGroupItem__button').contains('Sort Alma to Debian').should('exist').realClick();
220
221
  cy.get('div[data-test-subj="dataGridColumnSortingPopover"] button').realClick();
@@ -16,7 +16,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
16
16
 
17
17
  import classNames from 'classnames';
18
18
  import React, { forwardRef, useMemo, useRef, useState, memo, useCallback } from 'react';
19
- import { useGeneratedHtmlId } from '../../services';
19
+ import { useGeneratedHtmlId, useEuiMemoizedStyles, OverrideCopiedTabularContent } from '../../services';
20
20
  import { useEuiTablePaginationDefaults } from '../table/table_pagination';
21
21
  import { EuiFocusTrap } from '../focus_trap';
22
22
  import { EuiI18n, useEuiI18n } from '../i18n';
@@ -24,15 +24,16 @@ import { useMutationObserver } from '../observer/mutation_observer';
24
24
  import { useResizeObserver } from '../observer/resize_observer';
25
25
  import { EuiDataGridBody } from './body';
26
26
  import { useDataGridColumnSelector, useDataGridColumnSorting, useDataGridDisplaySelector, startingStyles, useDataGridFullScreenSelector, useDataGridKeyboardShortcuts, checkOrDefaultToolBarDisplayOptions, EuiDataGridToolbar } from './controls';
27
+ import { EuiDataGridPagination, shouldRenderPagination } from './pagination';
27
28
  import { DataGridSortedContext, useSorting } from './utils/sorting';
28
29
  import { DataGridFocusContext, useFocus, createKeyDownHandler, preventTabbing } from './utils/focus';
29
30
  import { useInMemoryValues, EuiDataGridInMemoryRenderer } from './utils/in_memory';
30
31
  import { DataGridCellPopoverContext, useCellPopover } from './body/cell';
31
32
  import { computeVisibleRows } from './utils/row_count';
32
- import { EuiDataGridPaginationRenderer } from './utils/data_grid_pagination';
33
33
  import { schemaDetectors as providedSchemaDetectors, useMergedSchema } from './utils/data_grid_schema';
34
34
  import { useImperativeGridRef } from './utils/ref';
35
35
  import { emptyControlColumns } from './data_grid_types';
36
+ import { euiDataGridStyles } from './data_grid.styles';
36
37
 
37
38
  // Each gridStyle object above sets a specific CSS select to .euiGrid
38
39
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -105,6 +106,7 @@ export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (pr
105
106
  pageSizeOptions: paginationDefaults.itemsPerPageOptions
106
107
  }, _pagination) : _pagination;
107
108
  }, [_pagination, paginationDefaults]);
109
+ var showPagination = pagination && shouldRenderPagination(rowCount, pagination);
108
110
  var gridStyleWithDefaults = useMemo(function () {
109
111
  return _objectSpread(_objectSpread({}, startingStyles), gridStyle);
110
112
  }, [gridStyle]);
@@ -238,7 +240,8 @@ export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (pr
238
240
  isFullScreen = _useDataGridFullScree.isFullScreen,
239
241
  setIsFullScreen = _useDataGridFullScree.setIsFullScreen,
240
242
  fullScreenSelector = _useDataGridFullScree.fullScreenSelector,
241
- handleGridKeyDown = _useDataGridFullScree.handleGridKeyDown;
243
+ handleGridKeyDown = _useDataGridFullScree.handleGridKeyDown,
244
+ fullScreenStyles = _useDataGridFullScree.fullScreenStyles;
242
245
 
243
246
  /**
244
247
  * Expose certain internal APIs as ref to consumer
@@ -262,9 +265,9 @@ export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (pr
262
265
  'euiDataGrid--stripes': gridStyles.stripes
263
266
  }, {
264
267
  'euiDataGrid--stickyFooter': gridStyles.footer && gridStyles.stickyFooter
265
- }, {
268
+ }, _defineProperty({
266
269
  'euiDataGrid--fullScreen': isFullScreen
267
- }, {
270
+ }, fullScreenStyles, isFullScreen), {
268
271
  'euiDataGrid--noControls': !toolbarVisibility
269
272
  }, className);
270
273
 
@@ -309,6 +312,8 @@ export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (pr
309
312
  focusContext: focusContext
310
313
  })(event);
311
314
  }, [focusContext, visibleColCount, visibleRowCount, rowCount, pagination, renderFooterCellValue]);
315
+ var styles = useEuiMemoizedStyles(euiDataGridStyles);
316
+ var cssStyles = [styles.euiDataGrid, styles.cellPadding[gridStyles.cellPadding], styles.fontSize[gridStyles.fontSize], styles.borders[gridStyles.border]];
312
317
  return ___EmotionJSX(DataGridFocusContext.Provider, {
313
318
  value: focusContext
314
319
  }, ___EmotionJSX(DataGridCellPopoverContext.Provider, {
@@ -317,8 +322,10 @@ export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (pr
317
322
  value: sortedContext
318
323
  }, ___EmotionJSX(EuiFocusTrap, {
319
324
  disabled: !isFullScreen,
320
- className: "euiDataGrid__focusWrap"
325
+ className: "euiDataGrid__focusWrap",
326
+ css: styles.euiDataGrid__focusWrap
321
327
  }, ___EmotionJSX("div", _extends({
328
+ css: cssStyles,
322
329
  className: classes,
323
330
  onKeyDown: handleGridKeyDown,
324
331
  style: isFullScreen ? undefined : {
@@ -352,11 +359,12 @@ export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (pr
352
359
  ref: contentRef,
353
360
  onKeyDown: onKeyDown,
354
361
  "data-test-subj": "euiDataGridBody",
362
+ css: styles.euiDataGrid__content,
355
363
  className: "euiDataGrid__content",
356
364
  role: "grid",
357
365
  "aria-rowcount": rowCount,
358
366
  id: gridId
359
- }, wrappingDivFocusProps, gridAriaProps), ___EmotionJSX(EuiDataGridBody, {
367
+ }, wrappingDivFocusProps, gridAriaProps), ___EmotionJSX(OverrideCopiedTabularContent, null, ___EmotionJSX(EuiDataGridBody, {
360
368
  columns: orderedVisibleColumns,
361
369
  visibleColCount: visibleColCount,
362
370
  leadingControlColumns: leadingControlColumns,
@@ -384,10 +392,10 @@ export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (pr
384
392
  gridItemsRendered: gridItemsRendered,
385
393
  wrapperRef: contentRef,
386
394
  renderCustomGridBody: renderCustomGridBody
387
- })), pagination && props['aria-labelledby'] && ___EmotionJSX("p", {
395
+ }))), showPagination && props['aria-labelledby'] && ___EmotionJSX("p", {
388
396
  id: ariaLabelledById,
389
397
  hidden: true
390
- }, ariaLabelledBy), pagination && ___EmotionJSX(EuiDataGridPaginationRenderer, _extends({}, pagination, {
398
+ }, ariaLabelledBy), showPagination && ___EmotionJSX(EuiDataGridPagination, _extends({}, pagination, {
391
399
  rowCount: rowCount,
392
400
  controls: gridId,
393
401
  "aria-label": props['aria-label']