@elastic/eui 108.0.0 → 109.1.0-snapshot.1763390960850

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 (405) hide show
  1. package/es/components/accessibility/skip_link/skip_link.js +10 -1
  2. package/es/components/basic_table/collapsed_item_actions.js +3 -1
  3. package/es/components/basic_table/default_item_action.js +7 -4
  4. package/es/components/bottom_bar/bottom_bar.js +12 -2
  5. package/es/components/button/button.js +20 -25
  6. package/es/components/button/button_display/_button_display.js +32 -30
  7. package/es/components/button/button_display/_button_display.styles.js +4 -4
  8. package/es/components/button/button_empty/button_empty.js +32 -14
  9. package/es/components/button/button_group/button_group.js +49 -31
  10. package/es/components/button/button_group/button_group_button.js +16 -5
  11. package/es/components/button/button_group/button_group_button.styles.js +12 -8
  12. package/es/components/button/button_icon/button_icon.js +30 -6
  13. package/es/components/card/card.js +20 -25
  14. package/es/components/card/card_select/card_select.js +20 -25
  15. package/es/components/code/code_block_virtualized.js +9 -7
  16. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
  17. package/es/components/datagrid/body/cell/data_grid_cell.js +35 -12
  18. package/es/components/datagrid/body/data_grid_body.js +23 -6
  19. package/es/components/datagrid/body/data_grid_body_custom.js +23 -6
  20. package/es/components/datagrid/body/data_grid_body_virtualized.js +23 -6
  21. package/es/components/datagrid/body/header/column_actions.js +5 -21
  22. package/es/components/datagrid/body/header/data_grid_header_cell.js +29 -10
  23. package/es/components/datagrid/body/header/data_grid_header_cell.styles.js +8 -2
  24. package/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +5 -2
  25. package/es/components/datagrid/controls/column_selector.js +36 -19
  26. package/es/components/datagrid/controls/column_sorting.js +23 -6
  27. package/es/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
  28. package/es/components/datagrid/data_grid.js +5 -1
  29. package/es/components/datagrid/utils/in_memory.js +25 -7
  30. package/es/components/date_picker/auto_refresh/auto_refresh.js +11 -2
  31. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +31 -5
  32. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
  33. package/es/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
  34. package/es/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
  35. package/es/components/date_picker/super_date_picker/date_popover/timezone_display.js +98 -0
  36. package/es/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +19 -0
  37. package/es/components/date_picker/super_date_picker/pretty_duration.js +1 -8
  38. package/es/components/date_picker/super_date_picker/relative_utils.js +8 -0
  39. package/es/components/date_picker/super_date_picker/super_date_picker.js +118 -26
  40. package/es/components/date_picker/super_date_picker/time_window_buttons.js +185 -0
  41. package/es/components/facet/facet_button.js +9 -19
  42. package/es/components/filter_group/filter_button.js +14 -1
  43. package/es/components/flyout/flyout.js +27 -10
  44. package/es/components/form/file_picker/file_picker.styles.js +3 -3
  45. package/es/components/form/form_control_button/form_control_button.js +13 -7
  46. package/es/components/header/header_links/header_link.js +13 -7
  47. package/es/components/header/header_section/header_section_item_button.js +13 -7
  48. package/es/components/icon/assets/boxes_vertical.js +1 -1
  49. package/es/components/icon/assets/checkInCircleFilled.js +1 -2
  50. package/es/components/icon/assets/errorFilled.js +1 -2
  51. package/es/components/icon/assets/paper_clip.js +1 -1
  52. package/es/components/icon/assets/streams_wired.js +3 -2
  53. package/es/components/icon/assets/warningFilled.js +1 -2
  54. package/es/components/icon/icon_map.js +3 -6
  55. package/es/components/list_group/list_group.js +13 -1
  56. package/es/components/list_group/list_group_item.js +13 -1
  57. package/es/components/list_group/list_group_item_extra_action.js +13 -1
  58. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
  59. package/es/components/overlay_mask/overlay_mask.styles.js +1 -1
  60. package/es/components/pagination/pagination_button.js +13 -7
  61. package/es/components/popover/popover.js +22 -16
  62. package/es/components/provider/component_defaults/component_defaults.js +22 -2
  63. package/es/components/table/table_row.styles.js +1 -1
  64. package/es/components/tool_tip/tool_tip.js +24 -24
  65. package/es/global_styling/index.js +2 -1
  66. package/es/global_styling/mixins/_button.js +1 -1
  67. package/es/global_styling/utility/selectors.js +9 -0
  68. package/es/services/focus_trap/focus_trap_pub_sub.js +74 -0
  69. package/es/services/focus_trap/index.js +9 -0
  70. package/es/services/hooks/index.js +2 -1
  71. package/es/services/hooks/useEuiDisabledElement.js +195 -0
  72. package/es/services/index.js +1 -0
  73. package/es/services/popover/reposition_on_scroll.js +61 -0
  74. package/es/services/theme/high_contrast_overrides.js +5 -1
  75. package/es/test/cypress/index.d.ts +12 -0
  76. package/es/test/cypress/index.js +9 -0
  77. package/es/test/cypress/matchers.d.ts +20 -0
  78. package/es/test/cypress/matchers.js +54 -0
  79. package/es/test/cypress/test_reposition_on_scroll.js +66 -0
  80. package/es/test/enzyme/enzyme_matchers.d.ts +36 -0
  81. package/es/test/enzyme/enzyme_matchers.js +43 -0
  82. package/es/test/enzyme/index.d.ts +14 -0
  83. package/es/test/enzyme/index.js +10 -0
  84. package/es/test/rtl/index.d.ts +9 -1
  85. package/es/test/rtl/index.js +2 -1
  86. package/es/test/rtl/matchers.d.ts +36 -0
  87. package/es/test/rtl/matchers.js +82 -0
  88. package/es/utils/element_can_be_disabled.js +16 -0
  89. package/es/utils/index.js +2 -1
  90. package/eui.d.ts +604 -183
  91. package/i18ntokens.json +1357 -1231
  92. package/lib/components/accessibility/skip_link/skip_link.js +10 -1
  93. package/lib/components/basic_table/collapsed_item_actions.js +3 -1
  94. package/lib/components/basic_table/default_item_action.js +7 -4
  95. package/lib/components/bottom_bar/bottom_bar.js +11 -1
  96. package/lib/components/button/button.js +21 -26
  97. package/lib/components/button/button_display/_button_display.js +31 -29
  98. package/lib/components/button/button_display/_button_display.styles.js +4 -4
  99. package/lib/components/button/button_empty/button_empty.js +31 -13
  100. package/lib/components/button/button_group/button_group.js +49 -31
  101. package/lib/components/button/button_group/button_group_button.js +16 -5
  102. package/lib/components/button/button_group/button_group_button.styles.js +10 -6
  103. package/lib/components/button/button_icon/button_icon.js +29 -5
  104. package/lib/components/card/card.js +21 -26
  105. package/lib/components/card/card_select/card_select.js +21 -26
  106. package/lib/components/code/code_block_virtualized.js +9 -7
  107. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
  108. package/lib/components/datagrid/body/cell/data_grid_cell.js +35 -12
  109. package/lib/components/datagrid/body/data_grid_body.js +23 -6
  110. package/lib/components/datagrid/body/data_grid_body_custom.js +23 -6
  111. package/lib/components/datagrid/body/data_grid_body_virtualized.js +23 -6
  112. package/lib/components/datagrid/body/header/column_actions.js +5 -21
  113. package/lib/components/datagrid/body/header/data_grid_header_cell.js +29 -10
  114. package/lib/components/datagrid/body/header/data_grid_header_cell.styles.js +8 -1
  115. package/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +5 -2
  116. package/lib/components/datagrid/controls/column_selector.js +36 -19
  117. package/lib/components/datagrid/controls/column_sorting.js +23 -6
  118. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
  119. package/lib/components/datagrid/data_grid.js +5 -1
  120. package/lib/components/datagrid/utils/in_memory.js +25 -7
  121. package/lib/components/date_picker/auto_refresh/auto_refresh.js +12 -3
  122. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +30 -4
  123. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
  124. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
  125. package/lib/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
  126. package/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js +104 -0
  127. package/lib/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
  128. package/lib/components/date_picker/super_date_picker/pretty_duration.js +2 -9
  129. package/lib/components/date_picker/super_date_picker/relative_utils.js +9 -0
  130. package/lib/components/date_picker/super_date_picker/super_date_picker.js +118 -26
  131. package/lib/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
  132. package/lib/components/facet/facet_button.js +9 -19
  133. package/lib/components/filter_group/filter_button.js +14 -1
  134. package/lib/components/flyout/flyout.js +26 -9
  135. package/lib/components/form/file_picker/file_picker.styles.js +3 -3
  136. package/lib/components/form/form_control_button/form_control_button.js +13 -7
  137. package/lib/components/header/header_links/header_link.js +13 -7
  138. package/lib/components/header/header_section/header_section_item_button.js +13 -7
  139. package/lib/components/icon/assets/boxes_vertical.js +1 -1
  140. package/lib/components/icon/assets/checkInCircleFilled.js +1 -2
  141. package/lib/components/icon/assets/errorFilled.js +1 -2
  142. package/lib/components/icon/assets/paper_clip.js +1 -1
  143. package/lib/components/icon/assets/streams_wired.js +3 -2
  144. package/lib/components/icon/assets/warningFilled.js +1 -2
  145. package/lib/components/icon/icon_map.js +3 -6
  146. package/lib/components/icon/svgs/boxes_vertical.svg +1 -1
  147. package/lib/components/icon/svgs/checkInCircleFilled.svg +1 -1
  148. package/lib/components/icon/svgs/errorFilled.svg +1 -1
  149. package/lib/components/icon/svgs/paper_clip.svg +3 -3
  150. package/lib/components/icon/svgs/warningFilled.svg +1 -1
  151. package/lib/components/list_group/list_group.js +13 -1
  152. package/lib/components/list_group/list_group_item.js +13 -1
  153. package/lib/components/list_group/list_group_item_extra_action.js +13 -1
  154. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
  155. package/lib/components/overlay_mask/overlay_mask.styles.js +1 -1
  156. package/lib/components/pagination/pagination_button.js +13 -7
  157. package/lib/components/popover/popover.js +21 -15
  158. package/lib/components/provider/component_defaults/component_defaults.js +22 -2
  159. package/lib/components/table/table_row.styles.js +1 -1
  160. package/lib/components/tool_tip/tool_tip.js +24 -24
  161. package/lib/global_styling/index.js +16 -1
  162. package/lib/global_styling/mixins/_button.js +1 -1
  163. package/lib/global_styling/utility/selectors.js +15 -0
  164. package/lib/services/focus_trap/focus_trap_pub_sub.js +80 -0
  165. package/lib/services/focus_trap/index.js +12 -0
  166. package/lib/services/hooks/index.js +18 -1
  167. package/lib/services/hooks/useEuiDisabledElement.js +199 -0
  168. package/lib/services/index.js +8 -0
  169. package/lib/services/popover/reposition_on_scroll.js +67 -0
  170. package/lib/services/theme/high_contrast_overrides.js +5 -1
  171. package/lib/test/cypress/index.d.ts +12 -0
  172. package/lib/test/cypress/index.js +18 -0
  173. package/lib/test/cypress/matchers.d.ts +20 -0
  174. package/lib/test/cypress/matchers.js +61 -0
  175. package/lib/test/cypress/test_reposition_on_scroll.js +69 -0
  176. package/lib/test/enzyme/enzyme_matchers.d.ts +36 -0
  177. package/lib/test/enzyme/enzyme_matchers.js +49 -0
  178. package/lib/test/enzyme/index.d.ts +14 -0
  179. package/lib/test/enzyme/index.js +24 -0
  180. package/lib/test/rtl/index.d.ts +9 -1
  181. package/lib/test/rtl/index.js +24 -2
  182. package/lib/test/rtl/matchers.d.ts +36 -0
  183. package/lib/test/rtl/matchers.js +86 -0
  184. package/lib/utils/element_can_be_disabled.js +22 -0
  185. package/lib/utils/index.js +14 -1
  186. package/optimize/es/components/basic_table/collapsed_item_actions.js +3 -1
  187. package/optimize/es/components/basic_table/default_item_action.js +7 -4
  188. package/optimize/es/components/bottom_bar/bottom_bar.js +12 -2
  189. package/optimize/es/components/button/button_display/_button_display.js +24 -12
  190. package/optimize/es/components/button/button_display/_button_display.styles.js +4 -4
  191. package/optimize/es/components/button/button_empty/button_empty.js +18 -6
  192. package/optimize/es/components/button/button_group/button_group.js +10 -5
  193. package/optimize/es/components/button/button_group/button_group_button.js +2 -3
  194. package/optimize/es/components/button/button_group/button_group_button.styles.js +12 -8
  195. package/optimize/es/components/button/button_icon/button_icon.js +17 -5
  196. package/optimize/es/components/code/code_block_virtualized.js +9 -7
  197. package/optimize/es/components/datagrid/body/header/column_actions.js +5 -21
  198. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +6 -4
  199. package/optimize/es/components/datagrid/body/header/data_grid_header_cell.styles.js +8 -2
  200. package/optimize/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +4 -2
  201. package/optimize/es/components/datagrid/controls/column_selector.js +36 -19
  202. package/optimize/es/components/datagrid/data_grid.js +5 -1
  203. package/optimize/es/components/datagrid/utils/in_memory.js +2 -1
  204. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +12 -4
  205. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +5 -2
  206. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_content.js +7 -3
  207. package/optimize/es/components/date_picker/super_date_picker/date_popover/relative_tab.js +10 -2
  208. package/optimize/es/components/date_picker/super_date_picker/date_popover/timezone_display.js +97 -0
  209. package/optimize/es/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +19 -0
  210. package/optimize/es/components/date_picker/super_date_picker/pretty_duration.js +1 -8
  211. package/optimize/es/components/date_picker/super_date_picker/relative_utils.js +8 -0
  212. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.js +49 -25
  213. package/optimize/es/components/date_picker/super_date_picker/time_window_buttons.js +185 -0
  214. package/optimize/es/components/flyout/flyout.js +27 -10
  215. package/optimize/es/components/form/file_picker/file_picker.styles.js +3 -3
  216. package/optimize/es/components/icon/assets/boxes_vertical.js +1 -1
  217. package/optimize/es/components/icon/assets/checkInCircleFilled.js +1 -2
  218. package/optimize/es/components/icon/assets/errorFilled.js +1 -2
  219. package/optimize/es/components/icon/assets/paper_clip.js +1 -1
  220. package/optimize/es/components/icon/assets/streams_wired.js +3 -2
  221. package/optimize/es/components/icon/assets/warningFilled.js +1 -2
  222. package/optimize/es/components/icon/icon_map.js +3 -6
  223. package/optimize/es/components/overlay_mask/overlay_mask.styles.js +1 -1
  224. package/optimize/es/components/popover/popover.js +22 -16
  225. package/optimize/es/components/table/table_row.styles.js +1 -1
  226. package/optimize/es/components/tool_tip/tool_tip.js +24 -24
  227. package/optimize/es/global_styling/index.js +2 -1
  228. package/optimize/es/global_styling/mixins/_button.js +1 -1
  229. package/optimize/es/global_styling/utility/selectors.js +9 -0
  230. package/optimize/es/services/focus_trap/focus_trap_pub_sub.js +74 -0
  231. package/optimize/es/services/focus_trap/index.js +9 -0
  232. package/optimize/es/services/hooks/index.js +2 -1
  233. package/optimize/es/services/hooks/useEuiDisabledElement.js +192 -0
  234. package/optimize/es/services/index.js +1 -0
  235. package/optimize/es/services/popover/reposition_on_scroll.js +61 -0
  236. package/optimize/es/services/theme/high_contrast_overrides.js +5 -1
  237. package/optimize/es/test/cypress/index.d.ts +12 -0
  238. package/optimize/es/test/cypress/index.js +9 -0
  239. package/optimize/es/test/cypress/matchers.d.ts +20 -0
  240. package/optimize/es/test/cypress/matchers.js +54 -0
  241. package/optimize/es/test/cypress/test_reposition_on_scroll.js +63 -0
  242. package/optimize/es/test/enzyme/enzyme_matchers.d.ts +36 -0
  243. package/optimize/es/test/enzyme/enzyme_matchers.js +43 -0
  244. package/optimize/es/test/enzyme/index.d.ts +14 -0
  245. package/optimize/es/test/enzyme/index.js +10 -0
  246. package/optimize/es/test/rtl/index.d.ts +9 -1
  247. package/optimize/es/test/rtl/index.js +2 -1
  248. package/optimize/es/test/rtl/matchers.d.ts +36 -0
  249. package/optimize/es/test/rtl/matchers.js +82 -0
  250. package/optimize/es/utils/element_can_be_disabled.js +16 -0
  251. package/optimize/es/utils/index.js +2 -1
  252. package/optimize/lib/components/basic_table/collapsed_item_actions.js +3 -1
  253. package/optimize/lib/components/basic_table/default_item_action.js +7 -4
  254. package/optimize/lib/components/bottom_bar/bottom_bar.js +11 -1
  255. package/optimize/lib/components/button/button_display/_button_display.js +23 -11
  256. package/optimize/lib/components/button/button_display/_button_display.styles.js +4 -4
  257. package/optimize/lib/components/button/button_empty/button_empty.js +17 -5
  258. package/optimize/lib/components/button/button_group/button_group.js +10 -5
  259. package/optimize/lib/components/button/button_group/button_group_button.js +2 -3
  260. package/optimize/lib/components/button/button_group/button_group_button.styles.js +10 -6
  261. package/optimize/lib/components/button/button_icon/button_icon.js +16 -4
  262. package/optimize/lib/components/code/code_block_virtualized.js +9 -7
  263. package/optimize/lib/components/datagrid/body/header/column_actions.js +5 -21
  264. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -4
  265. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.styles.js +8 -1
  266. package/optimize/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +4 -2
  267. package/optimize/lib/components/datagrid/controls/column_selector.js +36 -19
  268. package/optimize/lib/components/datagrid/data_grid.js +5 -1
  269. package/optimize/lib/components/datagrid/utils/in_memory.js +2 -1
  270. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +11 -3
  271. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +5 -2
  272. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_content.js +7 -3
  273. package/optimize/lib/components/date_picker/super_date_picker/date_popover/relative_tab.js +10 -2
  274. package/optimize/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js +103 -0
  275. package/optimize/lib/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
  276. package/optimize/lib/components/date_picker/super_date_picker/pretty_duration.js +2 -9
  277. package/optimize/lib/components/date_picker/super_date_picker/relative_utils.js +9 -0
  278. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.js +49 -25
  279. package/optimize/lib/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
  280. package/optimize/lib/components/flyout/flyout.js +26 -9
  281. package/optimize/lib/components/form/file_picker/file_picker.styles.js +3 -3
  282. package/optimize/lib/components/icon/assets/boxes_vertical.js +1 -1
  283. package/optimize/lib/components/icon/assets/checkInCircleFilled.js +1 -2
  284. package/optimize/lib/components/icon/assets/errorFilled.js +1 -2
  285. package/optimize/lib/components/icon/assets/paper_clip.js +1 -1
  286. package/optimize/lib/components/icon/assets/streams_wired.js +3 -2
  287. package/optimize/lib/components/icon/assets/warningFilled.js +1 -2
  288. package/optimize/lib/components/icon/icon_map.js +3 -6
  289. package/optimize/lib/components/icon/svgs/boxes_vertical.svg +1 -1
  290. package/optimize/lib/components/icon/svgs/checkInCircleFilled.svg +1 -1
  291. package/optimize/lib/components/icon/svgs/errorFilled.svg +1 -1
  292. package/optimize/lib/components/icon/svgs/paper_clip.svg +3 -3
  293. package/optimize/lib/components/icon/svgs/warningFilled.svg +1 -1
  294. package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +1 -1
  295. package/optimize/lib/components/popover/popover.js +21 -15
  296. package/optimize/lib/components/table/table_row.styles.js +1 -1
  297. package/optimize/lib/components/tool_tip/tool_tip.js +24 -24
  298. package/optimize/lib/global_styling/index.js +16 -1
  299. package/optimize/lib/global_styling/mixins/_button.js +1 -1
  300. package/optimize/lib/global_styling/utility/selectors.js +15 -0
  301. package/optimize/lib/services/focus_trap/focus_trap_pub_sub.js +80 -0
  302. package/optimize/lib/services/focus_trap/index.js +12 -0
  303. package/optimize/lib/services/hooks/index.js +18 -1
  304. package/optimize/lib/services/hooks/useEuiDisabledElement.js +197 -0
  305. package/optimize/lib/services/index.js +8 -0
  306. package/optimize/lib/services/popover/reposition_on_scroll.js +67 -0
  307. package/optimize/lib/services/theme/high_contrast_overrides.js +5 -1
  308. package/optimize/lib/test/cypress/index.d.ts +12 -0
  309. package/optimize/lib/test/cypress/index.js +18 -0
  310. package/optimize/lib/test/cypress/matchers.d.ts +20 -0
  311. package/optimize/lib/test/cypress/matchers.js +61 -0
  312. package/optimize/lib/test/cypress/test_reposition_on_scroll.js +70 -0
  313. package/optimize/lib/test/enzyme/enzyme_matchers.d.ts +36 -0
  314. package/optimize/lib/test/enzyme/enzyme_matchers.js +50 -0
  315. package/optimize/lib/test/enzyme/index.d.ts +14 -0
  316. package/optimize/lib/test/enzyme/index.js +24 -0
  317. package/optimize/lib/test/rtl/index.d.ts +9 -1
  318. package/optimize/lib/test/rtl/index.js +24 -2
  319. package/optimize/lib/test/rtl/matchers.d.ts +36 -0
  320. package/optimize/lib/test/rtl/matchers.js +86 -0
  321. package/optimize/lib/utils/element_can_be_disabled.js +22 -0
  322. package/optimize/lib/utils/index.js +14 -1
  323. package/package.json +6 -5
  324. package/test-env/components/accessibility/skip_link/skip_link.js +10 -1
  325. package/test-env/components/basic_table/collapsed_item_actions.js +3 -1
  326. package/test-env/components/basic_table/default_item_action.js +7 -4
  327. package/test-env/components/bottom_bar/bottom_bar.js +11 -1
  328. package/test-env/components/button/button.js +21 -26
  329. package/test-env/components/button/button_display/_button_display.js +31 -29
  330. package/test-env/components/button/button_display/_button_display.styles.js +4 -4
  331. package/test-env/components/button/button_empty/button_empty.js +31 -13
  332. package/test-env/components/button/button_group/button_group.js +49 -31
  333. package/test-env/components/button/button_group/button_group_button.js +16 -5
  334. package/test-env/components/button/button_group/button_group_button.styles.js +10 -6
  335. package/test-env/components/button/button_icon/button_icon.js +29 -5
  336. package/test-env/components/card/card.js +21 -26
  337. package/test-env/components/card/card_select/card_select.js +21 -26
  338. package/test-env/components/code/code_block_virtualized.js +9 -7
  339. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
  340. package/test-env/components/datagrid/body/cell/data_grid_cell.js +35 -12
  341. package/test-env/components/datagrid/body/data_grid_body.js +23 -6
  342. package/test-env/components/datagrid/body/data_grid_body_custom.js +23 -6
  343. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +23 -6
  344. package/test-env/components/datagrid/body/header/column_actions.js +5 -21
  345. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +29 -10
  346. package/test-env/components/datagrid/body/header/data_grid_header_cell.styles.js +8 -1
  347. package/test-env/components/datagrid/body/header/data_grid_header_cell_wrapper.js +5 -2
  348. package/test-env/components/datagrid/controls/column_selector.js +36 -19
  349. package/test-env/components/datagrid/controls/column_sorting.js +23 -6
  350. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
  351. package/test-env/components/datagrid/data_grid.js +5 -1
  352. package/test-env/components/datagrid/utils/in_memory.js +25 -7
  353. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +12 -3
  354. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +30 -4
  355. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
  356. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
  357. package/test-env/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
  358. package/test-env/components/date_picker/super_date_picker/date_popover/timezone_display.js +103 -0
  359. package/test-env/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
  360. package/test-env/components/date_picker/super_date_picker/pretty_duration.js +2 -9
  361. package/test-env/components/date_picker/super_date_picker/relative_utils.js +9 -0
  362. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +118 -26
  363. package/test-env/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
  364. package/test-env/components/facet/facet_button.js +9 -19
  365. package/test-env/components/filter_group/filter_button.js +14 -1
  366. package/test-env/components/form/file_picker/file_picker.styles.js +3 -3
  367. package/test-env/components/form/form_control_button/form_control_button.js +13 -7
  368. package/test-env/components/header/header_links/header_link.js +13 -7
  369. package/test-env/components/header/header_section/header_section_item_button.js +13 -7
  370. package/test-env/components/icon/assets/boxes_vertical.js +1 -1
  371. package/test-env/components/icon/assets/checkInCircleFilled.js +1 -2
  372. package/test-env/components/icon/assets/errorFilled.js +1 -2
  373. package/test-env/components/icon/assets/paper_clip.js +1 -1
  374. package/test-env/components/icon/assets/streams_wired.js +3 -2
  375. package/test-env/components/icon/assets/warningFilled.js +1 -2
  376. package/test-env/components/icon/icon_map.js +3 -6
  377. package/test-env/components/list_group/list_group.js +13 -1
  378. package/test-env/components/list_group/list_group_item.js +13 -1
  379. package/test-env/components/list_group/list_group_item_extra_action.js +13 -1
  380. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
  381. package/test-env/components/overlay_mask/overlay_mask.styles.js +1 -1
  382. package/test-env/components/pagination/pagination_button.js +13 -7
  383. package/test-env/components/popover/popover.js +21 -15
  384. package/test-env/components/provider/component_defaults/component_defaults.js +22 -2
  385. package/test-env/components/table/table_row.styles.js +1 -1
  386. package/test-env/components/tool_tip/tool_tip.js +24 -24
  387. package/test-env/global_styling/index.js +16 -1
  388. package/test-env/global_styling/mixins/_button.js +1 -1
  389. package/test-env/global_styling/utility/selectors.js +15 -0
  390. package/test-env/services/focus_trap/focus_trap_pub_sub.js +80 -0
  391. package/test-env/services/focus_trap/index.js +12 -0
  392. package/test-env/services/hooks/index.js +18 -1
  393. package/test-env/services/hooks/useEuiDisabledElement.js +197 -0
  394. package/test-env/services/index.js +8 -0
  395. package/test-env/services/popover/reposition_on_scroll.js +67 -0
  396. package/test-env/services/theme/high_contrast_overrides.js +5 -1
  397. package/test-env/test/cypress/index.js +18 -0
  398. package/test-env/test/cypress/matchers.js +61 -0
  399. package/test-env/test/cypress/test_reposition_on_scroll.js +70 -0
  400. package/test-env/test/enzyme/enzyme_matchers.js +50 -0
  401. package/test-env/test/enzyme/index.js +24 -0
  402. package/test-env/test/rtl/index.js +24 -2
  403. package/test-env/test/rtl/matchers.js +86 -0
  404. package/test-env/utils/element_can_be_disabled.js +22 -0
  405. package/test-env/utils/index.js +14 -1
