@elastic/eui 89.1.0 → 91.0.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 (508) hide show
  1. package/dist/eui_charts_theme.js +1 -15
  2. package/dist/eui_charts_theme.js.map +1 -1
  3. package/dist/eui_theme_dark.css +114 -547
  4. package/dist/eui_theme_dark.min.css +1 -1
  5. package/dist/eui_theme_light.css +114 -547
  6. package/dist/eui_theme_light.min.css +1 -1
  7. package/es/components/accessibility/skip_link/skip_link.js +1 -2
  8. package/es/components/accordion/accordion.js +40 -4
  9. package/es/components/accordion/accordion_children/accordion_children.js +10 -17
  10. package/es/components/basic_table/basic_table.js +60 -23
  11. package/es/components/basic_table/collapsed_item_actions.js +1 -1
  12. package/es/components/basic_table/in_memory_table.js +18 -4
  13. package/es/components/breadcrumbs/breadcrumb.js +5 -5
  14. package/es/components/breadcrumbs/breadcrumbs.js +5 -5
  15. package/es/components/button/button.js +17 -45
  16. package/es/components/button/button_display/_button_display.js +1 -1
  17. package/es/components/button/button_empty/button_empty.js +30 -47
  18. package/es/components/button/button_group/button_group.js +8 -10
  19. package/es/components/button/button_group/button_group_button.js +8 -51
  20. package/es/components/button/button_group/button_group_button.styles.js +2 -12
  21. package/es/components/button/button_icon/button_icon.js +26 -43
  22. package/es/components/card/card.js +1 -6
  23. package/es/components/card/card_select/card_select.js +1 -6
  24. package/es/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  25. package/es/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  26. package/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  27. package/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +26 -7
  28. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +11 -4
  29. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +11 -4
  30. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +11 -4
  31. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +36 -4
  32. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  33. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +162 -0
  34. package/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +65 -26
  35. package/es/components/collapsible_nav_beta/context.js +1 -0
  36. package/es/components/combo_box/combo_box.js +7 -5
  37. package/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  38. package/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  39. package/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  40. package/es/components/combo_box/utils.js +23 -0
  41. package/es/components/comment_list/comment_event.js +31 -19
  42. package/es/components/comment_list/comment_event.styles.js +26 -24
  43. package/es/components/context_menu/context_menu.js +28 -22
  44. package/es/components/context_menu/context_menu.styles.js +26 -0
  45. package/es/components/context_menu/context_menu_item.js +95 -125
  46. package/es/components/context_menu/context_menu_item.styles.js +82 -0
  47. package/es/components/context_menu/context_menu_panel.a11y.js +4 -2
  48. package/es/components/context_menu/context_menu_panel.js +32 -61
  49. package/es/components/context_menu/context_menu_panel.styles.js +40 -0
  50. package/es/components/control_bar/control_bar.js +33 -28
  51. package/es/components/datagrid/body/data_grid_body.js +6 -7
  52. package/es/components/datagrid/body/data_grid_body_custom.js +6 -7
  53. package/es/components/datagrid/body/data_grid_body_virtualized.js +6 -7
  54. package/es/components/datagrid/body/data_grid_cell.js +12 -13
  55. package/es/components/datagrid/body/data_grid_row_manager.js +28 -9
  56. package/es/components/datagrid/body/header/data_grid_header_cell.js +7 -8
  57. package/es/components/datagrid/body/header/data_grid_header_row.js +6 -7
  58. package/es/components/datagrid/controls/column_selector.js +5 -6
  59. package/es/components/datagrid/controls/column_sorting.js +6 -9
  60. package/es/components/datagrid/controls/display_selector.js +21 -16
  61. package/es/components/datagrid/data_grid.js +3 -865
  62. package/es/components/datagrid/utils/in_memory.js +6 -7
  63. package/es/components/date_picker/auto_refresh/auto_refresh.js +1 -2
  64. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +92 -26
  65. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  66. package/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  67. package/es/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  68. package/es/components/facet/facet_button.js +1 -1
  69. package/es/components/filter_group/filter_group.styles.js +1 -1
  70. package/es/components/form/field_number/field_number.js +13 -9
  71. package/es/components/form/field_password/field_password.js +4 -7
  72. package/es/components/form/range/dual_range.js +110 -85
  73. package/es/components/form/range/range.js +47 -40
  74. package/es/components/form/range/range_track.js +6 -20
  75. package/es/components/form/range/utils.js +1 -2
  76. package/es/components/header/header_breadcrumbs/header_breadcrumbs.js +5 -5
  77. package/es/components/header/header_links/header_link.js +1 -6
  78. package/es/components/header/header_links/header_links.js +5 -5
  79. package/es/components/header/header_section/header_section_item_button.js +1 -6
  80. package/es/components/i18n/i18n.js +1 -0
  81. package/es/components/list_group/list_group.js +1 -2
  82. package/es/components/list_group/list_group_item.js +7 -5
  83. package/es/components/list_group/list_group_item_extra_action.js +1 -2
  84. package/es/components/list_group/list_group_item_extra_action.styles.js +1 -1
  85. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
  86. package/es/components/modal/confirm_modal.js +1 -1
  87. package/es/components/notification/notification_event.js +1 -6
  88. package/es/components/notification/notification_event_read_button.js +1 -2
  89. package/es/components/page/index.js +1 -4
  90. package/es/components/page/page_header/page_header_content.js +5 -5
  91. package/es/components/pagination/pagination_button.js +1 -6
  92. package/es/components/popover/input_popover.js +27 -12
  93. package/es/components/popover/popover.js +15 -27
  94. package/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
  95. package/es/components/popover/popover_panel/_popover_panel.js +2 -6
  96. package/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  97. package/es/components/selectable/selectable_templates/selectable_template_sitewide.js +13 -11
  98. package/es/components/tabs/tab.js +1 -1
  99. package/es/components/toast/global_toast_list.js +11 -1
  100. package/es/components/tour/tour_step.js +5 -5
  101. package/es/global_styling/mixins/_states.js +4 -1
  102. package/es/services/color/eui_palettes.js +0 -6
  103. package/es/services/color/index.js +1 -1
  104. package/es/services/hooks/useCombinedRefs.js +16 -9
  105. package/es/services/index.js +1 -2
  106. package/es/test/rtl/component_helpers.d.ts +2 -0
  107. package/es/test/rtl/component_helpers.js +40 -1
  108. package/eui.d.ts +294 -369
  109. package/i18ntokens.json +302 -248
  110. package/lib/components/accessibility/skip_link/skip_link.js +1 -2
  111. package/lib/components/accordion/accordion.js +40 -4
  112. package/lib/components/accordion/accordion_children/accordion_children.js +8 -15
  113. package/lib/components/basic_table/basic_table.js +60 -23
  114. package/lib/components/basic_table/collapsed_item_actions.js +1 -1
  115. package/lib/components/basic_table/in_memory_table.js +18 -4
  116. package/lib/components/breadcrumbs/breadcrumb.js +5 -5
  117. package/lib/components/button/button.js +24 -51
  118. package/lib/components/button/button_display/_button_display.js +1 -1
  119. package/lib/components/button/button_empty/button_empty.js +29 -46
  120. package/lib/components/button/button_group/button_group.js +7 -9
  121. package/lib/components/button/button_group/button_group_button.js +8 -51
  122. package/lib/components/button/button_group/button_group_button.styles.js +2 -12
  123. package/lib/components/button/button_icon/button_icon.js +25 -42
  124. package/lib/components/card/card.js +1 -6
  125. package/lib/components/card/card_select/card_select.js +1 -6
  126. package/lib/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  127. package/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  128. package/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  129. package/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +25 -6
  130. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +11 -4
  131. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +11 -4
  132. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +11 -4
  133. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +36 -4
  134. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  135. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +169 -0
  136. package/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +65 -26
  137. package/lib/components/collapsible_nav_beta/context.js +1 -0
  138. package/lib/components/combo_box/combo_box.js +7 -5
  139. package/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  140. package/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  141. package/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  142. package/lib/components/combo_box/utils.js +31 -0
  143. package/lib/components/comment_list/comment_event.js +33 -18
  144. package/lib/components/comment_list/comment_event.styles.js +28 -25
  145. package/lib/components/context_menu/context_menu.js +31 -24
  146. package/lib/components/context_menu/context_menu.styles.js +34 -0
  147. package/lib/components/context_menu/context_menu_item.js +102 -133
  148. package/lib/components/context_menu/context_menu_item.styles.js +87 -0
  149. package/lib/components/context_menu/context_menu_panel.a11y.js +4 -2
  150. package/lib/components/context_menu/context_menu_panel.js +35 -63
  151. package/lib/components/context_menu/context_menu_panel.styles.js +46 -0
  152. package/lib/components/control_bar/control_bar.js +28 -23
  153. package/lib/components/datagrid/body/data_grid_body.js +6 -7
  154. package/lib/components/datagrid/body/data_grid_body_custom.js +6 -7
  155. package/lib/components/datagrid/body/data_grid_body_virtualized.js +6 -7
  156. package/lib/components/datagrid/body/data_grid_cell.js +12 -13
  157. package/lib/components/datagrid/body/data_grid_row_manager.js +33 -16
  158. package/lib/components/datagrid/body/header/data_grid_header_cell.js +7 -8
  159. package/lib/components/datagrid/body/header/data_grid_header_row.js +6 -7
  160. package/lib/components/datagrid/controls/column_selector.js +5 -6
  161. package/lib/components/datagrid/controls/column_sorting.js +5 -8
  162. package/lib/components/datagrid/controls/display_selector.js +21 -16
  163. package/lib/components/datagrid/data_grid.js +2 -864
  164. package/lib/components/datagrid/utils/in_memory.js +6 -7
  165. package/lib/components/date_picker/auto_refresh/auto_refresh.js +1 -2
  166. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +91 -26
  167. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  168. package/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  169. package/lib/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  170. package/lib/components/facet/facet_button.js +1 -1
  171. package/lib/components/filter_group/filter_group.styles.js +1 -1
  172. package/lib/components/form/field_number/field_number.js +12 -8
  173. package/lib/components/form/field_password/field_password.js +4 -7
  174. package/lib/components/form/range/dual_range.js +110 -85
  175. package/lib/components/form/range/range.js +47 -40
  176. package/lib/components/form/range/range_track.js +5 -19
  177. package/lib/components/form/range/utils.js +1 -2
  178. package/lib/components/header/header_links/header_link.js +1 -6
  179. package/lib/components/header/header_section/header_section_item_button.js +1 -6
  180. package/lib/components/i18n/i18n.js +1 -0
  181. package/lib/components/list_group/list_group.js +1 -2
  182. package/lib/components/list_group/list_group_item.js +7 -5
  183. package/lib/components/list_group/list_group_item_extra_action.js +1 -2
  184. package/lib/components/list_group/list_group_item_extra_action.styles.js +1 -1
  185. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
  186. package/lib/components/modal/confirm_modal.js +1 -1
  187. package/lib/components/notification/notification_event.js +1 -6
  188. package/lib/components/notification/notification_event_read_button.js +1 -2
  189. package/lib/components/page/index.js +1 -40
  190. package/lib/components/popover/input_popover.js +27 -12
  191. package/lib/components/popover/popover.js +29 -35
  192. package/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  193. package/lib/components/popover/popover_panel/_popover_panel.js +2 -1
  194. package/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  195. package/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
  196. package/lib/components/tabs/tab.js +1 -1
  197. package/lib/components/toast/global_toast_list.js +11 -1
  198. package/lib/global_styling/mixins/_states.js +4 -1
  199. package/lib/services/color/eui_palettes.js +1 -8
  200. package/lib/services/color/index.js +0 -7
  201. package/lib/services/hooks/useCombinedRefs.js +19 -10
  202. package/lib/services/index.js +0 -15
  203. package/lib/test/rtl/component_helpers.d.ts +2 -0
  204. package/lib/test/rtl/component_helpers.js +41 -3
  205. package/optimize/es/components/accordion/accordion.js +32 -4
  206. package/optimize/es/components/accordion/accordion_children/accordion_children.js +8 -16
  207. package/optimize/es/components/basic_table/basic_table.js +42 -19
  208. package/optimize/es/components/button/button.js +15 -33
  209. package/optimize/es/components/button/button_empty/button_empty.js +29 -41
  210. package/optimize/es/components/button/button_group/button_group.js +7 -8
  211. package/optimize/es/components/button/button_group/button_group_button.js +6 -38
  212. package/optimize/es/components/button/button_group/button_group_button.styles.js +2 -12
  213. package/optimize/es/components/button/button_icon/button_icon.js +25 -37
  214. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  215. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  216. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +8 -3
  217. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  218. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +64 -0
  219. package/optimize/es/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +21 -10
  220. package/optimize/es/components/collapsible_nav_beta/context.js +1 -0
  221. package/optimize/es/components/combo_box/combo_box.js +7 -5
  222. package/optimize/es/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  223. package/optimize/es/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
  224. package/optimize/es/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  225. package/optimize/es/components/combo_box/utils.js +23 -0
  226. package/optimize/es/components/comment_list/comment_event.js +31 -19
  227. package/optimize/es/components/comment_list/comment_event.styles.js +26 -24
  228. package/optimize/es/components/context_menu/context_menu.js +25 -19
  229. package/optimize/es/components/context_menu/context_menu.styles.js +26 -0
  230. package/optimize/es/components/context_menu/context_menu_item.js +94 -119
  231. package/optimize/es/components/context_menu/context_menu_item.styles.js +82 -0
  232. package/optimize/es/components/context_menu/context_menu_panel.a11y.js +4 -2
  233. package/optimize/es/components/context_menu/context_menu_panel.js +29 -58
  234. package/optimize/es/components/context_menu/context_menu_panel.styles.js +40 -0
  235. package/optimize/es/components/control_bar/control_bar.js +28 -23
  236. package/optimize/es/components/datagrid/body/data_grid_row_manager.js +23 -9
  237. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  238. package/optimize/es/components/datagrid/controls/column_selector.js +5 -6
  239. package/optimize/es/components/datagrid/controls/column_sorting.js +6 -9
  240. package/optimize/es/components/datagrid/controls/display_selector.js +21 -16
  241. package/optimize/es/components/datagrid/data_grid.js +3 -3
  242. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +87 -26
  243. package/optimize/es/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  244. package/optimize/es/components/filter_group/filter_group.styles.js +1 -1
  245. package/optimize/es/components/form/field_number/field_number.js +13 -9
  246. package/optimize/es/components/form/field_password/field_password.js +4 -7
  247. package/optimize/es/components/form/range/dual_range.js +110 -85
  248. package/optimize/es/components/form/range/range.js +47 -40
  249. package/optimize/es/components/form/range/range_track.js +5 -14
  250. package/optimize/es/components/form/range/utils.js +1 -2
  251. package/optimize/es/components/i18n/i18n.js +1 -0
  252. package/optimize/es/components/list_group/list_group_item.js +6 -3
  253. package/optimize/es/components/list_group/list_group_item_extra_action.styles.js +1 -1
  254. package/optimize/es/components/page/index.js +1 -4
  255. package/optimize/es/components/popover/input_popover.js +27 -12
  256. package/optimize/es/components/popover/popover.js +10 -22
  257. package/optimize/es/components/popover/popover_arrow/_popover_arrow.styles.js +2 -4
  258. package/optimize/es/components/popover/popover_panel/_popover_panel.js +2 -1
  259. package/optimize/es/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  260. package/optimize/es/components/selectable/selectable_templates/selectable_template_sitewide.js +13 -11
  261. package/optimize/es/components/tabs/tab.js +1 -1
  262. package/optimize/es/components/toast/global_toast_list.js +1 -1
  263. package/optimize/es/global_styling/mixins/_states.js +4 -1
  264. package/optimize/es/services/color/eui_palettes.js +0 -6
  265. package/optimize/es/services/color/index.js +1 -1
  266. package/optimize/es/services/hooks/useCombinedRefs.js +16 -9
  267. package/optimize/es/services/index.js +1 -2
  268. package/optimize/es/test/rtl/component_helpers.d.ts +2 -0
  269. package/optimize/es/test/rtl/component_helpers.js +40 -1
  270. package/optimize/lib/components/accordion/accordion.js +32 -4
  271. package/optimize/lib/components/accordion/accordion_children/accordion_children.js +6 -14
  272. package/optimize/lib/components/basic_table/basic_table.js +42 -19
  273. package/optimize/lib/components/button/button.js +16 -34
  274. package/optimize/lib/components/button/button_empty/button_empty.js +28 -40
  275. package/optimize/lib/components/button/button_group/button_group.js +6 -7
  276. package/optimize/lib/components/button/button_group/button_group_button.js +6 -38
  277. package/optimize/lib/components/button/button_group/button_group_button.styles.js +2 -12
  278. package/optimize/lib/components/button/button_icon/button_icon.js +24 -36
  279. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  280. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  281. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +7 -2
  282. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  283. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +71 -0
  284. package/optimize/lib/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +21 -10
  285. package/optimize/lib/components/collapsible_nav_beta/context.js +1 -0
  286. package/optimize/lib/components/combo_box/combo_box.js +7 -5
  287. package/optimize/lib/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  288. package/optimize/lib/components/combo_box/combo_box_input/combo_box_pill.js +8 -17
  289. package/optimize/lib/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  290. package/optimize/lib/components/combo_box/utils.js +31 -0
  291. package/optimize/lib/components/comment_list/comment_event.js +33 -18
  292. package/optimize/lib/components/comment_list/comment_event.styles.js +28 -25
  293. package/optimize/lib/components/context_menu/context_menu.js +28 -21
  294. package/optimize/lib/components/context_menu/context_menu.styles.js +34 -0
  295. package/optimize/lib/components/context_menu/context_menu_item.js +101 -128
  296. package/optimize/lib/components/context_menu/context_menu_item.styles.js +87 -0
  297. package/optimize/lib/components/context_menu/context_menu_panel.a11y.js +4 -2
  298. package/optimize/lib/components/context_menu/context_menu_panel.js +32 -60
  299. package/optimize/lib/components/context_menu/context_menu_panel.styles.js +47 -0
  300. package/optimize/lib/components/control_bar/control_bar.js +28 -23
  301. package/optimize/lib/components/datagrid/body/data_grid_row_manager.js +23 -8
  302. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +1 -1
  303. package/optimize/lib/components/datagrid/controls/column_selector.js +5 -6
  304. package/optimize/lib/components/datagrid/controls/column_sorting.js +5 -8
  305. package/optimize/lib/components/datagrid/controls/display_selector.js +21 -16
  306. package/optimize/lib/components/datagrid/data_grid.js +2 -2
  307. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
  308. package/optimize/lib/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  309. package/optimize/lib/components/filter_group/filter_group.styles.js +1 -1
  310. package/optimize/lib/components/form/field_number/field_number.js +12 -8
  311. package/optimize/lib/components/form/field_password/field_password.js +5 -8
  312. package/optimize/lib/components/form/range/dual_range.js +110 -85
  313. package/optimize/lib/components/form/range/range.js +47 -40
  314. package/optimize/lib/components/form/range/range_track.js +4 -13
  315. package/optimize/lib/components/form/range/utils.js +1 -2
  316. package/optimize/lib/components/i18n/i18n.js +1 -0
  317. package/optimize/lib/components/list_group/list_group_item.js +6 -3
  318. package/optimize/lib/components/list_group/list_group_item_extra_action.styles.js +1 -1
  319. package/optimize/lib/components/page/index.js +1 -40
  320. package/optimize/lib/components/popover/input_popover.js +28 -13
  321. package/optimize/lib/components/popover/popover.js +24 -35
  322. package/optimize/lib/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  323. package/optimize/lib/components/popover/popover_panel/_popover_panel.js +2 -1
  324. package/optimize/lib/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  325. package/optimize/lib/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
  326. package/optimize/lib/components/tabs/tab.js +1 -1
  327. package/optimize/lib/components/toast/global_toast_list.js +1 -1
  328. package/optimize/lib/global_styling/mixins/_states.js +4 -1
  329. package/optimize/lib/services/color/eui_palettes.js +1 -8
  330. package/optimize/lib/services/color/index.js +0 -7
  331. package/optimize/lib/services/hooks/useCombinedRefs.js +19 -10
  332. package/optimize/lib/services/index.js +0 -15
  333. package/optimize/lib/test/rtl/component_helpers.d.ts +2 -0
  334. package/optimize/lib/test/rtl/component_helpers.js +41 -3
  335. package/package.json +14 -14
  336. package/src/components/combo_box/_combo_box.scss +46 -14
  337. package/src/components/combo_box/combo_box_input/_combo_box_pill.scss +0 -17
  338. package/src/components/combo_box/combo_box_input/_index.scss +0 -2
  339. package/src/components/datagrid/_data_grid_data_row.scss +1 -3
  340. package/src/components/date_picker/super_date_picker/date_popover/_absolute_tab.scss +21 -0
  341. package/src/components/date_picker/super_date_picker/date_popover/_date_popover_content.scss +2 -1
  342. package/src/components/date_picker/super_date_picker/quick_select_popover/_quick_select_popover.scss +0 -4
  343. package/src/components/form/form_control_layout/_form_control_layout.scss +0 -1
  344. package/src/components/index.scss +0 -2
  345. package/src/global_styling/variables/_typography.scss +2 -2
  346. package/test-env/components/accessibility/skip_link/skip_link.js +1 -2
  347. package/test-env/components/accordion/accordion.js +40 -4
  348. package/test-env/components/accordion/accordion_children/accordion_children.js +8 -15
  349. package/test-env/components/basic_table/basic_table.js +60 -23
  350. package/test-env/components/basic_table/collapsed_item_actions.js +1 -1
  351. package/test-env/components/basic_table/in_memory_table.js +18 -4
  352. package/test-env/components/breadcrumbs/breadcrumb.js +5 -5
  353. package/test-env/components/button/button.js +17 -40
  354. package/test-env/components/button/button_display/_button_display.js +1 -1
  355. package/test-env/components/button/button_empty/button_empty.js +29 -46
  356. package/test-env/components/button/button_group/button_group.js +7 -9
  357. package/test-env/components/button/button_group/button_group_button.js +8 -51
  358. package/test-env/components/button/button_group/button_group_button.styles.js +2 -12
  359. package/test-env/components/button/button_icon/button_icon.js +25 -42
  360. package/test-env/components/card/card.js +1 -6
  361. package/test-env/components/card/card_select/card_select.js +1 -6
  362. package/test-env/components/collapsible_nav/collapsible_nav_group/collapsible_nav_group.js +8 -0
  363. package/test-env/components/collapsible_nav_beta/collapsible_nav_beta.js +12 -8
  364. package/test-env/components/collapsible_nav_beta/collapsible_nav_button/collapsible_nav_button.js +12 -7
  365. package/test-env/components/collapsible_nav_beta/collapsible_nav_group/collapsible_nav_group.js +25 -6
  366. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_button.js +11 -4
  367. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_item.js +11 -4
  368. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsed/collapsed_nav_popover.js +11 -4
  369. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.js +36 -4
  370. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_accordion.styles.js +1 -1
  371. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_group.js +168 -0
  372. package/test-env/components/collapsible_nav_beta/collapsible_nav_item/collapsible_nav_item.js +65 -26
  373. package/test-env/components/collapsible_nav_beta/context.js +1 -0
  374. package/test-env/components/combo_box/combo_box.js +7 -5
  375. package/test-env/components/combo_box/combo_box_input/combo_box_input.js +107 -65
  376. package/test-env/components/combo_box/combo_box_input/combo_box_pill.js +8 -18
  377. package/test-env/components/combo_box/combo_box_options_list/combo_box_options_list.js +6 -6
  378. package/test-env/components/combo_box/utils.js +31 -0
  379. package/test-env/components/comment_list/comment_event.js +33 -18
  380. package/test-env/components/comment_list/comment_event.styles.js +28 -25
  381. package/test-env/components/context_menu/context_menu.js +31 -24
  382. package/test-env/components/context_menu/context_menu.styles.js +34 -0
  383. package/test-env/components/context_menu/context_menu_item.js +102 -129
  384. package/test-env/components/context_menu/context_menu_item.styles.js +87 -0
  385. package/test-env/components/context_menu/context_menu_panel.a11y.js +4 -2
  386. package/test-env/components/context_menu/context_menu_panel.js +35 -63
  387. package/test-env/components/context_menu/context_menu_panel.styles.js +47 -0
  388. package/test-env/components/control_bar/control_bar.js +28 -23
  389. package/test-env/components/datagrid/body/data_grid_body.js +6 -7
  390. package/test-env/components/datagrid/body/data_grid_body_custom.js +6 -7
  391. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +6 -7
  392. package/test-env/components/datagrid/body/data_grid_cell.js +12 -13
  393. package/test-env/components/datagrid/body/data_grid_row_manager.js +23 -8
  394. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +7 -8
  395. package/test-env/components/datagrid/body/header/data_grid_header_row.js +6 -7
  396. package/test-env/components/datagrid/controls/column_selector.js +5 -6
  397. package/test-env/components/datagrid/controls/column_sorting.js +5 -8
  398. package/test-env/components/datagrid/controls/display_selector.js +21 -16
  399. package/test-env/components/datagrid/data_grid.js +2 -864
  400. package/test-env/components/datagrid/utils/in_memory.js +6 -7
  401. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +1 -2
  402. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +86 -26
  403. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +1 -1
  404. package/test-env/components/date_picker/super_date_picker/quick_select_popover/quick_select_popover.js +1 -2
  405. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +19 -0
  406. package/test-env/components/facet/facet_button.js +1 -1
  407. package/test-env/components/filter_group/filter_group.styles.js +1 -1
  408. package/test-env/components/form/field_number/field_number.js +12 -8
  409. package/test-env/components/form/field_password/field_password.js +4 -7
  410. package/test-env/components/form/range/dual_range.js +110 -85
  411. package/test-env/components/form/range/range.js +47 -40
  412. package/test-env/components/form/range/range_track.js +5 -14
  413. package/test-env/components/form/range/utils.js +1 -2
  414. package/test-env/components/header/header_links/header_link.js +1 -6
  415. package/test-env/components/header/header_section/header_section_item_button.js +1 -6
  416. package/test-env/components/i18n/i18n.js +1 -0
  417. package/test-env/components/list_group/list_group.js +1 -2
  418. package/test-env/components/list_group/list_group_item.js +7 -5
  419. package/test-env/components/list_group/list_group_item_extra_action.js +1 -2
  420. package/test-env/components/list_group/list_group_item_extra_action.styles.js +1 -1
  421. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +2 -3
  422. package/test-env/components/modal/confirm_modal.js +1 -1
  423. package/test-env/components/notification/notification_event.js +1 -6
  424. package/test-env/components/notification/notification_event_read_button.js +1 -2
  425. package/test-env/components/page/index.js +1 -40
  426. package/test-env/components/popover/input_popover.js +27 -12
  427. package/test-env/components/popover/popover.js +29 -35
  428. package/test-env/components/popover/popover_arrow/_popover_arrow.styles.js +1 -3
  429. package/test-env/components/popover/popover_panel/_popover_panel.js +2 -1
  430. package/test-env/components/popover/popover_panel/_popover_panel.styles.js +6 -1
  431. package/test-env/components/selectable/selectable_templates/selectable_template_sitewide.js +12 -10
  432. package/test-env/components/tabs/tab.js +1 -1
  433. package/test-env/components/toast/global_toast_list.js +11 -1
  434. package/test-env/global_styling/mixins/_states.js +4 -1
  435. package/test-env/services/color/eui_palettes.js +1 -8
  436. package/test-env/services/color/index.js +0 -7
  437. package/test-env/services/hooks/useCombinedRefs.js +19 -10
  438. package/test-env/services/index.js +0 -15
  439. package/test-env/test/rtl/component_helpers.js +41 -3
  440. package/es/components/page/page_content/index.js +0 -12
  441. package/es/components/page/page_content/page_content.js +0 -110
  442. package/es/components/page/page_content/page_content_body.js +0 -69
  443. package/es/components/page/page_content/page_content_header.js +0 -43
  444. package/es/components/page/page_content/page_content_header_section.js +0 -34
  445. package/es/components/page/page_side_bar/index.js +0 -9
  446. package/es/components/page/page_side_bar/page_side_bar.js +0 -60
  447. package/es/components/page/page_template.js +0 -591
  448. package/es/services/random.js +0 -94
  449. package/es/services/utils.js +0 -25
  450. package/es/test/patch_random.js +0 -18
  451. package/lib/components/page/page_content/index.js +0 -33
  452. package/lib/components/page/page_content/page_content.js +0 -117
  453. package/lib/components/page/page_content/page_content_body.js +0 -77
  454. package/lib/components/page/page_content/page_content_header.js +0 -50
  455. package/lib/components/page/page_content/page_content_header_section.js +0 -41
  456. package/lib/components/page/page_side_bar/index.js +0 -12
  457. package/lib/components/page/page_side_bar/page_side_bar.js +0 -67
  458. package/lib/components/page/page_template.js +0 -598
  459. package/lib/services/random.js +0 -100
  460. package/lib/services/utils.js +0 -35
  461. package/lib/test/patch_random.js +0 -25
  462. package/optimize/es/components/page/page_content/index.js +0 -12
  463. package/optimize/es/components/page/page_content/page_content.js +0 -45
  464. package/optimize/es/components/page/page_content/page_content_body.js +0 -45
  465. package/optimize/es/components/page/page_content/page_content_header.js +0 -30
  466. package/optimize/es/components/page/page_content/page_content_header_section.js +0 -26
  467. package/optimize/es/components/page/page_side_bar/index.js +0 -9
  468. package/optimize/es/components/page/page_side_bar/page_side_bar.js +0 -44
  469. package/optimize/es/components/page/page_template.js +0 -325
  470. package/optimize/es/services/random.js +0 -85
  471. package/optimize/es/services/utils.js +0 -25
  472. package/optimize/es/test/patch_random.js +0 -18
  473. package/optimize/lib/components/page/page_content/index.js +0 -33
  474. package/optimize/lib/components/page/page_content/page_content.js +0 -52
  475. package/optimize/lib/components/page/page_content/page_content_body.js +0 -53
  476. package/optimize/lib/components/page/page_content/page_content_header.js +0 -37
  477. package/optimize/lib/components/page/page_content/page_content_header_section.js +0 -33
  478. package/optimize/lib/components/page/page_side_bar/index.js +0 -12
  479. package/optimize/lib/components/page/page_side_bar/page_side_bar.js +0 -51
  480. package/optimize/lib/components/page/page_template.js +0 -332
  481. package/optimize/lib/services/random.js +0 -91
  482. package/optimize/lib/services/utils.js +0 -35
  483. package/optimize/lib/test/patch_random.js +0 -25
  484. package/src/components/combo_box/combo_box_input/_combo_box_input.scss +0 -12
  485. package/src/components/combo_box/combo_box_input/_combo_box_placeholder.scss +0 -11
  486. package/src/components/context_menu/_context_menu.scss +0 -27
  487. package/src/components/context_menu/_context_menu_item.scss +0 -65
  488. package/src/components/context_menu/_context_menu_panel.scss +0 -101
  489. package/src/components/context_menu/_index.scss +0 -3
  490. package/src/components/page/_index.scss +0 -2
  491. package/src/components/page/page_content/_index.scss +0 -4
  492. package/src/components/page/page_content/_page_content.scss +0 -25
  493. package/src/components/page/page_content/_page_content_body.scss +0 -19
  494. package/src/components/page/page_content/_page_content_header.scss +0 -20
  495. package/src/components/page/page_content/_page_content_header_section.scss +0 -17
  496. package/src/components/page/page_side_bar/_index.scss +0 -1
  497. package/src/components/page/page_side_bar/_page_side_bar.scss +0 -31
  498. package/test-env/components/page/page_content/index.js +0 -33
  499. package/test-env/components/page/page_content/page_content.js +0 -116
  500. package/test-env/components/page/page_content/page_content_body.js +0 -73
  501. package/test-env/components/page/page_content/page_content_header.js +0 -49
  502. package/test-env/components/page/page_content/page_content_header_section.js +0 -40
  503. package/test-env/components/page/page_side_bar/index.js +0 -12
  504. package/test-env/components/page/page_side_bar/page_side_bar.js +0 -66
  505. package/test-env/components/page/page_template.js +0 -594
  506. package/test-env/services/random.js +0 -91
  507. package/test-env/services/utils.js +0 -35
  508. package/test-env/test/patch_random.js +0 -25
