@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
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiDataGridVariables = exports.euiDataGridStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _services = require("../../services");
9
+ var _global_styling = require("../../global_styling");
10
+ /*
11
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
12
+ * or more contributor license agreements. Licensed under the Elastic License
13
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
14
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
15
+ * Side Public License, v 1.
16
+ */
17
+
18
+ var euiDataGridVariables = exports.euiDataGridVariables = function euiDataGridVariables(euiThemeContext) {
19
+ var euiTheme = euiThemeContext.euiTheme;
20
+ return {
21
+ cellPadding: {
22
+ s: euiTheme.size.xs,
23
+ m: (0, _global_styling.mathWithUnits)(euiTheme.size.m, function (x) {
24
+ return x / 2;
25
+ }),
26
+ l: euiTheme.size.s
27
+ },
28
+ lineHeight: {
29
+ s: (0, _global_styling.euiFontSize)(euiThemeContext, 'xs').lineHeight,
30
+ m: (0, _global_styling.euiFontSize)(euiThemeContext, 'm').lineHeight
31
+ },
32
+ fontSize: {
33
+ s: (0, _global_styling.euiFontSize)(euiThemeContext, 'xs').fontSize,
34
+ m: (0, _global_styling.euiFontSize)(euiThemeContext, 's').fontSize
35
+ },
36
+ levels: {
37
+ cellPopover: Number(euiTheme.levels.header),
38
+ // Same z-index as EuiFlyout mask overlays - cell popovers should be under both modal and flyout overlays
39
+ get stickyHeader() {
40
+ return this.cellPopover - 1; // Needs to sit above the content + cell focus outlines/actions, but below actual popovers
41
+ }
42
+ }
43
+ };
44
+ };
45
+ var euiDataGridStyles = exports.euiDataGridStyles = function euiDataGridStyles(euiThemeContext) {
46
+ var euiTheme = euiThemeContext.euiTheme,
47
+ colorMode = euiThemeContext.colorMode;
48
+ var _euiDataGridVariables = euiDataGridVariables(euiThemeContext),
49
+ _cellPadding = _euiDataGridVariables.cellPadding,
50
+ lineHeight = _euiDataGridVariables.lineHeight,
51
+ _fontSize = _euiDataGridVariables.fontSize;
52
+ return {
53
+ euiDataGrid: /*#__PURE__*/(0, _react.css)("display:flex;flex-direction:column;align-items:stretch;", (0, _global_styling.logicalCSS)('height', '100%'), " overflow:hidden;*:where(& .euiDataGridRow){background-color:", euiTheme.colors.emptyShade, ";}*:where(&.euiDataGrid--stripes .euiDataGridRow--striped){background-color:", euiTheme.colors.lightestShade, ";}*:where(&.euiDataGrid--rowHoverHighlight .euiDataGridRow:hover){background-color:", euiTheme.colors.highlight, ";};label:euiDataGrid;"),
54
+ cellPadding: {
55
+ cellPadding: function cellPadding(size) {
56
+ return /*#__PURE__*/(0, _react.css)(".euiDataGridHeaderCell,.euiDataGridRowCell__content{padding:", _cellPadding[size], ";}/* Workaround to trim line-clamp and padding - @see https://github.com/elastic/eui/issues/7780 */.euiDataGridRowCell__content--lineCountHeight{", (0, _global_styling.logicalCSS)('padding-bottom', 0), " ", (0, _global_styling.logicalCSS)('border-bottom', "".concat(_cellPadding[size], " solid transparent")), ";}.euiDataGridHeaderCell__button{margin-block:-", _cellPadding[size], ";};label:cellPadding;");
57
+ },
58
+ get s() {
59
+ return /*#__PURE__*/(0, _react.css)(this.cellPadding('s'), ";label:s;");
60
+ },
61
+ get m() {
62
+ return /*#__PURE__*/(0, _react.css)(this.cellPadding('m'), ";label:m;");
63
+ },
64
+ get l() {
65
+ return /*#__PURE__*/(0, _react.css)(this.cellPadding('l'), ";label:l;");
66
+ }
67
+ },
68
+ fontSize: {
69
+ fontSize: function fontSize(size) {
70
+ return /*#__PURE__*/(0, _react.css)(".euiDataGridHeaderCell,.euiDataGridRowCell{font-size:", _fontSize[size], ";line-height:", lineHeight[size], ";};label:fontSize;");
71
+ },
72
+ get s() {
73
+ return /*#__PURE__*/(0, _react.css)(this.fontSize('s'), ";label:s;");
74
+ },
75
+ get m() {
76
+ return /*#__PURE__*/(0, _react.css)(this.fontSize('m'), ";label:m;");
77
+ },
78
+ get l() {
79
+ // On the Amsterdam theme, the l fontSize is the same as m
80
+ return /*#__PURE__*/(0, _react.css)(this.fontSize('m'), ";label:l;");
81
+ }
82
+ },
83
+ borders: {
84
+ none: null,
85
+ horizontal: /*#__PURE__*/(0, _react.css)("label:borders;.euiDataGridRowCell:not(.euiDataGridFooterCell),.euiDataGridFooter,&:not(.euiDataGrid--headerUnderline) .euiDataGridHeader{", (0, _global_styling.logicalCSS)('border-bottom', euiTheme.border.thin), ";}&:not(.euiDataGrid--footerOverline) .euiDataGridFooter{", (0, _global_styling.logicalCSS)('border-top', euiTheme.border.thin), " ", (0, _global_styling.logicalCSS)('margin-top', "-".concat(euiTheme.border.width.thin)), ";}.euiDataGridHeader{", (0, _global_styling.logicalCSS)('border-top', euiTheme.border.thin), ";};label:horizontal;"),
86
+ all: /*#__PURE__*/(0, _react.css)("label:borders;.euiDataGridRowCell{&:not(.euiDataGridFooterCell){", (0, _global_styling.logicalCSS)('border-bottom', euiTheme.border.thin), " ", (0, _global_styling.logicalCSS)('border-right', // Visually lighten vertical borders
87
+ "".concat(euiTheme.border.width.thin, " solid ").concat((0, _services.tintOrShade)(euiTheme.border.color, 0.3, colorMode))), ";}&--firstColumn{", (0, _global_styling.logicalCSS)('border-left', euiTheme.border.thin), ";}&--lastColumn{", (0, _global_styling.logicalCSS)('border-right-color', euiTheme.border.color), ";}}.euiDataGridFooterCell,.euiDataGridHeaderCell{", (0, _global_styling.logicalCSS)('border-right', euiTheme.border.thin), " &:first-of-type{", (0, _global_styling.logicalCSS)('border-left', euiTheme.border.thin), ";}}.euiDataGridFooter{", (0, _global_styling.logicalCSS)('border-bottom', euiTheme.border.thin), ";}&:not(.euiDataGrid--footerOverline) .euiDataGridFooter{", (0, _global_styling.logicalCSS)('border-top', euiTheme.border.thin), " ", (0, _global_styling.logicalCSS)('margin-top', "-".concat(euiTheme.border.width.thin)), ";}&:not(.euiDataGrid--headerUnderline) .euiDataGridHeader{", (0, _global_styling.logicalCSS)('border-bottom', euiTheme.border.thin), ";}&:is(.euiDataGrid--noControls) .euiDataGridHeader{", (0, _global_styling.logicalCSS)('border-top', euiTheme.border.thin), ";}.euiDataGrid__controls{border:", euiTheme.border.thin, ";background-color:", euiTheme.colors.body, ";};label:all;")
88
+ },
89
+ // Sits below the controls above it and pagination below it
90
+ euiDataGrid__content: /*#__PURE__*/(0, _react.css)("z-index:1;position:relative;flex-grow:1;", (0, _global_styling.logicalSizeCSS)('100%'), " ", (0, _global_styling.logicalCSS)('max-width', '100%'), " overflow:hidden;background-color:", euiTheme.colors.body, ";font-feature-settings:'tnum' 1;;label:euiDataGrid__content;"),
91
+ // Wrapper around EuiDataGrid
92
+ euiDataGrid__focusWrap: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('height', '100%'), ";;label:euiDataGrid__focusWrap;")
93
+ };
94
+ };
@@ -5,12 +5,14 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.EuiDataGridPaginationRenderer = void 0;
8
+ exports.shouldRenderPagination = exports.EuiDataGridPagination = void 0;
9
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
+ var _services = require("../../../services");
11
12
  var _i18n = require("../../i18n");