@@ -23,11 +23,11 @@ var _react2 = require("@emotion/react");
23
23
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
24
24
  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); }
25
25
  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; }
26
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
26
27
  function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
27
28
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
28
29
  function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
29
30
  function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
30
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
31
31
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
32
32
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
33
33
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -51,31 +51,48 @@ var useDataGridColumnSelector = exports.useDataGridColumnSelector = function use
51
51
  var id = _ref.id;
52
52
  return id;
53
53
  });
54
- var availableSet = new Set(availableColumnIds);
55
- // Filter visibleColumns to only include existing columns
54
+ // remove duplicate columns to ensure unique columns
55
+ var availableColumnIdsSet = new Set(availableColumnIds);
56
+ if (process.env.NODE_ENV === 'development') {
57
+ if (availableColumnIds.length > availableColumnIdsSet.size) {
58
+ var duplicateIds = [];
59
+ var _iterator = _createForOfIteratorHelper(availableColumnIds),
60
+ _step;
61
+ try {
62
+ var _loop = function _loop() {
63
+ var id = _step.value;
64
+ if (!duplicateIds.includes(id) && availableColumnIds.filter(function (_id) {
65
+ return _id === id;
66
+ }).length > 1) {
67
+ duplicateIds.push(id);
68
+ }
69
+ };
70
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
71
+ _loop();
72
+ }
73
+ } catch (err) {
74
+ _iterator.e(err);
75
+ } finally {
76
+ _iterator.f();
77
+ }
78
+ console.warn("\u26A0\uFE0F EuiDataGrid: Duplicate column IDs detected and removed: ".concat(duplicateIds.join(', '), "."), '\n Column IDs must be unique. Only the first occurrence of each duplicate will be used.');
79
+ }
80
+ }
56
81
  var validVisibleColumns = visibleColumns.filter(function (id) {
57
- return availableSet.has(id);
82
+ return availableColumnIdsSet.has(id);
58
83
  });
