@elastic/eui 109.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 (356) hide show
  1. package/es/components/accessibility/skip_link/skip_link.js +10 -1
  2. package/es/components/bottom_bar/bottom_bar.js +12 -2
  3. package/es/components/button/button.js +20 -25
  4. package/es/components/button/button_display/_button_display.js +32 -30
  5. package/es/components/button/button_display/_button_display.styles.js +4 -4
  6. package/es/components/button/button_empty/button_empty.js +32 -14
  7. package/es/components/button/button_group/button_group.js +49 -31
  8. package/es/components/button/button_group/button_group_button.js +14 -2
  9. package/es/components/button/button_group/button_group_button.styles.js +12 -8
  10. package/es/components/button/button_icon/button_icon.js +30 -6
  11. package/es/components/card/card.js +20 -25
  12. package/es/components/card/card_select/card_select.js +20 -25
  13. package/es/components/code/code_block_virtualized.js +9 -7
  14. package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
  15. package/es/components/datagrid/body/cell/data_grid_cell.js +35 -12
  16. package/es/components/datagrid/body/data_grid_body.js +23 -6
  17. package/es/components/datagrid/body/data_grid_body_custom.js +23 -6
  18. package/es/components/datagrid/body/data_grid_body_virtualized.js +23 -6
  19. package/es/components/datagrid/body/header/data_grid_header_cell.js +23 -6
  20. package/es/components/datagrid/controls/column_selector.js +36 -19
  21. package/es/components/datagrid/controls/column_sorting.js +23 -6
  22. package/es/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
  23. package/es/components/datagrid/data_grid.js +5 -1
  24. package/es/components/datagrid/utils/in_memory.js +25 -7
  25. package/es/components/date_picker/auto_refresh/auto_refresh.js +11 -2
  26. package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +31 -5
  27. package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
  28. package/es/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
  29. package/es/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
  30. package/es/components/date_picker/super_date_picker/date_popover/timezone_display.js +98 -0
  31. package/es/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +19 -0
  32. package/es/components/date_picker/super_date_picker/pretty_duration.js +1 -8
  33. package/es/components/date_picker/super_date_picker/relative_utils.js +8 -0
  34. package/es/components/date_picker/super_date_picker/super_date_picker.js +118 -26
  35. package/es/components/date_picker/super_date_picker/time_window_buttons.js +185 -0
  36. package/es/components/facet/facet_button.js +9 -19
  37. package/es/components/filter_group/filter_button.js +14 -1
  38. package/es/components/flyout/flyout.js +27 -10
  39. package/es/components/form/form_control_button/form_control_button.js +13 -7
  40. package/es/components/header/header_links/header_link.js +13 -7
  41. package/es/components/header/header_section/header_section_item_button.js +13 -7
  42. package/es/components/icon/assets/boxes_vertical.js +1 -1
  43. package/es/components/icon/assets/checkInCircleFilled.js +1 -2
  44. package/es/components/icon/assets/errorFilled.js +1 -2
  45. package/es/components/icon/assets/warningFilled.js +1 -2
  46. package/es/components/icon/icon_map.js +3 -6
  47. package/es/components/list_group/list_group.js +13 -1
  48. package/es/components/list_group/list_group_item.js +13 -1
  49. package/es/components/list_group/list_group_item_extra_action.js +13 -1
  50. package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
  51. package/es/components/overlay_mask/overlay_mask.styles.js +1 -1
  52. package/es/components/pagination/pagination_button.js +13 -7
  53. package/es/components/popover/popover.js +22 -16
  54. package/es/components/provider/component_defaults/component_defaults.js +22 -2
  55. package/es/components/table/table_row.styles.js +1 -1
  56. package/es/components/tool_tip/tool_tip.js +24 -24
  57. package/es/global_styling/index.js +2 -1
  58. package/es/global_styling/mixins/_button.js +1 -1
  59. package/es/global_styling/utility/selectors.js +9 -0
  60. package/es/services/focus_trap/focus_trap_pub_sub.js +74 -0
  61. package/es/services/focus_trap/index.js +9 -0
  62. package/es/services/hooks/index.js +2 -1
  63. package/es/services/hooks/useEuiDisabledElement.js +195 -0
  64. package/es/services/index.js +1 -0
  65. package/es/services/popover/reposition_on_scroll.js +61 -0
  66. package/es/test/cypress/index.d.ts +12 -0
  67. package/es/test/cypress/index.js +9 -0
  68. package/es/test/cypress/matchers.d.ts +20 -0
  69. package/es/test/cypress/matchers.js +54 -0
  70. package/es/test/cypress/test_reposition_on_scroll.js +66 -0
  71. package/es/test/enzyme/enzyme_matchers.d.ts +36 -0
  72. package/es/test/enzyme/enzyme_matchers.js +43 -0
  73. package/es/test/enzyme/index.d.ts +14 -0
  74. package/es/test/enzyme/index.js +10 -0
  75. package/es/test/rtl/index.d.ts +9 -1
  76. package/es/test/rtl/index.js +2 -1
  77. package/es/test/rtl/matchers.d.ts +36 -0
  78. package/es/test/rtl/matchers.js +82 -0
  79. package/es/utils/element_can_be_disabled.js +16 -0
  80. package/es/utils/index.js +2 -1
  81. package/eui.d.ts +588 -180
  82. package/i18ntokens.json +1357 -1231
  83. package/lib/components/accessibility/skip_link/skip_link.js +10 -1
  84. package/lib/components/bottom_bar/bottom_bar.js +11 -1
  85. package/lib/components/button/button.js +21 -26
  86. package/lib/components/button/button_display/_button_display.js +31 -29
  87. package/lib/components/button/button_display/_button_display.styles.js +4 -4
  88. package/lib/components/button/button_empty/button_empty.js +31 -13
  89. package/lib/components/button/button_group/button_group.js +49 -31
  90. package/lib/components/button/button_group/button_group_button.js +14 -2
  91. package/lib/components/button/button_group/button_group_button.styles.js +10 -6
  92. package/lib/components/button/button_icon/button_icon.js +29 -5
  93. package/lib/components/card/card.js +21 -26
  94. package/lib/components/card/card_select/card_select.js +21 -26
  95. package/lib/components/code/code_block_virtualized.js +9 -7
  96. package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
  97. package/lib/components/datagrid/body/cell/data_grid_cell.js +35 -12
  98. package/lib/components/datagrid/body/data_grid_body.js +23 -6
  99. package/lib/components/datagrid/body/data_grid_body_custom.js +23 -6
  100. package/lib/components/datagrid/body/data_grid_body_virtualized.js +23 -6
  101. package/lib/components/datagrid/body/header/data_grid_header_cell.js +23 -6
  102. package/lib/components/datagrid/controls/column_selector.js +36 -19
  103. package/lib/components/datagrid/controls/column_sorting.js +23 -6
  104. package/lib/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
  105. package/lib/components/datagrid/data_grid.js +5 -1
  106. package/lib/components/datagrid/utils/in_memory.js +25 -7
  107. package/lib/components/date_picker/auto_refresh/auto_refresh.js +12 -3
  108. package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +30 -4
  109. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
  110. package/lib/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
  111. package/lib/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
  112. package/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js +104 -0
  113. package/lib/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
  114. package/lib/components/date_picker/super_date_picker/pretty_duration.js +2 -9
  115. package/lib/components/date_picker/super_date_picker/relative_utils.js +9 -0
  116. package/lib/components/date_picker/super_date_picker/super_date_picker.js +118 -26
  117. package/lib/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
  118. package/lib/components/facet/facet_button.js +9 -19
  119. package/lib/components/filter_group/filter_button.js +14 -1
  120. package/lib/components/flyout/flyout.js +26 -9
  121. package/lib/components/form/form_control_button/form_control_button.js +13 -7
  122. package/lib/components/header/header_links/header_link.js +13 -7
  123. package/lib/components/header/header_section/header_section_item_button.js +13 -7
  124. package/lib/components/icon/assets/boxes_vertical.js +1 -1
  125. package/lib/components/icon/assets/checkInCircleFilled.js +1 -2
  126. package/lib/components/icon/assets/errorFilled.js +1 -2
  127. package/lib/components/icon/assets/warningFilled.js +1 -2
  128. package/lib/components/icon/icon_map.js +3 -6
  129. package/lib/components/icon/svgs/boxes_vertical.svg +1 -1
  130. package/lib/components/icon/svgs/checkInCircleFilled.svg +1 -1
  131. package/lib/components/icon/svgs/errorFilled.svg +1 -1
  132. package/lib/components/icon/svgs/warningFilled.svg +1 -1
  133. package/lib/components/list_group/list_group.js +13 -1
  134. package/lib/components/list_group/list_group_item.js +13 -1
  135. package/lib/components/list_group/list_group_item_extra_action.js +13 -1
  136. package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
  137. package/lib/components/overlay_mask/overlay_mask.styles.js +1 -1
  138. package/lib/components/pagination/pagination_button.js +13 -7
  139. package/lib/components/popover/popover.js +21 -15
  140. package/lib/components/provider/component_defaults/component_defaults.js +22 -2
  141. package/lib/components/table/table_row.styles.js +1 -1
  142. package/lib/components/tool_tip/tool_tip.js +24 -24
  143. package/lib/global_styling/index.js +16 -1
  144. package/lib/global_styling/mixins/_button.js +1 -1
  145. package/lib/global_styling/utility/selectors.js +15 -0
  146. package/lib/services/focus_trap/focus_trap_pub_sub.js +80 -0
  147. package/lib/services/focus_trap/index.js +12 -0
  148. package/lib/services/hooks/index.js +18 -1
  149. package/lib/services/hooks/useEuiDisabledElement.js +199 -0
  150. package/lib/services/index.js +8 -0
  151. package/lib/services/popover/reposition_on_scroll.js +67 -0
  152. package/lib/test/cypress/index.d.ts +12 -0
  153. package/lib/test/cypress/index.js +18 -0
  154. package/lib/test/cypress/matchers.d.ts +20 -0
  155. package/lib/test/cypress/matchers.js +61 -0
  156. package/lib/test/cypress/test_reposition_on_scroll.js +69 -0
  157. package/lib/test/enzyme/enzyme_matchers.d.ts +36 -0
  158. package/lib/test/enzyme/enzyme_matchers.js +49 -0
  159. package/lib/test/enzyme/index.d.ts +14 -0
  160. package/lib/test/enzyme/index.js +24 -0
  161. package/lib/test/rtl/index.d.ts +9 -1
  162. package/lib/test/rtl/index.js +24 -2
  163. package/lib/test/rtl/matchers.d.ts +36 -0
  164. package/lib/test/rtl/matchers.js +86 -0
  165. package/lib/utils/element_can_be_disabled.js +22 -0
  166. package/lib/utils/index.js +14 -1
  167. package/optimize/es/components/bottom_bar/bottom_bar.js +12 -2
  168. package/optimize/es/components/button/button_display/_button_display.js +24 -12
  169. package/optimize/es/components/button/button_display/_button_display.styles.js +4 -4
  170. package/optimize/es/components/button/button_empty/button_empty.js +18 -6
  171. package/optimize/es/components/button/button_group/button_group.js +10 -5
  172. package/optimize/es/components/button/button_group/button_group_button.js +1 -1
  173. package/optimize/es/components/button/button_group/button_group_button.styles.js +12 -8
  174. package/optimize/es/components/button/button_icon/button_icon.js +17 -5
  175. package/optimize/es/components/code/code_block_virtualized.js +9 -7
  176. package/optimize/es/components/datagrid/controls/column_selector.js +36 -19
  177. package/optimize/es/components/datagrid/data_grid.js +5 -1
  178. package/optimize/es/components/datagrid/utils/in_memory.js +2 -1
  179. package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +12 -4
  180. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +5 -2
  181. package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_content.js +7 -3
  182. package/optimize/es/components/date_picker/super_date_picker/date_popover/relative_tab.js +10 -2
  183. package/optimize/es/components/date_picker/super_date_picker/date_popover/timezone_display.js +97 -0
  184. package/optimize/es/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +19 -0
  185. package/optimize/es/components/date_picker/super_date_picker/pretty_duration.js +1 -8
  186. package/optimize/es/components/date_picker/super_date_picker/relative_utils.js +8 -0
  187. package/optimize/es/components/date_picker/super_date_picker/super_date_picker.js +49 -25
  188. package/optimize/es/components/date_picker/super_date_picker/time_window_buttons.js +185 -0
  189. package/optimize/es/components/flyout/flyout.js +27 -10
  190. package/optimize/es/components/icon/assets/boxes_vertical.js +1 -1
  191. package/optimize/es/components/icon/assets/checkInCircleFilled.js +1 -2
  192. package/optimize/es/components/icon/assets/errorFilled.js +1 -2
  193. package/optimize/es/components/icon/assets/warningFilled.js +1 -2
  194. package/optimize/es/components/icon/icon_map.js +3 -6
  195. package/optimize/es/components/overlay_mask/overlay_mask.styles.js +1 -1
  196. package/optimize/es/components/popover/popover.js +22 -16
  197. package/optimize/es/components/table/table_row.styles.js +1 -1
  198. package/optimize/es/components/tool_tip/tool_tip.js +24 -24
  199. package/optimize/es/global_styling/index.js +2 -1
  200. package/optimize/es/global_styling/mixins/_button.js +1 -1
  201. package/optimize/es/global_styling/utility/selectors.js +9 -0
  202. package/optimize/es/services/focus_trap/focus_trap_pub_sub.js +74 -0
  203. package/optimize/es/services/focus_trap/index.js +9 -0
  204. package/optimize/es/services/hooks/index.js +2 -1
  205. package/optimize/es/services/hooks/useEuiDisabledElement.js +192 -0
  206. package/optimize/es/services/index.js +1 -0
  207. package/optimize/es/services/popover/reposition_on_scroll.js +61 -0
  208. package/optimize/es/test/cypress/index.d.ts +12 -0
  209. package/optimize/es/test/cypress/index.js +9 -0
  210. package/optimize/es/test/cypress/matchers.d.ts +20 -0
  211. package/optimize/es/test/cypress/matchers.js +54 -0
  212. package/optimize/es/test/cypress/test_reposition_on_scroll.js +63 -0
  213. package/optimize/es/test/enzyme/enzyme_matchers.d.ts +36 -0
  214. package/optimize/es/test/enzyme/enzyme_matchers.js +43 -0
  215. package/optimize/es/test/enzyme/index.d.ts +14 -0
  216. package/optimize/es/test/enzyme/index.js +10 -0
  217. package/optimize/es/test/rtl/index.d.ts +9 -1
  218. package/optimize/es/test/rtl/index.js +2 -1
  219. package/optimize/es/test/rtl/matchers.d.ts +36 -0
  220. package/optimize/es/test/rtl/matchers.js +82 -0
  221. package/optimize/es/utils/element_can_be_disabled.js +16 -0
  222. package/optimize/es/utils/index.js +2 -1
  223. package/optimize/lib/components/bottom_bar/bottom_bar.js +11 -1
  224. package/optimize/lib/components/button/button_display/_button_display.js +23 -11
  225. package/optimize/lib/components/button/button_display/_button_display.styles.js +4 -4
  226. package/optimize/lib/components/button/button_empty/button_empty.js +17 -5
  227. package/optimize/lib/components/button/button_group/button_group.js +10 -5
  228. package/optimize/lib/components/button/button_group/button_group_button.js +1 -1
  229. package/optimize/lib/components/button/button_group/button_group_button.styles.js +10 -6
  230. package/optimize/lib/components/button/button_icon/button_icon.js +16 -4
  231. package/optimize/lib/components/code/code_block_virtualized.js +9 -7
  232. package/optimize/lib/components/datagrid/controls/column_selector.js +36 -19
  233. package/optimize/lib/components/datagrid/data_grid.js +5 -1
  234. package/optimize/lib/components/datagrid/utils/in_memory.js +2 -1
  235. package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +11 -3
  236. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +5 -2
  237. package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_content.js +7 -3
  238. package/optimize/lib/components/date_picker/super_date_picker/date_popover/relative_tab.js +10 -2
  239. package/optimize/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js +103 -0
  240. package/optimize/lib/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
  241. package/optimize/lib/components/date_picker/super_date_picker/pretty_duration.js +2 -9
  242. package/optimize/lib/components/date_picker/super_date_picker/relative_utils.js +9 -0
  243. package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.js +49 -25
  244. package/optimize/lib/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
  245. package/optimize/lib/components/flyout/flyout.js +26 -9
  246. package/optimize/lib/components/icon/assets/boxes_vertical.js +1 -1
  247. package/optimize/lib/components/icon/assets/checkInCircleFilled.js +1 -2
  248. package/optimize/lib/components/icon/assets/errorFilled.js +1 -2
  249. package/optimize/lib/components/icon/assets/warningFilled.js +1 -2
  250. package/optimize/lib/components/icon/icon_map.js +3 -6
  251. package/optimize/lib/components/icon/svgs/boxes_vertical.svg +1 -1
  252. package/optimize/lib/components/icon/svgs/checkInCircleFilled.svg +1 -1
  253. package/optimize/lib/components/icon/svgs/errorFilled.svg +1 -1
  254. package/optimize/lib/components/icon/svgs/warningFilled.svg +1 -1
  255. package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +1 -1
  256. package/optimize/lib/components/popover/popover.js +21 -15
  257. package/optimize/lib/components/table/table_row.styles.js +1 -1
  258. package/optimize/lib/components/tool_tip/tool_tip.js +24 -24
  259. package/optimize/lib/global_styling/index.js +16 -1
  260. package/optimize/lib/global_styling/mixins/_button.js +1 -1
  261. package/optimize/lib/global_styling/utility/selectors.js +15 -0
  262. package/optimize/lib/services/focus_trap/focus_trap_pub_sub.js +80 -0
  263. package/optimize/lib/services/focus_trap/index.js +12 -0
  264. package/optimize/lib/services/hooks/index.js +18 -1
  265. package/optimize/lib/services/hooks/useEuiDisabledElement.js +197 -0
  266. package/optimize/lib/services/index.js +8 -0
  267. package/optimize/lib/services/popover/reposition_on_scroll.js +67 -0
  268. package/optimize/lib/test/cypress/index.d.ts +12 -0
  269. package/optimize/lib/test/cypress/index.js +18 -0
  270. package/optimize/lib/test/cypress/matchers.d.ts +20 -0
  271. package/optimize/lib/test/cypress/matchers.js +61 -0
  272. package/optimize/lib/test/cypress/test_reposition_on_scroll.js +70 -0
  273. package/optimize/lib/test/enzyme/enzyme_matchers.d.ts +36 -0
  274. package/optimize/lib/test/enzyme/enzyme_matchers.js +50 -0
  275. package/optimize/lib/test/enzyme/index.d.ts +14 -0
  276. package/optimize/lib/test/enzyme/index.js +24 -0
  277. package/optimize/lib/test/rtl/index.d.ts +9 -1
  278. package/optimize/lib/test/rtl/index.js +24 -2
  279. package/optimize/lib/test/rtl/matchers.d.ts +36 -0
  280. package/optimize/lib/test/rtl/matchers.js +86 -0
  281. package/optimize/lib/utils/element_can_be_disabled.js +22 -0
  282. package/optimize/lib/utils/index.js +14 -1
  283. package/package.json +3 -2
  284. package/test-env/components/accessibility/skip_link/skip_link.js +10 -1
  285. package/test-env/components/bottom_bar/bottom_bar.js +11 -1
  286. package/test-env/components/button/button.js +21 -26
  287. package/test-env/components/button/button_display/_button_display.js +31 -29
  288. package/test-env/components/button/button_display/_button_display.styles.js +4 -4
  289. package/test-env/components/button/button_empty/button_empty.js +31 -13
  290. package/test-env/components/button/button_group/button_group.js +49 -31
  291. package/test-env/components/button/button_group/button_group_button.js +14 -2
  292. package/test-env/components/button/button_group/button_group_button.styles.js +10 -6
  293. package/test-env/components/button/button_icon/button_icon.js +29 -5
  294. package/test-env/components/card/card.js +21 -26
  295. package/test-env/components/card/card_select/card_select.js +21 -26
  296. package/test-env/components/code/code_block_virtualized.js +9 -7
  297. package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
  298. package/test-env/components/datagrid/body/cell/data_grid_cell.js +35 -12
  299. package/test-env/components/datagrid/body/data_grid_body.js +23 -6
  300. package/test-env/components/datagrid/body/data_grid_body_custom.js +23 -6
  301. package/test-env/components/datagrid/body/data_grid_body_virtualized.js +23 -6
  302. package/test-env/components/datagrid/body/header/data_grid_header_cell.js +23 -6
  303. package/test-env/components/datagrid/controls/column_selector.js +36 -19
  304. package/test-env/components/datagrid/controls/column_sorting.js +23 -6
  305. package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
  306. package/test-env/components/datagrid/data_grid.js +5 -1
  307. package/test-env/components/datagrid/utils/in_memory.js +25 -7
  308. package/test-env/components/date_picker/auto_refresh/auto_refresh.js +12 -3
  309. package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +30 -4
  310. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
  311. package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
  312. package/test-env/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
  313. package/test-env/components/date_picker/super_date_picker/date_popover/timezone_display.js +103 -0
  314. package/test-env/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
  315. package/test-env/components/date_picker/super_date_picker/pretty_duration.js +2 -9
  316. package/test-env/components/date_picker/super_date_picker/relative_utils.js +9 -0
  317. package/test-env/components/date_picker/super_date_picker/super_date_picker.js +118 -26
  318. package/test-env/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
  319. package/test-env/components/facet/facet_button.js +9 -19
  320. package/test-env/components/filter_group/filter_button.js +14 -1
  321. package/test-env/components/form/form_control_button/form_control_button.js +13 -7
  322. package/test-env/components/header/header_links/header_link.js +13 -7
  323. package/test-env/components/header/header_section/header_section_item_button.js +13 -7
  324. package/test-env/components/icon/assets/boxes_vertical.js +1 -1
  325. package/test-env/components/icon/assets/checkInCircleFilled.js +1 -2
  326. package/test-env/components/icon/assets/errorFilled.js +1 -2
  327. package/test-env/components/icon/assets/warningFilled.js +1 -2
  328. package/test-env/components/icon/icon_map.js +3 -6
  329. package/test-env/components/list_group/list_group.js +13 -1
  330. package/test-env/components/list_group/list_group_item.js +13 -1
  331. package/test-env/components/list_group/list_group_item_extra_action.js +13 -1
  332. package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
  333. package/test-env/components/overlay_mask/overlay_mask.styles.js +1 -1
  334. package/test-env/components/pagination/pagination_button.js +13 -7
  335. package/test-env/components/popover/popover.js +21 -15
  336. package/test-env/components/provider/component_defaults/component_defaults.js +22 -2
  337. package/test-env/components/table/table_row.styles.js +1 -1
  338. package/test-env/components/tool_tip/tool_tip.js +24 -24
  339. package/test-env/global_styling/index.js +16 -1
  340. package/test-env/global_styling/mixins/_button.js +1 -1
  341. package/test-env/global_styling/utility/selectors.js +15 -0
  342. package/test-env/services/focus_trap/focus_trap_pub_sub.js +80 -0
  343. package/test-env/services/focus_trap/index.js +12 -0
  344. package/test-env/services/hooks/index.js +18 -1
  345. package/test-env/services/hooks/useEuiDisabledElement.js +197 -0
  346. package/test-env/services/index.js +8 -0
  347. package/test-env/services/popover/reposition_on_scroll.js +67 -0
  348. package/test-env/test/cypress/index.js +18 -0
  349. package/test-env/test/cypress/matchers.js +61 -0
  350. package/test-env/test/cypress/test_reposition_on_scroll.js +70 -0
  351. package/test-env/test/enzyme/enzyme_matchers.js +50 -0
  352. package/test-env/test/enzyme/index.js +24 -0
  353. package/test-env/test/rtl/index.js +24 -2
  354. package/test-env/test/rtl/matchers.js +86 -0
  355. package/test-env/utils/element_can_be_disabled.js +22 -0
  356. package/test-env/utils/index.js +14 -1