12
13
  var _table_pagination = require("../../table/table_pagination");
13
- var _focus = require("./focus");
14
+ var _focus = require("../utils/focus");
15
+ var _data_grid_pagination = require("./data_grid_pagination.styles");
14
16
  var _react2 = require("@emotion/react");
15
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
18
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -22,20 +24,29 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
22
24
  * Side Public License, v 1.
23
25
  */
24
26
 
25
- // Note: this file must be named data_grid_pagination to match i18n tokens
26
-
27
- var EuiDataGridPaginationRenderer = exports.EuiDataGridPaginationRenderer = function EuiDataGridPaginationRenderer(_ref) {
28
- var pageIndex = _ref.pageIndex,
29
- _pageSize = _ref.pageSize,
30
- _pageSizeOptions = _ref.pageSizeOptions,
31
- _onChangePage = _ref.onChangePage,
32
- onChangeItemsPerPage = _ref.onChangeItemsPerPage,
33
- rowCount = _ref.rowCount,
34
- controls = _ref.controls,
35
- ariaLabel = _ref['aria-label'];
36
- var defaults = (0, _table_pagination.useEuiTablePaginationDefaults)();
37
- var pageSize = _pageSize !== null && _pageSize !== void 0 ? _pageSize : defaults.itemsPerPage;
38
- var pageSizeOptions = _pageSizeOptions !== null && _pageSizeOptions !== void 0 ? _pageSizeOptions : defaults.itemsPerPageOptions;
27
+ /**
28
+ * Do not render the pagination when:
29
+ * 1. Rows count is less than min pagination option (rows per page)
30
+ * 2. Rows count is less than pageSize (the case when there are no pageSizeOptions provided)
31
+ */
32
+ var shouldRenderPagination = exports.shouldRenderPagination = function shouldRenderPagination(rowCount, _ref) {
33
+ var pageSize = _ref.pageSize,
34
+ pageSizeOptions = _ref.pageSizeOptions;
35
+ var minSizeOption = (0, _toConsumableArray2.default)(pageSizeOptions).sort(function (a, b) {
36
+ return a - b;
37
+ })[0];
38
+ return !(rowCount < (minSizeOption || pageSize));
39
+ };
40
+ var EuiDataGridPagination = exports.EuiDataGridPagination = function EuiDataGridPagination(_ref2) {
41
+ var pageIndex = _ref2.pageIndex,
42
+ pageSize = _ref2.pageSize,
43
+ pageSizeOptions = _ref2.pageSizeOptions,
44
+ _onChangePage = _ref2.onChangePage,
45
+ onChangeItemsPerPage = _ref2.onChangeItemsPerPage,
46
+ rowCount = _ref2.rowCount,
47
+ controls = _ref2.controls,
48
+ ariaLabel = _ref2['aria-label'];
49
+ var styles = (0, _services.useEuiMemoizedStyles)(_data_grid_pagination.euiDataGridPaginationStyles);
39
50
  var detailedPaginationLabel = (0, _i18n.useEuiI18n)('euiDataGridPagination.detailedPaginationLabel', 'Pagination for preceding grid: {label}', {
40
51
  label: ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : ''
41
52
  });
@@ -49,28 +60,15 @@ var EuiDataGridPaginationRenderer = exports.EuiDataGridPaginationRenderer = func
49
60
  setFocusedCell([0, 0]);
50
61
  }, [setFocusedCell, _onChangePage]);