59
84
  var visibleSet = new Set(validVisibleColumns);
60
85
  var result = [];
61
86
  var visibleIndex = 0;
62
- var _iterator = _createForOfIteratorHelper(availableColumnIds),
63
- _step;
64
- try {
65
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
66
- var columnId = _step.value;
67
- if (visibleSet.has(columnId)) {
68
- // Replace with next visible column in order
87
+ for (var _i = 0, _arr = _toConsumableArray(availableColumnIdsSet); _i < _arr.length; _i++) {
88
+ var columnId = _arr[_i];
89
+ if (visibleSet.has(columnId)) {
90
+ if (visibleIndex < validVisibleColumns.length) {
69
91
  result.push(validVisibleColumns[visibleIndex++]);
70
- } else {
71
- // Keep hidden column in original position
72
- result.push(columnId);
73
92
  }
93
+ } else {
94
+ result.push(columnId);
74
95
  }
75
- } catch (err) {
76
- _iterator.e(err);
77
- } finally {
78
- _iterator.f();
79
96
  }
80
97
  return result;
81
98
  // doesn't depend on visibleColumns on purpose to keep it an initial state
@@ -140,7 +157,7 @@ var useDataGridColumnSelector = exports.useDataGridColumnSelector = function use
140
157
  anchorPosition: "downLeft",
141
158
  panelPaddingSize: "none",
142
159
  button: (0, _react2.jsx)(_data_grid_toolbar_control.EuiDataGridToolbarControl, {
143
- badgeContent: numberOfHiddenFields > 0 ? "".concat(orderedVisibleColumns.length, "/").concat(availableColumns.length) : availableColumns.length,
160
+ badgeContent: numberOfHiddenFields > 0 ? "".concat(orderedVisibleColumns.length, "/").concat(sortedColumns.length) : sortedColumns.length,
144
161
  iconType: "tableDensityNormal",
145
162
  "data-test-subj": "dataGridColumnSelectorButton",
146
163
  onClick: function onClick() {
@@ -392,7 +392,6 @@ DataGridSortingControl.propTypes = {
392
392
  color: _propTypes.default.any,
393
393
  "aria-label": _propTypes.default.string,
394
394
  "aria-labelledby": _propTypes.default.string,
395
- isDisabled: _propTypes.default.bool,
396
395
  /**
397
396
  * Overall size of button.
398
397
  * Matches the sizes of other EuiButtons
@@ -422,6 +421,19 @@ DataGridSortingControl.propTypes = {
422
421
  className: _propTypes.default.string,
423
422
  "data-test-subj": _propTypes.default.string,
424
423
  css: _propTypes.default.any,
424
+ /**
425
+ * Controls the disabled behavior via the native `disabled` attribute.
426
+ */
427
+ isDisabled: _propTypes.default.bool,
428
+ /**
429
+ * NOTE: Beta feature, may be changed or removed in the future
430
+ *
431
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
432
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
433
+ *
434
+ * Use e.g. when a disabled button should have a tooltip.
435
+ */
436
+ hasAriaDisabled: _propTypes.default.bool,
425
437
  buttonRef: _propTypes.default.any
426
438
  }),
427
439
  /**
@@ -475,7 +487,6 @@ DataGridSortingControl.propTypes = {
475
487
  color: _propTypes.default.any,
476
488
  "aria-label": _propTypes.default.string,
477
489
  "aria-labelledby": _propTypes.default.string,
478
- isDisabled: _propTypes.default.bool,
479
490
  size: _propTypes.default.any,
480
491
  iconSize: _propTypes.default.any,
481
492
  isSelected: _propTypes.default.bool,
@@ -484,6 +495,8 @@ DataGridSortingControl.propTypes = {
484
495
  className: _propTypes.default.string,
485
496
  "data-test-subj": _propTypes.default.string,
486
497
  css: _propTypes.default.any,
498
+ isDisabled: _propTypes.default.bool,
499
+ hasAriaDisabled: _propTypes.default.bool,
487
500
  buttonRef: _propTypes.default.any
488
501
  }),
489
502
  onClick: _propTypes.default.func,
@@ -518,7 +531,6 @@ DataGridSortingControl.propTypes = {
518
531
  color: _propTypes.default.any,
519
532
  "aria-label": _propTypes.default.string,
520
533
  "aria-labelledby": _propTypes.default.string,
521
- isDisabled: _propTypes.default.bool,
522
534
  size: _propTypes.default.any,
523
535
  iconSize: _propTypes.default.any,
524
536
  isSelected: _propTypes.default.bool,
@@ -527,6 +539,8 @@ DataGridSortingControl.propTypes = {
527
539
  className: _propTypes.default.string,
528
540
  "data-test-subj": _propTypes.default.string,
529
541
  css: _propTypes.default.any,
542
+ isDisabled: _propTypes.default.bool,
543
+ hasAriaDisabled: _propTypes.default.bool,
530
544
  buttonRef: _propTypes.default.any
531
545
  }),
532
546
  onClick: _propTypes.default.func,
@@ -561,7 +575,6 @@ DataGridSortingControl.propTypes = {
561
575
  color: _propTypes.default.any,
562
576
  "aria-label": _propTypes.default.string,
563
577
  "aria-labelledby": _propTypes.default.string,
564
- isDisabled: _propTypes.default.bool,
565
578
  size: _propTypes.default.any,
566
579
  iconSize: _propTypes.default.any,
567
580
  isSelected: _propTypes.default.bool,
@@ -570,6 +583,8 @@ DataGridSortingControl.propTypes = {
570
583
  className: _propTypes.default.string,
571
584
  "data-test-subj": _propTypes.default.string,
572
585
  css: _propTypes.default.any,
586
+ isDisabled: _propTypes.default.bool,
587
+ hasAriaDisabled: _propTypes.default.bool,
573
588
  buttonRef: _propTypes.default.any
574
589
  }),
575
590
  onClick: _propTypes.default.func,
@@ -604,7 +619,6 @@ DataGridSortingControl.propTypes = {
604
619
  color: _propTypes.default.any,
605
620
  "aria-label": _propTypes.default.string,
606
621
  "aria-labelledby": _propTypes.default.string,
607
- isDisabled: _propTypes.default.bool,
608
622
  size: _propTypes.default.any,
609
623
  iconSize: _propTypes.default.any,
610
624
  isSelected: _propTypes.default.bool,
@@ -613,6 +627,8 @@ DataGridSortingControl.propTypes = {
613
627
  className: _propTypes.default.string,
614
628
  "data-test-subj": _propTypes.default.string,
615
629
  css: _propTypes.default.any,
630
+ isDisabled: _propTypes.default.bool,
631
+ hasAriaDisabled: _propTypes.default.bool,
616
632
  buttonRef: _propTypes.default.any
617
633
  }),
618
634
  onClick: _propTypes.default.func,
@@ -647,7 +663,6 @@ DataGridSortingControl.propTypes = {
647
663
  color: _propTypes.default.any,
648
664
  "aria-label": _propTypes.default.string,
649
665
  "aria-labelledby": _propTypes.default.string,
650
- isDisabled: _propTypes.default.bool,
651
666
  size: _propTypes.default.any,
652
667
  iconSize: _propTypes.default.any,
653
668
  isSelected: _propTypes.default.bool,
@@ -656,6 +671,8 @@ DataGridSortingControl.propTypes = {
656
671
  className: _propTypes.default.string,
657
672
  "data-test-subj": _propTypes.default.string,
658
673
  css: _propTypes.default.any,
674
+ isDisabled: _propTypes.default.bool,
675
+ hasAriaDisabled: _propTypes.default.bool,
659
676
  buttonRef: _propTypes.default.any
660
677
  }),
661
678
  onClick: _propTypes.default.func,
@@ -78,13 +78,6 @@ EuiDataGridToolbarControl.propTypes = {
78
78
  * Ensure the text of the button sits flush to the left, right, or both sides of its container
79
79
  */
80
80
  flush: _propTypes.default.any,
81
- /**
82
- * `disabled` is also allowed
83
- */
84
- /**
85
- * `disabled` is also allowed
86
- */
87
- isDisabled: _propTypes.default.bool,
88
81
  /**
89
82
  * Force disables the button and changes the icon to a loading spinner
90
83
  */
@@ -139,10 +132,23 @@ EuiDataGridToolbarControl.propTypes = {
139
132
  "data-text": _propTypes.default.string
140
133
  }).isRequired, _propTypes.default.oneOf([false])]),
141
134
  iconSize: _propTypes.default.any,
135
+ /**
136
+ * Controls the disabled behavior via the native `disabled` attribute.
137
+ */
138
+ isDisabled: _propTypes.default.bool,
142
139
  className: _propTypes.default.string,
143
140
  "aria-label": _propTypes.default.string,
144
141
  "data-test-subj": _propTypes.default.string,
145
142
  css: _propTypes.default.any,
143
+ /**
144
+ * NOTE: Beta feature, may be changed or removed in the future
145
+ *
146
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
147
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
148
+ *
149
+ * Use e.g. when a disabled button should have a tooltip.
150
+ */
151
+ hasAriaDisabled: _propTypes.default.bool,
146
152
  badgeContent: _propTypes.default.oneOfType([_propTypes.default.number.isRequired, _propTypes.default.string.isRequired])
147
153
  };