@@ -1,3 +1,4 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
1
2
  /*
2
3
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
3
4
  * or more contributor license agreements. Licensed under the Elastic License
@@ -6,7 +7,8 @@
6
7
  * Side Public License, v 1.
7
8
  */
8
9
 
9
- import { useRef, useCallback, useEffect } from 'react';
10
+ import { useRef, useCallback } from 'react';
11
+ import { useUpdateEffect } from '../../../services';
10
12
  export var useRowManager = function useRowManager(_ref) {
11
13
  var innerGridRef = _ref.innerGridRef,
12
14
  rowClasses = _ref.rowClasses;
@@ -20,14 +22,12 @@ export var useRowManager = function useRowManager(_ref) {
20
22
  if (rowElement == null) {
21
23
  rowElement = document.createElement('div');
22
24
  rowElement.setAttribute('role', 'row');
23
- rowElement.dataset.gridRowIndex = String(rowIndex); // Row index from data, affected by sorting/pagination
24
- rowElement.dataset.gridVisibleRowIndex = String(visibleRowIndex); // Affected by sorting/pagination
25
+ rowElement.dataset.gridRowIndex = String(rowIndex); // Row index from data, not affected by sorting/pagination
25
26
  rowElement.classList.add('euiDataGridRow');
26
27
  if (rowClasses !== null && rowClasses !== void 0 && rowClasses[rowIndex]) {
27
- rowElement.classList.add(rowClasses[rowIndex]);
28
+ var _rowElement$classList;
29
+ (_rowElement$classList = rowElement.classList).add.apply(_rowElement$classList, _toConsumableArray(rowClasses[rowIndex].split(' ')));
28
30
  }
29
- var isOddRow = visibleRowIndex % 2 !== 0;
30
- if (isOddRow) rowElement.classList.add('euiDataGridRow--striped');
31
31
  rowElement.style.position = 'absolute';
32
32
  rowElement.style.left = '0';
33
33
  rowElement.style.right = '0';
@@ -56,6 +56,17 @@ export var useRowManager = function useRowManager(_ref) {
56
56
  });
57
57
  }
58
58
 
59
+ // Ensure the row's visible row index & striping update correctly on sort & pagination
60
+ if (rowElement.dataset.gridVisibleRowIndex !== String(visibleRowIndex)) {
61
+ rowElement.dataset.gridVisibleRowIndex = String(visibleRowIndex);
62
+ var isOddRow = visibleRowIndex % 2 !== 0;
63
+ if (isOddRow) {
64
+ rowElement.classList.add('euiDataGridRow--striped');
65
+ } else {
66
+ rowElement.classList.remove('euiDataGridRow--striped');
67
+ }
68
+ }
69
+
59
70
  // Ensure that the row's dimensions are always correct by having each cell update position styles
60
71
  rowElement.style.top = top;
61
72
  rowElement.style.height = "".concat(height, "px");
@@ -63,13 +74,16 @@ export var useRowManager = function useRowManager(_ref) {
63
74
  }, [rowClasses, innerGridRef]);