@@ -14,7 +14,7 @@ var _global_styling = require("../../global_styling");
14
14
  var _auto_sizer = require("../auto_sizer");
15
15
  var _utils = require("./utils");
16
16
  var _react2 = require("@emotion/react");
17
- var _excluded = ["style", "children"],
17
+ var _excluded = ["style"],
18
18
  _excluded2 = ["style"];
19
19
  /*
20
20
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -32,29 +32,31 @@ var EuiCodeBlockVirtualized = exports.EuiCodeBlockVirtualized = function EuiCode
32
32
  overflowHeight = _ref.overflowHeight,
33
33
  preProps = _ref.preProps,
34
34
  codeProps = _ref.codeProps;
35
+ // NOTE: Don't inject other content (e.g. a label) inside this outer virtualized
36
+ // container as react-window requires this to be stable for scroll calculations.
37
+ // Instead, inject it into the inner virtualized element.
35
38
  var VirtualizedOuterElement = (0, _react.useMemo)(function () {
36
39
  return /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
37
40
  var style = _ref2.style,
38
- children = _ref2.children,
39
41
  props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
40
42
  return (0, _react2.jsx)("pre", (0, _extends2.default)({
41
43
  style: (0, _global_styling.logicalStyles)(style)
42
44
  }, props, {
43
45
  ref: ref
44
- }, preProps), label, children);
46
+ }, preProps));
45
47
  });
46
- }, [preProps, label]);
48
+ }, [preProps]);
47
49
  var VirtualizedInnerElement = (0, _react.useMemo)(function () {
48
50
  return /*#__PURE__*/(0, _react.forwardRef)(function (_ref3, ref) {
49
51
  var style = _ref3.style,
50
52
  props = (0, _objectWithoutProperties2.default)(_ref3, _excluded2);
51
- return (0, _react2.jsx)("code", (0, _extends2.default)({
53
+ return (0, _react2.jsx)(_react.default.Fragment, null, label, (0, _react2.jsx)("code", (0, _extends2.default)({
52
54
  style: (0, _global_styling.logicalStyles)(style)
53
55
  }, props, {
54
56
  ref: ref
55
- }, codeProps));
57
+ }, codeProps)));
56
58
  });