148
154
  var betterScreenReaderSlashes = function betterScreenReaderSlashes(badgeContent) {
@@ -175,7 +175,11 @@ var EuiDataGrid = exports.EuiDataGrid = /*#__PURE__*/(0, _react.memo)( /*#__PURE
175
175
  */
176
176
  var displayValues = (0, _react.useMemo)(function () {
177
177
  return columns.reduce(function (acc, column) {
178
- return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, column.id, column.displayAsText || column.id));
178
+ // prevent duplicate values
179
+ if (!acc[column.id]) {
180
+ return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, column.id, column.displayAsText || column.id));
181
+ }
182
+ return acc;
179
183
  }, {});
180
184
  }, [columns]);
181
185
  var _useDataGridDisplaySe = (0, _controls.useDataGridDisplaySelector)((0, _controls.checkOrDefaultToolBarDisplayOptions)(toolbarVisibility, 'showDisplaySelector'), gridStyleWithDefaults, _rowHeightsOptions),
@@ -103,13 +103,14 @@ var EuiDataGridInMemoryRenderer = exports.EuiDataGridInMemoryRenderer = function
103
103
  var cells = [];
104
104
  var _loop = function _loop(i) {
105
105
  cells.push(columns.map(function (column, j) {
106
+ var key = "".concat(i, "-").concat(j, "-").concat(column.id);
106
107
  var skipThisColumn = inMemory.skipColumns && inMemory.skipColumns.indexOf(column.id) !== -1;
107
108
  if (skipThisColumn) {
108
109
  return null;
109
110
  }
110
111
  var isExpandable = column.isExpandable !== undefined ? column.isExpandable : true;
111
112
  return (0, _react3.jsx)("div", {
112
- key: "".concat(i, "-").concat(column.id),
113
+ key: key,
113
114
  "data-dg-row": i,
114
115
  "data-dg-column": column.id
115
116
  }, (0, _react3.jsx)(CellElement, {
@@ -318,7 +319,6 @@ EuiDataGridInMemoryRenderer.propTypes = {
318
319
  color: _propTypes.default.any,
319
320
  "aria-label": _propTypes.default.string,
320
321
  "aria-labelledby": _propTypes.default.string,
321
- isDisabled: _propTypes.default.bool,
322
322
  /**
323
323
  * Overall size of button.
324
324
  * Matches the sizes of other EuiButtons
@@ -348,6 +348,19 @@ EuiDataGridInMemoryRenderer.propTypes = {
348
348
  className: _propTypes.default.string,
349
349
  "data-test-subj": _propTypes.default.string,
350
350
  css: _propTypes.default.any,
351
+ /**
352
+ * Controls the disabled behavior via the native `disabled` attribute.
353
+ */
354
+ isDisabled: _propTypes.default.bool,
355
+ /**
356
+ * NOTE: Beta feature, may be changed or removed in the future
357
+ *
358
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
359
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
360
+ *
361
+ * Use e.g. when a disabled button should have a tooltip.
362
+ */
363
+ hasAriaDisabled: _propTypes.default.bool,
351
364
  buttonRef: _propTypes.default.any
352
365
  }),
353
366
  /**
@@ -401,7 +414,6 @@ EuiDataGridInMemoryRenderer.propTypes = {
401
414
  color: _propTypes.default.any,
402
415
  "aria-label": _propTypes.default.string,
403
416
  "aria-labelledby": _propTypes.default.string,
404
- isDisabled: _propTypes.default.bool,
405
417
  size: _propTypes.default.any,
406
418
  iconSize: _propTypes.default.any,
407
419
  isSelected: _propTypes.default.bool,
@@ -410,6 +422,8 @@ EuiDataGridInMemoryRenderer.propTypes = {
410
422
  className: _propTypes.default.string,
411
423
  "data-test-subj": _propTypes.default.string,
412
424
  css: _propTypes.default.any,
425
+ isDisabled: _propTypes.default.bool,
426
+ hasAriaDisabled: _propTypes.default.bool,
413
427
  buttonRef: _propTypes.default.any
414
428
  }),
415
429
  onClick: _propTypes.default.func,
@@ -444,7 +458,6 @@ EuiDataGridInMemoryRenderer.propTypes = {
444
458
  color: _propTypes.default.any,
445
459
  "aria-label": _propTypes.default.string,
446
460
  "aria-labelledby": _propTypes.default.string,
447
- isDisabled: _propTypes.default.bool,
448
461
  size: _propTypes.default.any,
449
462
  iconSize: _propTypes.default.any,
450
463
  isSelected: _propTypes.default.bool,
@@ -453,6 +466,8 @@ EuiDataGridInMemoryRenderer.propTypes = {
453
466
  className: _propTypes.default.string,
454
467
  "data-test-subj": _propTypes.default.string,
455
468
  css: _propTypes.default.any,
469
+ isDisabled: _propTypes.default.bool,
470
+ hasAriaDisabled: _propTypes.default.bool,
456
471
  buttonRef: _propTypes.default.any
457
472
  }),
458
473
  onClick: _propTypes.default.func,
@@ -487,7 +502,6 @@ EuiDataGridInMemoryRenderer.propTypes = {
487
502
  color: _propTypes.default.any,
488
503
  "aria-label": _propTypes.default.string,
489
504
  "aria-labelledby": _propTypes.default.string,
490
- isDisabled: _propTypes.default.bool,
491
505
  size: _propTypes.default.any,
492
506
  iconSize: _propTypes.default.any,
493
507
  isSelected: _propTypes.default.bool,
@@ -496,6 +510,8 @@ EuiDataGridInMemoryRenderer.propTypes = {
496
510
  className: _propTypes.default.string,
497
511
  "data-test-subj": _propTypes.default.string,
498
512
  css: _propTypes.default.any,
513
+ isDisabled: _propTypes.default.bool,
514
+ hasAriaDisabled: _propTypes.default.bool,
499
515
  buttonRef: _propTypes.default.any
500
516
  }),
501
517
  onClick: _propTypes.default.func,
@@ -530,7 +546,6 @@ EuiDataGridInMemoryRenderer.propTypes = {
530
546
  color: _propTypes.default.any,
531
547
  "aria-label": _propTypes.default.string,
532
548
  "aria-labelledby": _propTypes.default.string,
533
- isDisabled: _propTypes.default.bool,
534
549
  size: _propTypes.default.any,
535
550
  iconSize: _propTypes.default.any,
536
551
  isSelected: _propTypes.default.bool,
@@ -539,6 +554,8 @@ EuiDataGridInMemoryRenderer.propTypes = {
539
554
  className: _propTypes.default.string,
540
555
  "data-test-subj": _propTypes.default.string,
541
556
  css: _propTypes.default.any,
557
+ isDisabled: _propTypes.default.bool,
558
+ hasAriaDisabled: _propTypes.default.bool,
542
559
  buttonRef: _propTypes.default.any
543
560
  }),
544
561
  onClick: _propTypes.default.func,
@@ -573,7 +590,6 @@ EuiDataGridInMemoryRenderer.propTypes = {
573
590
  color: _propTypes.default.any,
574
591
  "aria-label": _propTypes.default.string,
575
592
  "aria-labelledby": _propTypes.default.string,
576
- isDisabled: _propTypes.default.bool,
577
593
  size: _propTypes.default.any,
578
594
  iconSize: _propTypes.default.any,
579
595
  isSelected: _propTypes.default.bool,
@@ -582,6 +598,8 @@ EuiDataGridInMemoryRenderer.propTypes = {
582
598
  className: _propTypes.default.string,
583
599
  "data-test-subj": _propTypes.default.string,
584
600
  css: _propTypes.default.any,
601
+ isDisabled: _propTypes.default.bool,
602
+ hasAriaDisabled: _propTypes.default.bool,
585
603
  buttonRef: _propTypes.default.any
586
604
  }),
587
605
  onClick: _propTypes.default.func,
@@ -186,9 +186,9 @@ EuiAutoRefreshButton.propTypes = {
186
186
  intervalUnits: _propTypes.default.any,
187
187
  onRefreshChange: _propTypes.default.func.isRequired,
188
188
  /**
189
- * `disabled` is also allowed
189
+ * Controls the disabled behavior via the native `disabled` attribute.
190
190
  */
191
- isDisabled: _propTypes.default.bool,
191
+ isDisabled: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.bool])]),
192
192
  /**
193
193
  * Reduces the time unit to a single letter
194
194
  */
@@ -242,5 +242,14 @@ EuiAutoRefreshButton.propTypes = {
242
242
  className: _propTypes.default.string,
243
243
  "aria-label": _propTypes.default.string,
244
244
  "data-test-subj": _propTypes.default.string,
245
- css: _propTypes.default.any
245
+ css: _propTypes.default.any,
246
+ /**
247
+ * NOTE: Beta feature, may be changed or removed in the future
248
+ *
249
+ * Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
250
+ * This results in a semantically disabled button without the default browser handling of the disabled state.
251
+ *
252
+ * Use e.g. when a disabled button should have a tooltip.
253
+ */
254
+ hasAriaDisabled: _propTypes.default.bool
246
255
  };
@@ -16,11 +16,13 @@ var _flex = require("../../../flex");
16
16
  var _button = require("../../../button");
17
17
  var _code = require("../../../code");
18
18
  var _date_picker = require("../../date_picker");
19
+ var _timezone_display = require("./timezone_display");
19
20
  var _absolute_tab = require("./absolute_tab.styles");
20
21
  var _react2 = require("@emotion/react");
21
22
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
23
  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); }