64
75
 
65
76
  // Update row classes dynamically whenever a new prop is passed in
66
- useEffect(function () {
77
+ useUpdateEffect(function () {
67
78
  if (rowClasses) {
68
79
  rowIdToElements.current.forEach(function (rowElement, rowIndex) {
80
+ var euiClasses = Array.from(rowElement.classList).filter(function (className) {
81
+ return className.startsWith('euiDataGridRow');
82
+ }).join(' ');
69
83
  if (rowClasses[rowIndex]) {
70
- rowElement.classList.value = "euiDataGridRow ".concat(rowClasses[rowIndex]);
84
+ rowElement.classList.value = "".concat(euiClasses, " ").concat(rowClasses[rowIndex]);
71
85
  } else {
72
- rowElement.classList.value = 'euiDataGridRow'; // Clear any added classes
86
+ rowElement.classList.value = euiClasses; // Clear any added classes
73
87
  }
74
88
  });
75
89
  }
@@ -99,7 +99,7 @@ export var EuiDataGridHeaderCell = function EuiDataGridHeaderCell(_ref) {
99
99
  title: displayAsText || id
100
100
  }, display || displayAsText || id), sortingScreenReaderText && ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", null, sortingScreenReaderText))) : ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiPopover, _extends({
101
101
  className: "eui-fullWidth",
102
- anchorClassName: "eui-fullWidth",
102
+ display: "block",
103
103
  panelPaddingSize: "none",
104
104
  offset: 7,
105
105
  button: ___EmotionJSX("button", {
@@ -113,7 +113,7 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
113
113
  return setIsOpen(!isOpen);
114
114
  }
115
115
  }, buttonText)
116
- }, ___EmotionJSX("div", null, allowColumnHiding && ___EmotionJSX(EuiPopoverTitle, null, ___EmotionJSX(EuiI18n, {
116
+ }, allowColumnHiding && ___EmotionJSX(EuiPopoverTitle, null, ___EmotionJSX(EuiI18n, {
117
117
  tokens: ['euiColumnSelector.search', 'euiColumnSelector.searchcolumns'],
118
118
  defaults: ['Search', 'Search columns']
119
119
  }, function (_ref3) {
@@ -130,13 +130,12 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
130
130
  },
131
131
  "data-test-subj": "dataGridColumnSelectorSearch"
132
132
  });
133
- })), ___EmotionJSX("div", {
134
- className: "euiDataGrid__controlScroll"
135
- }, ___EmotionJSX(EuiDragDropContext, {
133
+ })), ___EmotionJSX(EuiDragDropContext, {
136
134
  onDragEnd: onDragEnd
137
135
  }, ___EmotionJSX(EuiDroppable, {
138
136
  droppableId: "columnOrder",
139
- isDropDisabled: !isDragEnabled
137
+ isDropDisabled: !isDragEnabled,
138
+ className: "euiDataGrid__controlScroll"
140
139
  }, ___EmotionJSX(React.Fragment, null, filteredColumns.map(function (id, index) {
141
140
  return ___EmotionJSX(EuiDraggable, {
142
141
  key: id,
@@ -189,7 +188,7 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
189
188
  color: "subdued"
190
189
  }))));
191
190
  });
192
- })))))), allowColumnHiding && ___EmotionJSX(EuiPopoverFooter, null, ___EmotionJSX(EuiFlexGroup, {
191
+ })))), allowColumnHiding && ___EmotionJSX(EuiPopoverFooter, null, ___EmotionJSX(EuiFlexGroup, {
193
192
  gutterSize: "s",
194
193
  responsive: false,
195
194
  justifyContent: "spaceBetween"
@@ -9,7 +9,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
9
9
  */
10
10
 
11
11
  import classNames from 'classnames';
12
- import React, { Fragment, useEffect, useState } from 'react';
12
+ import React, { useEffect, useState } from 'react';
13
13
  import { EuiButtonEmpty } from '../../button';
14
14
  import { EuiDragDropContext, euiDragDropReorder, EuiDroppable } from '../../drag_and_drop';
15
15
  import { EuiFlexGroup, EuiFlexItem } from '../../flex';
@@ -120,15 +120,12 @@ export var useDataGridColumnSorting = function useDataGridColumnSorting(columns,
120
120
  return setIsOpen(!isOpen);
121
121
  }
122
122
  }, sorting.columns.length > 0 ? sortingButtonTextActive : sortingButtonText)
123
- }, sorting.columns.length > 0 ? ___EmotionJSX("div", {
124
- role: "region",
125
- "aria-live": "assertive",
126
- className: "euiDataGrid__controlScroll"
127
- }, ___EmotionJSX(EuiDragDropContext, {
123
+ }, sorting.columns.length > 0 ? ___EmotionJSX(EuiDragDropContext, {
128
124
  onDragEnd: onDragEnd
129
125
  }, ___EmotionJSX(EuiDroppable, {
130
- droppableId: "columnSorting"
131
- }, ___EmotionJSX(Fragment, null, sorting.columns.map(function (_ref6, index) {
126
+ droppableId: "columnSorting",
127
+ className: "euiDataGrid__controlScroll"
128
+ }, ___EmotionJSX(React.Fragment, null, sorting.columns.map(function (_ref6, index) {
132
129
  var id = _ref6.id,
133
130
  direction = _ref6.direction;
134
131
  return ___EmotionJSX(EuiDataGridColumnSortingDraggable, {
@@ -141,7 +138,7 @@ export var useDataGridColumnSorting = function useDataGridColumnSorting(columns,
141
138
  schema: schema,
142
139
  schemaDetectors: schemaDetectors
143
140
  });
144
- }))))) : ___EmotionJSX(EuiText, {
141
+ })))) : ___EmotionJSX(EuiText, {
145
142
  size: "s",
146
143
  color: "subdued"
147
144
  }, ___EmotionJSX("p", {
@@ -73,6 +73,7 @@ var convertRowHeightsOptionsToSelection = function convertRowHeightsOptionsToSel
73
73
  }
74
74
  return rowHeightButtonOptions[0];
75
75
  };
76
+ var defaultLineCountValue = String(2);
76
77
  export var useDataGridDisplaySelector = function useDataGridDisplaySelector(showDisplaySelector, initialStyles, initialRowHeightsOptions) {
77
78
  var _showDisplaySelector$, _rowHeightsOptions$de2;
78
79
  var _useState = useState(false),
@@ -100,10 +101,10 @@ export var useDataGridDisplaySelector = function useDataGridDisplaySelector(show
100
101
  }, []);
101
102
 
102
103
  // Row height logic
103
- var _useState7 = useState(2),
104
+ var _useState7 = useState(defaultLineCountValue),
104
105
  _useState8 = _slicedToArray(_useState7, 2),
105
- lineCount = _useState8[0],
106
- setLineCount = _useState8[1];
106
+ lineCountInput = _useState8[0],
107
+ setLineCountInput = _useState8[1];
107
108
  var setRowHeight = useCallback(function (option) {
108
109
  var rowHeightsOptions = {
109
110
  rowHeights: {} // Unset all row-specific heights
@@ -113,25 +114,27 @@ export var useDataGridDisplaySelector = function useDataGridDisplaySelector(show
113
114
  rowHeightsOptions.defaultHeight = 'auto';
114
115
  } else if (option === 'lineCount') {
115
116
  rowHeightsOptions.defaultHeight = {
116
- lineCount: lineCount
117
+ lineCount: Number(lineCountInput)
117
118
  };
118
119
  } else {
119
120
  rowHeightsOptions.defaultHeight = undefined;
120
121
  }
121
122
  setUserRowHeightsOptions(rowHeightsOptions);
122
- }, [lineCount]);
123
+ }, [lineCountInput]);
123
124
  var setLineCountHeight = useCallback(function (event) {
125
+ setLineCountInput(event.currentTarget.value);
124
126
  var newLineCount = Number(event.currentTarget.value);
125
- if (newLineCount < 1) return; // Don't let users set a 0 or negative line count
126
127
 
127
- setLineCount(newLineCount);
128
- setUserRowHeightsOptions({
129
- rowHeights: {},
130
- // Unset all row-specific line counts
131
- defaultHeight: {
132
- lineCount: newLineCount
133
- }
134
- });
128
+ // Don't let users set a 0 or negative line count
129
+ if (newLineCount > 0) {
130
+ setUserRowHeightsOptions({
131
+ rowHeights: {},
132
+ // Unset all row-specific line counts
133
+ defaultHeight: {
134
+ lineCount: newLineCount
135
+ }
136
+ });
137
+ }
135
138
  }, []);
136
139
 
137
140
  // Merge the developer-specified configurations with user overrides
@@ -151,8 +154,9 @@ export var useDataGridDisplaySelector = function useDataGridDisplaySelector(show
151
154
  }, [rowHeightsOptions]);