51
62
  var pageCount = pageSize ? Math.ceil(rowCount / pageSize) : 1;
52
- var minSizeOption = (0, _toConsumableArray2.default)(pageSizeOptions).sort(function (a, b) {
53
- return a - b;
54
- })[0];
55
- if (rowCount < (minSizeOption || pageSize)) {
56
- /**
57
- * Do not render the pagination when:
58
- * 1. Rows count is less than min pagination option (rows per page)
59
- * 2. Rows count is less than pageSize (the case when there are no pageSizeOptions provided)
60
- */
61
- return null;
62
- }
63
-
64
- // Hide select rows per page if pageSizeOptions is an empty array
65
- var hidePerPageOptions = pageSizeOptions.length === 0;
66
63
  return (0, _react2.jsx)("div", {
64
+ css: styles.euiDataGrid__pagination,
67
65
  className: "euiDataGrid__pagination"
68
66
  }, (0, _react2.jsx)(_table_pagination.EuiTablePagination, {
69
67
  "aria-controls": controls,
70
68
  activePage: pageIndex,
71
- showPerPageOptions: !hidePerPageOptions,
72
69
  itemsPerPage: pageSize,
73
70
  itemsPerPageOptions: pageSizeOptions,
71
+ showPerPageOptions: pageSizeOptions.length > 0,
74
72
  pageCount: pageCount,
75
73
  onChangePage: onChangePage,
76
74
  onChangeItemsPerPage: onChangeItemsPerPage,
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiDataGridPaginationStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _global_styling = require("../../../global_styling");
9
+ /*
10
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
+ * or more contributor license agreements. Licensed under the Elastic License
12
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
13
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
14
+ * Side Public License, v 1.
15
+ */
16
+
17
+ var euiDataGridPaginationStyles = exports.euiDataGridPaginationStyles = function euiDataGridPaginationStyles(_ref) {
18
+ var euiTheme = _ref.euiTheme;
19
+ return {
20
+ euiDataGrid__pagination: /*#__PURE__*/(0, _react.css)("z-index:2;flex-grow:0;", (0, _global_styling.logicalCSS)('padding-top', euiTheme.size.xs), " .euiDataGrid--fullScreen &{", (0, _global_styling.logicalCSS)('padding-bottom', euiTheme.size.xs), " background-color:", euiTheme.colors.lightestShade, ";box-shadow:", euiTheme.border.width.thin, " 0 0 ", euiTheme.border.width.thin, " ", euiTheme.border.color, ";};label:euiDataGrid__pagination;")
21
+ };
22
+ };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "EuiDataGridPagination", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _data_grid_pagination.EuiDataGridPagination;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "shouldRenderPagination", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _data_grid_pagination.shouldRenderPagination;
16
+ }
17
+ });
18
+ var _data_grid_pagination = require("./data_grid_pagination");
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.useRowHeightUtils = exports.useDefaultRowHeight = exports.cellPaddingsMap = exports.RowHeightVirtualizationUtils = exports.RowHeightUtils = exports.DEFAULT_ROW_HEIGHT = exports.AUTO_HEIGHT = void 0;
7
+ exports.useRowHeightUtils = exports.useDefaultRowHeight = exports.RowHeightVirtualizationUtils = exports.RowHeightUtils = void 0;
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
9
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
10
10
  var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