23
24
  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; }
25
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
24
26
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
25
27
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
26
28
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
@@ -46,7 +48,9 @@ var EuiAbsoluteTab = exports.EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
46
48
  utcOffset = _ref.utcOffset,
47
49
  minDate = _ref.minDate,
48
50
  maxDate = _ref.maxDate,
49
- labelPrefix = _ref.labelPrefix;
51
+ labelPrefix = _ref.labelPrefix,
52
+ _ref$timeZoneDisplayP = _ref.timeZoneDisplayProps,
53
+ timeZoneDisplayProps = _ref$timeZoneDisplayP === void 0 ? {} : _ref$timeZoneDisplayP;
50
54
  var styles = (0, _services.useEuiMemoizedStyles)(_absolute_tab.euiAbsoluteTabDateFormStyles);
51
55
  var _useState = (0, _react.useState)(function () {
52
56
  var parsedValue = _datemath.default.parse(value, {
@@ -65,6 +69,7 @@ var EuiAbsoluteTab = exports.EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
65
69
  setHasUnparsedText(false);
66
70
  setIsTextInvalid(false);
67
71
  }, [dateFormat]);
72
+ var timeZomeDescriptionId = (0, _services.useGeneratedHtmlId)();
68
73
  var submitButtonLabel = (0, _i18n.useEuiI18n)('euiAbsoluteTab.dateFormatButtonLabel', 'Parse date');
69
74
  var dateFormatError = (0, _i18n.useEuiI18n)('euiAbsoluteTab.dateFormatError', 'Allowed formats: {dateFormat}, ISO 8601, RFC 2822, or Unix timestamp.', {
70
75
  dateFormat: (0, _react2.jsx)(_code.EuiCode, null, dateFormat)
@@ -155,7 +160,8 @@ var EuiAbsoluteTab = exports.EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
155
160
  css: styles.euiAbsoluteTabDateForm__row,
156
161
  isInvalid: isTextInvalid,
157
162
  error: isTextInvalid ? dateFormatError : undefined,
158
- helpText: hasUnparsedText && !isTextInvalid ? dateFormatError : undefined
163
+ helpText: hasUnparsedText && !isTextInvalid ? dateFormatError : undefined,
164
+ describedByIds: [timeZomeDescriptionId]
159
165
  }, (0, _react2.jsx)(_form.EuiFieldText, {
160
166
  compressed: true,
161
167
  isInvalid: isTextInvalid,
@@ -179,7 +185,9 @@ var EuiAbsoluteTab = exports.EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
179
185
  "aria-label": submitButtonLabel,
180
186
  title: submitButtonLabel,
181
187
  "data-test-subj": "parseAbsoluteDateFormat"
182
- })));
188
+ })), (0, _react2.jsx)(_timezone_display.EuiTimeZoneDisplay, _extends({
189
+ id: timeZomeDescriptionId
190
+ }, timeZoneDisplayProps)));
183
191
  };