152
155
  useEffect(function () {
153
156
  var _rowHeightsOptions$de;
157
+ setLineCountInput(
154
158
  // @ts-ignore - optional chaining operator handles types & cases that aren't lineCount
155
- setLineCount((rowHeightsOptions === null || rowHeightsOptions === void 0 ? void 0 : (_rowHeightsOptions$de = rowHeightsOptions.defaultHeight) === null || _rowHeightsOptions$de === void 0 ? void 0 : _rowHeightsOptions$de.lineCount) || 2);
159
+ (rowHeightsOptions === null || rowHeightsOptions === void 0 ? void 0 : (_rowHeightsOptions$de = rowHeightsOptions.defaultHeight) === null || _rowHeightsOptions$de === void 0 ? void 0 : _rowHeightsOptions$de.lineCount) || defaultLineCountValue);
156
160
  // @ts-ignore - same as above
157
161
  }, [rowHeightsOptions === null || rowHeightsOptions === void 0 ? void 0 : (_rowHeightsOptions$de2 = rowHeightsOptions.defaultHeight) === null || _rowHeightsOptions$de2 === void 0 ? void 0 : _rowHeightsOptions$de2.lineCount]);
158
162
 
@@ -284,7 +288,8 @@ export var useDataGridDisplaySelector = function useDataGridDisplaySelector(show
284
288
  min: 1,
285
289
  max: 20,
286
290
  step: 1,
287
- value: lineCount,
291
+ required: true,
292
+ value: lineCountInput,
288
293
  onChange: setLineCountHeight,
289
294
  "data-test-subj": "lineCountNumber"
290
295
  })));