@@ -25,25 +25,12 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
25
25
  * in compliance with, at your election, the Elastic License 2.0 or the Server
26
26
  * Side Public License, v 1.
27
27
  */
28
- // TODO: Once JS variables are available, use them here instead of hard-coded maps
29
- var cellPaddingsMap = exports.cellPaddingsMap = {
30
- s: 4,
31
- m: 6,
32
- l: 8
33
- };
34
- var AUTO_HEIGHT = exports.AUTO_HEIGHT = 'auto';
35
- var DEFAULT_ROW_HEIGHT = exports.DEFAULT_ROW_HEIGHT = 34;
28
+ var AUTO_HEIGHT = 'auto';
29
+ var DEFAULT_ROW_HEIGHT = 34;
36
30
  var RowHeightUtils = exports.RowHeightUtils = /*#__PURE__*/function () {
37
31
  function RowHeightUtils() {
38
32
  var _this = this;
39
33
  (0, _classCallCheck2.default)(this, RowHeightUtils);
40
- /**
41
- * Styles utils
42
- */
43
- (0, _defineProperty2.default)(this, "styles", {
44
- paddingTop: 0,
45
- paddingBottom: 0
46
- });
47
34
  /**
48
35
  * Height types
49
36
  */
@@ -54,8 +41,9 @@ var RowHeightUtils = exports.RowHeightUtils = /*#__PURE__*/function () {
54
41
  if (option === AUTO_HEIGHT) {
55
42
  return 'auto';
56
43
  }
57
- if (_this.getLineCount(option) != null) {
58
- return 'lineCount';
44
+ var lineCount = _this.getLineCount(option);
45
+ if (lineCount != null) {
46
+ return lineCount > 1 ? 'lineCount' : 'default';
59
47
  }
60
48
  return 'numerical';
61
49
  });
@@ -98,14 +86,6 @@ var RowHeightUtils = exports.RowHeightUtils = /*#__PURE__*/function () {
98
86
  }
99
87
  return defaultHeight;
100
88
  }
101
- }, {
102
- key: "cacheStyles",
103
- value: function cacheStyles(gridStyles) {
104
- this.styles = {
105
- paddingTop: cellPaddingsMap[gridStyles.cellPadding || 'm'],
106
- paddingBottom: cellPaddingsMap[gridStyles.cellPadding || 'm']
107
- };
108
- }
109
89
  }, {
110
90
  key: "getLineCount",
111
91
  value:
@@ -118,11 +98,14 @@ var RowHeightUtils = exports.RowHeightUtils = /*#__PURE__*/function () {
118
98
  }
119
99
  }, {
120
100
  key: "calculateHeightForLineCount",
121
- value: function calculateHeightForLineCount(cellRef, lineCount, excludePadding) {
101
+ value: function calculateHeightForLineCount(cellRef, lineCount) {
122
102
  var computedStyles = window.getComputedStyle(cellRef, null);
123
103
  var lineHeight = parseInt(computedStyles.lineHeight, 10);
124
104
  var contentHeight = Math.ceil(lineCount * lineHeight);
125
- return excludePadding ? contentHeight : contentHeight + this.styles.paddingTop + this.styles.paddingBottom;
105
+ var padding = parseInt(computedStyles.paddingTop, 10);
106
+
107
+ // Assumes both padding-top and bottom are the same
108
+ return contentHeight + padding * 2;
126
109
  }
127
110
 
128
111
  /**
@@ -278,7 +261,6 @@ var RowHeightVirtualizationUtils = exports.RowHeightVirtualizationUtils = /*#__P
278
261
  var useRowHeightUtils = exports.useRowHeightUtils = function useRowHeightUtils(_ref2) {
279
262
  var virtualization = _ref2.virtualization,
280
263
  rowHeightsOptions = _ref2.rowHeightsOptions,
281
- gridStyles = _ref2.gridStyles,
282
264
  columns = _ref2.columns;
283
265
  var forceRenderRef = (0, _services.useLatest)((0, _services.useForceRender)());
284
266
  var _useState = (0, _react.useState)(function () {
@@ -306,13 +288,6 @@ var useRowHeightUtils = exports.useRowHeightUtils = function useRowHeightUtils(_
306
288
  // Dependencies
307
289
  rowHeightUtils, forceRenderRef]);
308
290
 
309
- // Re-cache styles whenever grid density changes
310
- (0, _react.useEffect)(function () {
311
- rowHeightUtils.cacheStyles({
312
- cellPadding: gridStyles.cellPadding
313
- });
314
- }, [gridStyles.cellPadding, rowHeightUtils]);
315
-
316
291
  // Update row heights map to remove hidden columns whenever orderedVisibleColumns change
317
292
  (0, _react.useEffect)(function () {
318
293
  rowHeightUtils.pruneHiddenColumnHeights(columns);
@@ -9,8 +9,11 @@ exports.useScrollCellIntoView = exports.useScrollBars = exports.useScroll = void
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
+ var _services = require("../../../services");
13
+ var _global_styling = require("../../../global_styling");
12
14
  var _cell = require("../body/cell");
13
15
  var _focus = require("./focus");
16
+ var _scrolling = require("./scrolling.styles");
14
17
  var _react2 = require("@emotion/react");
15
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
19
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -218,6 +221,7 @@ var useScrollBars = exports.useScrollBars = function useScrollBars(outerGridRef)
218
221
  // If the grid scrolls or has scrollbars, we add custom border overlays
219
222
  // (since borders are normally set by cells) to ensure our grid body has
220
223
  // ending borders regardless of scroll position
224
+ var styles = (0, _services.useEuiMemoizedStyles)(_scrolling.euiDataGridScrollBarStyles);
221
225
  var scrollBorderOverlay = (0, _react.useMemo)(function () {
222
226
  if (!hasHorizontalScroll && !hasVerticalScroll) {
223
227
  return null; // Nothing to render if the grid doesn't scroll
@@ -226,22 +230,25 @@ var useScrollBars = exports.useScrollBars = function useScrollBars(outerGridRef)
226
230
  return null; // Nothing to render if the grid doesn't use borders
227
231
  }
228
232
  return (0, _react2.jsx)("div", {
233
+ css: styles.euiDataGrid__scrollOverlay,
229
234
  className: "euiDataGrid__scrollOverlay",
230
235
  role: "presentation"
231
236
  }, scrollBarHeight > 0 && (0, _react2.jsx)("div", {
237
+ css: styles.euiDataGrid__scrollBarOverlayBottom,
232
238
  className: "euiDataGrid__scrollBarOverlayBottom",
233
- style: {
234
- bottom: scrollBarHeight,
235
- right: 0
236
- }
239
+ style: (0, _global_styling.logicalStyles)({
240
+ bottom: scrollBarHeight
241
+ })
237
242
  }), scrollBarWidth > 0 && (0, _react2.jsx)("div", {
243
+ css: styles.euiDataGrid__scrollBarOverlayRight,
238
244
  className: "euiDataGrid__scrollBarOverlayRight",
239
- style: {
245
+ style: (0, _global_styling.logicalStyles)({
246
+ top: 0,
240
247
  bottom: scrollBarHeight,
241
248
  right: scrollBarWidth
242
- }
249
+ })
243
250
  }));
244
- }, [hasHorizontalScroll, hasVerticalScroll, scrollBarHeight, scrollBarWidth, borderStyle]);
251
+ }, [hasHorizontalScroll, hasVerticalScroll, scrollBarHeight, scrollBarWidth, borderStyle, styles]);
245
252
  return {
246
253
  scrollBarHeight: scrollBarHeight,
247
254
  scrollBarWidth: scrollBarWidth,
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiDataGridScrollBarStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _global_styling = require("../../../global_styling");
9
+ /*
10
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
+ * or more contributor license agreements. Licensed under the Elastic License
12
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
13
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
14
+ * Side Public License, v 1.
15
+ */
16
+
17
+ var euiDataGridScrollBarStyles = exports.euiDataGridScrollBarStyles = function euiDataGridScrollBarStyles(euiThemeContext) {
18
+ var euiTheme = euiThemeContext.euiTheme;
19
+
20
+ // Note that 'borders' *must* be rendered with inset box-shadow, because actual
21
+ // `border` CSS will affect the relative position of the child scroll bar overlays
22
+ // and cause them to be off by the width of the border
23
+ var borderWidth = euiTheme.border.width.thin;
24
+ var borderColor = euiTheme.border.color;
25
+ return {
26
+ euiDataGrid__scrollOverlay: /*#__PURE__*/(0, _react.css)("position:absolute;inset:0;", (0, _global_styling.logicalCSS)('top', "-".concat(borderWidth)), "pointer-events:none;box-shadow:inset 0 0 0 ", borderWidth, " ", borderColor, ";.euiDataGrid--bordersHorizontal &{box-shadow:inset 0 -", (0, _global_styling.mathWithUnits)(borderWidth, function (x) {
27
+ return x * 2;
28
+ }), " 0 -", borderWidth, " ", borderColor, ";};label:euiDataGrid__scrollOverlay;"),
29
+ // Ensure the horizontal scrollbar has a top border
30
+ euiDataGrid__scrollBarOverlayBottom: /*#__PURE__*/(0, _react.css)("position:absolute;inset-inline:0;", (0, _global_styling.logicalCSS)('height', borderWidth), " background-color:", borderColor, ";;label:euiDataGrid__scrollBarOverlayBottom;"),
31
+ // Ensure the vertical scrollbar has a left border
32
+ euiDataGrid__scrollBarOverlayRight: /*#__PURE__*/(0, _react.css)("position:absolute;", (0, _global_styling.logicalCSS)('width', borderWidth), " background-color:", borderColor, ";;label:euiDataGrid__scrollBarOverlayRight;")
33
+ // Note: Scroll bar border positions are set via JS inline style, since
34
+ // JS has access to the exact OS scrollbar width/height and CSS doesn't
35
+ };
36
+ };
@@ -200,7 +200,7 @@ var EuiDatePicker = exports.EuiDatePicker = function EuiDatePicker(_ref) {
200
200
  className: classes
201
201
  }, (0, _react2.jsx)(_form.EuiFormControlLayout, (0, _extends2.default)({
202
202
  icon: optionalIcon,
203
- clear: selected && onClear ? {
203
+ clear: selected && !disabled && onClear ? {
204
204
  onClick: onClear
205
205
  } : undefined,
206
206
  isLoading: isLoading,
@@ -16,7 +16,7 @@ var _helpers = require("../resizable_container/helpers");
16
16
  var _flyout = require("./flyout");
17
17
  var _flyout_resizable = require("./flyout_resizable.styles");
18
18
  var _react2 = require("@emotion/react");
19
- var _excluded = ["size", "maxWidth", "minWidth", "onResize", "side", "type", "children"];
19
+ var _excluded = ["size", "maxWidth", "minWidth", "onResize", "side", "type", "ownFocus", "children"];
20
20
  /*
21
21
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
22
22
  * or more contributor license agreements. Licensed under the Elastic License
@@ -38,10 +38,13 @@ var EuiFlyoutResizable = exports.EuiFlyoutResizable = /*#__PURE__*/(0, _react.fo
38
38
  side = _ref$side === void 0 ? 'right' : _ref$side,
39
39
  _ref$type = _ref.type,
40
40
  type = _ref$type === void 0 ? 'overlay' : _ref$type,
41
+ _ref$ownFocus = _ref.ownFocus,
42
+ ownFocus = _ref$ownFocus === void 0 ? true : _ref$ownFocus,
41
43
  children = _ref.children,
42
44
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
45
+ var hasOverlay = type === 'overlay' && ownFocus;
43
46
  var styles = (0, _services.useEuiMemoizedStyles)(_flyout_resizable.euiFlyoutResizableButtonStyles);
44
- var cssStyles = [styles.euiFlyoutResizableButton, styles[type][side]];
47
+ var cssStyles = [styles.euiFlyoutResizableButton, styles[type][side], !hasOverlay && styles.noOverlay.noOverlay, !hasOverlay && styles.noOverlay[side]];
45
48
  var getFlyoutMinMaxWidth = (0, _react.useCallback)(function (width) {
46
49
  return Math.min(Math.max(width, minWidth), maxWidth || Infinity, window.innerWidth - 20 // Leave some offset
47
50
  );
@@ -145,6 +148,7 @@ var EuiFlyoutResizable = exports.EuiFlyoutResizable = /*#__PURE__*/(0, _react.fo
145
148
  maxWidth: maxWidth,
146
149
  side: side,
147
150
  type: type,
151
+ ownFocus: ownFocus,
148
152
  ref: setRefs
149
153
  }), (0, _react2.jsx)(_resizable_container.EuiResizableButton, {
150
154
  isHorizontal: true,
@@ -14,6 +14,30 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
14
14
  * Side Public License, v 1.
15
15
  */
16
16
  var _ref = process.env.NODE_ENV === "production" ? {
17
+ name: "1vfos8p-right",
18
+ styles: "justify-content:flex-start;label:right;"
19
+ } : {
20
+ name: "1vfos8p-right",
21
+ styles: "justify-content:flex-start;label:right;",
22
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
23
+ };
24
+ var _ref2 = process.env.NODE_ENV === "production" ? {
25
+ name: "1ydooaf-left",
26
+ styles: "justify-content:flex-end;label:left;"
27
+ } : {
28
+ name: "1ydooaf-left",
29
+ styles: "justify-content:flex-end;label:left;",
30
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
31
+ };
32
+ var _ref3 = process.env.NODE_ENV === "production" ? {
33
+ name: "1cw850z-noOverlay",
34
+ styles: "margin-inline:0;label:noOverlay;"
35
+ } : {
36
+ name: "1cw850z-noOverlay",
37
+ styles: "margin-inline:0;label:noOverlay;",
38
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
39
+ };
40
+ var _ref4 = process.env.NODE_ENV === "production" ? {
17
41
  name: "1gfwqnd-euiFlyoutResizableButton",
18
42
  styles: "position:absolute;label:euiFlyoutResizableButton;"
19
43
  } : {
@@ -21,17 +45,22 @@ var _ref = process.env.NODE_ENV === "production" ? {
21
45
  styles: "position:absolute;label:euiFlyoutResizableButton;",
22
46
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
23
47
  };
24
- var euiFlyoutResizableButtonStyles = exports.euiFlyoutResizableButtonStyles = function euiFlyoutResizableButtonStyles(_ref2) {
25
- var euiTheme = _ref2.euiTheme;
48
+ var euiFlyoutResizableButtonStyles = exports.euiFlyoutResizableButtonStyles = function euiFlyoutResizableButtonStyles(_ref5) {
49
+ var euiTheme = _ref5.euiTheme;
26
50
  return {
27
- euiFlyoutResizableButton: _ref,
51
+ euiFlyoutResizableButton: _ref4,
28
52
  overlay: {
29
53
  left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('right', 0), ";;label:left;"),
30
54
  right: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('left', 0), ";;label:right;")
31
55
  },
32
56
  push: {
33
- left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('right', "-".concat(euiTheme.border.width.thin)), ";;label:left;"),
34
- right: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('left', "-".concat(euiTheme.border.width.thin)), ";;label:right;")
57
+ left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('right', "-".concat(euiTheme.border.width.thick)), ";;label:left;"),
58
+ right: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('left', "-".concat(euiTheme.border.width.thick)), ";;label:right;")
59
+ },
60
+ noOverlay: {
61
+ noOverlay: _ref3,
62
+ left: _ref2,
63
+ right: _ref
35
64
  }
36
65
  };
37
66
  };
@@ -432,7 +432,7 @@ var EuiPopover = exports.EuiPopover = /*#__PURE__*/function (_Component) {
432
432
  }), popoverScreenReaderText));
433
433
  }
434
434
  var returnFocus = this.state.isOpenStable ? returnFocusConfig : false;
435
- panel = (0, _react2.jsx)(_portal.EuiPortal, {
435
+ panel = (0, _react2.jsx)(_portal.EuiPortal, insert && {
436
436
  insert: insert
437
437
  }, (0, _react2.jsx)(_focus_trap.EuiFocusTrap, (0, _extends2.default)({
438
438
  clickOutsideDisables: true,
@@ -13,6 +13,7 @@ var _global_styles = require("../../global_styling/reset/global_styles");
13
13
  var _utility = require("../../global_styling/utility/utility");
14
14
  var _themes = require("../../themes");
15
15
  var _cache = require("./cache");
16
+ var _system_color_mode = require("./system_color_mode");
16
17
  var _nested = require("./nested");
17
18
  var _component_defaults = require("./component_defaults");
18
19
  var _react2 = require("@emotion/react");
@@ -71,17 +72,19 @@ var EuiProvider = exports.EuiProvider = function EuiProvider(_ref) {
71
72
  }
72
73
  return (0, _react2.jsx)(_nested.EuiProviderNestedCheck, null, (0, _react2.jsx)(_cache.EuiCacheProvider, {
73
74
  cache: (_defaultCache = defaultCache) !== null && _defaultCache !== void 0 ? _defaultCache : _css.cache
74
- }, (0, _react2.jsx)(_services.EuiThemeProvider, {
75
- theme: theme !== null && theme !== void 0 ? theme : undefined,
76
- colorMode: colorMode,
77
- modify: modify
78
- }, theme && (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_cache.EuiCacheProvider, {
79
- cache: globalCache,
80
- children: Globals && (0, _react2.jsx)(Globals, null)
81
- }), (0, _react2.jsx)(_cache.EuiCacheProvider, {
82
- cache: utilityCache,
83
- children: Utilities && (0, _react2.jsx)(Utilities, null)
84
- })), (0, _react2.jsx)(_component_defaults.EuiComponentDefaultsProvider, {
85
- componentDefaults: componentDefaults
86
- }, children))));
75
+ }, (0, _react2.jsx)(_system_color_mode.EuiSystemColorModeProvider, null, function (systemColorMode) {
76
+ return (0, _react2.jsx)(_services.EuiThemeProvider, {
77
+ theme: theme !== null && theme !== void 0 ? theme : undefined,
78
+ colorMode: colorMode !== null && colorMode !== void 0 ? colorMode : systemColorMode,
79
+ modify: modify
80
+ }, theme && (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_cache.EuiCacheProvider, {
81
+ cache: globalCache,
82
+ children: Globals && (0, _react2.jsx)(Globals, null)
83
+ }), (0, _react2.jsx)(_cache.EuiCacheProvider, {
84
+ cache: utilityCache,
85
+ children: Utilities && (0, _react2.jsx)(Utilities, null)
86
+ })), (0, _react2.jsx)(_component_defaults.EuiComponentDefaultsProvider, {
87
+ componentDefaults: componentDefaults
88
+ }, children));
89
+ })));
87
90
  };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "EuiSystemColorModeProvider", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _system_color_mode_provider.EuiSystemColorModeProvider;
10
+ }
11
+ });
12
+ var _system_color_mode_provider = require("./system_color_mode_provider");
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.EuiSystemColorModeProvider = exports.COLOR_MODE_MEDIA_QUERY = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = require("react");
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ /*
12
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
13
+ * or more contributor license agreements. Licensed under the Elastic License
14
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
15
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
16
+ * Side Public License, v 1.
17
+ */
18
+
19
+ var COLOR_MODE_MEDIA_QUERY = exports.COLOR_MODE_MEDIA_QUERY = '(prefers-color-scheme: dark)';
20
+ var EuiSystemColorModeProvider = exports.EuiSystemColorModeProvider = function EuiSystemColorModeProvider(_ref) {
21
+ var children = _ref.children;
22
+ // Use optional chaining here for SSR or test environments
23
+ var _useState = (0, _react.useState)(function () {
24
+ var _window, _window$matchMedia;
25
+ return (_window = window) !== null && _window !== void 0 && (_window$matchMedia = _window.matchMedia) !== null && _window$matchMedia !== void 0 && _window$matchMedia.call(_window, COLOR_MODE_MEDIA_QUERY).matches ? 'DARK' : 'LIGHT';
26
+ }),
27
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
28
+ systemColorMode = _useState2[0],
29
+ setSystemColorMode = _useState2[1];
30
+
31
+ // Listen for system changes
32
+ (0, _react.useEffect)(function () {
33
+ var _window$matchMedia2, _window2, _window$matchMedia2$c, _window$matchMedia2$c2;
34
+ var eventListener = function eventListener(event) {
35
+ setSystemColorMode(event.matches ? 'DARK' : 'LIGHT');
36
+ };
37
+
38
+ // Optional chaining here is for test environments - SSR should not run useEffect
39
+ (_window$matchMedia2 = (_window2 = window).matchMedia) === null || _window$matchMedia2 === void 0 || (_window$matchMedia2$c = (_window$matchMedia2$c2 = _window$matchMedia2.call(_window2, COLOR_MODE_MEDIA_QUERY)).addEventListener) === null || _window$matchMedia2$c === void 0 || _window$matchMedia2$c.call(_window$matchMedia2$c2, 'change', eventListener);
40
+
41
+ // Clean up the listener on unmount
42
+ return function () {
43
+ var _window$matchMedia3, _window3, _window$matchMedia3$c, _window$matchMedia3$c2;
44
+ (_window$matchMedia3 = (_window3 = window).matchMedia) === null || _window$matchMedia3 === void 0 || (_window$matchMedia3$c = (_window$matchMedia3$c2 = _window$matchMedia3.call(_window3, COLOR_MODE_MEDIA_QUERY)).removeEventListener) === null || _window$matchMedia3$c === void 0 || _window$matchMedia3$c.call(_window$matchMedia3$c2, 'change', eventListener);
45
+ };
46
+ }, []);
47
+ return children(systemColorMode);
48
+ };
49
+ EuiSystemColorModeProvider.propTypes = {
50
+ children: _propTypes.default.func.isRequired
51
+ };