184
192
  EuiAbsoluteTab.propTypes = {
185
193
  dateFormat: _propTypes.default.string.isRequired,
@@ -191,5 +199,23 @@ EuiAbsoluteTab.propTypes = {
191
199
  labelPrefix: _propTypes.default.string.isRequired,
192
200
  utcOffset: _propTypes.default.number,
193
201
  minDate: _propTypes.default.any,
194
- maxDate: _propTypes.default.any
202
+ maxDate: _propTypes.default.any,
203
+ timeZoneDisplayProps: _propTypes.default.shape({
204
+ /**
205
+ * A valid time zone name, from the IANA database, e.g. "America/Los_Angeles".
206
+ *
207
+ * @link https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
208
+ */
209
+ timeZone: _propTypes.default.string,
210
+ /**
211
+ * Render prop function to add additional content to the time zone display.
212
+ * Useful for e.g. adding links to documentation or setting pages.
213
+ */
214
+ customRender: _propTypes.default.func,
215
+ /**
216
+ * Reference date to be used while resolving the UTC offset.
217
+ * Only useful for edge cases involving daylight saving time.
218
+ */
219
+ date: _propTypes.default.any
220
+ })
195
221
  };
@@ -14,7 +14,7 @@ var _pretty_duration = require("../pretty_duration");
14
14
  var _date_popover_content = require("./date_popover_content");
15
15
  var _date_popover_button = require("./date_popover_button.styles");
16
16
  var _react2 = require("@emotion/react");
17
- var _excluded = ["position", "isDisabled", "isInvalid", "needsUpdating", "value", "buttonProps", "canRoundRelativeUnits", "roundUp", "onChange", "locale", "dateFormat", "utcOffset", "minDate", "maxDate", "timeFormat", "isOpen", "onPopoverToggle", "onPopoverClose", "compressed", "timeOptions"];
17
+ var _excluded = ["position", "isDisabled", "isInvalid", "needsUpdating", "value", "buttonProps", "canRoundRelativeUnits", "roundUp", "onChange", "locale", "dateFormat", "utcOffset", "minDate", "maxDate", "timeFormat", "isOpen", "onPopoverToggle", "onPopoverClose", "compressed", "timeOptions", "timeZoneDisplayProps"];
18
18
  /*
19
19
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
20
20
  * or more contributor license agreements. Licensed under the Elastic License
@@ -48,6 +48,8 @@ var EuiDatePopoverButton = exports.EuiDatePopoverButton = function EuiDatePopove
48
48
  onPopoverClose = props.onPopoverClose,
49
49
  compressed = props.compressed,
50
50
  timeOptions = props.timeOptions,
51
+ _props$timeZoneDispla = props.timeZoneDisplayProps,
52
+ timeZoneDisplayProps = _props$timeZoneDispla === void 0 ? {} : _props$timeZoneDispla,
51
53
  rest = _objectWithoutProperties(props, _excluded);
52
54
  var classes = (0, _classnames.default)(['euiDatePopoverButton', "euiDatePopoverButton--".concat(position), {
53
55
  'euiDatePopoverButton--compressed': compressed,
@@ -106,7 +108,8 @@ var EuiDatePopoverButton = exports.EuiDatePopoverButton = function EuiDatePopove
106
108
  utcOffset: utcOffset,
107
109
  timeOptions: timeOptions,
108
110
  minDate: minDate,
109
- maxDate: maxDate
111
+ maxDate: maxDate,
112
+ timeZoneDisplayProps: timeZoneDisplayProps
110
113
  }));
111
114
  };
112
115
  EuiDatePopoverButton.propTypes = {
@@ -149,6 +152,24 @@ EuiDatePopoverButton.propTypes = {
149
152
  label: _propTypes.default.string,
150
153
  start: _propTypes.default.oneOfType([_propTypes.default.oneOf(["now"]), _propTypes.default.string.isRequired]).isRequired
151
154
  }).isRequired).isRequired
152
- }).isRequired
155
+ }).isRequired,
156
+ timeZoneDisplayProps: _propTypes.default.shape({
157
+ /**
158
+ * A valid time zone name, from the IANA database, e.g. "America/Los_Angeles".
159
+ *
160
+ * @link https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
161
+ */
162
+ timeZone: _propTypes.default.string,
163
+ /**
164
+ * Render prop function to add additional content to the time zone display.
165
+ * Useful for e.g. adding links to documentation or setting pages.
166
+ */
167
+ customRender: _propTypes.default.func,
168
+ /**
169
+ * Reference date to be used while resolving the UTC offset.
170
+ * Only useful for edge cases involving daylight saving time.
171
+ */
172
+ date: _propTypes.default.any
173
+ })
153
174
  };
