@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
|
@@ -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"
|
|
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)
|
|
46
|
+
}, preProps));
|
|
45
47
|
});
|
|
46
|
-
}, [preProps
|
|
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
|
-
|
|
49
|
-
|
|
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
|
|
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
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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(
|
|
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
|
-
|
|
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:
|
|
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
|
};
|
package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js
CHANGED
|
@@ -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';
|
package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_content.js
CHANGED
|
@@ -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)(
|
|
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",
|
package/optimize/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js
ADDED
|
@@ -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, "
|
|
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
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
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$
|
|
427
|
-
isAutoRefreshOnly = _this$
|
|
428
|
-
isDisabled = _this$
|
|
429
|
-
isPaused = _this$
|
|
430
|
-
onRefreshChange = _this$
|
|
431
|
-
refreshInterval = _this$
|
|
432
|
-
refreshMinInterval = _this$
|
|
433
|
-
refreshIntervalUnits = _this$
|
|
434
|
-
showUpdateButton = _this$
|
|
435
|
-
dataTestSubj = _this$
|
|
436
|
-
_width = _this$
|
|
437
|
-
isQuickSelectOnly = _this$
|
|
438
|
-
compressed = _this$
|
|
439
|
-
className = _this$
|
|
440
|
-
styles = _this$
|
|
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",
|