@@ -16,7 +16,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
16
16
  */
17
17
 
18
18
  import classNames from 'classnames';
19
- import React, { forwardRef, useMemo, useRef, useState } from 'react';
19
+ import React, { forwardRef, useMemo, useRef, useState, memo } from 'react';
20
20
  import { useGeneratedHtmlId } from '../../services';
21
21
  import { useEuiTablePaginationDefaults } from '../table/table_pagination';
22
22
  import { EuiFocusTrap } from '../focus_trap';
@@ -66,7 +66,7 @@ var cellPaddingsToClassMap = {
66
66
  m: '',
67
67
  l: 'euiDataGrid--paddingLarge'
68
68
  };
69
- export var EuiDataGrid = /*#__PURE__*/forwardRef(function (props, ref) {
69
+ export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (props, ref) {
70
70
  var _gridItemsRendered$cu;
71
71
  var _props$leadingControl = props.leadingControlColumns,
72
72
  leadingControlColumns = _props$leadingControl === void 0 ? emptyControlColumns : _props$leadingControl,
@@ -383,5 +383,5 @@ export var EuiDataGrid = /*#__PURE__*/forwardRef(function (props, ref) {
383
383
  token: "euiDataGrid.screenReaderNotice",
384
384
  default: "Cell contains interactive content."
385
385
  }))))), cellPopover));