154
175
  EuiDatePopoverButton.displayName = 'EuiDatePopoverButton';
@@ -40,7 +40,9 @@ var EuiDatePopoverContent = exports.EuiDatePopoverContent = function EuiDatePopo
40
40
  utcOffset = _ref.utcOffset,
41
41
  timeOptions = _ref.timeOptions,
42
42
  minDate = _ref.minDate,
43
- maxDate = _ref.maxDate;
43
+ maxDate = _ref.maxDate,
44
+ _ref$timeZoneDisplayP = _ref.timeZoneDisplayProps,
45
+ timeZoneDisplayProps = _ref$timeZoneDisplayP === void 0 ? {} : _ref$timeZoneDisplayP;
44
46
  var styles = (0, _services.useEuiMemoizedStyles)(_date_popover_content.euiDatePopoverContentStyles);
45
47
  var onTabClick = function onTabClick(selectedTab) {
46
48
  switch (selectedTab.id) {
@@ -71,7 +73,8 @@ var EuiDatePopoverContent = exports.EuiDatePopoverContent = function EuiDatePopo
71
73
  labelPrefix: labelPrefix,
72
74
  utcOffset: utcOffset,
73
75
  minDate: minDate,
74
- maxDate: maxDate
76
+ maxDate: maxDate,
77
+ timeZoneDisplayProps: timeZoneDisplayProps
75
78
  }),