57
- }, [codeProps]);
59
+ }, [codeProps, label]);
58
60
  var virtualizationProps = {
59
61
  itemData: data,
60
62
  itemSize: rowHeight,
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.useDataGridColumnSelector = void 0;
9
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -45,31 +45,48 @@ var useDataGridColumnSelector = exports.useDataGridColumnSelector = function use
45
45
  var id = _ref.id;
46
46
  return id;
47
47
  });
48
- var availableSet = new Set(availableColumnIds);
49
- // Filter visibleColumns to only include existing columns
48
+ // remove duplicate columns to ensure unique columns
49
+ var availableColumnIdsSet = new Set(availableColumnIds);
50
+ if (process.env.NODE_ENV === 'development') {
51
+ if (availableColumnIds.length > availableColumnIdsSet.size) {
52
+ var duplicateIds = [];
53
+ var _iterator = _createForOfIteratorHelper(availableColumnIds),
54
+ _step;
55
+ try {
56
+ var _loop = function _loop() {
57
+ var id = _step.value;
58
+ if (!duplicateIds.includes(id) && availableColumnIds.filter(function (_id) {
59
+ return _id === id;
60
+ }).length > 1) {
61
+ duplicateIds.push(id);
62
+ }
63
+ };
64
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
65
+ _loop();
66
+ }
67
+ } catch (err) {
68
+ _iterator.e(err);
69
+ } finally {
70
+ _iterator.f();
71
+ }
72
+ 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.');
73
+ }
74
+ }
50
75
  var validVisibleColumns = visibleColumns.filter(function (id) {
51
- return availableSet.has(id);
76
+ return availableColumnIdsSet.has(id);
52
77
  });
