@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
@@ -1,9 +1,6 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import _extends from "@babel/runtime/helpers/extends";
4
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
- var _excluded = ["children", "title", "arrow"];
6
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
7
4
  /*
8
5
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
9
6
  * or more contributor license agreements. Licensed under the Elastic License
@@ -15,48 +12,31 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
15
12
  import classnames from 'classnames';
16
13
  import React, { useContext, useState, useRef, useCallback, useMemo, memo } from 'react';
17
14
  import { tabbable } from 'tabbable';
18
- import { keys, useEuiMemoizedStyles } from '../../../../services';
19
- import { useGeneratedHtmlId } from '../../../../services/accessibility';
15
+ import { keys, useGeneratedHtmlId, useEuiMemoizedStyles } from '../../../../services';
20
16
  import { EuiI18n, useEuiI18n } from '../../../i18n';
21
17
  import { EuiIcon } from '../../../icon';
22
18
  import { EuiListGroup } from '../../../list_group';
23
19
  import { EuiPopover } from '../../../popover';
24
- import { _emptyHoverStyles } from '../../../button/button_icon/button_icon.styles';
20
+ import { EuiButtonIcon } from '../../../button';
25
21
  import { DataGridFocusContext } from '../../utils/focus';
26
22
  import { getColumnActions } from './column_actions';
27
23
  import { EuiDataGridColumnResizer } from './data_grid_column_resizer';
28
24
  import { EuiDataGridHeaderCellWrapper } from './data_grid_header_cell_wrapper';
25
+ import { euiDataGridHeaderCellStyles } from './data_grid_header_cell.styles';
29
26
  import { jsx as ___EmotionJSX } from "@emotion/react";
30
- var CellContent = function CellContent(_ref) {
31
- var children = _ref.children,
32
- title = _ref.title,
33
- arrow = _ref.arrow,
34
- rest = _objectWithoutProperties(_ref, _excluded);
35
- return ___EmotionJSX(React.Fragment, null, ___EmotionJSX("div", _extends({}, rest, {
36
- title: title,
37
- className: "euiDataGridHeaderCell__content"
38
- }), children), arrow);
39
- };
40
- var _ref3 = process.env.NODE_ENV === "production" ? {
41
- name: "mc0thx-EuiDataGridHeaderCell",
42
- styles: "margin-inline-start:auto;label:EuiDataGridHeaderCell;"
43
- } : {
44
- name: "mc0thx-EuiDataGridHeaderCell",
45
- styles: "margin-inline-start:auto;label:EuiDataGridHeaderCell;",
46
- toString: _EMOTION_STRINGIFIED_CSS_ERROR__
47
- };
48
- export var EuiDataGridHeaderCell = /*#__PURE__*/memo(function (_ref2) {
49
- var index = _ref2.index,
50
- column = _ref2.column,
51
- columns = _ref2.columns,
52
- columnWidths = _ref2.columnWidths,
53
- defaultColumnWidth = _ref2.defaultColumnWidth,
54
- setColumnWidth = _ref2.setColumnWidth,
55
- setVisibleColumns = _ref2.setVisibleColumns,
56
- switchColumnPos = _ref2.switchColumnPos,
57
- sorting = _ref2.sorting,
58
- schema = _ref2.schema,
59
- schemaDetectors = _ref2.schemaDetectors;
27
+ export var EuiDataGridHeaderCell = /*#__PURE__*/memo(function (_ref) {
28
+ var index = _ref.index,
29
+ column = _ref.column,
30
+ columns = _ref.columns,
31
+ columnWidths = _ref.columnWidths,
32
+ defaultColumnWidth = _ref.defaultColumnWidth,
33
+ setColumnWidth = _ref.setColumnWidth,
34
+ visibleColCount = _ref.visibleColCount,
35
+ setVisibleColumns = _ref.setVisibleColumns,
36
+ switchColumnPos = _ref.switchColumnPos,
37
+ sorting = _ref.sorting,
38
+ schema = _ref.schema,
39
+ schemaDetectors = _ref.schemaDetectors;
60
40
  var id = column.id,
61
41
  display = column.display,
62
42
  displayAsText = column.displayAsText,
@@ -135,11 +115,13 @@ export var EuiDataGridHeaderCell = /*#__PURE__*/memo(function (_ref2) {
135
115
  * Rendering
136
116
  */
137
117
  var classes = classnames(_defineProperty(_defineProperty(_defineProperty({}, "euiDataGridHeaderCell--".concat(columnType), columnType), 'euiDataGridHeaderCell--hasColumnActions', showColumnActions), 'euiDataGridHeaderCell--isActionsPopoverOpen', isPopoverOpen), displayHeaderCellProps === null || displayHeaderCellProps === void 0 ? void 0 : displayHeaderCellProps.className);
138
- var emptyHoverStyles = useEuiMemoizedStyles(_emptyHoverStyles);
118
+ var styles = useEuiMemoizedStyles(euiDataGridHeaderCellStyles);
119
+ var contentStyles = [styles.euiDataGridHeaderCell__content, (columnType === 'numeric' || columnType === 'currency') && styles.right];
139
120
  return ___EmotionJSX(EuiDataGridHeaderCellWrapper, _extends({}, displayHeaderCellProps, {
140
121
  className: classes,
141
122
  id: id,
142
123
  index: index,
124
+ visibleColCount: visibleColCount,
143
125
  width: width,
144
126
  "aria-sort": ariaSort,
145
127
  hasActionsPopover: showColumnActions,
@@ -152,10 +134,11 @@ export var EuiDataGridHeaderCell = /*#__PURE__*/memo(function (_ref2) {
152
134
  columnId: id,
153
135
  columnWidth: width,
154
136
  setColumnWidth: setColumnWidth
155
- }) : null, ___EmotionJSX(CellContent, {
156
- title: title,
157
- arrow: sortingArrow
158
- }, children), sortingScreenReaderText && ___EmotionJSX("p", {
137
+ }) : null, ___EmotionJSX("div", {
138
+ css: contentStyles,
139
+ className: "euiDataGridHeaderCell__content",
140
+ title: title
141
+ }, children), sortingArrow, sortingScreenReaderText && ___EmotionJSX("p", {
159
142
  id: sortingAriaId,
160
143
  hidden: true
161
144
  }, sortingScreenReaderText), showColumnActions && ___EmotionJSX(EuiPopover, _extends({
@@ -163,12 +146,14 @@ export var EuiDataGridHeaderCell = /*#__PURE__*/memo(function (_ref2) {
163
146
  panelPaddingSize: "none",
164
147
  offset: 7,
165
148
  anchorPosition: "downRight",
166
- css: _ref3 // Align to right
167
- ,
168
- button: ___EmotionJSX("button", {
169
- ref: actionsButtonRef,
149
+ css: styles.euiDataGridHeaderCell__popover,
150
+ button: ___EmotionJSX(EuiButtonIcon, {
151
+ iconType: "boxesVertical",
152
+ iconSize: "s",
153
+ color: "text",
154
+ css: styles.euiDataGridHeaderCell__button,
170
155
  className: "euiDataGridHeaderCell__button",
171
- css: emptyHoverStyles.text,
156
+ buttonRef: actionsButtonRef,
172
157
  onClick: togglePopover,
173
158
  onFocus: function onFocus() {
174
159
  return setIsActionsButtonFocused(true);
@@ -176,17 +161,13 @@ export var EuiDataGridHeaderCell = /*#__PURE__*/memo(function (_ref2) {
176
161
  onBlur: function onBlur() {
177
162
  return setIsActionsButtonFocused(false);
178
163
  },
164
+ tabIndex: 0 // Override EuiButtonIcon's conditional tabindex based on aria-hidden
165
+ ,
179
166
  "aria-hidden": hasFocusTrap && !isActionsButtonFocused ? 'true' // prevent the actions button from being read on cell focus
180
167
  : undefined,
181
168
  "aria-label": hasFocusTrap ? actionsButtonAriaLabel : actionsEnterKeyInstructions,
182
169
  "data-test-subj": "dataGridHeaderCellActionButton-".concat(id)
183
- }, ___EmotionJSX("div", {
184
- className: "euiDataGridHeaderCell__icon"
185
- }, ___EmotionJSX(EuiIcon, {
186
- type: "boxesVertical",
187
- size: "s",
188
- color: "text"
189
- }))),
170
+ }),
190
171
  isOpen: isPopoverOpen,
191
172
  closePopover: closePopover
192
173
  }, popoverArrowNavigationProps), ___EmotionJSX(EuiListGroup, {
@@ -201,11 +182,11 @@ EuiDataGridHeaderCell.displayName = 'EuiDataGridHeaderCell';
201
182
  /**
202
183
  * Column sorting utility helpers
203
184
  */
204
- export var useSortingUtils = function useSortingUtils(_ref4) {
185
+ export var useSortingUtils = function useSortingUtils(_ref2) {
205
186
  var _sorting$columns;
206
- var sorting = _ref4.sorting,
207
- id = _ref4.id,
208
- showColumnActions = _ref4.showColumnActions;
187
+ var sorting = _ref2.sorting,
188
+ id = _ref2.id,
189
+ showColumnActions = _ref2.showColumnActions;
209
190
  var sortedColumn = useMemo(function () {
210
191
  return sorting === null || sorting === void 0 ? void 0 : sorting.columns.find(function (col) {
211
192
  return col.id === id;
@@ -241,9 +222,9 @@ export var useSortingUtils = function useSortingUtils(_ref4) {
241
222
  var _sorting$columns2;
242
223
  if (!isColumnSorted) return null;
243
224
  if (!showColumnActions && hasOnlyOneSort) return null; // in this scenario, the `aria-sort` attribute will be used by screen readers
244
- return ___EmotionJSX(React.Fragment, null, sorting === null || sorting === void 0 || (_sorting$columns2 = sorting.columns) === null || _sorting$columns2 === void 0 ? void 0 : _sorting$columns2.map(function (_ref5, index) {
245
- var columnId = _ref5.id,
246
- direction = _ref5.direction;
225
+ return ___EmotionJSX(React.Fragment, null, sorting === null || sorting === void 0 || (_sorting$columns2 = sorting.columns) === null || _sorting$columns2 === void 0 ? void 0 : _sorting$columns2.map(function (_ref3, index) {
226
+ var columnId = _ref3.id,
227
+ direction = _ref3.direction;
247
228
  if (hasOnlyOneSort) {
248
229
  if (direction === 'asc') {
249
230
  return ___EmotionJSX(EuiI18n, {
@@ -0,0 +1,27 @@
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 { euiCanAnimate, euiTextTruncate, logicalCSS, logicalTextAlignCSS } from '../../../../global_styling';
11
+ import { euiDataGridCellOutlineSelectors } from '../cell/data_grid_cell.styles';
12
+
13
+ /**
14
+ * Styles only applied to data header cell content, not control header cells
15
+ */
16
+ export var euiDataGridHeaderCellStyles = function euiDataGridHeaderCellStyles(euiThemeContext) {
17
+ var euiTheme = euiThemeContext.euiTheme;
18
+ var _euiDataGridCellOutli = euiDataGridCellOutlineSelectors('.euiDataGridHeaderCell'),
19
+ header = _euiDataGridCellOutli.header;
20
+ return {
21
+ euiDataGridHeaderCell__content: /*#__PURE__*/css("flex-grow:1;", euiTextTruncate(), ";;label:euiDataGridHeaderCell__content;"),
22
+ // Numeric and currency schemas are aligned to the right
23
+ right: /*#__PURE__*/css(logicalTextAlignCSS('right'), ";;label:right;"),
24
+ euiDataGridHeaderCell__popover: /*#__PURE__*/css(logicalCSS('margin-left', 'auto'), "line-height:0;;label:euiDataGridHeaderCell__popover;"),
25
+ euiDataGridHeaderCell__button: /*#__PURE__*/css("overflow:hidden;", header.hideActions, " &{", logicalCSS('width', 0), " opacity:0;}", euiCanAnimate, "{transition:inline-size ", euiTheme.animation.fast, " ease-in,opacity ", euiTheme.animation.slow, " ease-in;transform:none!important;animation:none!important;};label:euiDataGridHeaderCell__button;")
26
+ };
27
+ };
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
- var _excluded = ["id", "index", "width", "className", "children", "hasActionsPopover", "openActionsPopover", "aria-label"];
4
+ var _excluded = ["id", "index", "visibleColCount", "width", "className", "children", "hasActionsPopover", "openActionsPopover", "aria-label"];
5
5
  /*
6
6
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
7
7
  * or more contributor license agreements. Licensed under the Elastic License
@@ -12,9 +12,10 @@ var _excluded = ["id", "index", "width", "className", "children", "hasActionsPop
12
12
 
13
13
  import React, { useContext, useEffect, useState, useCallback } from 'react';
14
14
  import classnames from 'classnames';
15
- import { keys } from '../../../../services';
15
+ import { keys, tabularCopyMarkers, useEuiMemoizedStyles } from '../../../../services';
16
16
  import { DataGridFocusContext } from '../../utils/focus';
17
17
  import { HandleInteractiveChildren } from '../cell/focus_utils';
18
+ import { euiDataGridHeaderCellWrapperStyles } from './data_grid_header_cell_wrapper.styles';
18
19
 
19
20
  /**
20
21
  * This is a wrapper that handles repeated concerns between control &
@@ -25,6 +26,7 @@ import { jsx as ___EmotionJSX } from "@emotion/react";
25
26
  export var EuiDataGridHeaderCellWrapper = function EuiDataGridHeaderCellWrapper(_ref) {
26
27
  var id = _ref.id,
27
28
  index = _ref.index,
29
+ visibleColCount = _ref.visibleColCount,
28
30
  width = _ref.width,
29
31
  className = _ref.className,
30
32
  children = _ref.children,
@@ -33,6 +35,7 @@ export var EuiDataGridHeaderCellWrapper = function EuiDataGridHeaderCellWrapper(
33
35
  ariaLabel = _ref['aria-label'],
34
36
  rest = _objectWithoutProperties(_ref, _excluded);
35
37
  var classes = classnames('euiDataGridHeaderCell', className);
38
+ var styles = useEuiMemoizedStyles(euiDataGridHeaderCellWrapperStyles);
36
39
 
37
40
  // Must be a state and not a ref to trigger a HandleInteractiveChildren rerender
38
41
  var _useState = useState(null),
@@ -79,11 +82,13 @@ export var EuiDataGridHeaderCellWrapper = function EuiDataGridHeaderCellWrapper(
79
82
  openActionsPopover === null || openActionsPopover === void 0 || openActionsPopover();
80
83
  }
81
84
  }, [hasActionsPopover, openActionsPopover, renderFocusTrap, headerEl]);
85
+ var isLastColumn = index === visibleColCount - 1;
82
86
  return ___EmotionJSX("div", _extends({
83
87
  role: "columnheader",
84
88
  ref: setHeaderEl,
85
89
  tabIndex: isFocused ? 0 : -1,
86
90
  onKeyDown: onKeyDown,
91
+ css: styles.euiDataGridHeaderCell,
87
92
  className: classes,
88
93
  "data-test-subj": "dataGridHeaderCell-".concat(id),
89
94
  "data-gridcell-column-id": id,
@@ -99,5 +104,5 @@ export var EuiDataGridHeaderCellWrapper = function EuiDataGridHeaderCellWrapper(
99
104
  updateCellFocusContext: updateCellFocusContext,
100
105
  renderFocusTrap: renderFocusTrap,
101
106
  onInteractiveChildrenFound: setInteractiveChildren
102
- }, typeof children === 'function' ? children(renderFocusTrap) : children));
107
+ }, typeof children === 'function' ? children(renderFocusTrap) : children), isLastColumn ? tabularCopyMarkers.hiddenNewline : tabularCopyMarkers.hiddenTab);
103
108
  };
@@ -0,0 +1,27 @@
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
+ import { euiDataGridCellOutlineStyles, euiDataGridCellOutlineSelectors } from '../cell/data_grid_cell.styles';
12
+
13
+ /**
14
+ * Styles that apply to both control and non-control columns
15
+ */
16
+ export var euiDataGridHeaderCellWrapperStyles = function euiDataGridHeaderCellWrapperStyles(euiThemeContext) {
17
+ var euiTheme = euiThemeContext.euiTheme;
18
+ var _euiDataGridCellOutli = euiDataGridCellOutlineStyles(euiThemeContext),
19
+ focusStyles = _euiDataGridCellOutli.focusStyles,
20
+ hoverStyles = _euiDataGridCellOutli.hoverStyles;
21
+ var _euiDataGridCellOutli2 = euiDataGridCellOutlineSelectors(),
22
+ outlineSelectors = _euiDataGridCellOutli2.header;
23
+ var _sharedFlexCss = /*#__PURE__*/css("display:flex;align-items:center;gap:", euiTheme.size.xxs, ";");
24
+ return {
25
+ euiDataGridHeaderCell: /*#__PURE__*/css("position:relative;", _sharedFlexCss, " flex:0 0 auto;font-weight:", euiTheme.font.weight.bold, ";", outlineSelectors.focus, "{", focusStyles, ";}", outlineSelectors.focusTrapped, "{", hoverStyles, ";}&>[data-focus-lock-disabled]{", _sharedFlexCss, " ", logicalCSS('width', '100%'), ";};label:euiDataGridHeaderCell;")
26
+ };
27
+ };
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- var _excluded = ["className", "data-test-subj", "leadingControlColumns", "trailingControlColumns", "columns", "columnWidths", "defaultColumnWidth", "setColumnWidth", "setVisibleColumns", "switchColumnPos", "sorting", "schema", "schemaDetectors"];
3
+ var _excluded = ["className", "data-test-subj", "leadingControlColumns", "trailingControlColumns", "columns", "columnWidths", "defaultColumnWidth", "setColumnWidth", "visibleColCount", "setVisibleColumns", "switchColumnPos", "sorting", "schema", "schemaDetectors", "gridStyles"];
4
4
  /*
5
5
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
6
6
  * or more contributor license agreements. Licensed under the Elastic License
@@ -11,9 +11,11 @@ var _excluded = ["className", "data-test-subj", "leadingControlColumns", "traili
11
11
 
12
12
  import classnames from 'classnames';
13
13
  import React, { forwardRef, memo } from 'react';
14
+ import { useEuiMemoizedStyles } from '../../../../services';
15
+ import { emptyControlColumns } from '../../data_grid_types';
14
16
  import { EuiDataGridControlHeaderCell } from './data_grid_control_header_cell';
15
17
  import { EuiDataGridHeaderCell } from './data_grid_header_cell';
16
- import { emptyControlColumns } from '../../data_grid_types';
18
+ import { euiDataGridHeaderStyles } from './data_grid_header_row.styles';
17
19
  import { jsx as ___EmotionJSX } from "@emotion/react";
18
20
  var EuiDataGridHeaderRow = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props, ref) {
19
21
  var className = props.className,
@@ -26,23 +28,29 @@ var EuiDataGridHeaderRow = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (
26
28
  columnWidths = props.columnWidths,
27
29
  defaultColumnWidth = props.defaultColumnWidth,
28
30
  setColumnWidth = props.setColumnWidth,
31
+ visibleColCount = props.visibleColCount,
29
32
  setVisibleColumns = props.setVisibleColumns,
30
33
  switchColumnPos = props.switchColumnPos,
31
34
  sorting = props.sorting,
32
35
  schema = props.schema,
33
36
  schemaDetectors = props.schemaDetectors,
37
+ gridStyles = props.gridStyles,
34
38
  rest = _objectWithoutProperties(props, _excluded);
39
+ var styles = useEuiMemoizedStyles(euiDataGridHeaderStyles);
40
+ var cssStyles = [styles.euiDataGridHeader, styles[gridStyles.header]];
35
41
  var classes = classnames('euiDataGridHeader', className);
36
42
  var dataTestSubj = classnames('dataGridHeader', _dataTestSubj);
37
43
  return ___EmotionJSX("div", _extends({
38
44
  role: "row",
39
45
  ref: ref,
46
+ css: cssStyles,
40
47
  className: classes,
41
48
  "data-test-subj": dataTestSubj
42
49
  }, rest), leadingControlColumns.map(function (controlColumn, index) {
43
50
  return ___EmotionJSX(EuiDataGridControlHeaderCell, {
44
51
  key: controlColumn.id,
45
52
  index: index,
53
+ visibleColCount: visibleColCount,
46
54
  controlColumn: controlColumn
47
55
  });
48
56
  }), columns.map(function (column, index) {
@@ -54,6 +62,7 @@ var EuiDataGridHeaderRow = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (
54
62
  columnWidths: columnWidths,
55
63
  defaultColumnWidth: defaultColumnWidth,
56
64
  setColumnWidth: setColumnWidth,
65
+ visibleColCount: visibleColCount,
57
66
  setVisibleColumns: setVisibleColumns,
58
67
  switchColumnPos: switchColumnPos,
59
68
  sorting: sorting,
@@ -64,6 +73,7 @@ var EuiDataGridHeaderRow = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (
64
73
  return ___EmotionJSX(EuiDataGridControlHeaderCell, {
65
74
  key: controlColumn.id,
66
75
  index: index + leadingControlColumns.length + columns.length,
76
+ visibleColCount: visibleColCount,
67
77
  controlColumn: controlColumn
68
78
  });
69
79
  }));
@@ -0,0 +1,21 @@
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
+ import { euiDataGridVariables } from '../../data_grid.styles';
12
+ export var euiDataGridHeaderStyles = function euiDataGridHeaderStyles(euiThemeContext) {
13
+ var euiTheme = euiThemeContext.euiTheme;
14
+ var _euiDataGridVariables = euiDataGridVariables(euiThemeContext),
15
+ levels = _euiDataGridVariables.levels;
16
+ return {
17
+ euiDataGridHeader: /*#__PURE__*/css("z-index:", levels.stickyHeader, ";position:sticky;", logicalCSS('top', 0), " ", logicalCSS('width', 'fit-content'), " display:flex;;label:euiDataGridHeader;"),
18
+ underline: /*#__PURE__*/css("background-color:", euiTheme.colors.emptyShade, ";", logicalCSS('border-bottom', "".concat(euiTheme.border.width.thick, " solid ").concat(euiTheme.colors.text)), ";;label:underline;"),
19
+ shade: /*#__PURE__*/css("background-color:", euiTheme.colors.lightestShade, ";;label:shade;")
20
+ };
21
+ };
@@ -11,16 +11,18 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
11
11
 
12
12
  import React, { useState, useMemo, useCallback } from 'react';
13
13
  import classNames from 'classnames';
14
+ import { useDependentState, useEuiMemoizedStyles } from '../../../services';
14
15
  import { EuiPopover, EuiPopoverFooter, EuiPopoverTitle } from '../../popover';
15
16
  import { EuiI18n, useEuiI18n } from '../../i18n';
16
17
  import { EuiButtonEmpty } from '../../button';
17
18
  import { EuiFlexGroup, EuiFlexItem } from '../../flex';
18
19
  import { EuiSwitch, EuiFieldText } from '../../form';
19
- import { EuiDragDropContext, EuiDraggable, EuiDroppable, euiDragDropReorder } from '../../drag_and_drop';
20
+ import { EuiText } from '../../text';
20
21
  import { EuiIcon } from '../../icon';
21
- import { useDependentState } from '../../../services';
22
+ import { EuiDragDropContext, EuiDraggable, EuiDroppable, euiDragDropReorder } from '../../drag_and_drop';
22
23
  import { getNestedObjectOptions } from './data_grid_toolbar';
23
24
  import { EuiDataGridToolbarControl } from './data_grid_toolbar_control';
25
+ import { euiDataGridColumnSelectorStyles } from './column_selector.styles';
24
26
  import { jsx as ___EmotionJSX } from "@emotion/react";
25
27
  export var useDataGridColumnSelector = function useDataGridColumnSelector(availableColumns, columnVisibility, showColumnSelector, displayValues) {
26
28
  var allowColumnHiding = getNestedObjectOptions(showColumnSelector, 'allowHide');
@@ -82,6 +84,7 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
82
84
  return column != null;
83
85
  });
84
86
  }, [availableColumns, visibleColumns]);
87
+ var styles = useEuiMemoizedStyles(euiDataGridColumnSelectorStyles);
85
88
  var columnSelector = useMemo(function () {
86
89
  return allowColumnHiding || allowColumnReorder ? ___EmotionJSX(EuiPopover, {
87
90
  "data-test-subj": "dataGridColumnSelectorPopover",
@@ -90,7 +93,7 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
90
93
  return setIsOpen(false);
91
94
  },
92
95
  anchorPosition: "downLeft",
93
- panelPaddingSize: "s",
96
+ panelPaddingSize: "none",
94
97
  hasDragDrop: true,
95
98
  button: ___EmotionJSX(EuiDataGridToolbarControl, {
96
99
  badgeContent: numberOfHiddenFields > 0 ? "".concat(orderedVisibleColumns.length, "/").concat(availableColumns.length) : availableColumns.length,
@@ -103,7 +106,9 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
103
106
  token: "euiColumnSelector.button",
104
107
  default: "Columns"
105
108
  }))
106
- }, allowColumnHiding && ___EmotionJSX(EuiPopoverTitle, null, ___EmotionJSX(EuiI18n, {
109
+ }, allowColumnHiding && ___EmotionJSX(EuiPopoverTitle, {
110
+ paddingSize: "s"
111
+ }, ___EmotionJSX(EuiI18n, {
107
112
  tokens: ['euiColumnSelector.search', 'euiColumnSelector.searchcolumns'],
108
113
  defaults: ['Search', 'Search columns']
109
114
  }, function (_ref4) {
@@ -125,7 +130,7 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
125
130
  }, ___EmotionJSX(EuiDroppable, {
126
131
  droppableId: "columnOrder",
127
132
  isDropDisabled: !isDragEnabled,
128
- className: "euiDataGrid__controlScroll"
133
+ css: styles.euiDataGridColumnSelector
129
134
  }, ___EmotionJSX(React.Fragment, null, filteredColumns.map(function (id, index) {
130
135
  return ___EmotionJSX(EuiDraggable, {
131
136
  key: id,
@@ -136,6 +141,7 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
136
141
  customDragHandle: true
137
142
  }, function (provided, state) {
138
143
  return ___EmotionJSX("div", {
144
+ css: styles.euiDataGridColumnSelector__item,
139
145
  className: classNames('euiDataGridColumnSelector__item', {
140
146
  'euiDataGridColumnSelector__item-isDragging': state.isDragging
141
147
  }),
@@ -166,7 +172,8 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
166
172
  , _extends({}, provided.dragHandleProps, {
167
173
  "aria-hidden": true,
168
174
  tabIndex: -1
169
- }), ___EmotionJSX("span", {
175
+ }), ___EmotionJSX(EuiText, {
176
+ size: "xs",
170
177
  className: "euiDataGridColumnSelector__itemLabel"
171
178
  }, displayValues[id] || id)), isDragEnabled && ___EmotionJSX(EuiFlexItem, _extends({
172
179
  grow: false
@@ -177,7 +184,9 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
177
184
  color: "subdued"
178
185
  }))));
179
186
  });
180
- })))), allowColumnHiding && ___EmotionJSX(EuiPopoverFooter, null, ___EmotionJSX(EuiFlexGroup, {
187
+ })))), allowColumnHiding && ___EmotionJSX(EuiPopoverFooter, {
188
+ paddingSize: "s"
189
+ }, ___EmotionJSX(EuiFlexGroup, {
181
190
  gutterSize: "s",
182
191
  responsive: false,
183
192
  justifyContent: "spaceBetween"
@@ -206,7 +215,7 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
206
215
  token: "euiColumnSelector.hideAll",
207
216
  default: "Hide all"
208
217
  })))))) : null;
209
- }, [availableColumns.length, numberOfHiddenFields, orderedVisibleColumns.length, allowColumnHiding, allowColumnReorder, isOpen, columnSearchText, displayValues, visibleColumnIds, sortedColumns, setVisibleColumns, setIsOpen, onDragEnd, isDragEnabled, dragHandleAriaLabel, filteredColumns]);
218
+ }, [styles, availableColumns.length, numberOfHiddenFields, orderedVisibleColumns.length, allowColumnHiding, allowColumnReorder, isOpen, columnSearchText, displayValues, visibleColumnIds, sortedColumns, setVisibleColumns, setIsOpen, onDragEnd, isDragEnabled, dragHandleAriaLabel, filteredColumns]);
210
219
 
211
220
  /**
212
221
  * 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
+ };
@@ -12,6 +12,7 @@ var _excluded = ["sorting"];
12
12
  */
13
13
 
14
14
  import React, { useEffect, useState, useMemo, useCallback, memo } from 'react';
15
+ import { useEuiMemoizedStyles } from '../../../services';
15
16
  import { EuiButtonEmpty } from '../../button';
16
17
  import { EuiDragDropContext, euiDragDropReorder, EuiDroppable } from '../../drag_and_drop';
17
18
  import { EuiFlexGroup, EuiFlexItem } from '../../flex';
@@ -19,9 +20,10 @@ import { EuiI18n, useEuiI18n } from '../../i18n';
19
20
  import { EuiPopover, EuiPopoverFooter } from '../../popover';
20
21
  import { EuiText } from '../../text';
21
22
  import { EuiToken } from '../../token';
23
+ import { getDetailsForSchema } from '../utils/data_grid_schema';
22
24
  import { EuiDataGridToolbarControl } from './data_grid_toolbar_control';
23
25
  import { EuiDataGridColumnSortingDraggable } from './column_sorting_draggable';
24
- import { getDetailsForSchema } from '../utils/data_grid_schema';
26
+ import { euiDataGridColumnSortingStyles } from './column_sorting.styles';
25
27
  import { jsx as ___EmotionJSX } from "@emotion/react";
26
28
  export var useDataGridColumnSorting = function useDataGridColumnSorting(_ref) {
27
29
  var sorting = _ref.sorting,
@@ -42,6 +44,7 @@ export var DataGridSortingControl = /*#__PURE__*/memo(function (_ref2) {
42
44
  setIsOpen = _useState2[1];
43
45
  var sortingButtonText = useEuiI18n('euiColumnSorting.button', 'Sort fields');
44
46
  var sortFieldAriaLabel = useEuiI18n('euiColumnSorting.sortFieldAriaLabel', 'Sort by: ');
47
+ var styles = useEuiMemoizedStyles(euiDataGridColumnSortingStyles);
45
48
  var _useState3 = useState(false),
46
49
  _useState4 = _slicedToArray(_useState3, 2),
47
50
  availableColumnsIsOpen = _useState4[0],
@@ -142,7 +145,7 @@ export var DataGridSortingControl = /*#__PURE__*/memo(function (_ref2) {
142
145
  onDragEnd: onDragEnd
143
146
  }, ___EmotionJSX(EuiDroppable, {
144
147
  droppableId: "columnSorting",
145
- className: "euiDataGrid__controlScroll"
148
+ css: styles.euiDataGridColumnSorting
146
149
  }, ___EmotionJSX(React.Fragment, null, sorting.columns.map(function (_ref7, index) {
147
150
  var id = _ref7.id,
148
151
  direction = _ref7.direction;
@@ -192,6 +195,7 @@ export var DataGridSortingControl = /*#__PURE__*/memo(function (_ref2) {
192
195
  default: "Pick fields to sort by"
193
196
  }))
194
197
  }, ___EmotionJSX("div", {
198
+ css: styles.euiDataGridColumnSorting__fieldList,
195
199
  className: "euiDataGridColumnSorting__fieldList",
196
200
  role: "listbox"
197
201
  }, inactiveSortableColumns.map(function (_ref8) {
@@ -199,6 +203,7 @@ export var DataGridSortingControl = /*#__PURE__*/memo(function (_ref2) {
199
203
  defaultSortDirection = _ref8.defaultSortDirection;
200
204
  return ___EmotionJSX("button", {
201
205
  key: id,
206
+ css: styles.euiDataGridColumnSorting__field,
202
207
  className: "euiDataGridColumnSorting__field",
203
208
  "aria-label": "".concat(sortFieldAriaLabel, " ").concat(id),
204
209
  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
+ };