76
79
  'data-test-subj': 'superDatePickerAbsoluteTab',
77
80
  'aria-label': "".concat(labelPrefix, ": ").concat(absoluteLabel)
@@ -85,7 +88,8 @@ var EuiDatePopoverContent = exports.EuiDatePopoverContent = function EuiDatePopo
85
88
  onChange: onChange,
86
89
  roundUp: roundUp,
87
90
  labelPrefix: labelPrefix,
88
- timeOptions: timeOptions
91
+ timeOptions: timeOptions,
92
+ timeZoneDisplayProps: timeZoneDisplayProps
89
93
  }),
90
94
  'data-test-subj': 'superDatePickerRelativeTab',
91
95
  'aria-label': "".concat(labelPrefix, ": ").concat(relativeLabel)
@@ -157,6 +161,24 @@ EuiDatePopoverContent.propTypes = {
157
161
  label: _propTypes.default.string,
158
162
  start: _propTypes.default.oneOfType([_propTypes.default.oneOf(["now"]), _propTypes.default.string.isRequired]).isRequired
159
163
  }).isRequired).isRequired
160
- }).isRequired
164
+ }).isRequired,
165
+ timeZoneDisplayProps: _propTypes.default.shape({
166
+ /**
167
+ * A valid time zone name, from the IANA database, e.g. "America/Los_Angeles".
168
+ *
169
+ * @link https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
170
+ */
171
+ timeZone: _propTypes.default.string,
172
+ /**
173
+ * Render prop function to add additional content to the time zone display.
174
+ * Useful for e.g. adding links to documentation or setting pages.
175
+ */
176
+ customRender: _propTypes.default.func,
177
+ /**
178
+ * Reference date to be used while resolving the UTC offset.
179
+ * Only useful for edge cases involving daylight saving time.
180
+ */
181
+ date: _propTypes.default.any
182
+ })
161
183
  };
162
184
  EuiDatePopoverContent.displayName = 'EuiDatePopoverContent';