@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.
- package/es/components/accessibility/skip_link/skip_link.js +10 -1
- package/es/components/bottom_bar/bottom_bar.js +12 -2
- package/es/components/button/button.js +20 -25
- package/es/components/button/button_display/_button_display.js +32 -30
- package/es/components/button/button_display/_button_display.styles.js +4 -4
- package/es/components/button/button_empty/button_empty.js +32 -14
- package/es/components/button/button_group/button_group.js +49 -31
- package/es/components/button/button_group/button_group_button.js +14 -2
- package/es/components/button/button_group/button_group_button.styles.js +12 -8
- package/es/components/button/button_icon/button_icon.js +30 -6
- package/es/components/card/card.js +20 -25
- package/es/components/card/card_select/card_select.js +20 -25
- package/es/components/code/code_block_virtualized.js +9 -7
- package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
- package/es/components/datagrid/body/cell/data_grid_cell.js +35 -12
- package/es/components/datagrid/body/data_grid_body.js +23 -6
- package/es/components/datagrid/body/data_grid_body_custom.js +23 -6
- package/es/components/datagrid/body/data_grid_body_virtualized.js +23 -6
- package/es/components/datagrid/body/header/data_grid_header_cell.js +23 -6
- package/es/components/datagrid/controls/column_selector.js +36 -19
- package/es/components/datagrid/controls/column_sorting.js +23 -6
- package/es/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
- package/es/components/datagrid/data_grid.js +5 -1
- package/es/components/datagrid/utils/in_memory.js +25 -7
- package/es/components/date_picker/auto_refresh/auto_refresh.js +11 -2
- package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +31 -5
- package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
- package/es/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
- package/es/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
- package/es/components/date_picker/super_date_picker/date_popover/timezone_display.js +98 -0
- package/es/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +19 -0
- package/es/components/date_picker/super_date_picker/pretty_duration.js +1 -8
- package/es/components/date_picker/super_date_picker/relative_utils.js +8 -0
- package/es/components/date_picker/super_date_picker/super_date_picker.js +118 -26
- package/es/components/date_picker/super_date_picker/time_window_buttons.js +185 -0
- package/es/components/facet/facet_button.js +9 -19
- package/es/components/filter_group/filter_button.js +14 -1
- package/es/components/flyout/flyout.js +27 -10
- package/es/components/form/form_control_button/form_control_button.js +13 -7
- package/es/components/header/header_links/header_link.js +13 -7
- package/es/components/header/header_section/header_section_item_button.js +13 -7
- package/es/components/icon/assets/boxes_vertical.js +1 -1
- package/es/components/icon/assets/checkInCircleFilled.js +1 -2
- package/es/components/icon/assets/errorFilled.js +1 -2
- package/es/components/icon/assets/warningFilled.js +1 -2
- package/es/components/icon/icon_map.js +3 -6
- package/es/components/list_group/list_group.js +13 -1
- package/es/components/list_group/list_group_item.js +13 -1
- package/es/components/list_group/list_group_item_extra_action.js +13 -1
- package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
- package/es/components/overlay_mask/overlay_mask.styles.js +1 -1
- package/es/components/pagination/pagination_button.js +13 -7
- package/es/components/popover/popover.js +22 -16
- package/es/components/provider/component_defaults/component_defaults.js +22 -2
- package/es/components/table/table_row.styles.js +1 -1
- package/es/components/tool_tip/tool_tip.js +24 -24
- package/es/global_styling/index.js +2 -1
- package/es/global_styling/mixins/_button.js +1 -1
- package/es/global_styling/utility/selectors.js +9 -0
- package/es/services/focus_trap/focus_trap_pub_sub.js +74 -0
- package/es/services/focus_trap/index.js +9 -0
- package/es/services/hooks/index.js +2 -1
- package/es/services/hooks/useEuiDisabledElement.js +195 -0
- package/es/services/index.js +1 -0
- package/es/services/popover/reposition_on_scroll.js +61 -0
- package/es/test/cypress/index.d.ts +12 -0
- package/es/test/cypress/index.js +9 -0
- package/es/test/cypress/matchers.d.ts +20 -0
- package/es/test/cypress/matchers.js +54 -0
- package/es/test/cypress/test_reposition_on_scroll.js +66 -0
- package/es/test/enzyme/enzyme_matchers.d.ts +36 -0
- package/es/test/enzyme/enzyme_matchers.js +43 -0
- package/es/test/enzyme/index.d.ts +14 -0
- package/es/test/enzyme/index.js +10 -0
- package/es/test/rtl/index.d.ts +9 -1
- package/es/test/rtl/index.js +2 -1
- package/es/test/rtl/matchers.d.ts +36 -0
- package/es/test/rtl/matchers.js +82 -0
- package/es/utils/element_can_be_disabled.js +16 -0
- package/es/utils/index.js +2 -1
- package/eui.d.ts +588 -180
- package/i18ntokens.json +1357 -1231
- package/lib/components/accessibility/skip_link/skip_link.js +10 -1
- package/lib/components/bottom_bar/bottom_bar.js +11 -1
- package/lib/components/button/button.js +21 -26
- package/lib/components/button/button_display/_button_display.js +31 -29
- package/lib/components/button/button_display/_button_display.styles.js +4 -4
- package/lib/components/button/button_empty/button_empty.js +31 -13
- package/lib/components/button/button_group/button_group.js +49 -31
- package/lib/components/button/button_group/button_group_button.js +14 -2
- package/lib/components/button/button_group/button_group_button.styles.js +10 -6
- package/lib/components/button/button_icon/button_icon.js +29 -5
- package/lib/components/card/card.js +21 -26
- package/lib/components/card/card_select/card_select.js +21 -26
- package/lib/components/code/code_block_virtualized.js +9 -7
- package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
- package/lib/components/datagrid/body/cell/data_grid_cell.js +35 -12
- package/lib/components/datagrid/body/data_grid_body.js +23 -6
- package/lib/components/datagrid/body/data_grid_body_custom.js +23 -6
- package/lib/components/datagrid/body/data_grid_body_virtualized.js +23 -6
- package/lib/components/datagrid/body/header/data_grid_header_cell.js +23 -6
- package/lib/components/datagrid/controls/column_selector.js +36 -19
- package/lib/components/datagrid/controls/column_sorting.js +23 -6
- package/lib/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
- package/lib/components/datagrid/data_grid.js +5 -1
- package/lib/components/datagrid/utils/in_memory.js +25 -7
- package/lib/components/date_picker/auto_refresh/auto_refresh.js +12 -3
- package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +30 -4
- package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
- package/lib/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
- package/lib/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
- package/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js +104 -0
- package/lib/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
- package/lib/components/date_picker/super_date_picker/pretty_duration.js +2 -9
- package/lib/components/date_picker/super_date_picker/relative_utils.js +9 -0
- package/lib/components/date_picker/super_date_picker/super_date_picker.js +118 -26
- package/lib/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
- package/lib/components/facet/facet_button.js +9 -19
- package/lib/components/filter_group/filter_button.js +14 -1
- package/lib/components/flyout/flyout.js +26 -9
- package/lib/components/form/form_control_button/form_control_button.js +13 -7
- package/lib/components/header/header_links/header_link.js +13 -7
- package/lib/components/header/header_section/header_section_item_button.js +13 -7
- package/lib/components/icon/assets/boxes_vertical.js +1 -1
- package/lib/components/icon/assets/checkInCircleFilled.js +1 -2
- package/lib/components/icon/assets/errorFilled.js +1 -2
- package/lib/components/icon/assets/warningFilled.js +1 -2
- package/lib/components/icon/icon_map.js +3 -6
- package/lib/components/icon/svgs/boxes_vertical.svg +1 -1
- package/lib/components/icon/svgs/checkInCircleFilled.svg +1 -1
- package/lib/components/icon/svgs/errorFilled.svg +1 -1
- package/lib/components/icon/svgs/warningFilled.svg +1 -1
- package/lib/components/list_group/list_group.js +13 -1
- package/lib/components/list_group/list_group_item.js +13 -1
- package/lib/components/list_group/list_group_item_extra_action.js +13 -1
- package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
- package/lib/components/overlay_mask/overlay_mask.styles.js +1 -1
- package/lib/components/pagination/pagination_button.js +13 -7
- package/lib/components/popover/popover.js +21 -15
- package/lib/components/provider/component_defaults/component_defaults.js +22 -2
- package/lib/components/table/table_row.styles.js +1 -1
- package/lib/components/tool_tip/tool_tip.js +24 -24
- package/lib/global_styling/index.js +16 -1
- package/lib/global_styling/mixins/_button.js +1 -1
- package/lib/global_styling/utility/selectors.js +15 -0
- package/lib/services/focus_trap/focus_trap_pub_sub.js +80 -0
- package/lib/services/focus_trap/index.js +12 -0
- package/lib/services/hooks/index.js +18 -1
- package/lib/services/hooks/useEuiDisabledElement.js +199 -0
- package/lib/services/index.js +8 -0
- package/lib/services/popover/reposition_on_scroll.js +67 -0
- package/lib/test/cypress/index.d.ts +12 -0
- package/lib/test/cypress/index.js +18 -0
- package/lib/test/cypress/matchers.d.ts +20 -0
- package/lib/test/cypress/matchers.js +61 -0
- package/lib/test/cypress/test_reposition_on_scroll.js +69 -0
- package/lib/test/enzyme/enzyme_matchers.d.ts +36 -0
- package/lib/test/enzyme/enzyme_matchers.js +49 -0
- package/lib/test/enzyme/index.d.ts +14 -0
- package/lib/test/enzyme/index.js +24 -0
- package/lib/test/rtl/index.d.ts +9 -1
- package/lib/test/rtl/index.js +24 -2
- package/lib/test/rtl/matchers.d.ts +36 -0
- package/lib/test/rtl/matchers.js +86 -0
- package/lib/utils/element_can_be_disabled.js +22 -0
- package/lib/utils/index.js +14 -1
- package/optimize/es/components/bottom_bar/bottom_bar.js +12 -2
- package/optimize/es/components/button/button_display/_button_display.js +24 -12
- package/optimize/es/components/button/button_display/_button_display.styles.js +4 -4
- package/optimize/es/components/button/button_empty/button_empty.js +18 -6
- package/optimize/es/components/button/button_group/button_group.js +10 -5
- package/optimize/es/components/button/button_group/button_group_button.js +1 -1
- package/optimize/es/components/button/button_group/button_group_button.styles.js +12 -8
- package/optimize/es/components/button/button_icon/button_icon.js +17 -5
- package/optimize/es/components/code/code_block_virtualized.js +9 -7
- package/optimize/es/components/datagrid/controls/column_selector.js +36 -19
- package/optimize/es/components/datagrid/data_grid.js +5 -1
- package/optimize/es/components/datagrid/utils/in_memory.js +2 -1
- package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +12 -4
- package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +5 -2
- package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_content.js +7 -3
- package/optimize/es/components/date_picker/super_date_picker/date_popover/relative_tab.js +10 -2
- package/optimize/es/components/date_picker/super_date_picker/date_popover/timezone_display.js +97 -0
- package/optimize/es/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +19 -0
- package/optimize/es/components/date_picker/super_date_picker/pretty_duration.js +1 -8
- package/optimize/es/components/date_picker/super_date_picker/relative_utils.js +8 -0
- package/optimize/es/components/date_picker/super_date_picker/super_date_picker.js +49 -25
- package/optimize/es/components/date_picker/super_date_picker/time_window_buttons.js +185 -0
- package/optimize/es/components/flyout/flyout.js +27 -10
- package/optimize/es/components/icon/assets/boxes_vertical.js +1 -1
- package/optimize/es/components/icon/assets/checkInCircleFilled.js +1 -2
- package/optimize/es/components/icon/assets/errorFilled.js +1 -2
- package/optimize/es/components/icon/assets/warningFilled.js +1 -2
- package/optimize/es/components/icon/icon_map.js +3 -6
- package/optimize/es/components/overlay_mask/overlay_mask.styles.js +1 -1
- package/optimize/es/components/popover/popover.js +22 -16
- package/optimize/es/components/table/table_row.styles.js +1 -1
- package/optimize/es/components/tool_tip/tool_tip.js +24 -24
- package/optimize/es/global_styling/index.js +2 -1
- package/optimize/es/global_styling/mixins/_button.js +1 -1
- package/optimize/es/global_styling/utility/selectors.js +9 -0
- package/optimize/es/services/focus_trap/focus_trap_pub_sub.js +74 -0
- package/optimize/es/services/focus_trap/index.js +9 -0
- package/optimize/es/services/hooks/index.js +2 -1
- package/optimize/es/services/hooks/useEuiDisabledElement.js +192 -0
- package/optimize/es/services/index.js +1 -0
- package/optimize/es/services/popover/reposition_on_scroll.js +61 -0
- package/optimize/es/test/cypress/index.d.ts +12 -0
- package/optimize/es/test/cypress/index.js +9 -0
- package/optimize/es/test/cypress/matchers.d.ts +20 -0
- package/optimize/es/test/cypress/matchers.js +54 -0
- package/optimize/es/test/cypress/test_reposition_on_scroll.js +63 -0
- package/optimize/es/test/enzyme/enzyme_matchers.d.ts +36 -0
- package/optimize/es/test/enzyme/enzyme_matchers.js +43 -0
- package/optimize/es/test/enzyme/index.d.ts +14 -0
- package/optimize/es/test/enzyme/index.js +10 -0
- package/optimize/es/test/rtl/index.d.ts +9 -1
- package/optimize/es/test/rtl/index.js +2 -1
- package/optimize/es/test/rtl/matchers.d.ts +36 -0
- package/optimize/es/test/rtl/matchers.js +82 -0
- package/optimize/es/utils/element_can_be_disabled.js +16 -0
- package/optimize/es/utils/index.js +2 -1
- package/optimize/lib/components/bottom_bar/bottom_bar.js +11 -1
- package/optimize/lib/components/button/button_display/_button_display.js +23 -11
- package/optimize/lib/components/button/button_display/_button_display.styles.js +4 -4
- package/optimize/lib/components/button/button_empty/button_empty.js +17 -5
- package/optimize/lib/components/button/button_group/button_group.js +10 -5
- package/optimize/lib/components/button/button_group/button_group_button.js +1 -1
- package/optimize/lib/components/button/button_group/button_group_button.styles.js +10 -6
- package/optimize/lib/components/button/button_icon/button_icon.js +16 -4
- package/optimize/lib/components/code/code_block_virtualized.js +9 -7
- package/optimize/lib/components/datagrid/controls/column_selector.js +36 -19
- package/optimize/lib/components/datagrid/data_grid.js +5 -1
- package/optimize/lib/components/datagrid/utils/in_memory.js +2 -1
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +11 -3
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +5 -2
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_content.js +7 -3
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/relative_tab.js +10 -2
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js +103 -0
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
- package/optimize/lib/components/date_picker/super_date_picker/pretty_duration.js +2 -9
- package/optimize/lib/components/date_picker/super_date_picker/relative_utils.js +9 -0
- package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.js +49 -25
- package/optimize/lib/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
- package/optimize/lib/components/flyout/flyout.js +26 -9
- package/optimize/lib/components/icon/assets/boxes_vertical.js +1 -1
- package/optimize/lib/components/icon/assets/checkInCircleFilled.js +1 -2
- package/optimize/lib/components/icon/assets/errorFilled.js +1 -2
- package/optimize/lib/components/icon/assets/warningFilled.js +1 -2
- package/optimize/lib/components/icon/icon_map.js +3 -6
- package/optimize/lib/components/icon/svgs/boxes_vertical.svg +1 -1
- package/optimize/lib/components/icon/svgs/checkInCircleFilled.svg +1 -1
- package/optimize/lib/components/icon/svgs/errorFilled.svg +1 -1
- package/optimize/lib/components/icon/svgs/warningFilled.svg +1 -1
- package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +1 -1
- package/optimize/lib/components/popover/popover.js +21 -15
- package/optimize/lib/components/table/table_row.styles.js +1 -1
- package/optimize/lib/components/tool_tip/tool_tip.js +24 -24
- package/optimize/lib/global_styling/index.js +16 -1
- package/optimize/lib/global_styling/mixins/_button.js +1 -1
- package/optimize/lib/global_styling/utility/selectors.js +15 -0
- package/optimize/lib/services/focus_trap/focus_trap_pub_sub.js +80 -0
- package/optimize/lib/services/focus_trap/index.js +12 -0
- package/optimize/lib/services/hooks/index.js +18 -1
- package/optimize/lib/services/hooks/useEuiDisabledElement.js +197 -0
- package/optimize/lib/services/index.js +8 -0
- package/optimize/lib/services/popover/reposition_on_scroll.js +67 -0
- package/optimize/lib/test/cypress/index.d.ts +12 -0
- package/optimize/lib/test/cypress/index.js +18 -0
- package/optimize/lib/test/cypress/matchers.d.ts +20 -0
- package/optimize/lib/test/cypress/matchers.js +61 -0
- package/optimize/lib/test/cypress/test_reposition_on_scroll.js +70 -0
- package/optimize/lib/test/enzyme/enzyme_matchers.d.ts +36 -0
- package/optimize/lib/test/enzyme/enzyme_matchers.js +50 -0
- package/optimize/lib/test/enzyme/index.d.ts +14 -0
- package/optimize/lib/test/enzyme/index.js +24 -0
- package/optimize/lib/test/rtl/index.d.ts +9 -1
- package/optimize/lib/test/rtl/index.js +24 -2
- package/optimize/lib/test/rtl/matchers.d.ts +36 -0
- package/optimize/lib/test/rtl/matchers.js +86 -0
- package/optimize/lib/utils/element_can_be_disabled.js +22 -0
- package/optimize/lib/utils/index.js +14 -1
- package/package.json +3 -2
- package/test-env/components/accessibility/skip_link/skip_link.js +10 -1
- package/test-env/components/bottom_bar/bottom_bar.js +11 -1
- package/test-env/components/button/button.js +21 -26
- package/test-env/components/button/button_display/_button_display.js +31 -29
- package/test-env/components/button/button_display/_button_display.styles.js +4 -4
- package/test-env/components/button/button_empty/button_empty.js +31 -13
- package/test-env/components/button/button_group/button_group.js +49 -31
- package/test-env/components/button/button_group/button_group_button.js +14 -2
- package/test-env/components/button/button_group/button_group_button.styles.js +10 -6
- package/test-env/components/button/button_icon/button_icon.js +29 -5
- package/test-env/components/card/card.js +21 -26
- package/test-env/components/card/card_select/card_select.js +21 -26
- package/test-env/components/code/code_block_virtualized.js +9 -7
- package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
- package/test-env/components/datagrid/body/cell/data_grid_cell.js +35 -12
- package/test-env/components/datagrid/body/data_grid_body.js +23 -6
- package/test-env/components/datagrid/body/data_grid_body_custom.js +23 -6
- package/test-env/components/datagrid/body/data_grid_body_virtualized.js +23 -6
- package/test-env/components/datagrid/body/header/data_grid_header_cell.js +23 -6
- package/test-env/components/datagrid/controls/column_selector.js +36 -19
- package/test-env/components/datagrid/controls/column_sorting.js +23 -6
- package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
- package/test-env/components/datagrid/data_grid.js +5 -1
- package/test-env/components/datagrid/utils/in_memory.js +25 -7
- package/test-env/components/date_picker/auto_refresh/auto_refresh.js +12 -3
- package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +30 -4
- package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
- package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
- package/test-env/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
- package/test-env/components/date_picker/super_date_picker/date_popover/timezone_display.js +103 -0
- package/test-env/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
- package/test-env/components/date_picker/super_date_picker/pretty_duration.js +2 -9
- package/test-env/components/date_picker/super_date_picker/relative_utils.js +9 -0
- package/test-env/components/date_picker/super_date_picker/super_date_picker.js +118 -26
- package/test-env/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
- package/test-env/components/facet/facet_button.js +9 -19
- package/test-env/components/filter_group/filter_button.js +14 -1
- package/test-env/components/form/form_control_button/form_control_button.js +13 -7
- package/test-env/components/header/header_links/header_link.js +13 -7
- package/test-env/components/header/header_section/header_section_item_button.js +13 -7
- package/test-env/components/icon/assets/boxes_vertical.js +1 -1
- package/test-env/components/icon/assets/checkInCircleFilled.js +1 -2
- package/test-env/components/icon/assets/errorFilled.js +1 -2
- package/test-env/components/icon/assets/warningFilled.js +1 -2
- package/test-env/components/icon/icon_map.js +3 -6
- package/test-env/components/list_group/list_group.js +13 -1
- package/test-env/components/list_group/list_group_item.js +13 -1
- package/test-env/components/list_group/list_group_item_extra_action.js +13 -1
- package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
- package/test-env/components/overlay_mask/overlay_mask.styles.js +1 -1
- package/test-env/components/pagination/pagination_button.js +13 -7
- package/test-env/components/popover/popover.js +21 -15
- package/test-env/components/provider/component_defaults/component_defaults.js +22 -2
- package/test-env/components/table/table_row.styles.js +1 -1
- package/test-env/components/tool_tip/tool_tip.js +24 -24
- package/test-env/global_styling/index.js +16 -1
- package/test-env/global_styling/mixins/_button.js +1 -1
- package/test-env/global_styling/utility/selectors.js +15 -0
- package/test-env/services/focus_trap/focus_trap_pub_sub.js +80 -0
- package/test-env/services/focus_trap/index.js +12 -0
- package/test-env/services/hooks/index.js +18 -1
- package/test-env/services/hooks/useEuiDisabledElement.js +197 -0
- package/test-env/services/index.js +8 -0
- package/test-env/services/popover/reposition_on_scroll.js +67 -0
- package/test-env/test/cypress/index.js +18 -0
- package/test-env/test/cypress/matchers.js +61 -0
- package/test-env/test/cypress/test_reposition_on_scroll.js +70 -0
- package/test-env/test/enzyme/enzyme_matchers.js +50 -0
- package/test-env/test/enzyme/index.js +24 -0
- package/test-env/test/rtl/index.js +24 -2
- package/test-env/test/rtl/matchers.js +86 -0
- package/test-env/utils/element_can_be_disabled.js +22 -0
- package/test-env/utils/index.js +14 -1
|
@@ -96,13 +96,14 @@ export var EuiDataGridInMemoryRenderer = function EuiDataGridInMemoryRenderer(_r
|
|
|
96
96
|
var cells = [];
|
|
97
97
|
var _loop = function _loop(i) {
|
|
98
98
|
cells.push(columns.map(function (column, j) {
|
|
99
|
+
var key = "".concat(i, "-").concat(j, "-").concat(column.id);
|
|
99
100
|
var skipThisColumn = inMemory.skipColumns && inMemory.skipColumns.indexOf(column.id) !== -1;
|
|
100
101
|
if (skipThisColumn) {
|
|
101
102
|
return null;
|
|
102
103
|
}
|
|
103
104
|
var isExpandable = column.isExpandable !== undefined ? column.isExpandable : true;
|
|
104
105
|
return ___EmotionJSX("div", {
|
|
105
|
-
key:
|
|
106
|
+
key: key,
|
|
106
107
|
"data-dg-row": i,
|
|
107
108
|
"data-dg-column": column.id
|
|
108
109
|
}, ___EmotionJSX(CellElement, {
|
|
@@ -311,7 +312,6 @@ EuiDataGridInMemoryRenderer.propTypes = {
|
|
|
311
312
|
color: PropTypes.any,
|
|
312
313
|
"aria-label": PropTypes.string,
|
|
313
314
|
"aria-labelledby": PropTypes.string,
|
|
314
|
-
isDisabled: PropTypes.bool,
|
|
315
315
|
/**
|
|
316
316
|
* Overall size of button.
|
|
317
317
|
* Matches the sizes of other EuiButtons
|
|
@@ -341,6 +341,19 @@ EuiDataGridInMemoryRenderer.propTypes = {
|
|
|
341
341
|
className: PropTypes.string,
|
|
342
342
|
"data-test-subj": PropTypes.string,
|
|
343
343
|
css: PropTypes.any,
|
|
344
|
+
/**
|
|
345
|
+
* Controls the disabled behavior via the native `disabled` attribute.
|
|
346
|
+
*/
|
|
347
|
+
isDisabled: PropTypes.bool,
|
|
348
|
+
/**
|
|
349
|
+
* NOTE: Beta feature, may be changed or removed in the future
|
|
350
|
+
*
|
|
351
|
+
* Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
|
|
352
|
+
* This results in a semantically disabled button without the default browser handling of the disabled state.
|
|
353
|
+
*
|
|
354
|
+
* Use e.g. when a disabled button should have a tooltip.
|
|
355
|
+
*/
|
|
356
|
+
hasAriaDisabled: PropTypes.bool,
|
|
344
357
|
buttonRef: PropTypes.any
|
|
345
358
|
}),
|
|
346
359
|
/**
|
|
@@ -394,7 +407,6 @@ EuiDataGridInMemoryRenderer.propTypes = {
|
|
|
394
407
|
color: PropTypes.any,
|
|
395
408
|
"aria-label": PropTypes.string,
|
|
396
409
|
"aria-labelledby": PropTypes.string,
|
|
397
|
-
isDisabled: PropTypes.bool,
|
|
398
410
|
size: PropTypes.any,
|
|
399
411
|
iconSize: PropTypes.any,
|
|
400
412
|
isSelected: PropTypes.bool,
|
|
@@ -403,6 +415,8 @@ EuiDataGridInMemoryRenderer.propTypes = {
|
|
|
403
415
|
className: PropTypes.string,
|
|
404
416
|
"data-test-subj": PropTypes.string,
|
|
405
417
|
css: PropTypes.any,
|
|
418
|
+
isDisabled: PropTypes.bool,
|
|
419
|
+
hasAriaDisabled: PropTypes.bool,
|
|
406
420
|
buttonRef: PropTypes.any
|
|
407
421
|
}),
|
|
408
422
|
onClick: PropTypes.func,
|
|
@@ -437,7 +451,6 @@ EuiDataGridInMemoryRenderer.propTypes = {
|
|
|
437
451
|
color: PropTypes.any,
|
|
438
452
|
"aria-label": PropTypes.string,
|
|
439
453
|
"aria-labelledby": PropTypes.string,
|
|
440
|
-
isDisabled: PropTypes.bool,
|
|
441
454
|
size: PropTypes.any,
|
|
442
455
|
iconSize: PropTypes.any,
|
|
443
456
|
isSelected: PropTypes.bool,
|
|
@@ -446,6 +459,8 @@ EuiDataGridInMemoryRenderer.propTypes = {
|
|
|
446
459
|
className: PropTypes.string,
|
|
447
460
|
"data-test-subj": PropTypes.string,
|
|
448
461
|
css: PropTypes.any,
|
|
462
|
+
isDisabled: PropTypes.bool,
|
|
463
|
+
hasAriaDisabled: PropTypes.bool,
|
|
449
464
|
buttonRef: PropTypes.any
|
|
450
465
|
}),
|
|
451
466
|
onClick: PropTypes.func,
|
|
@@ -480,7 +495,6 @@ EuiDataGridInMemoryRenderer.propTypes = {
|
|
|
480
495
|
color: PropTypes.any,
|
|
481
496
|
"aria-label": PropTypes.string,
|
|
482
497
|
"aria-labelledby": PropTypes.string,
|
|
483
|
-
isDisabled: PropTypes.bool,
|
|
484
498
|
size: PropTypes.any,
|
|
485
499
|
iconSize: PropTypes.any,
|
|
486
500
|
isSelected: PropTypes.bool,
|
|
@@ -489,6 +503,8 @@ EuiDataGridInMemoryRenderer.propTypes = {
|
|
|
489
503
|
className: PropTypes.string,
|
|
490
504
|
"data-test-subj": PropTypes.string,
|
|
491
505
|
css: PropTypes.any,
|
|
506
|
+
isDisabled: PropTypes.bool,
|
|
507
|
+
hasAriaDisabled: PropTypes.bool,
|
|
492
508
|
buttonRef: PropTypes.any
|
|
493
509
|
}),
|
|
494
510
|
onClick: PropTypes.func,
|
|
@@ -523,7 +539,6 @@ EuiDataGridInMemoryRenderer.propTypes = {
|
|
|
523
539
|
color: PropTypes.any,
|
|
524
540
|
"aria-label": PropTypes.string,
|
|
525
541
|
"aria-labelledby": PropTypes.string,
|
|
526
|
-
isDisabled: PropTypes.bool,
|
|
527
542
|
size: PropTypes.any,
|
|
528
543
|
iconSize: PropTypes.any,
|
|
529
544
|
isSelected: PropTypes.bool,
|
|
@@ -532,6 +547,8 @@ EuiDataGridInMemoryRenderer.propTypes = {
|
|
|
532
547
|
className: PropTypes.string,
|
|
533
548
|
"data-test-subj": PropTypes.string,
|
|
534
549
|
css: PropTypes.any,
|
|
550
|
+
isDisabled: PropTypes.bool,
|
|
551
|
+
hasAriaDisabled: PropTypes.bool,
|
|
535
552
|
buttonRef: PropTypes.any
|
|
536
553
|
}),
|
|
537
554
|
onClick: PropTypes.func,
|
|
@@ -566,7 +583,6 @@ EuiDataGridInMemoryRenderer.propTypes = {
|
|
|
566
583
|
color: PropTypes.any,
|
|
567
584
|
"aria-label": PropTypes.string,
|
|
568
585
|
"aria-labelledby": PropTypes.string,
|
|
569
|
-
isDisabled: PropTypes.bool,
|
|
570
586
|
size: PropTypes.any,
|
|
571
587
|
iconSize: PropTypes.any,
|
|
572
588
|
isSelected: PropTypes.bool,
|
|
@@ -575,6 +591,8 @@ EuiDataGridInMemoryRenderer.propTypes = {
|
|
|
575
591
|
className: PropTypes.string,
|
|
576
592
|
"data-test-subj": PropTypes.string,
|
|
577
593
|
css: PropTypes.any,
|
|
594
|
+
isDisabled: PropTypes.bool,
|
|
595
|
+
hasAriaDisabled: PropTypes.bool,
|
|
578
596
|
buttonRef: PropTypes.any
|
|
579
597
|
}),
|
|
580
598
|
onClick: PropTypes.func,
|
|
@@ -177,7 +177,7 @@ EuiAutoRefreshButton.propTypes = {
|
|
|
177
177
|
intervalUnits: PropTypes.any,
|
|
178
178
|
onRefreshChange: PropTypes.func.isRequired,
|
|
179
179
|
/**
|
|
180
|
-
* `disabled`
|
|
180
|
+
* Controls the disabled behavior via the native `disabled` attribute.
|
|
181
181
|
*/
|
|
182
182
|
isDisabled: PropTypes.bool,
|
|
183
183
|
/**
|
|
@@ -233,5 +233,14 @@ EuiAutoRefreshButton.propTypes = {
|
|
|
233
233
|
className: PropTypes.string,
|
|
234
234
|
"aria-label": PropTypes.string,
|
|
235
235
|
"data-test-subj": PropTypes.string,
|
|
236
|
-
css: PropTypes.any
|
|
236
|
+
css: PropTypes.any,
|
|
237
|
+
/**
|
|
238
|
+
* NOTE: Beta feature, may be changed or removed in the future
|
|
239
|
+
*
|
|
240
|
+
* Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
|
|
241
|
+
* This results in a semantically disabled button without the default browser handling of the disabled state.
|
|
242
|
+
*
|
|
243
|
+
* Use e.g. when a disabled button should have a tooltip.
|
|
244
|
+
*/
|
|
245
|
+
hasAriaDisabled: PropTypes.bool
|
|
237
246
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
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); }
|
|
1
2
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
2
3
|
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."); }
|
|
3
4
|
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; } }
|
|
@@ -16,13 +17,14 @@ import React, { useState, useEffect, useCallback } from 'react';
|
|
|
16
17
|
import PropTypes from "prop-types";
|
|
17
18
|
import moment from 'moment';
|
|
18
19
|
import dateMath from '@elastic/datemath';
|
|
19
|
-
import { useUpdateEffect, useEuiMemoizedStyles } from '../../../../services';
|
|
20
|
+
import { useUpdateEffect, useEuiMemoizedStyles, useGeneratedHtmlId } from '../../../../services';
|
|
20
21
|
import { useEuiI18n } from '../../../i18n';
|
|
21
22
|
import { EuiFormRow, EuiFieldText, EuiFormLabel } from '../../../form';
|
|
22
23
|
import { EuiFlexGroup } from '../../../flex';
|
|
23
24
|
import { EuiButtonIcon } from '../../../button';
|
|
24
25
|
import { EuiCode } from '../../../code';
|
|
25
26
|
import { EuiDatePicker } from '../../date_picker';
|
|
27
|
+
import { EuiTimeZoneDisplay } from './timezone_display';
|
|
26
28
|
import { euiAbsoluteTabDateFormStyles } from './absolute_tab.styles';
|
|
27
29
|
|
|
28
30
|
// Allow users to paste in and have the datepicker parse multiple common date formats,
|
|
@@ -40,7 +42,9 @@ export var EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
|
|
|
40
42
|
utcOffset = _ref.utcOffset,
|
|
41
43
|
minDate = _ref.minDate,
|
|
42
44
|
maxDate = _ref.maxDate,
|
|
43
|
-
labelPrefix = _ref.labelPrefix
|
|
45
|
+
labelPrefix = _ref.labelPrefix,
|
|
46
|
+
_ref$timeZoneDisplayP = _ref.timeZoneDisplayProps,
|
|
47
|
+
timeZoneDisplayProps = _ref$timeZoneDisplayP === void 0 ? {} : _ref$timeZoneDisplayP;
|
|
44
48
|
var styles = useEuiMemoizedStyles(euiAbsoluteTabDateFormStyles);
|
|
45
49
|
var _useState = useState(function () {
|
|
46
50
|
var parsedValue = dateMath.parse(value, {
|
|
@@ -59,6 +63,7 @@ export var EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
|
|
|
59
63
|
setHasUnparsedText(false);
|
|
60
64
|
setIsTextInvalid(false);
|
|
61
65
|
}, [dateFormat]);
|
|
66
|
+
var timeZomeDescriptionId = useGeneratedHtmlId();
|
|
62
67
|
var submitButtonLabel = useEuiI18n('euiAbsoluteTab.dateFormatButtonLabel', 'Parse date');
|
|
63
68
|
var dateFormatError = useEuiI18n('euiAbsoluteTab.dateFormatError', 'Allowed formats: {dateFormat}, ISO 8601, RFC 2822, or Unix timestamp.', {
|
|
64
69
|
dateFormat: ___EmotionJSX(EuiCode, null, dateFormat)
|
|
@@ -149,7 +154,8 @@ export var EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
|
|
|
149
154
|
css: styles.euiAbsoluteTabDateForm__row,
|
|
150
155
|
isInvalid: isTextInvalid,
|
|
151
156
|
error: isTextInvalid ? dateFormatError : undefined,
|
|
152
|
-
helpText: hasUnparsedText && !isTextInvalid ? dateFormatError : undefined
|
|
157
|
+
helpText: hasUnparsedText && !isTextInvalid ? dateFormatError : undefined,
|
|
158
|
+
describedByIds: [timeZomeDescriptionId]
|
|
153
159
|
}, ___EmotionJSX(EuiFieldText, {
|
|
154
160
|
compressed: true,
|
|
155
161
|
isInvalid: isTextInvalid,
|
|
@@ -173,7 +179,9 @@ export var EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
|
|
|
173
179
|
"aria-label": submitButtonLabel,
|
|
174
180
|
title: submitButtonLabel,
|
|
175
181
|
"data-test-subj": "parseAbsoluteDateFormat"
|
|
176
|
-
}))
|
|
182
|
+
})), ___EmotionJSX(EuiTimeZoneDisplay, _extends({
|
|
183
|
+
id: timeZomeDescriptionId
|
|
184
|
+
}, timeZoneDisplayProps)));
|
|
177
185
|
};
|
|
178
186
|
EuiAbsoluteTab.propTypes = {
|
|
179
187
|
dateFormat: PropTypes.string.isRequired,
|
|
@@ -185,5 +193,23 @@ EuiAbsoluteTab.propTypes = {
|
|
|
185
193
|
labelPrefix: PropTypes.string.isRequired,
|
|
186
194
|
utcOffset: PropTypes.number,
|
|
187
195
|
minDate: PropTypes.any,
|
|
188
|
-
maxDate: PropTypes.any
|
|
196
|
+
maxDate: PropTypes.any,
|
|
197
|
+
timeZoneDisplayProps: PropTypes.shape({
|
|
198
|
+
/**
|
|
199
|
+
* A valid time zone name, from the IANA database, e.g. "America/Los_Angeles".
|
|
200
|
+
*
|
|
201
|
+
* @link https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
|
202
|
+
*/
|
|
203
|
+
timeZone: PropTypes.string,
|
|
204
|
+
/**
|
|
205
|
+
* Render prop function to add additional content to the time zone display.
|
|
206
|
+
* Useful for e.g. adding links to documentation or setting pages.
|
|
207
|
+
*/
|
|
208
|
+
customRender: PropTypes.func,
|
|
209
|
+
/**
|
|
210
|
+
* Reference date to be used while resolving the UTC offset.
|
|
211
|
+
* Only useful for edge cases involving daylight saving time.
|
|
212
|
+
*/
|
|
213
|
+
date: PropTypes.any
|
|
214
|
+
})
|
|
189
215
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _excluded = ["position", "isDisabled", "isInvalid", "needsUpdating", "value", "buttonProps", "canRoundRelativeUnits", "roundUp", "onChange", "locale", "dateFormat", "utcOffset", "minDate", "maxDate", "timeFormat", "isOpen", "onPopoverToggle", "onPopoverClose", "compressed", "timeOptions"];
|
|
1
|
+
var _excluded = ["position", "isDisabled", "isInvalid", "needsUpdating", "value", "buttonProps", "canRoundRelativeUnits", "roundUp", "onChange", "locale", "dateFormat", "utcOffset", "minDate", "maxDate", "timeFormat", "isOpen", "onPopoverToggle", "onPopoverClose", "compressed", "timeOptions", "timeZoneDisplayProps"];
|
|
2
2
|
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); }
|
|
3
3
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
4
4
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
|
|
@@ -43,6 +43,8 @@ export var EuiDatePopoverButton = function EuiDatePopoverButton(props) {
|
|
|
43
43
|
onPopoverClose = props.onPopoverClose,
|
|
44
44
|
compressed = props.compressed,
|
|
45
45
|
timeOptions = props.timeOptions,
|
|
46
|
+
_props$timeZoneDispla = props.timeZoneDisplayProps,
|
|
47
|
+
timeZoneDisplayProps = _props$timeZoneDispla === void 0 ? {} : _props$timeZoneDispla,
|
|
46
48
|
rest = _objectWithoutProperties(props, _excluded);
|
|
47
49
|
var classes = classNames(['euiDatePopoverButton', "euiDatePopoverButton--".concat(position), {
|
|
48
50
|
'euiDatePopoverButton--compressed': compressed,
|
|
@@ -101,7 +103,8 @@ export var EuiDatePopoverButton = function EuiDatePopoverButton(props) {
|
|
|
101
103
|
utcOffset: utcOffset,
|
|
102
104
|
timeOptions: timeOptions,
|
|
103
105
|
minDate: minDate,
|
|
104
|
-
maxDate: maxDate
|
|
106
|
+
maxDate: maxDate,
|
|
107
|
+
timeZoneDisplayProps: timeZoneDisplayProps
|
|
105
108
|
}));
|
|
106
109
|
};
|
|
107
110
|
EuiDatePopoverButton.propTypes = {
|
|
@@ -144,6 +147,24 @@ EuiDatePopoverButton.propTypes = {
|
|
|
144
147
|
label: PropTypes.string,
|
|
145
148
|
start: PropTypes.oneOfType([PropTypes.oneOf(["now"]), PropTypes.string.isRequired]).isRequired
|
|
146
149
|
}).isRequired).isRequired
|
|
147
|
-
}).isRequired
|
|
150
|
+
}).isRequired,
|
|
151
|
+
timeZoneDisplayProps: PropTypes.shape({
|
|
152
|
+
/**
|
|
153
|
+
* A valid time zone name, from the IANA database, e.g. "America/Los_Angeles".
|
|
154
|
+
*
|
|
155
|
+
* @link https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
|
156
|
+
*/
|
|
157
|
+
timeZone: PropTypes.string,
|
|
158
|
+
/**
|
|
159
|
+
* Render prop function to add additional content to the time zone display.
|
|
160
|
+
* Useful for e.g. adding links to documentation or setting pages.
|
|
161
|
+
*/
|
|
162
|
+
customRender: PropTypes.func,
|
|
163
|
+
/**
|
|
164
|
+
* Reference date to be used while resolving the UTC offset.
|
|
165
|
+
* Only useful for edge cases involving daylight saving time.
|
|
166
|
+
*/
|
|
167
|
+
date: PropTypes.any
|
|
168
|
+
})
|
|
148
169
|
};
|
|
149
170
|
EuiDatePopoverButton.displayName = 'EuiDatePopoverButton';
|
|
@@ -33,7 +33,9 @@ export var EuiDatePopoverContent = function EuiDatePopoverContent(_ref) {
|
|
|
33
33
|
utcOffset = _ref.utcOffset,
|
|
34
34
|
timeOptions = _ref.timeOptions,
|
|
35
35
|
minDate = _ref.minDate,
|
|
36
|
-
maxDate = _ref.maxDate
|
|
36
|
+
maxDate = _ref.maxDate,
|
|
37
|
+
_ref$timeZoneDisplayP = _ref.timeZoneDisplayProps,
|
|
38
|
+
timeZoneDisplayProps = _ref$timeZoneDisplayP === void 0 ? {} : _ref$timeZoneDisplayP;
|
|
37
39
|
var styles = useEuiMemoizedStyles(euiDatePopoverContentStyles);
|
|
38
40
|
var onTabClick = function onTabClick(selectedTab) {
|
|
39
41
|
switch (selectedTab.id) {
|
|
@@ -64,7 +66,8 @@ export var EuiDatePopoverContent = function EuiDatePopoverContent(_ref) {
|
|
|
64
66
|
labelPrefix: labelPrefix,
|
|
65
67
|
utcOffset: utcOffset,
|
|
66
68
|
minDate: minDate,
|
|
67
|
-
maxDate: maxDate
|
|
69
|
+
maxDate: maxDate,
|
|
70
|
+
timeZoneDisplayProps: timeZoneDisplayProps
|
|
68
71
|
}),
|
|
69
72
|
'data-test-subj': 'superDatePickerAbsoluteTab',
|
|
70
73
|
'aria-label': "".concat(labelPrefix, ": ").concat(absoluteLabel)
|
|
@@ -78,7 +81,8 @@ export var EuiDatePopoverContent = function EuiDatePopoverContent(_ref) {
|
|
|
78
81
|
onChange: onChange,
|
|
79
82
|
roundUp: roundUp,
|
|
80
83
|
labelPrefix: labelPrefix,
|
|
81
|
-
timeOptions: timeOptions
|
|
84
|
+
timeOptions: timeOptions,
|
|
85
|
+
timeZoneDisplayProps: timeZoneDisplayProps
|
|
82
86
|
}),
|
|
83
87
|
'data-test-subj': 'superDatePickerRelativeTab',
|
|
84
88
|
'aria-label': "".concat(labelPrefix, ": ").concat(relativeLabel)
|
|
@@ -150,6 +154,24 @@ EuiDatePopoverContent.propTypes = {
|
|
|
150
154
|
label: PropTypes.string,
|
|
151
155
|
start: PropTypes.oneOfType([PropTypes.oneOf(["now"]), PropTypes.string.isRequired]).isRequired
|
|
152
156
|
}).isRequired).isRequired
|
|
153
|
-
}).isRequired
|
|
157
|
+
}).isRequired,
|
|
158
|
+
timeZoneDisplayProps: PropTypes.shape({
|
|
159
|
+
/**
|
|
160
|
+
* A valid time zone name, from the IANA database, e.g. "America/Los_Angeles".
|
|
161
|
+
*
|
|
162
|
+
* @link https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
|
163
|
+
*/
|
|
164
|
+
timeZone: PropTypes.string,
|
|
165
|
+
/**
|
|
166
|
+
* Render prop function to add additional content to the time zone display.
|
|
167
|
+
* Useful for e.g. adding links to documentation or setting pages.
|
|
168
|
+
*/
|
|
169
|
+
customRender: PropTypes.func,
|
|
170
|
+
/**
|
|
171
|
+
* Reference date to be used while resolving the UTC offset.
|
|
172
|
+
* Only useful for edge cases involving daylight saving time.
|
|
173
|
+
*/
|
|
174
|
+
date: PropTypes.any
|
|
175
|
+
})
|
|
154
176
|
};
|
|
155
177
|
EuiDatePopoverContent.displayName = 'EuiDatePopoverContent';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
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); }
|
|
1
2
|
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
2
3
|
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."); }
|
|
3
4
|
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; } }
|
|
@@ -25,6 +26,7 @@ import { EuiPopoverFooter } from '../../../popover';
|
|
|
25
26
|
import { EuiSpacer } from '../../../spacer';
|
|
26
27
|
import { INVALID_DATE } from '../date_modes';
|
|
27
28
|
import { parseRelativeParts, toRelativeStringFromParts } from '../relative_utils';
|
|
29
|
+
import { EuiTimeZoneDisplay } from './timezone_display';
|
|
28
30
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
29
31
|
export var EuiRelativeTab = function EuiRelativeTab(_ref) {
|
|
30
32
|
var _ref$timeOptions = _ref.timeOptions,
|
|
@@ -35,7 +37,9 @@ export var EuiRelativeTab = function EuiRelativeTab(_ref) {
|
|
|
35
37
|
value = _ref.value,
|
|
36
38
|
onChange = _ref.onChange,
|
|
37
39
|
roundUp = _ref.roundUp,
|
|
38
|
-
labelPrefix = _ref.labelPrefix
|
|
40
|
+
labelPrefix = _ref.labelPrefix,
|
|
41
|
+
_ref$timeZoneDisplayP = _ref.timeZoneDisplayProps,
|
|
42
|
+
timeZoneDisplayProps = _ref$timeZoneDisplayP === void 0 ? {} : _ref$timeZoneDisplayP;
|
|
39
43
|
var initialRelativeParts = useRef(parseRelativeParts(value));
|
|
40
44
|
var roundUnit = initialRelativeParts.current.roundUnit;
|
|
41
45
|
var _useState = useState(initialRelativeParts.current.unit),
|
|
@@ -83,6 +87,7 @@ export var EuiRelativeTab = function EuiRelativeTab(_ref) {
|
|
|
83
87
|
return parsedValue.locale(locale || 'en').format(dateFormat);
|
|
84
88
|
}, [isInvalid, value, roundUp, locale, dateFormat]);
|
|
85
89
|
var relativeDateInputNumberDescriptionId = useGeneratedHtmlId();
|
|
90
|
+
var timeZomeDescriptionId = useGeneratedHtmlId();
|
|
86
91
|
var numberAriaLabel = useEuiI18n('euiRelativeTab.numberInputLabel', 'Time span amount');
|
|
87
92
|
var numberInputError = useEuiI18n('euiRelativeTab.numberInputError', 'Must be >= 0');
|
|
88
93
|
var dateInputError = useEuiI18n('euiRelativeTab.dateInputError', 'Must be a valid range');
|
|
@@ -116,6 +121,7 @@ export var EuiRelativeTab = function EuiRelativeTab(_ref) {
|
|
|
116
121
|
compressed: true,
|
|
117
122
|
value: formattedValue,
|
|
118
123
|
readOnly: true,
|
|
124
|
+
"aria-describedby": timeZomeDescriptionId,
|
|
119
125
|
prepend: ___EmotionJSX(EuiFormLabel, null, labelPrefix)
|
|
120
126
|
}), ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", {
|
|
121
127
|
id: relativeDateInputNumberDescriptionId
|
|
@@ -125,7 +131,9 @@ export var EuiRelativeTab = function EuiRelativeTab(_ref) {
|
|
|
125
131
|
values: {
|
|
126
132
|
unit: unit
|
|
127
133
|
}
|
|
128
|
-
})))), ___EmotionJSX(
|
|
134
|
+
})))), ___EmotionJSX(EuiTimeZoneDisplay, _extends({
|
|
135
|
+
id: timeZomeDescriptionId
|
|
136
|
+
}, timeZoneDisplayProps)), ___EmotionJSX(EuiPopoverFooter, {
|
|
129
137
|
paddingSize: "s"
|
|
130
138
|
}, ___EmotionJSX(EuiSwitch, {
|
|
131
139
|
"data-test-subj": "superDatePickerRelativeDateRoundSwitch",
|
|
@@ -155,5 +163,23 @@ EuiRelativeTab.propTypes = {
|
|
|
155
163
|
label: PropTypes.string,
|
|
156
164
|
start: PropTypes.oneOfType([PropTypes.oneOf(["now"]), PropTypes.string.isRequired]).isRequired
|
|
157
165
|
}).isRequired).isRequired
|
|
158
|
-
}).isRequired
|
|
166
|
+
}).isRequired,
|
|
167
|
+
timeZoneDisplayProps: PropTypes.shape({
|
|
168
|
+
/**
|
|
169
|
+
* A valid time zone name, from the IANA database, e.g. "America/Los_Angeles".
|
|
170
|
+
*
|
|
171
|
+
* @link https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
|
172
|
+
*/
|
|
173
|
+
timeZone: PropTypes.string,
|
|
174
|
+
/**
|
|
175
|
+
* Render prop function to add additional content to the time zone display.
|
|
176
|
+
* Useful for e.g. adding links to documentation or setting pages.
|
|
177
|
+
*/
|
|
178
|
+
customRender: PropTypes.func,
|
|
179
|
+
/**
|
|
180
|
+
* Reference date to be used while resolving the UTC offset.
|
|
181
|
+
* Only useful for edge cases involving daylight saving time.
|
|
182
|
+
*/
|
|
183
|
+
date: PropTypes.any
|
|
184
|
+
})
|
|
159
185
|
};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
var _excluded = ["timeZone", "customRender", "date"];
|
|
2
|
+
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); }
|
|
3
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
4
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
|
|
5
|
+
/*
|
|
6
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
7
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
8
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
9
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
10
|
+
* Side Public License, v 1.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import React from 'react';
|
|
14
|
+
import { euiTimeZoneDisplayStyles } from './timezone_display.styles';
|
|
15
|
+
import { useEuiMemoizedStyles } from '../../../../services';
|
|
16
|
+
import { EuiFlexGroup } from '../../../flex';
|
|
17
|
+
import { EuiIcon } from '../../../icon';
|
|
18
|
+
import { EuiText } from '../../../text';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Available elements to render passed to the
|
|
22
|
+
* `customRender` render function.
|
|
23
|
+
*/
|
|
24
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
25
|
+
/**
|
|
26
|
+
* Display time zone information.
|
|
27
|
+
*/
|
|
28
|
+
export var EuiTimeZoneDisplay = function EuiTimeZoneDisplay(_ref) {
|
|
29
|
+
var timeZone = _ref.timeZone,
|
|
30
|
+
customRender = _ref.customRender,
|
|
31
|
+
date = _ref.date,
|
|
32
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
33
|
+
var color = 'subdued';
|
|
34
|
+
var styles = useEuiMemoizedStyles(euiTimeZoneDisplayStyles);
|
|
35
|
+
var referenceDate = date ? date.toDate() : undefined;
|
|
36
|
+
var _useEuiUTCOffsetDispl = useEuiUTCOffsetDisplay(timeZone !== null && timeZone !== void 0 ? timeZone : 'Browser', referenceDate),
|
|
37
|
+
utc = _useEuiUTCOffsetDispl.utc,
|
|
38
|
+
name = _useEuiUTCOffsetDispl.name,
|
|
39
|
+
isInvalid = _useEuiUTCOffsetDispl.isInvalid;
|
|
40
|
+
if (!timeZone || isInvalid) return null;
|
|
41
|
+
var label = !name ? utc : "".concat(utc, " (").concat(name, ")");
|
|
42
|
+
var nameDisplay = ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiIcon, {
|
|
43
|
+
type: "globe",
|
|
44
|
+
color: color
|
|
45
|
+
}), ___EmotionJSX(EuiText, {
|
|
46
|
+
component: "span",
|
|
47
|
+
color: color,
|
|
48
|
+
size: "s"
|
|
49
|
+
}, label));
|
|
50
|
+
return ___EmotionJSX(EuiFlexGroup, _extends({
|
|
51
|
+
css: styles.euiTimeZoneDisplay,
|
|
52
|
+
alignItems: "center",
|
|
53
|
+
gutterSize: "xs",
|
|
54
|
+
"data-test-subj": "euiTimeZoneDisplay",
|
|
55
|
+
"aria-label": label
|
|
56
|
+
}, rest), typeof customRender === 'function' ? customRender({
|
|
57
|
+
nameDisplay: nameDisplay
|
|
58
|
+
}) : nameDisplay);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Get the UTC offset display in hours e.g. "UTC+2" from time zone name.
|
|
63
|
+
*
|
|
64
|
+
* @param timeZoneName IANA time zone name
|
|
65
|
+
* @param [date] Reference date to get offset with Intl.DateTimeFormat
|
|
66
|
+
*/
|
|
67
|
+
export function useEuiUTCOffsetDisplay(timeZoneName, date) {
|
|
68
|
+
try {
|
|
69
|
+
var _formattedParts$find;
|
|
70
|
+
if (timeZoneName === 'UTC') {
|
|
71
|
+
return {
|
|
72
|
+
utc: 'UTC',
|
|
73
|
+
name: '',
|
|
74
|
+
isInvalid: false
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
var ianaName = timeZoneName === 'Browser' ? new Intl.DateTimeFormat().resolvedOptions().timeZone : timeZoneName;
|
|
78
|
+
var formatter = new Intl.DateTimeFormat(undefined, {
|
|
79
|
+
timeZone: ianaName,
|
|
80
|
+
timeZoneName: 'shortOffset'
|
|
81
|
+
});
|
|
82
|
+
var formattedParts = formatter.formatToParts(date !== null && date !== void 0 ? date : new Date());
|
|
83
|
+
var timeZoneNamePart = ((_formattedParts$find = formattedParts.find(function (part) {
|
|
84
|
+
return part.type === 'timeZoneName';
|
|
85
|
+
})) === null || _formattedParts$find === void 0 ? void 0 : _formattedParts$find.value) || '';
|
|
86
|
+
return {
|
|
87
|
+
utc: timeZoneNamePart.replace('GMT', 'UTC'),
|
|
88
|
+
name: ianaName,
|
|
89
|
+
isInvalid: false
|
|
90
|
+
};
|
|
91
|
+
} catch (err) {
|
|
92
|
+
return {
|
|
93
|
+
utc: '',
|
|
94
|
+
name: timeZoneName,
|
|
95
|
+
isInvalid: true
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
3
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
4
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
5
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
6
|
+
* Side Public License, v 1.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { css } from '@emotion/react';
|
|
10
|
+
import { logicalCSS } from '../../../../global_styling';
|
|
11
|
+
export var euiTimeZoneDisplayStyles = function euiTimeZoneDisplayStyles(euiThemeContext) {
|
|
12
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
13
|
+
|
|
14
|
+
// This padding should probably not be part of this component to make it really reusable
|
|
15
|
+
|
|
16
|
+
return {
|
|
17
|
+
euiTimeZoneDisplay: /*#__PURE__*/css(logicalCSS('padding-horizontal', euiTheme.size.s), " ", logicalCSS('padding-bottom', euiTheme.size.s), ";;label:euiTimeZoneDisplay;")
|
|
18
|
+
};
|
|
19
|
+
};
|
|
@@ -11,7 +11,7 @@ import dateMath from '@elastic/datemath';
|
|
|
11
11
|
import moment from 'moment'; // eslint-disable-line import/named
|
|
12
12
|
import { useEuiI18n } from '../../i18n';
|
|
13
13
|
import { getDateMode, DATE_MODES } from './date_modes';
|
|
14
|
-
import { parseRelativeParts } from './relative_utils';
|
|
14
|
+
import { parseRelativeParts, isRelativeToNow } from './relative_utils';
|
|
15
15
|
import { useI18nTimeOptions } from './time_options';
|
|
16
16
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
17
17
|
/**
|
|
@@ -272,13 +272,6 @@ var hasRangeMatch = function hasRangeMatch(timeFrom, timeTo, ranges) {
|
|
|
272
272
|
return timeFrom === start && timeTo === end;
|
|
273
273
|
});
|
|
274
274
|
};
|
|
275
|
-
var isRelativeToNow = function isRelativeToNow(timeFrom, timeTo) {
|
|
276
|
-
var fromDateMode = getDateMode(timeFrom);
|
|
277
|
-
var toDateMode = getDateMode(timeTo);
|
|
278
|
-
var isLast = fromDateMode === DATE_MODES.RELATIVE && toDateMode === DATE_MODES.NOW;
|
|
279
|
-
var isNext = fromDateMode === DATE_MODES.NOW && toDateMode === DATE_MODES.RELATIVE;
|
|
280
|
-
return isLast || isNext;
|
|
281
|
-
};
|
|
282
275
|
export var showPrettyDuration = function showPrettyDuration(timeFrom, timeTo, quickRanges) {
|
|
283
276
|
if (hasRangeMatch(timeFrom, timeTo, quickRanges)) {
|
|
284
277
|
return true;
|
|
@@ -16,6 +16,7 @@ import dateMath from '@elastic/datemath';
|
|
|
16
16
|
import moment from 'moment';
|
|
17
17
|
import { get } from '../../../services/objects';
|
|
18
18
|
import { isString } from '../../../services/predicate';
|
|
19
|
+
import { getDateMode, DATE_MODES } from './date_modes';
|
|
19
20
|
var ROUND_DELIMETER = '/';
|
|
20
21
|
export var relativeUnitsFromLargestToSmallest = ['y', 'M', 'w', 'd', 'h', 'm', 's'];
|
|
21
22
|
export function parseRelativeParts(value) {
|
|
@@ -65,4 +66,11 @@ export var toRelativeStringFromParts = function toRelativeStringFromParts(relati
|
|
|
65
66
|
var operator = matches && matches[2] ? matches[2] : '-';
|
|
66
67
|
var round = isRounded ? "".concat(ROUND_DELIMETER).concat(unit) : '';
|
|
67
68
|
return "now".concat(operator).concat(count).concat(unit).concat(round);
|
|
69
|
+
};
|
|
70
|
+
export var isRelativeToNow = function isRelativeToNow(timeFrom, timeTo) {
|
|
71
|
+
var fromDateMode = getDateMode(timeFrom);
|
|
72
|
+
var toDateMode = getDateMode(timeTo);
|
|
73
|
+
var isLast = fromDateMode === DATE_MODES.RELATIVE && toDateMode === DATE_MODES.NOW;
|
|
74
|
+
var isNext = fromDateMode === DATE_MODES.NOW && toDateMode === DATE_MODES.RELATIVE;
|
|
75
|
+
return isLast || isNext;
|
|
68
76
|
};
|