53
78
  var visibleSet = new Set(validVisibleColumns);
54
79
  var result = [];
55
80
  var visibleIndex = 0;
56
- var _iterator = _createForOfIteratorHelper(availableColumnIds),
57
- _step;
58
- try {
59
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
60
- var columnId = _step.value;
61
- if (visibleSet.has(columnId)) {
62
- // Replace with next visible column in order
81
+ for (var _i = 0, _arr = (0, _toConsumableArray2.default)(availableColumnIdsSet); _i < _arr.length; _i++) {
82
+ var columnId = _arr[_i];
83
+ if (visibleSet.has(columnId)) {
84
+ if (visibleIndex < validVisibleColumns.length) {
63
85
  result.push(validVisibleColumns[visibleIndex++]);
64
- } else {
65
- // Keep hidden column in original position
66
- result.push(columnId);
67
86
  }
87
+ } else {
88
+ result.push(columnId);
68
89
  }
69
- } catch (err) {
70
- _iterator.e(err);
71
- } finally {
72
- _iterator.f();
73
90
  }
74
91
  return result;
75
92
  // doesn't depend on visibleColumns on purpose to keep it an initial state
@@ -134,7 +151,7 @@ var useDataGridColumnSelector = exports.useDataGridColumnSelector = function use
134
151
  anchorPosition: "downLeft",
135
152
  panelPaddingSize: "none",
136
153
  button: (0, _react2.jsx)(_data_grid_toolbar_control.EuiDataGridToolbarControl, {
137
- badgeContent: numberOfHiddenFields > 0 ? "".concat(orderedVisibleColumns.length, "/").concat(availableColumns.length) : availableColumns.length,
154
+ badgeContent: numberOfHiddenFields > 0 ? "".concat(orderedVisibleColumns.length, "/").concat(sortedColumns.length) : sortedColumns.length,
138
155
  iconType: "tableDensityNormal",
139
156
  "data-test-subj": "dataGridColumnSelectorButton",
140
157
  onClick: function onClick() {
@@ -164,7 +164,11 @@ var EuiDataGrid = exports.EuiDataGrid = /*#__PURE__*/(0, _react.memo)( /*#__PURE
164
164
  */
165
165
  var displayValues = (0, _react.useMemo)(function () {
166
166
  return columns.reduce(function (acc, column) {
167
- return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2.default)({}, column.id, column.displayAsText || column.id));
167
+ // prevent duplicate values
168
+ if (!acc[column.id]) {
169
+ return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2.default)({}, column.id, column.displayAsText || column.id));
170
+ }
171
+ return acc;
168
172
  }, {});
169
173
  }, [columns]);
170
174
  var _useDataGridDisplaySe = (0, _controls.useDataGridDisplaySelector)((0, _controls.checkOrDefaultToolBarDisplayOptions)(toolbarVisibility, 'showDisplaySelector'), gridStyleWithDefaults, _rowHeightsOptions),
@@ -95,13 +95,14 @@ var EuiDataGridInMemoryRenderer = exports.EuiDataGridInMemoryRenderer = function
95
95
  var cells = [];
96
96
  var _loop = function _loop(i) {
97
97
  cells.push(columns.map(function (column, j) {
98
+ var key = "".concat(i, "-").concat(j, "-").concat(column.id);
98
99
  var skipThisColumn = inMemory.skipColumns && inMemory.skipColumns.indexOf(column.id) !== -1;
99
100
  if (skipThisColumn) {
100
101
  return null;
101
102
  }
102
103
  var isExpandable = column.isExpandable !== undefined ? column.isExpandable : true;
103
104
  return (0, _react3.jsx)("div", {
104
- key: "".concat(i, "-").concat(column.id),
105
+ key: key,
105
106
  "data-dg-row": i,
106
107
  "data-dg-column": column.id
107
108
  }, (0, _react3.jsx)(CellElement, {
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.EuiAbsoluteTab = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
11
  var _react = _interopRequireWildcard(require("react"));
11
12
  var _moment = _interopRequireDefault(require("moment"));
@@ -17,6 +18,7 @@ var _flex = require("../../../flex");
17
18
  var _button = require("../../../button");
18
19
  var _code = require("../../../code");
19
20
  var _date_picker = require("../../date_picker");
21
+ var _timezone_display = require("./timezone_display");
20
22
  var _absolute_tab = require("./absolute_tab.styles");
21
23
  var _react2 = require("@emotion/react");
22
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); }
@@ -43,7 +45,9 @@ var EuiAbsoluteTab = exports.EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
43
45
  utcOffset = _ref.utcOffset,
44
46
  minDate = _ref.minDate,
45
47
  maxDate = _ref.maxDate,
46
- labelPrefix = _ref.labelPrefix;
48
+ labelPrefix = _ref.labelPrefix,
49
+ _ref$timeZoneDisplayP = _ref.timeZoneDisplayProps,
50
+ timeZoneDisplayProps = _ref$timeZoneDisplayP === void 0 ? {} : _ref$timeZoneDisplayP;
47
51
  var styles = (0, _services.useEuiMemoizedStyles)(_absolute_tab.euiAbsoluteTabDateFormStyles);
48
52
  var _useState = (0, _react.useState)(function () {
49
53
  var parsedValue = _datemath.default.parse(value, {
@@ -62,6 +66,7 @@ var EuiAbsoluteTab = exports.EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
62
66
  setHasUnparsedText(false);
63
67
  setIsTextInvalid(false);
64
68
  }, [dateFormat]);
69
+ var timeZomeDescriptionId = (0, _services.useGeneratedHtmlId)();
65
70
  var submitButtonLabel = (0, _i18n.useEuiI18n)('euiAbsoluteTab.dateFormatButtonLabel', 'Parse date');
66
71
  var dateFormatError = (0, _i18n.useEuiI18n)('euiAbsoluteTab.dateFormatError', 'Allowed formats: {dateFormat}, ISO 8601, RFC 2822, or Unix timestamp.', {
67
72
  dateFormat: (0, _react2.jsx)(_code.EuiCode, null, dateFormat)
@@ -152,7 +157,8 @@ var EuiAbsoluteTab = exports.EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
152
157
  css: styles.euiAbsoluteTabDateForm__row,
153
158
  isInvalid: isTextInvalid,
154
159
  error: isTextInvalid ? dateFormatError : undefined,
155
- helpText: hasUnparsedText && !isTextInvalid ? dateFormatError : undefined
160
+ helpText: hasUnparsedText && !isTextInvalid ? dateFormatError : undefined,
161
+ describedByIds: [timeZomeDescriptionId]
156
162
  }, (0, _react2.jsx)(_form.EuiFieldText, {
157
163
  compressed: true,
158
164
  isInvalid: isTextInvalid,
@@ -176,5 +182,7 @@ var EuiAbsoluteTab = exports.EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
176
182
  "aria-label": submitButtonLabel,
177
183
  title: submitButtonLabel,
178
184
  "data-test-subj": "parseAbsoluteDateFormat"
179
- })));
185
+ })), (0, _react2.jsx)(_timezone_display.EuiTimeZoneDisplay, (0, _extends2.default)({
186
+ id: timeZomeDescriptionId
187
+ }, timeZoneDisplayProps)));
180
188
  };
@@ -16,7 +16,7 @@ var _pretty_duration = require("../pretty_duration");
16
16
  var _date_popover_content = require("./date_popover_content");
17
17
  var _date_popover_button = require("./date_popover_button.styles");
18
18
  var _react2 = require("@emotion/react");
19
- var _excluded = ["position", "isDisabled", "isInvalid", "needsUpdating", "value", "buttonProps", "canRoundRelativeUnits", "roundUp", "onChange", "locale", "dateFormat", "utcOffset", "minDate", "maxDate", "timeFormat", "isOpen", "onPopoverToggle", "onPopoverClose", "compressed", "timeOptions"];
19
+ var _excluded = ["position", "isDisabled", "isInvalid", "needsUpdating", "value", "buttonProps", "canRoundRelativeUnits", "roundUp", "onChange", "locale", "dateFormat", "utcOffset", "minDate", "maxDate", "timeFormat", "isOpen", "onPopoverToggle", "onPopoverClose", "compressed", "timeOptions", "timeZoneDisplayProps"];
20
20
  /*
21
21
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
22
22
  * or more contributor license agreements. Licensed under the Elastic License
@@ -46,6 +46,8 @@ var EuiDatePopoverButton = exports.EuiDatePopoverButton = function EuiDatePopove
46
46
  onPopoverClose = props.onPopoverClose,
47
47
  compressed = props.compressed,
48
48
  timeOptions = props.timeOptions,
49
+ _props$timeZoneDispla = props.timeZoneDisplayProps,
50
+ timeZoneDisplayProps = _props$timeZoneDispla === void 0 ? {} : _props$timeZoneDispla,
49
51
  rest = (0, _objectWithoutProperties2.default)(props, _excluded);
50
52
  var classes = (0, _classnames.default)(['euiDatePopoverButton', "euiDatePopoverButton--".concat(position), {
51
53
  'euiDatePopoverButton--compressed': compressed,
@@ -104,7 +106,8 @@ var EuiDatePopoverButton = exports.EuiDatePopoverButton = function EuiDatePopove
104
106
  utcOffset: utcOffset,
105
107
  timeOptions: timeOptions,
106
108
  minDate: minDate,
107
- maxDate: maxDate
109
+ maxDate: maxDate,
110
+ timeZoneDisplayProps: timeZoneDisplayProps
108
111
  }));
109
112
  };
110
113
  EuiDatePopoverButton.displayName = 'EuiDatePopoverButton';
@@ -39,7 +39,9 @@ var EuiDatePopoverContent = exports.EuiDatePopoverContent = function EuiDatePopo
39
39
  utcOffset = _ref.utcOffset,
40
40
  timeOptions = _ref.timeOptions,
41
41
  minDate = _ref.minDate,
42
- maxDate = _ref.maxDate;
42
+ maxDate = _ref.maxDate,
43
+ _ref$timeZoneDisplayP = _ref.timeZoneDisplayProps,
44
+ timeZoneDisplayProps = _ref$timeZoneDisplayP === void 0 ? {} : _ref$timeZoneDisplayP;
43
45
  var styles = (0, _services.useEuiMemoizedStyles)(_date_popover_content.euiDatePopoverContentStyles);
44
46
  var onTabClick = function onTabClick(selectedTab) {
45
47
  switch (selectedTab.id) {
@@ -70,7 +72,8 @@ var EuiDatePopoverContent = exports.EuiDatePopoverContent = function EuiDatePopo
70
72
  labelPrefix: labelPrefix,
71
73
  utcOffset: utcOffset,
72
74
  minDate: minDate,
73
- maxDate: maxDate
75
+ maxDate: maxDate,
76
+ timeZoneDisplayProps: timeZoneDisplayProps
74
77
  }),
75
78
  'data-test-subj': 'superDatePickerAbsoluteTab',
76
79
  'aria-label': "".concat(labelPrefix, ": ").concat(absoluteLabel)
@@ -84,7 +87,8 @@ var EuiDatePopoverContent = exports.EuiDatePopoverContent = function EuiDatePopo
84
87
  onChange: onChange,
85
88
  roundUp: roundUp,
86
89
  labelPrefix: labelPrefix,
87
- timeOptions: timeOptions
90
+ timeOptions: timeOptions,
91
+ timeZoneDisplayProps: timeZoneDisplayProps
88
92
  }),
89
93
  'data-test-subj': 'superDatePickerRelativeTab',
90
94
  'aria-label': "".concat(labelPrefix, ": ").concat(relativeLabel)
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.EuiRelativeTab = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
11
  var _react = _interopRequireWildcard(require("react"));
11
12
  var _datemath = _interopRequireDefault(require("@elastic/datemath"));
@@ -19,6 +20,7 @@ var _popover = require("../../../popover");
19
20
  var _spacer = require("../../../spacer");
20
21
  var _date_modes = require("../date_modes");
21
22
  var _relative_utils = require("../relative_utils");
23
+ var _timezone_display = require("./timezone_display");
22
24
  var _react2 = require("@emotion/react");
23
25
  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); }
24
26
  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; }
@@ -39,7 +41,9 @@ var EuiRelativeTab = exports.EuiRelativeTab = function EuiRelativeTab(_ref) {
39
41
  value = _ref.value,
40
42
  onChange = _ref.onChange,
41
43
  roundUp = _ref.roundUp,
42
- labelPrefix = _ref.labelPrefix;
44
+ labelPrefix = _ref.labelPrefix,
45
+ _ref$timeZoneDisplayP = _ref.timeZoneDisplayProps,
46
+ timeZoneDisplayProps = _ref$timeZoneDisplayP === void 0 ? {} : _ref$timeZoneDisplayP;
43
47
  var initialRelativeParts = (0, _react.useRef)((0, _relative_utils.parseRelativeParts)(value));
44
48
  var roundUnit = initialRelativeParts.current.roundUnit;
45
49
  var _useState = (0, _react.useState)(initialRelativeParts.current.unit),
@@ -87,6 +91,7 @@ var EuiRelativeTab = exports.EuiRelativeTab = function EuiRelativeTab(_ref) {
87
91
  return parsedValue.locale(locale || 'en').format(dateFormat);
88
92
  }, [isInvalid, value, roundUp, locale, dateFormat]);
89
93
  var relativeDateInputNumberDescriptionId = (0, _services.useGeneratedHtmlId)();
94
+ var timeZomeDescriptionId = (0, _services.useGeneratedHtmlId)();
90
95
  var numberAriaLabel = (0, _i18n.useEuiI18n)('euiRelativeTab.numberInputLabel', 'Time span amount');
91
96
  var numberInputError = (0, _i18n.useEuiI18n)('euiRelativeTab.numberInputError', 'Must be >= 0');
92
97
  var dateInputError = (0, _i18n.useEuiI18n)('euiRelativeTab.dateInputError', 'Must be a valid range');
@@ -120,6 +125,7 @@ var EuiRelativeTab = exports.EuiRelativeTab = function EuiRelativeTab(_ref) {
120
125
  compressed: true,
121
126
  value: formattedValue,
122
127
  readOnly: true,
128
+ "aria-describedby": timeZomeDescriptionId,
123
129
  prepend: (0, _react2.jsx)(_form.EuiFormLabel, null, labelPrefix)
124
130
  }), (0, _react2.jsx)(_accessibility.EuiScreenReaderOnly, null, (0, _react2.jsx)("p", {
125
131
  id: relativeDateInputNumberDescriptionId
@@ -129,7 +135,9 @@ var EuiRelativeTab = exports.EuiRelativeTab = function EuiRelativeTab(_ref) {
129
135
  values: {
130
136
  unit: unit
131
137
  }
132
- })))), (0, _react2.jsx)(_popover.EuiPopoverFooter, {
138
+ })))), (0, _react2.jsx)(_timezone_display.EuiTimeZoneDisplay, (0, _extends2.default)({
139
+ id: timeZomeDescriptionId
140
+ }, timeZoneDisplayProps)), (0, _react2.jsx)(_popover.EuiPopoverFooter, {
133
141
  paddingSize: "s"
134
142
  }, (0, _react2.jsx)(_form.EuiSwitch, {
135
143
  "data-test-subj": "superDatePickerRelativeDateRoundSwitch",
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.EuiTimeZoneDisplay = void 0;
8
+ exports.useEuiUTCOffsetDisplay = useEuiUTCOffsetDisplay;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _timezone_display = require("./timezone_display.styles");
13
+ var _services = require("../../../../services");
14
+ var _flex = require("../../../flex");
15
+ var _icon = require("../../../icon");
16
+ var _text = require("../../../text");
17
+ var _react2 = require("@emotion/react");
18
+ var _excluded = ["timeZone", "customRender", "date"];
19
+ /*
20
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
21
+ * or more contributor license agreements. Licensed under the Elastic License
22
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
23
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
24
+ * Side Public License, v 1.
25
+ */
26
+ /**
27
+ * Available elements to render passed to the
28
+ * `customRender` render function.
29
+ */
30
+ /**
31
+ * Display time zone information.
32
+ */
33
+ var EuiTimeZoneDisplay = exports.EuiTimeZoneDisplay = function EuiTimeZoneDisplay(_ref) {
34
+ var timeZone = _ref.timeZone,
35
+ customRender = _ref.customRender,
36
+ date = _ref.date,
37
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
38
+ var color = 'subdued';
39
+ var styles = (0, _services.useEuiMemoizedStyles)(_timezone_display.euiTimeZoneDisplayStyles);
40
+ var referenceDate = date ? date.toDate() : undefined;
41
+ var _useEuiUTCOffsetDispl = useEuiUTCOffsetDisplay(timeZone !== null && timeZone !== void 0 ? timeZone : 'Browser', referenceDate),
42
+ utc = _useEuiUTCOffsetDispl.utc,
43
+ name = _useEuiUTCOffsetDispl.name,
44
+ isInvalid = _useEuiUTCOffsetDispl.isInvalid;
45
+ if (!timeZone || isInvalid) return null;
46
+ var label = !name ? utc : "".concat(utc, " (").concat(name, ")");
47
+ var nameDisplay = (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_icon.EuiIcon, {
48
+ type: "globe",
49
+ color: color
50
+ }), (0, _react2.jsx)(_text.EuiText, {
51
+ component: "span",
52
+ color: color,
53
+ size: "s"
54
+ }, label));
55
+ return (0, _react2.jsx)(_flex.EuiFlexGroup, (0, _extends2.default)({
56
+ css: styles.euiTimeZoneDisplay,
57
+ alignItems: "center",
58
+ gutterSize: "xs",
59
+ "data-test-subj": "euiTimeZoneDisplay",
60
+ "aria-label": label
61
+ }, rest), typeof customRender === 'function' ? customRender({
62
+ nameDisplay: nameDisplay
63
+ }) : nameDisplay);
64
+ };
65
+
66
+ /**
67
+ * Get the UTC offset display in hours e.g. "UTC+2" from time zone name.
68
+ *
69
+ * @param timeZoneName IANA time zone name
70
+ * @param [date] Reference date to get offset with Intl.DateTimeFormat
71
+ */
72
+ function useEuiUTCOffsetDisplay(timeZoneName, date) {
73
+ try {
74
+ var _formattedParts$find;
75
+ if (timeZoneName === 'UTC') {
76
+ return {
77
+ utc: 'UTC',
78
+ name: '',
79
+ isInvalid: false
80
+ };
81
+ }
82
+ var ianaName = timeZoneName === 'Browser' ? new Intl.DateTimeFormat().resolvedOptions().timeZone : timeZoneName;
83
+ var formatter = new Intl.DateTimeFormat(undefined, {
84
+ timeZone: ianaName,
85
+ timeZoneName: 'shortOffset'
86
+ });
87
+ var formattedParts = formatter.formatToParts(date !== null && date !== void 0 ? date : new Date());
88
+ var timeZoneNamePart = ((_formattedParts$find = formattedParts.find(function (part) {
89
+ return part.type === 'timeZoneName';
90
+ })) === null || _formattedParts$find === void 0 ? void 0 : _formattedParts$find.value) || '';
91
+ return {
92
+ utc: timeZoneNamePart.replace('GMT', 'UTC'),
93
+ name: ianaName,
94
+ isInvalid: false
95
+ };
96
+ } catch (err) {
97
+ return {
98
+ utc: '',
99
+ name: timeZoneName,
100
+ isInvalid: true
101
+ };
102
+ }
103
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.euiTimeZoneDisplayStyles = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _global_styling = require("../../../../global_styling");
9
+ /*
10
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
11
+ * or more contributor license agreements. Licensed under the Elastic License
12
+ * 2.0 and the Server Side Public License, v 1; you may not use this file except
13
+ * in compliance with, at your election, the Elastic License 2.0 or the Server
14
+ * Side Public License, v 1.
15
+ */
16
+
17
+ var euiTimeZoneDisplayStyles = exports.euiTimeZoneDisplayStyles = function euiTimeZoneDisplayStyles(euiThemeContext) {
18
+ var euiTheme = euiThemeContext.euiTheme;
19
+
20
+ // This padding should probably not be part of this component to make it really reusable
21
+
22
+ return {
23
+ euiTimeZoneDisplay: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('padding-horizontal', euiTheme.size.s), " ", (0, _global_styling.logicalCSS)('padding-bottom', euiTheme.size.s), ";;label:euiTimeZoneDisplay;")
24
+ };
25
+ };
@@ -224,7 +224,7 @@ var usePrettyDuration = exports.usePrettyDuration = function usePrettyDuration(_
224
224
  */
225
225
  var relativeDuration = 0;
226
226
  var relativeParts = {};
227
- if (isRelativeToNow(timeFrom, timeTo)) {
227
+ if ((0, _relative_utils.isRelativeToNow)(timeFrom, timeTo)) {
228
228
  if ((0, _date_modes.getDateMode)(timeTo) === _date_modes.DATE_MODES.NOW) {
229
229
  relativeParts = (0, _relative_utils.parseRelativeParts)(timeFrom);
230
230
  } else {
@@ -281,16 +281,9 @@ var hasRangeMatch = function hasRangeMatch(timeFrom, timeTo, ranges) {
281
281
  return timeFrom === start && timeTo === end;
282
282
  });
283
283
  };
284
- var isRelativeToNow = function isRelativeToNow(timeFrom, timeTo) {
285
- var fromDateMode = (0, _date_modes.getDateMode)(timeFrom);
286
- var toDateMode = (0, _date_modes.getDateMode)(timeTo);
287
- var isLast = fromDateMode === _date_modes.DATE_MODES.RELATIVE && toDateMode === _date_modes.DATE_MODES.NOW;
288
- var isNext = fromDateMode === _date_modes.DATE_MODES.NOW && toDateMode === _date_modes.DATE_MODES.RELATIVE;
289
- return isLast || isNext;
290
- };
291
284
  var showPrettyDuration = exports.showPrettyDuration = function showPrettyDuration(timeFrom, timeTo, quickRanges) {
292
285
  if (hasRangeMatch(timeFrom, timeTo, quickRanges)) {
293
286
  return true;
294
287
  }
295
- return isRelativeToNow(timeFrom, timeTo);
288
+ return (0, _relative_utils.isRelativeToNow)(timeFrom, timeTo);
296
289
  };
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ exports.isRelativeToNow = void 0;
7
8
  exports.parseRelativeParts = parseRelativeParts;
8
9
  exports.toRelativeStringFromParts = exports.relativeUnitsFromLargestToSmallest = void 0;
9
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -11,6 +12,7 @@ var _datemath = _interopRequireDefault(require("@elastic/datemath"));
11
12
  var _moment = _interopRequireDefault(require("moment"));
12
13
  var _objects = require("../../../services/objects");
13
14
  var _predicate = require("../../../services/predicate");
15
+ var _date_modes = require("./date_modes");
14
16
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
17
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /*
16
18
  * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
@@ -68,4 +70,11 @@ var toRelativeStringFromParts = exports.toRelativeStringFromParts = function toR
68
70
  var operator = matches && matches[2] ? matches[2] : '-';
69
71
  var round = isRounded ? "".concat(ROUND_DELIMETER).concat(unit) : '';
70
72
  return "now".concat(operator).concat(count).concat(unit).concat(round);
73
+ };
74
+ var isRelativeToNow = exports.isRelativeToNow = function isRelativeToNow(timeFrom, timeTo) {
75
+ var fromDateMode = (0, _date_modes.getDateMode)(timeFrom);
76
+ var toDateMode = (0, _date_modes.getDateMode)(timeTo);
77
+ var isLast = fromDateMode === _date_modes.DATE_MODES.RELATIVE && toDateMode === _date_modes.DATE_MODES.NOW;
78
+ var isNext = fromDateMode === _date_modes.DATE_MODES.NOW && toDateMode === _date_modes.DATE_MODES.RELATIVE;
79
+ return isLast || isNext;
71
80
  };
@@ -25,6 +25,7 @@ var _date_picker_range = require("../date_picker_range");
25
25
  var _form = require("../../form");
26
26
  var _time_options = require("./time_options");
27
27
  var _pretty_duration = require("./pretty_duration");
28
+ var _time_window_buttons = require("./time_window_buttons");
28
29
  var _async_interval = require("./async_interval");
29
30
  var _super_update_button = require("./super_update_button");
30
31
  var _quick_select_popover = require("./quick_select_popover/quick_select_popover");
@@ -276,7 +277,9 @@ var EuiSuperDatePickerInternal = exports.EuiSuperDatePickerInternal = /*#__PURE_
276
277
  maxDate = _this$props3.maxDate,
277
278
  compressed = _this$props3.compressed,
278
279
  onFocus = _this$props3.onFocus,
279
- styles = _this$props3.memoizedStyles;
280
+ styles = _this$props3.memoizedStyles,
281
+ _this$props3$timeZone = _this$props3.timeZoneDisplayProps,
282
+ timeZoneDisplayProps = _this$props3$timeZone === void 0 ? {} : _this$props3$timeZone;
280
283
  var autoRefreshAppend = !isPaused ? (0, _react2.jsx)(_auto_refresh.EuiAutoRefreshButton, {
281
284
  refreshInterval: refreshInterval,
282
285
  minInterval: refreshMinInterval,
@@ -353,7 +356,8 @@ var EuiSuperDatePickerInternal = exports.EuiSuperDatePickerInternal = /*#__PURE_
353
356
  timeOptions: timeOptions,
354
357
  buttonProps: {
355
358
  onFocus: onFocus
356
- }
359
+ },
360
+ timeZoneDisplayProps: timeZoneDisplayProps
357
361
  }),
358
362
  endDateControl: isQuickSelectOnly ? undefined : (0, _react2.jsx)(_date_popover_button.EuiDatePopoverButton, {
359
363
  css: styles.euiSuperDatePicker__rangeInput,
@@ -378,7 +382,8 @@ var EuiSuperDatePickerInternal = exports.EuiSuperDatePickerInternal = /*#__PURE_
378
382
  timeOptions: timeOptions,
379
383
  buttonProps: {
380
384
  onFocus: onFocus
381
- }
385
+ },
386
+ timeZoneDisplayProps: timeZoneDisplayProps
382
387
  })
383
388
  }));
384
389
  });
@@ -398,13 +403,32 @@ var EuiSuperDatePickerInternal = exports.EuiSuperDatePickerInternal = /*#__PURE_
398
403
  _this.applyTime();
399
404
  }
400
405
  });
401
- (0, _defineProperty2.default)(_this, "renderUpdateButton", function () {
406
+ (0, _defineProperty2.default)(_this, "renderTimeWindowButtons", function () {
407
+ if (!_this.props.showTimeWindowButtons || _this.props.isAutoRefreshOnly) {
408
+ return null;
409
+ }
402
410
  var _this$props5 = _this.props,
403
- isLoading = _this$props5.isLoading,
404
- isDisabled = _this$props5.isDisabled,
405
- updateButtonProps = _this$props5.updateButtonProps,
406
- showUpdateButton = _this$props5.showUpdateButton,
407
- compressed = _this$props5.compressed;
411
+ start = _this$props5.start,
412
+ end = _this$props5.end,
413
+ showTimeWindowButtons = _this$props5.showTimeWindowButtons,
414
+ compressed = _this$props5.compressed,
415
+ isDisabled = _this$props5.isDisabled;
416
+ var config = typeof showTimeWindowButtons === 'boolean' ? {} : showTimeWindowButtons;
417
+ return (0, _react2.jsx)(_time_window_buttons.EuiTimeWindowButtons, (0, _extends2.default)({
418
+ applyTime: _this.applyQuickTime,
419
+ start: start,
420
+ end: end,
421
+ compressed: compressed,
422
+ isDisabled: !!isDisabled || _this.state.isInvalid
423
+ }, config));
424
+ });
425
+ (0, _defineProperty2.default)(_this, "renderUpdateButton", function () {
426
+ var _this$props6 = _this.props,
427
+ isLoading = _this$props6.isLoading,
428
+ isDisabled = _this$props6.isDisabled,
429
+ updateButtonProps = _this$props6.updateButtonProps,
430
+ showUpdateButton = _this$props6.showUpdateButton,
431
+ compressed = _this$props6.compressed;
408
432
  if (!showUpdateButton) return null;
409
433
  return (0, _react2.jsx)(_super_update_button.EuiSuperUpdateButton, (0, _extends2.default)({
410
434
  needsUpdate: _this.state.hasChanged,
@@ -423,21 +447,21 @@ var EuiSuperDatePickerInternal = exports.EuiSuperDatePickerInternal = /*#__PURE_
423
447
  return (0, _createClass2.default)(EuiSuperDatePickerInternal, [{
424
448
  key: "render",
425
449
  value: function render() {
426
- var _this$props6 = this.props,
427
- isAutoRefreshOnly = _this$props6.isAutoRefreshOnly,
428
- isDisabled = _this$props6.isDisabled,
429
- isPaused = _this$props6.isPaused,
430
- onRefreshChange = _this$props6.onRefreshChange,
431
- refreshInterval = _this$props6.refreshInterval,
432
- refreshMinInterval = _this$props6.refreshMinInterval,
433
- refreshIntervalUnits = _this$props6.refreshIntervalUnits,
434
- showUpdateButton = _this$props6.showUpdateButton,
435
- dataTestSubj = _this$props6['data-test-subj'],
436
- _width = _this$props6.width,
437
- isQuickSelectOnly = _this$props6.isQuickSelectOnly,
438
- compressed = _this$props6.compressed,
439
- className = _this$props6.className,
440
- styles = _this$props6.memoizedStyles;
450
+ var _this$props7 = this.props,
451
+ isAutoRefreshOnly = _this$props7.isAutoRefreshOnly,
452
+ isDisabled = _this$props7.isDisabled,
453
+ isPaused = _this$props7.isPaused,
454
+ onRefreshChange = _this$props7.onRefreshChange,
455
+ refreshInterval = _this$props7.refreshInterval,
456
+ refreshMinInterval = _this$props7.refreshMinInterval,
457
+ refreshIntervalUnits = _this$props7.refreshIntervalUnits,
458
+ showUpdateButton = _this$props7.showUpdateButton,
459
+ dataTestSubj = _this$props7['data-test-subj'],
460
+ _width = _this$props7.width,
461
+ isQuickSelectOnly = _this$props7.isQuickSelectOnly,
462
+ compressed = _this$props7.compressed,
463
+ className = _this$props7.className,
464
+ styles = _this$props7.memoizedStyles;
441
465
  var _this$state2 = this.state,
442
466
  hasChanged = _this$state2.hasChanged,
443
467
  isInvalid = _this$state2.isInvalid;
@@ -462,7 +486,7 @@ var EuiSuperDatePickerInternal = exports.EuiSuperDatePickerInternal = /*#__PURE_
462
486
  compressed: compressed,
463
487
  isDisabled: !!isDisabled,
464
488
  className: className
465
- }) : (0, _react2.jsx)(_react.default.Fragment, null, this.renderDatePickerRange(), this.renderUpdateButton()));
489
+ }) : (0, _react2.jsx)(_react.default.Fragment, null, this.renderDatePickerRange(), this.renderTimeWindowButtons(), this.renderUpdateButton()));
466
490
  }
467
491
  }], [{
468
492
  key: "getDerivedStateFromProps",