386
- });
386
+ }));
387
387
  EuiDataGrid.displayName = 'EuiDataGrid';
@@ -1,3 +1,4 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
1
2
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
3
  import _createClass from "@babel/runtime/helpers/createClass";
3
4
  import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
@@ -19,52 +20,99 @@ import React, { Component } from 'react';
19
20
  import moment from 'moment'; // eslint-disable-line import/named
20
21
 
21
22
  import dateMath from '@elastic/datemath';
22
- import { EuiDatePicker } from '../../date_picker';
23
+ import { keys } from '../../../../services';
23
24
  import { EuiFormRow, EuiFieldText, EuiFormLabel } from '../../../form';
25
+ import { EuiCode } from '../../../code';
24
26
  import { EuiI18n } from '../../../i18n';
27
+ import { EuiDatePicker } from '../../date_picker';
25
28
  import { jsx as ___EmotionJSX } from "@emotion/react";
29
+ // Allow users to paste in and have the datepicker parse multiple common date formats,
30
+ // in addition to the configured displayed `dateFormat` prop
31
+ var ALLOWED_USER_DATE_FORMATS = [moment.ISO_8601, moment.RFC_2822, 'X' // Unix timestamp in seconds
32
+ ];
33
+
26
34
  export var EuiAbsoluteTab = /*#__PURE__*/function (_Component) {
27
35
  _inherits(EuiAbsoluteTab, _Component);
28
36
  var _super = _createSuper(EuiAbsoluteTab);
37
+ // Store outside of state as a ref for faster/unbatched updates
38
+
29
39
  function EuiAbsoluteTab(props) {
30
40
  var _this;
31
41
  _classCallCheck(this, EuiAbsoluteTab);
32
42
  _this = _super.call(this, props);
33
43
  _defineProperty(_assertThisInitialized(_this), "state", void 0);
34
- _defineProperty(_assertThisInitialized(_this), "handleChange", function (date, event) {
44
+ _defineProperty(_assertThisInitialized(_this), "isParsing", false);
45
+ _defineProperty(_assertThisInitialized(_this), "handleChange", function (date) {
35
46
  var onChange = _this.props.onChange;
36
47
  if (date === null) {
37
48
  return;
38
49
  }
39
- onChange(date.toISOString(), event);
50
+ onChange(date.toISOString());
40
51
  var valueAsMoment = moment(date);
41
52
  _this.setState({
42
53
  valueAsMoment: valueAsMoment,
43
54
  textInputValue: valueAsMoment.format(_this.props.dateFormat),
55
+ hasUnparsedText: false,
44
56
  isTextInvalid: false
45
57
  });
46
58
  });
47
59
  _defineProperty(_assertThisInitialized(_this), "handleTextChange", function (event) {
48
- var onChange = _this.props.onChange;
49
- var valueAsMoment = moment(event.target.value, _this.props.dateFormat, true);
50
- var dateIsValid = valueAsMoment.isValid();
51
- if (dateIsValid) {
52
- onChange(valueAsMoment.toISOString(), event);
53
- }
60
+ if (_this.isParsing) return;
54
61
  _this.setState({
55
62
  textInputValue: event.target.value,
56
- isTextInvalid: !dateIsValid,
57
- valueAsMoment: dateIsValid ? valueAsMoment : null
63
+ hasUnparsedText: true,
64
+ isTextInvalid: false
58
65
  });
59
66
  });
67
+ _defineProperty(_assertThisInitialized(_this), "parseUserDateInput", function (textInputValue) {
68
+ _this.isParsing = true;
69
+ // Wait a tick for state to finish updating (whatever gets returned),
70
+ // and then allow `onChange` user input to continue setting state
71
+ requestAnimationFrame(function () {
72
+ _this.isParsing = false;
73
+ });
74
+ var invalidDateState = {
75
+ textInputValue: textInputValue,
76
+ isTextInvalid: true,
77
+ valueAsMoment: null
78
+ };
79
+ if (!textInputValue) {
80
+ return _this.setState(invalidDateState);
81
+ }
82
+ var _this$props = _this.props,
83
+ onChange = _this$props.onChange,
84
+ dateFormat = _this$props.dateFormat;
85
+
86
+ // Attempt to parse with passed `dateFormat`
87
+ var valueAsMoment = moment(textInputValue, dateFormat, true);
88
+ var dateIsValid = valueAsMoment.isValid();
89
+
90
+ // If not valid, try a few other other standardized formats
91
+ if (!dateIsValid) {
92
+ valueAsMoment = moment(textInputValue, ALLOWED_USER_DATE_FORMATS, true);
93
+ dateIsValid = valueAsMoment.isValid();
94
+ }
95
+ if (dateIsValid) {
96
+ onChange(valueAsMoment.toISOString());
97
+ _this.setState({
98
+ textInputValue: valueAsMoment.format(_this.props.dateFormat),
99
+ valueAsMoment: valueAsMoment,
100
+ hasUnparsedText: false,
101
+ isTextInvalid: false
102
+ });
103
+ } else {
104
+ _this.setState(invalidDateState);
105
+ }
106
+ });
60
107
  var parsedValue = dateMath.parse(props.value, {
61
108
  roundUp: props.roundUp
62
109
  });
63
110
  var _valueAsMoment = parsedValue && parsedValue.isValid() ? parsedValue : moment();
64
- var textInputValue = _valueAsMoment.locale(_this.props.locale || 'en').format(_this.props.dateFormat);
111
+ var _textInputValue = _valueAsMoment.locale(_this.props.locale || 'en').format(_this.props.dateFormat);
65
112
  _this.state = {
113
+ hasUnparsedText: false,
66
114
  isTextInvalid: false,
67
- textInputValue: textInputValue,
115
+ textInputValue: _textInputValue,
68
116
  valueAsMoment: _valueAsMoment
69
117
  };
70
118
  return _this;
@@ -73,17 +121,18 @@ export var EuiAbsoluteTab = /*#__PURE__*/function (_Component) {
73
121
  key: "render",
74
122
  value: function render() {
75
123
  var _this2 = this;
76
- var _this$props = this.props,
77
- dateFormat = _this$props.dateFormat,
78
- timeFormat = _this$props.timeFormat,
79
- locale = _this$props.locale,
80
- utcOffset = _this$props.utcOffset,
81
- labelPrefix = _this$props.labelPrefix;
124
+ var _this$props2 = this.props,
125
+ dateFormat = _this$props2.dateFormat,
126
+ timeFormat = _this$props2.timeFormat,
127
+ locale = _this$props2.locale,
128
+ utcOffset = _this$props2.utcOffset,
129
+ labelPrefix = _this$props2.labelPrefix;
82
130
  var _this$state = this.state,
83
131
  valueAsMoment = _this$state.valueAsMoment,
84
132
  isTextInvalid = _this$state.isTextInvalid,
133
+ hasUnparsedText = _this$state.hasUnparsedText,
85
134
  textInputValue = _this$state.textInputValue;
86
- return ___EmotionJSX("div", null, ___EmotionJSX(EuiDatePicker, {
135
+ return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiDatePicker, {
87
136
  inline: true,
88
137
  showTimeSelect: true,
89
138
  shadow: false,
@@ -94,22 +143,34 @@ export var EuiAbsoluteTab = /*#__PURE__*/function (_Component) {
94
143
  locale: locale,
95
144
  utcOffset: utcOffset
96
145
  }), ___EmotionJSX(EuiI18n, {
97
- token: "euiAbsoluteTab.dateFormatError",
98
- default: "Expected format: {dateFormat}",
146
+ tokens: ['euiAbsoluteTab.dateFormatHint', 'euiAbsoluteTab.dateFormatError'],
147
+ defaults: ['Press the Enter key to parse as a date.', 'Allowed formats: {dateFormat}, ISO 8601, RFC 2822, or Unix timestamp.'],
99
148
  values: {
100
- dateFormat: dateFormat
149
+ dateFormat: ___EmotionJSX(EuiCode, null, dateFormat)
101
150
  }
102
- }, function (dateFormatError) {
151
+ }, function (_ref) {
152
+ var _ref2 = _slicedToArray(_ref, 2),
153
+ dateFormatHint = _ref2[0],
154
+ dateFormatError = _ref2[1];
103
155
  return ___EmotionJSX(EuiFormRow, {
104
156
  className: "euiSuperDatePicker__absoluteDateFormRow",
105
157
  isInvalid: isTextInvalid,
106
- error: isTextInvalid ? dateFormatError : undefined
158
+ error: isTextInvalid ? dateFormatError : undefined,
159
+ helpText: hasUnparsedText ? isTextInvalid ? dateFormatHint : [dateFormatHint, dateFormatError] : undefined
107
160
  }, ___EmotionJSX(EuiFieldText, {
108
161
  compressed: true,
109
162
  isInvalid: isTextInvalid,
110
163
  value: textInputValue,
111
164
  onChange: _this2.handleTextChange,
112
- "data-test-subj": 'superDatePickerAbsoluteDateInput',
165
+ onPaste: function onPaste(event) {
166
+ _this2.parseUserDateInput(event.clipboardData.getData('text'));
167
+ },
168
+ onKeyDown: function onKeyDown(event) {
169
+ if (event.key === keys.ENTER) {
170
+ _this2.parseUserDateInput(textInputValue);
171
+ }
172
+ },
173
+ "data-test-subj": "superDatePickerAbsoluteDateInput",
113
174
  prepend: ___EmotionJSX(EuiFormLabel, null, labelPrefix)
114
175
  }));
115
176
  }));
@@ -79,8 +79,7 @@ export var EuiQuickSelectPopover = function EuiQuickSelectPopover(_ref) {
79
79
  button: quickSelectButton,
80
80
  isOpen: isOpen,
81
81
  closePopover: closePopover,
82
- anchorPosition: "downLeft",
83
- anchorClassName: "euiQuickSelectPopover__anchor"
82
+ anchorPosition: "downLeft"
84
83
  }, ___EmotionJSX(EuiQuickSelectPanels, _extends({}, props, {
85
84
  applyTime: applyTime,
86
85
  prevQuickSelect: prevQuickSelect
@@ -28,7 +28,7 @@ export var euiFilterGroupStyles = function euiFilterGroupStyles(euiThemeContext)
28
28
  controlCompressedBorderRadius = _euiFormVariables.controlCompressedBorderRadius,
29
29
  controlCompressedHeight = _euiFormVariables.controlCompressedHeight;
30
30
  return {
31
- euiFilterGroup: /*#__PURE__*/css("display:inline-flex;", logicalCSS('max-width', '100%'), " overflow:hidden;background-color:", backgroundColor, ";box-shadow:inset 0 0 0 ", euiTheme.border.width.thin, " ", borderColor, ";>*:not(.euiFilterButton){", euiFilterButtonDisplay(euiThemeContext), ";}.euiPopover__anchor{display:block;.euiFilterButton{", logicalCSS('width', '100%'), ";}}", euiBreakpoint(euiThemeContext, ['xs', 's']), "{flex-wrap:wrap;}", euiBreakpoint(euiThemeContext, ['xs']), "{display:flex;.euiFilterButton{flex-grow:1;}};label:euiFilterGroup;"),
31
+ euiFilterGroup: /*#__PURE__*/css("display:inline-flex;", logicalCSS('max-width', '100%'), " overflow:hidden;background-color:", backgroundColor, ";box-shadow:inset 0 0 0 ", euiTheme.border.width.thin, " ", borderColor, ";>*:not(.euiFilterButton){", euiFilterButtonDisplay(euiThemeContext), ";}.euiPopover>.euiFilterButton{", logicalCSS('width', '100%'), ";}", euiBreakpoint(euiThemeContext, ['xs', 's']), "{flex-wrap:wrap;}", euiBreakpoint(euiThemeContext, ['xs']), "{display:flex;.euiFilterButton{flex-grow:1;}};label:euiFilterGroup;"),
32
32
  fullWidth: _ref,
33
33
  uncompressed: /*#__PURE__*/css("border-radius:", controlBorderRadius, ";", buttonChildrenBorderRadii(controlBorderRadius), ";;label:uncompressed;"),
34
34
  compressed: /*#__PURE__*/css("border-radius:", controlCompressedBorderRadius, ";", buttonChildrenBorderRadii(controlCompressedBorderRadius), " .euiFilterButton{", logicalCSS('height', controlCompressedHeight), ";};label:compressed;"),
@@ -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 = ["className", "icon", "id", "placeholder", "name", "min", "max", "step", "value", "isInvalid", "fullWidth", "isLoading", "compressed", "prepend", "append", "inputRef", "readOnly", "controlOnly", "onKeyUp", "onBlur"];
4
+ var _excluded = ["className", "icon", "id", "placeholder", "name", "min", "max", "step", "value", "isInvalid", "fullWidth", "isLoading", "compressed", "prepend", "append", "inputRef", "readOnly", "controlOnly", "onKeyUp"];
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
@@ -10,8 +10,9 @@ var _excluded = ["className", "icon", "id", "placeholder", "name", "min", "max",
10
10
  * Side Public License, v 1.
11
11
  */
12
12
 
13
- import React, { useState, useCallback } from 'react';
13
+ import React, { useState, useEffect, useCallback, useRef } from 'react';
14
14
  import classNames from 'classnames';
15
+ import { useCombinedRefs } from '../../../services';
15
16
  import { EuiValidatableControl } from '../validatable_control';
16
17
  import { EuiFormControlLayout } from '../form_control_layout';
17
18
  import { getFormControlClassNameForIconCount } from '../form_control_layout/_num_icons';
@@ -43,8 +44,9 @@ export var EuiFieldNumber = function EuiFieldNumber(props) {
43
44
  readOnly = props.readOnly,
44
45
  controlOnly = props.controlOnly,
45
46
  _onKeyUp = props.onKeyUp,
46
- _onBlur = props.onBlur,
47
47
  rest = _objectWithoutProperties(props, _excluded);
48
+ var _inputRef = useRef(null);
49
+ var combinedRefs = useCombinedRefs([_inputRef, inputRef]);
48
50
 
49
51
  // Attempt to determine additional invalid state. The native number input
50
52
  // will set :invalid state automatically, but we need to also set
@@ -59,6 +61,13 @@ export var EuiFieldNumber = function EuiFieldNumber(props) {
59
61
  var isInvalid = !inputEl.validity.valid || undefined;
60
62
  setIsNativelyInvalid(isInvalid);
61
63
  }, []);
64
+
65
+ // Re-check validity whenever props that might affect validity are updated
66
+ useEffect(function () {
67
+ if (_inputRef.current) {
68
+ checkNativeValidity(_inputRef.current);
69
+ }
70
+ }, [value, min, max, step, checkNativeValidity]);
62
71
  var numIconsClass = controlOnly ? false : getFormControlClassNameForIconCount({
63
72
  isInvalid: isInvalid || isNativelyInvalid,
64
73
  isLoading: isLoading
@@ -83,18 +92,13 @@ export var EuiFieldNumber = function EuiFieldNumber(props) {
83
92
  placeholder: placeholder,
84
93
  readOnly: readOnly,
85
94
  className: classes,
86
- ref: inputRef,
95
+ ref: combinedRefs,
87
96
  "aria-invalid": isInvalid || isNativelyInvalid,
88
97
  onKeyUp: function onKeyUp(e) {
89
98
  // Note that we can't use `onChange` because browsers don't emit change events
90
99
  // for invalid text - see https://github.com/facebook/react/issues/16554
91
100
  _onKeyUp === null || _onKeyUp === void 0 ? void 0 : _onKeyUp(e);
92
101
  checkNativeValidity(e.currentTarget);
93
- },
94
- onBlur: function onBlur(e) {
95
- // Browsers can also set/determine validity (e.g. when `step` is undefined) on focus blur
96
- _onBlur === null || _onBlur === void 0 ? void 0 : _onBlur(e);
97
- checkNativeValidity(e.currentTarget);
98
102
  }
99
103
  }, rest)));
100
104
  if (controlOnly) {
@@ -32,8 +32,10 @@ export var EuiFieldPassword = function EuiFieldPassword(props) {
32
32
  isInvalid = props.isInvalid,
33
33
  _props$fullWidth = props.fullWidth,
34
34
  fullWidth = _props$fullWidth === void 0 ? defaultFullWidth : _props$fullWidth,
35
- isLoading = props.isLoading,
36
- compressed = props.compressed,
35
+ _props$isLoading = props.isLoading,
36
+ isLoading = _props$isLoading === void 0 ? false : _props$isLoading,
37
+ _props$compressed = props.compressed,
38
+ compressed = _props$compressed === void 0 ? false : _props$compressed,
37
39
  _inputRef = props.inputRef,
38
40
  prepend = props.prepend,
39
41
  append = props.append,
@@ -121,9 +123,4 @@ export var EuiFieldPassword = function EuiFieldPassword(props) {
121
123
  value: value,
122
124
  ref: setInputRef
123
125
  }, rest))));
124
- };
125
- EuiFieldPassword.defaultProps = {
126
- value: undefined,
127
- isLoading: false,
128
- compressed: false
129
126
  };