@elastic/eui 108.0.0 → 109.1.0-snapshot.1763390960850
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/accessibility/skip_link/skip_link.js +10 -1
- package/es/components/basic_table/collapsed_item_actions.js +3 -1
- package/es/components/basic_table/default_item_action.js +7 -4
- 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 +16 -5
- 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/column_actions.js +5 -21
- package/es/components/datagrid/body/header/data_grid_header_cell.js +29 -10
- package/es/components/datagrid/body/header/data_grid_header_cell.styles.js +8 -2
- package/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +5 -2
- 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/file_picker/file_picker.styles.js +3 -3
- 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/paper_clip.js +1 -1
- package/es/components/icon/assets/streams_wired.js +3 -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/services/theme/high_contrast_overrides.js +5 -1
- 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 +604 -183
- package/i18ntokens.json +1357 -1231
- package/lib/components/accessibility/skip_link/skip_link.js +10 -1
- package/lib/components/basic_table/collapsed_item_actions.js +3 -1
- package/lib/components/basic_table/default_item_action.js +7 -4
- 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 +16 -5
- 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/column_actions.js +5 -21
- package/lib/components/datagrid/body/header/data_grid_header_cell.js +29 -10
- package/lib/components/datagrid/body/header/data_grid_header_cell.styles.js +8 -1
- package/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +5 -2
- 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/file_picker/file_picker.styles.js +3 -3
- 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/paper_clip.js +1 -1
- package/lib/components/icon/assets/streams_wired.js +3 -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/paper_clip.svg +3 -3
- 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/services/theme/high_contrast_overrides.js +5 -1
- 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/basic_table/collapsed_item_actions.js +3 -1
- package/optimize/es/components/basic_table/default_item_action.js +7 -4
- 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 +2 -3
- 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/body/header/column_actions.js +5 -21
- package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +6 -4
- package/optimize/es/components/datagrid/body/header/data_grid_header_cell.styles.js +8 -2
- package/optimize/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +4 -2
- 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/form/file_picker/file_picker.styles.js +3 -3
- 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/paper_clip.js +1 -1
- package/optimize/es/components/icon/assets/streams_wired.js +3 -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/services/theme/high_contrast_overrides.js +5 -1
- 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/basic_table/collapsed_item_actions.js +3 -1
- package/optimize/lib/components/basic_table/default_item_action.js +7 -4
- 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 +2 -3
- 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/body/header/column_actions.js +5 -21
- package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +6 -4
- package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.styles.js +8 -1
- package/optimize/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +4 -2
- 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/form/file_picker/file_picker.styles.js +3 -3
- 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/paper_clip.js +1 -1
- package/optimize/lib/components/icon/assets/streams_wired.js +3 -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/paper_clip.svg +3 -3
- 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/services/theme/high_contrast_overrides.js +5 -1
- 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 +6 -5
- package/test-env/components/accessibility/skip_link/skip_link.js +10 -1
- package/test-env/components/basic_table/collapsed_item_actions.js +3 -1
- package/test-env/components/basic_table/default_item_action.js +7 -4
- 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 +16 -5
- 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/column_actions.js +5 -21
- package/test-env/components/datagrid/body/header/data_grid_header_cell.js +29 -10
- package/test-env/components/datagrid/body/header/data_grid_header_cell.styles.js +8 -1
- package/test-env/components/datagrid/body/header/data_grid_header_cell_wrapper.js +5 -2
- 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/file_picker/file_picker.styles.js +3 -3
- 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/paper_clip.js +1 -1
- package/test-env/components/icon/assets/streams_wired.js +3 -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/services/theme/high_contrast_overrides.js +5 -1
- 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
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["className", "iconType", "iconSize", "color", "isDisabled", "disabled", "href", "type", "display", "target", "rel", "size", "buttonRef", "isSelected", "isLoading"]
|
|
3
|
+
var _excluded = ["className", "iconType", "iconSize", "color", "isDisabled", "disabled", "hasAriaDisabled", "href", "type", "display", "target", "rel", "size", "buttonRef", "isSelected", "isLoading"],
|
|
4
|
+
_excluded2 = ["ref"];
|
|
4
5
|
/*
|
|
5
6
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
6
7
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -11,7 +12,8 @@ var _excluded = ["className", "iconType", "iconSize", "color", "isDisabled", "di
|
|
|
11
12
|
|
|
12
13
|
import React from 'react';
|
|
13
14
|
import classNames from 'classnames';
|
|
14
|
-
import { getSecureRelForTarget, useEuiMemoizedStyles } from '../../../services';
|
|
15
|
+
import { getSecureRelForTarget, useCombinedRefs, useEuiMemoizedStyles } from '../../../services';
|
|
16
|
+
import { useEuiDisabledElement } from '../../../services/hooks/useEuiDisabledElement';
|
|
15
17
|
import { EuiIcon } from '../../icon';
|
|
16
18
|
import { EuiLoadingSpinner } from '../../loading';
|
|
17
19
|
import { useEuiButtonColorCSS, useEuiButtonFocusCSS } from '../../../global_styling/mixins/_button';
|
|
@@ -29,6 +31,8 @@ export var EuiButtonIcon = function EuiButtonIcon(_ref) {
|
|
|
29
31
|
color = _ref$color === void 0 ? 'primary' : _ref$color,
|
|
30
32
|
_isDisabled = _ref.isDisabled,
|
|
31
33
|
disabled = _ref.disabled,
|
|
34
|
+
_ref$hasAriaDisabled = _ref.hasAriaDisabled,
|
|
35
|
+
hasAriaDisabled = _ref$hasAriaDisabled === void 0 ? false : _ref$hasAriaDisabled,
|
|
32
36
|
href = _ref.href,
|
|
33
37
|
_ref$type = _ref.type,
|
|
34
38
|
type = _ref$type === void 0 ? 'button' : _ref$type,
|
|
@@ -47,6 +51,14 @@ export var EuiButtonIcon = function EuiButtonIcon(_ref) {
|
|
|
47
51
|
href: href,
|
|
48
52
|
isLoading: isLoading
|
|
49
53
|
});
|
|
54
|
+
var _useEuiDisabledElemen = useEuiDisabledElement({
|
|
55
|
+
isDisabled: isDisabled,
|
|
56
|
+
hasAriaDisabled: hasAriaDisabled,
|
|
57
|
+
onKeyDown: rest.onKeyDown
|
|
58
|
+
}),
|
|
59
|
+
disabledRef = _useEuiDisabledElemen.ref,
|
|
60
|
+
disabledButtonProps = _objectWithoutProperties(_useEuiDisabledElemen, _excluded2);
|
|
61
|
+
var setCombinedRef = useCombinedRefs([disabledRef, buttonRef]);
|
|
50
62
|
var ariaHidden = rest['aria-hidden'];
|
|
51
63
|
var isAriaHidden = ariaHidden === 'true' || ariaHidden === true;
|
|
52
64
|
if (!rest['aria-label'] && !rest['aria-labelledby'] && !isAriaHidden) {
|
|
@@ -106,7 +118,7 @@ export var EuiButtonIcon = function EuiButtonIcon(_ref) {
|
|
|
106
118
|
href: href,
|
|
107
119
|
target: target,
|
|
108
120
|
rel: secureRel,
|
|
109
|
-
ref:
|
|
121
|
+
ref: setCombinedRef
|
|
110
122
|
}, rest), buttonIcon);
|
|
111
123
|
}
|
|
112
124
|
var buttonType;
|
|
@@ -117,6 +129,6 @@ export var EuiButtonIcon = function EuiButtonIcon(_ref) {
|
|
|
117
129
|
className: classes,
|
|
118
130
|
"aria-pressed": isSelected,
|
|
119
131
|
type: type,
|
|
120
|
-
ref:
|
|
121
|
-
}, rest), buttonIcon);
|
|
132
|
+
ref: setCombinedRef
|
|
133
|
+
}, rest, disabledButtonProps), buttonIcon);
|
|
122
134
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["style"
|
|
3
|
+
var _excluded = ["style"],
|
|
4
4
|
_excluded2 = ["style"];
|
|
5
5
|
/*
|
|
6
6
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
@@ -23,29 +23,31 @@ export var EuiCodeBlockVirtualized = function EuiCodeBlockVirtualized(_ref) {
|
|
|
23
23
|
overflowHeight = _ref.overflowHeight,
|
|
24
24
|
preProps = _ref.preProps,
|
|
25
25
|
codeProps = _ref.codeProps;
|
|
26
|
+
// NOTE: Don't inject other content (e.g. a label) inside this outer virtualized
|
|
27
|
+
// container as react-window requires this to be stable for scroll calculations.
|
|
28
|
+
// Instead, inject it into the inner virtualized element.
|
|
26
29
|
var VirtualizedOuterElement = useMemo(function () {
|
|
27
30
|
return /*#__PURE__*/forwardRef(function (_ref2, ref) {
|
|
28
31
|
var style = _ref2.style,
|
|
29
|
-
children = _ref2.children,
|
|
30
32
|
props = _objectWithoutProperties(_ref2, _excluded);
|
|
31
33
|
return ___EmotionJSX("pre", _extends({
|
|
32
34
|
style: logicalStyles(style)
|
|
33
35
|
}, props, {
|
|
34
36
|
ref: ref
|
|
35
|
-
}, preProps)
|
|
37
|
+
}, preProps));
|
|
36
38
|
});
|
|
37
|
-
}, [preProps
|
|
39
|
+
}, [preProps]);
|
|
38
40
|
var VirtualizedInnerElement = useMemo(function () {
|
|
39
41
|
return /*#__PURE__*/forwardRef(function (_ref3, ref) {
|
|
40
42
|
var style = _ref3.style,
|
|
41
43
|
props = _objectWithoutProperties(_ref3, _excluded2);
|
|
42
|
-
return ___EmotionJSX("code", _extends({
|
|
44
|
+
return ___EmotionJSX(React.Fragment, null, label, ___EmotionJSX("code", _extends({
|
|
43
45
|
style: logicalStyles(style)
|
|
44
46
|
}, props, {
|
|
45
47
|
ref: ref
|
|
46
|
-
}, codeProps));
|
|
48
|
+
}, codeProps)));
|
|
47
49
|
});
|
|
48
|
-
}, [codeProps]);
|
|
50
|
+
}, [codeProps, label]);
|
|
49
51
|
var virtualizationProps = {
|
|
50
52
|
itemData: data,
|
|
51
53
|
itemSize: rowHeight,
|
|
@@ -72,16 +72,6 @@ export var ColumnActions = /*#__PURE__*/memo(function (_ref) {
|
|
|
72
72
|
var closePopover = useCallback(function () {
|
|
73
73
|
setIsPopoverOpen(false);
|
|
74
74
|
}, []);
|
|
75
|
-
var _useState3 = useState(false),
|
|
76
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
77
|
-
isActionsButtonFocused = _useState4[0],
|
|
78
|
-
setIsActionsButtonFocused = _useState4[1];
|
|
79
|
-
var onFocus = useCallback(function () {
|
|
80
|
-
return setIsActionsButtonFocused(true);
|
|
81
|
-
}, []);
|
|
82
|
-
var onBlur = useCallback(function () {
|
|
83
|
-
return setIsActionsButtonFocused(false);
|
|
84
|
-
}, []);
|
|
85
75
|
var actionsButtonAriaLabel = useEuiI18n('euiDataGridHeaderCell.actionsButtonAriaLabel', '{title}. Click to view column header actions.', {
|
|
86
76
|
title: title
|
|
87
77
|
});
|
|
@@ -96,10 +86,10 @@ export var ColumnActions = /*#__PURE__*/memo(function (_ref) {
|
|
|
96
86
|
/**
|
|
97
87
|
* Props to set on parent EuiDataGridHeaderCell
|
|
98
88
|
*/
|
|
99
|
-
var
|
|
100
|
-
|
|
101
|
-
isColumnMoving =
|
|
102
|
-
setIsColumnMoving =
|
|
89
|
+
var _useState3 = useState(false),
|
|
90
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
91
|
+
isColumnMoving = _useState4[0],
|
|
92
|
+
setIsColumnMoving = _useState4[1];
|
|
103
93
|
useEffect(function () {
|
|
104
94
|
setPropsFromColumnActions({
|
|
105
95
|
className: isPopoverOpen ? 'euiDataGridHeaderCell--isActionsPopoverOpen' : '',
|
|
@@ -145,17 +135,11 @@ export var ColumnActions = /*#__PURE__*/memo(function (_ref) {
|
|
|
145
135
|
iconType: "boxesVertical",
|
|
146
136
|
iconSize: "s",
|
|
147
137
|
color: "text",
|
|
148
|
-
css: styles.euiDataGridHeaderCell__actions,
|
|
149
138
|
className: "euiDataGridHeaderCell__button",
|
|
150
139
|
onClick: togglePopover,
|
|
151
140
|
buttonRef: actionsButtonRef,
|
|
152
|
-
onFocus: onFocus,
|
|
153
|
-
onBlur: onBlur,
|
|
154
|
-
tabIndex: 0 // Override EuiButtonIcon's conditional tabindex based on aria-hidden
|
|
155
|
-
,
|
|
156
|
-
"aria-hidden": hasFocusTrap && !isActionsButtonFocused ? 'true' // prevent the actions button from being read on cell focus
|
|
157
|
-
: undefined,
|
|
158
141
|
"aria-label": hasFocusTrap ? actionsButtonAriaLabel : actionsEnterKeyInstructions,
|
|
142
|
+
css: [styles.euiDataGridHeaderCell__actions.action, styles.euiDataGridHeaderCell__actions.end, ";label:ColumnActions;"],
|
|
159
143
|
"data-test-subj": "dataGridHeaderCellActionButton-".concat(id)
|
|
160
144
|
}),
|
|
161
145
|
isOpen: isPopoverOpen,
|
|
@@ -45,6 +45,7 @@ export var EuiDataGridHeaderCell = /*#__PURE__*/memo(function (_ref) {
|
|
|
45
45
|
var width = columnWidths[id] || defaultColumnWidth;
|
|
46
46
|
var columnType = schema[id] ? schema[id].columnType : null;
|
|
47
47
|
var hasColumnActions = useHasColumnActions(actions);
|
|
48
|
+
var cellContentId = "dataGridHeaderCellContent-".concat(id);
|
|
48
49
|
var classes = classnames(_defineProperty(_defineProperty({}, "euiDataGridHeaderCell--".concat(columnType), columnType), 'euiDataGridHeaderCell--hasColumnActions', hasColumnActions), displayHeaderCellProps === null || displayHeaderCellProps === void 0 ? void 0 : displayHeaderCellProps.className);
|
|
49
50
|
var styles = useEuiMemoizedStyles(euiDataGridHeaderCellStyles);
|
|
50
51
|
var contentStyles = [styles.euiDataGridHeaderCell__content, (columnType === 'numeric' || columnType === 'currency') && styles.right];
|
|
@@ -88,8 +89,7 @@ export var EuiDataGridHeaderCell = /*#__PURE__*/memo(function (_ref) {
|
|
|
88
89
|
isLastColumn: isLastColumn,
|
|
89
90
|
width: width,
|
|
90
91
|
"aria-sort": ariaSort,
|
|
91
|
-
"aria-
|
|
92
|
-
,
|
|
92
|
+
"aria-labelledby": cellContentId,
|
|
93
93
|
"aria-describedby": classnames(sortingAriaId, dragProps === null || dragProps === void 0 ? void 0 : dragProps['aria-describedby']),
|
|
94
94
|
"data-column-moving": propsFromColumnActions['data-column-moving'] || (dragProps === null || dragProps === void 0 ? void 0 : dragProps['data-column-moving']) || undefined
|
|
95
95
|
}), function (hasFocusTrap) {
|
|
@@ -98,11 +98,13 @@ export var EuiDataGridHeaderCell = /*#__PURE__*/memo(function (_ref) {
|
|
|
98
98
|
}, ___EmotionJSX(EuiIcon, {
|
|
99
99
|
type: "grabOmnidirectional",
|
|
100
100
|
size: "s",
|
|
101
|
-
css: styles.euiDataGridHeaderCell__actions
|
|
101
|
+
css: [styles.euiDataGridHeaderCell__actions.action, styles.euiDataGridHeaderCell__actions.start, ";label:EuiDataGridHeaderCell;"]
|
|
102
102
|
})), ___EmotionJSX("div", {
|
|
103
103
|
css: contentStyles,
|
|
104
104
|
className: "euiDataGridHeaderCell__content",
|
|
105
|
-
title: title
|
|
105
|
+
title: title,
|
|
106
|
+
id: cellContentId,
|
|
107
|
+
"aria-label": displayAsText ? displayAsText : typeof children === 'string' ? children : undefined
|
|
106
108
|
}, children), sortingArrow, sortingScreenReaderText, hasColumnActions && ___EmotionJSX(ColumnActions, {
|
|
107
109
|
index: index,
|
|
108
110
|
id: id,
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
import { css } from '@emotion/react';
|
|
10
10
|
import { euiCanAnimate, euiTextTruncate, logicalCSS, logicalTextAlignCSS } from '../../../../global_styling';
|
|
11
11
|
import { euiDataGridCellOutlineSelectors } from '../cell/data_grid_cell.styles';
|
|
12
|
-
|
|
13
12
|
/**
|
|
14
13
|
* Styles only applied to data header cell content, not control header cells
|
|
15
14
|
*/
|
|
@@ -17,11 +16,18 @@ export var euiDataGridHeaderCellStyles = function euiDataGridHeaderCellStyles(eu
|
|
|
17
16
|
var euiTheme = euiThemeContext.euiTheme;
|
|
18
17
|
var _euiDataGridCellOutli = euiDataGridCellOutlineSelectors('.euiDataGridHeaderCell'),
|
|
19
18
|
header = _euiDataGridCellOutli.header;
|
|
19
|
+
var hideAnimation = function hideAnimation(margin, translateX) {
|
|
20
|
+
return "\n ".concat(header.hideActions, " & {\n ").concat(logicalCSS('margin-left', margin), "\n transform: translateX(").concat(translateX, ") scale(0.01);\n opacity: 0;\n }\n ");
|
|
21
|
+
};
|
|
20
22
|
return {
|
|
21
23
|
euiDataGridHeaderCell__content: /*#__PURE__*/css("flex-grow:1;", euiTextTruncate(), ";;label:euiDataGridHeaderCell__content;"),
|
|
22
24
|
// Numeric and currency schemas are aligned to the right
|
|
23
25
|
right: /*#__PURE__*/css(logicalTextAlignCSS('right'), ";;label:right;"),
|
|
24
26
|
euiDataGridHeaderCell__popover: /*#__PURE__*/css(logicalCSS('margin-left', 'auto'), "line-height:0;;label:euiDataGridHeaderCell__popover;"),
|
|
25
|
-
euiDataGridHeaderCell__actions:
|
|
27
|
+
euiDataGridHeaderCell__actions: {
|
|
28
|
+
action: /*#__PURE__*/css("overflow:hidden;display:flex;max-inline-size:24px;", euiCanAnimate, "{transition:transform ", euiTheme.animation.fast, " ease-in,opacity ", euiTheme.animation.slow, " ease-in,margin-left ", euiTheme.animation.fast, " ease-in;animation:none!important;};label:action;"),
|
|
29
|
+
start: /*#__PURE__*/css(hideAnimation("-".concat(euiTheme.size.m), '0%'), ";;label:start;"),
|
|
30
|
+
end: /*#__PURE__*/css(hideAnimation("-".concat(euiTheme.size.l), '50%'), ";;label:end;")
|
|
31
|
+
}
|
|
26
32
|
};
|
|
27
33
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["id", "index", "isLastColumn", "width", "className", "children", "hasColumnActions", "isDragging", "onKeyDown", "aria-label"];
|
|
4
|
+
var _excluded = ["id", "index", "isLastColumn", "width", "className", "children", "hasColumnActions", "isDragging", "onKeyDown", "aria-label", "aria-labelledby"];
|
|
5
5
|
/*
|
|
6
6
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
7
7
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -34,6 +34,7 @@ export var EuiDataGridHeaderCellWrapper = function EuiDataGridHeaderCellWrapper(
|
|
|
34
34
|
isDragging = _ref.isDragging,
|
|
35
35
|
_onKeyDown = _ref.onKeyDown,
|
|
36
36
|
ariaLabel = _ref['aria-label'],
|
|
37
|
+
ariaLabelledby = _ref['aria-labelledby'],
|
|
37
38
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
38
39
|
var classes = classnames('euiDataGridHeaderCell', className);
|
|
39
40
|
var styles = useEuiMemoizedStyles(euiDataGridHeaderCellWrapperStyles);
|
|
@@ -99,7 +100,8 @@ export var EuiDataGridHeaderCellWrapper = function EuiDataGridHeaderCellWrapper(
|
|
|
99
100
|
style: width != null ? {
|
|
100
101
|
width: "".concat(width, "px")
|
|
101
102
|
} : {},
|
|
102
|
-
"aria-label": renderFocusTrap ? ariaLabel : undefined
|
|
103
|
+
"aria-label": renderFocusTrap ? ariaLabel : undefined,
|
|
104
|
+
"aria-labelledby": renderFocusTrap ? ariaLabelledby : undefined
|
|
103
105
|
}, rest), ___EmotionJSX(HandleInteractiveChildren, {
|
|
104
106
|
cellEl: isDragging ? null : headerEl,
|
|
105
107
|
renderFocusTrap: isDragging ? false : renderFocusTrap,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
4
|
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
5
5
|
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; } }
|
|
@@ -37,31 +37,48 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
|
|
|
37
37
|
var id = _ref.id;
|
|
38
38
|
return id;
|
|
39
39
|
});
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
// remove duplicate columns to ensure unique columns
|
|
41
|
+
var availableColumnIdsSet = new Set(availableColumnIds);
|
|
42
|
+
if (process.env.NODE_ENV === 'development') {
|
|
43
|
+
if (availableColumnIds.length > availableColumnIdsSet.size) {
|
|
44
|
+
var duplicateIds = [];
|
|
45
|
+
var _iterator = _createForOfIteratorHelper(availableColumnIds),
|
|
46
|
+
_step;
|
|
47
|
+
try {
|
|
48
|
+
var _loop = function _loop() {
|
|
49
|
+
var id = _step.value;
|
|
50
|
+
if (!duplicateIds.includes(id) && availableColumnIds.filter(function (_id) {
|
|
51
|
+
return _id === id;
|
|
52
|
+
}).length > 1) {
|
|
53
|
+
duplicateIds.push(id);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
57
|
+
_loop();
|
|
58
|
+
}
|
|
59
|
+
} catch (err) {
|
|
60
|
+
_iterator.e(err);
|
|
61
|
+
} finally {
|
|
62
|
+
_iterator.f();
|
|
63
|
+
}
|
|
64
|
+
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.');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
42
67
|
var validVisibleColumns = visibleColumns.filter(function (id) {
|
|
43
|
-
return
|
|
68
|
+
return availableColumnIdsSet.has(id);
|
|
44
69
|
});
|
|
45
70
|
var visibleSet = new Set(validVisibleColumns);
|
|
46
71
|
var result = [];
|
|
47
72
|
var visibleIndex = 0;
|
|
48
|
-
var
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
var columnId = _step.value;
|
|
53
|
-
if (visibleSet.has(columnId)) {
|
|
54
|
-
// Replace with next visible column in order
|
|
73
|
+
for (var _i = 0, _arr = _toConsumableArray(availableColumnIdsSet); _i < _arr.length; _i++) {
|
|
74
|
+
var columnId = _arr[_i];
|
|
75
|
+
if (visibleSet.has(columnId)) {
|
|
76
|
+
if (visibleIndex < validVisibleColumns.length) {
|
|
55
77
|
result.push(validVisibleColumns[visibleIndex++]);
|
|
56
|
-
} else {
|
|
57
|
-
// Keep hidden column in original position
|
|
58
|
-
result.push(columnId);
|
|
59
78
|
}
|
|
79
|
+
} else {
|
|
80
|
+
result.push(columnId);
|
|
60
81
|
}
|
|
61
|
-
} catch (err) {
|
|
62
|
-
_iterator.e(err);
|
|
63
|
-
} finally {
|
|
64
|
-
_iterator.f();
|
|
65
82
|
}
|
|
66
83
|
return result;
|
|
67
84
|
// doesn't depend on visibleColumns on purpose to keep it an initial state
|
|
@@ -126,7 +143,7 @@ export var useDataGridColumnSelector = function useDataGridColumnSelector(availa
|
|
|
126
143
|
anchorPosition: "downLeft",
|
|
127
144
|
panelPaddingSize: "none",
|
|
128
145
|
button: ___EmotionJSX(EuiDataGridToolbarControl, {
|
|
129
|
-
badgeContent: numberOfHiddenFields > 0 ? "".concat(orderedVisibleColumns.length, "/").concat(
|
|
146
|
+
badgeContent: numberOfHiddenFields > 0 ? "".concat(orderedVisibleColumns.length, "/").concat(sortedColumns.length) : sortedColumns.length,
|
|
130
147
|
iconType: "tableDensityNormal",
|
|
131
148
|
"data-test-subj": "dataGridColumnSelectorButton",
|
|
132
149
|
onClick: function onClick() {
|
|
@@ -156,7 +156,11 @@ export var EuiDataGrid = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function (pr
|
|
|
156
156
|
*/
|
|
157
157
|
var displayValues = useMemo(function () {
|
|
158
158
|
return columns.reduce(function (acc, column) {
|
|
159
|
-
|
|
159
|
+
// prevent duplicate values
|
|
160
|
+
if (!acc[column.id]) {
|
|
161
|
+
return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, column.id, column.displayAsText || column.id));
|
|
162
|
+
}
|
|
163
|
+
return acc;
|
|
160
164
|
}, {});
|
|
161
165
|
}, [columns]);
|
|
162
166
|
var _useDataGridDisplaySe = useDataGridDisplaySelector(checkOrDefaultToolBarDisplayOptions(toolbarVisibility, 'showDisplaySelector'), gridStyleWithDefaults, _rowHeightsOptions),
|
|
@@ -87,13 +87,14 @@ export var EuiDataGridInMemoryRenderer = function EuiDataGridInMemoryRenderer(_r
|
|
|
87
87
|
var cells = [];
|
|
88
88
|
var _loop = function _loop(i) {
|
|
89
89
|
cells.push(columns.map(function (column, j) {
|
|
90
|
+
var key = "".concat(i, "-").concat(j, "-").concat(column.id);
|
|
90
91
|
var skipThisColumn = inMemory.skipColumns && inMemory.skipColumns.indexOf(column.id) !== -1;
|
|
91
92
|
if (skipThisColumn) {
|
|
92
93
|
return null;
|
|
93
94
|
}
|
|
94
95
|
var isExpandable = column.isExpandable !== undefined ? column.isExpandable : true;
|
|
95
96
|
return ___EmotionJSX("div", {
|
|
96
|
-
key:
|
|
97
|
+
key: key,
|
|
97
98
|
"data-dg-row": i,
|
|
98
99
|
"data-dg-column": column.id
|
|
99
100
|
}, ___EmotionJSX(CellElement, {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
1
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
3
|
/*
|
|
3
4
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
@@ -10,13 +11,14 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
10
11
|
import React, { useState, useEffect, useCallback } from 'react';
|
|
11
12
|
import moment from 'moment';
|
|
12
13
|
import dateMath from '@elastic/datemath';
|
|
13
|
-
import { useUpdateEffect, useEuiMemoizedStyles } from '../../../../services';
|
|
14
|
+
import { useUpdateEffect, useEuiMemoizedStyles, useGeneratedHtmlId } from '../../../../services';
|
|
14
15
|
import { useEuiI18n } from '../../../i18n';
|
|
15
16
|
import { EuiFormRow, EuiFieldText, EuiFormLabel } from '../../../form';
|
|
16
17
|
import { EuiFlexGroup } from '../../../flex';
|
|
17
18
|
import { EuiButtonIcon } from '../../../button';
|
|
18
19
|
import { EuiCode } from '../../../code';
|
|
19
20
|
import { EuiDatePicker } from '../../date_picker';
|
|
21
|
+
import { EuiTimeZoneDisplay } from './timezone_display';
|
|
20
22
|
import { euiAbsoluteTabDateFormStyles } from './absolute_tab.styles';
|
|
21
23
|
|
|
22
24
|
// Allow users to paste in and have the datepicker parse multiple common date formats,
|
|
@@ -34,7 +36,9 @@ export var EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
|
|
|
34
36
|
utcOffset = _ref.utcOffset,
|
|
35
37
|
minDate = _ref.minDate,
|
|
36
38
|
maxDate = _ref.maxDate,
|
|
37
|
-
labelPrefix = _ref.labelPrefix
|
|
39
|
+
labelPrefix = _ref.labelPrefix,
|
|
40
|
+
_ref$timeZoneDisplayP = _ref.timeZoneDisplayProps,
|
|
41
|
+
timeZoneDisplayProps = _ref$timeZoneDisplayP === void 0 ? {} : _ref$timeZoneDisplayP;
|
|
38
42
|
var styles = useEuiMemoizedStyles(euiAbsoluteTabDateFormStyles);
|
|
39
43
|
var _useState = useState(function () {
|
|
40
44
|
var parsedValue = dateMath.parse(value, {
|
|
@@ -53,6 +57,7 @@ export var EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
|
|
|
53
57
|
setHasUnparsedText(false);
|
|
54
58
|
setIsTextInvalid(false);
|
|
55
59
|
}, [dateFormat]);
|
|
60
|
+
var timeZomeDescriptionId = useGeneratedHtmlId();
|
|
56
61
|
var submitButtonLabel = useEuiI18n('euiAbsoluteTab.dateFormatButtonLabel', 'Parse date');
|
|
57
62
|
var dateFormatError = useEuiI18n('euiAbsoluteTab.dateFormatError', 'Allowed formats: {dateFormat}, ISO 8601, RFC 2822, or Unix timestamp.', {
|
|
58
63
|
dateFormat: ___EmotionJSX(EuiCode, null, dateFormat)
|
|
@@ -143,7 +148,8 @@ export var EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
|
|
|
143
148
|
css: styles.euiAbsoluteTabDateForm__row,
|
|
144
149
|
isInvalid: isTextInvalid,
|
|
145
150
|
error: isTextInvalid ? dateFormatError : undefined,
|
|
146
|
-
helpText: hasUnparsedText && !isTextInvalid ? dateFormatError : undefined
|
|
151
|
+
helpText: hasUnparsedText && !isTextInvalid ? dateFormatError : undefined,
|
|
152
|
+
describedByIds: [timeZomeDescriptionId]
|
|
147
153
|
}, ___EmotionJSX(EuiFieldText, {
|
|
148
154
|
compressed: true,
|
|
149
155
|
isInvalid: isTextInvalid,
|
|
@@ -167,5 +173,7 @@ export var EuiAbsoluteTab = function EuiAbsoluteTab(_ref) {
|
|
|
167
173
|
"aria-label": submitButtonLabel,
|
|
168
174
|
title: submitButtonLabel,
|
|
169
175
|
"data-test-subj": "parseAbsoluteDateFormat"
|
|
170
|
-
}))
|
|
176
|
+
})), ___EmotionJSX(EuiTimeZoneDisplay, _extends({
|
|
177
|
+
id: timeZomeDescriptionId
|
|
178
|
+
}, timeZoneDisplayProps)));
|
|
171
179
|
};
|
package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["position", "isDisabled", "isInvalid", "needsUpdating", "value", "buttonProps", "canRoundRelativeUnits", "roundUp", "onChange", "locale", "dateFormat", "utcOffset", "minDate", "maxDate", "timeFormat", "isOpen", "onPopoverToggle", "onPopoverClose", "compressed", "timeOptions"];
|
|
3
|
+
var _excluded = ["position", "isDisabled", "isInvalid", "needsUpdating", "value", "buttonProps", "canRoundRelativeUnits", "roundUp", "onChange", "locale", "dateFormat", "utcOffset", "minDate", "maxDate", "timeFormat", "isOpen", "onPopoverToggle", "onPopoverClose", "compressed", "timeOptions", "timeZoneDisplayProps"];
|
|
4
4
|
/*
|
|
5
5
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
6
6
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -41,6 +41,8 @@ export var EuiDatePopoverButton = function EuiDatePopoverButton(props) {
|
|
|
41
41
|
onPopoverClose = props.onPopoverClose,
|
|
42
42
|
compressed = props.compressed,
|
|
43
43
|
timeOptions = props.timeOptions,
|
|
44
|
+
_props$timeZoneDispla = props.timeZoneDisplayProps,
|
|
45
|
+
timeZoneDisplayProps = _props$timeZoneDispla === void 0 ? {} : _props$timeZoneDispla,
|
|
44
46
|
rest = _objectWithoutProperties(props, _excluded);
|
|
45
47
|
var classes = classNames(['euiDatePopoverButton', "euiDatePopoverButton--".concat(position), {
|
|
46
48
|
'euiDatePopoverButton--compressed': compressed,
|
|
@@ -99,7 +101,8 @@ export var EuiDatePopoverButton = function EuiDatePopoverButton(props) {
|
|
|
99
101
|
utcOffset: utcOffset,
|
|
100
102
|
timeOptions: timeOptions,
|
|
101
103
|
minDate: minDate,
|
|
102
|
-
maxDate: maxDate
|
|
104
|
+
maxDate: maxDate,
|
|
105
|
+
timeZoneDisplayProps: timeZoneDisplayProps
|
|
103
106
|
}));
|
|
104
107
|
};
|
|
105
108
|
EuiDatePopoverButton.displayName = 'EuiDatePopoverButton';
|
package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_content.js
CHANGED
|
@@ -32,7 +32,9 @@ export var EuiDatePopoverContent = function EuiDatePopoverContent(_ref) {
|
|
|
32
32
|
utcOffset = _ref.utcOffset,
|
|
33
33
|
timeOptions = _ref.timeOptions,
|
|
34
34
|
minDate = _ref.minDate,
|
|
35
|
-
maxDate = _ref.maxDate
|
|
35
|
+
maxDate = _ref.maxDate,
|
|
36
|
+
_ref$timeZoneDisplayP = _ref.timeZoneDisplayProps,
|
|
37
|
+
timeZoneDisplayProps = _ref$timeZoneDisplayP === void 0 ? {} : _ref$timeZoneDisplayP;
|
|
36
38
|
var styles = useEuiMemoizedStyles(euiDatePopoverContentStyles);
|
|
37
39
|
var onTabClick = function onTabClick(selectedTab) {
|
|
38
40
|
switch (selectedTab.id) {
|
|
@@ -63,7 +65,8 @@ export var EuiDatePopoverContent = function EuiDatePopoverContent(_ref) {
|
|
|
63
65
|
labelPrefix: labelPrefix,
|
|
64
66
|
utcOffset: utcOffset,
|
|
65
67
|
minDate: minDate,
|
|
66
|
-
maxDate: maxDate
|
|
68
|
+
maxDate: maxDate,
|
|
69
|
+
timeZoneDisplayProps: timeZoneDisplayProps
|
|
67
70
|
}),
|
|
68
71
|
'data-test-subj': 'superDatePickerAbsoluteTab',
|
|
69
72
|
'aria-label': "".concat(labelPrefix, ": ").concat(absoluteLabel)
|
|
@@ -77,7 +80,8 @@ export var EuiDatePopoverContent = function EuiDatePopoverContent(_ref) {
|
|
|
77
80
|
onChange: onChange,
|
|
78
81
|
roundUp: roundUp,
|
|
79
82
|
labelPrefix: labelPrefix,
|
|
80
|
-
timeOptions: timeOptions
|
|
83
|
+
timeOptions: timeOptions,
|
|
84
|
+
timeZoneDisplayProps: timeZoneDisplayProps
|
|
81
85
|
}),
|
|
82
86
|
'data-test-subj': 'superDatePickerRelativeTab',
|
|
83
87
|
'aria-label': "".concat(labelPrefix, ": ").concat(relativeLabel)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
1
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
3
|
/*
|
|
3
4
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
@@ -19,6 +20,7 @@ import { EuiPopoverFooter } from '../../../popover';
|
|
|
19
20
|
import { EuiSpacer } from '../../../spacer';
|
|
20
21
|
import { INVALID_DATE } from '../date_modes';
|
|
21
22
|
import { parseRelativeParts, toRelativeStringFromParts } from '../relative_utils';
|
|
23
|
+
import { EuiTimeZoneDisplay } from './timezone_display';
|
|
22
24
|
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
23
25
|
export var EuiRelativeTab = function EuiRelativeTab(_ref) {
|
|
24
26
|
var _ref$timeOptions = _ref.timeOptions,
|
|
@@ -29,7 +31,9 @@ export var EuiRelativeTab = function EuiRelativeTab(_ref) {
|
|
|
29
31
|
value = _ref.value,
|
|
30
32
|
onChange = _ref.onChange,
|
|
31
33
|
roundUp = _ref.roundUp,
|
|
32
|
-
labelPrefix = _ref.labelPrefix
|
|
34
|
+
labelPrefix = _ref.labelPrefix,
|
|
35
|
+
_ref$timeZoneDisplayP = _ref.timeZoneDisplayProps,
|
|
36
|
+
timeZoneDisplayProps = _ref$timeZoneDisplayP === void 0 ? {} : _ref$timeZoneDisplayP;
|
|
33
37
|
var initialRelativeParts = useRef(parseRelativeParts(value));
|
|
34
38
|
var roundUnit = initialRelativeParts.current.roundUnit;
|
|
35
39
|
var _useState = useState(initialRelativeParts.current.unit),
|
|
@@ -77,6 +81,7 @@ export var EuiRelativeTab = function EuiRelativeTab(_ref) {
|
|
|
77
81
|
return parsedValue.locale(locale || 'en').format(dateFormat);
|
|
78
82
|
}, [isInvalid, value, roundUp, locale, dateFormat]);
|
|
79
83
|
var relativeDateInputNumberDescriptionId = useGeneratedHtmlId();
|
|
84
|
+
var timeZomeDescriptionId = useGeneratedHtmlId();
|
|
80
85
|
var numberAriaLabel = useEuiI18n('euiRelativeTab.numberInputLabel', 'Time span amount');
|
|
81
86
|
var numberInputError = useEuiI18n('euiRelativeTab.numberInputError', 'Must be >= 0');
|
|
82
87
|
var dateInputError = useEuiI18n('euiRelativeTab.dateInputError', 'Must be a valid range');
|
|
@@ -110,6 +115,7 @@ export var EuiRelativeTab = function EuiRelativeTab(_ref) {
|
|
|
110
115
|
compressed: true,
|
|
111
116
|
value: formattedValue,
|
|
112
117
|
readOnly: true,
|
|
118
|
+
"aria-describedby": timeZomeDescriptionId,
|
|
113
119
|
prepend: ___EmotionJSX(EuiFormLabel, null, labelPrefix)
|
|
114
120
|
}), ___EmotionJSX(EuiScreenReaderOnly, null, ___EmotionJSX("p", {
|
|
115
121
|
id: relativeDateInputNumberDescriptionId
|
|
@@ -119,7 +125,9 @@ export var EuiRelativeTab = function EuiRelativeTab(_ref) {
|
|
|
119
125
|
values: {
|
|
120
126
|
unit: unit
|
|
121
127
|
}
|
|
122
|
-
})))), ___EmotionJSX(
|
|
128
|
+
})))), ___EmotionJSX(EuiTimeZoneDisplay, _extends({
|
|
129
|
+
id: timeZomeDescriptionId
|
|
130
|
+
}, timeZoneDisplayProps)), ___EmotionJSX(EuiPopoverFooter, {
|
|
123
131
|
paddingSize: "s"
|
|
124
132
|
}, ___EmotionJSX(EuiSwitch, {
|
|
125
133
|
"data-test-subj": "superDatePickerRelativeDateRoundSwitch",
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["timeZone", "customRender", "date"];
|
|
4
|
+
/*
|
|
5
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
6
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
7
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
8
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
9
|
+
* Side Public License, v 1.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import React from 'react';
|
|
13
|
+
import { euiTimeZoneDisplayStyles } from './timezone_display.styles';
|
|
14
|
+
import { useEuiMemoizedStyles } from '../../../../services';
|
|
15
|
+
import { EuiFlexGroup } from '../../../flex';
|
|
16
|
+
import { EuiIcon } from '../../../icon';
|
|
17
|
+
import { EuiText } from '../../../text';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Available elements to render passed to the
|
|
21
|
+
* `customRender` render function.
|
|
22
|
+
*/
|
|
23
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
24
|
+
/**
|
|
25
|
+
* Display time zone information.
|
|
26
|
+
*/
|
|
27
|
+
export var EuiTimeZoneDisplay = function EuiTimeZoneDisplay(_ref) {
|
|
28
|
+
var timeZone = _ref.timeZone,
|
|
29
|
+
customRender = _ref.customRender,
|
|
30
|
+
date = _ref.date,
|
|
31
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
32
|
+
var color = 'subdued';
|
|
33
|
+
var styles = useEuiMemoizedStyles(euiTimeZoneDisplayStyles);
|
|
34
|
+
var referenceDate = date ? date.toDate() : undefined;
|
|
35
|
+
var _useEuiUTCOffsetDispl = useEuiUTCOffsetDisplay(timeZone !== null && timeZone !== void 0 ? timeZone : 'Browser', referenceDate),
|
|
36
|
+
utc = _useEuiUTCOffsetDispl.utc,
|
|
37
|
+
name = _useEuiUTCOffsetDispl.name,
|
|
38
|
+
isInvalid = _useEuiUTCOffsetDispl.isInvalid;
|
|
39
|
+
if (!timeZone || isInvalid) return null;
|
|
40
|
+
var label = !name ? utc : "".concat(utc, " (").concat(name, ")");
|
|
41
|
+
var nameDisplay = ___EmotionJSX(React.Fragment, null, ___EmotionJSX(EuiIcon, {
|
|
42
|
+
type: "globe",
|
|
43
|
+
color: color
|
|
44
|
+
}), ___EmotionJSX(EuiText, {
|
|
45
|
+
component: "span",
|
|
46
|
+
color: color,
|
|
47
|
+
size: "s"
|
|
48
|
+
}, label));
|
|
49
|
+
return ___EmotionJSX(EuiFlexGroup, _extends({
|
|
50
|
+
css: styles.euiTimeZoneDisplay,
|
|
51
|
+
alignItems: "center",
|
|
52
|
+
gutterSize: "xs",
|
|
53
|
+
"data-test-subj": "euiTimeZoneDisplay",
|
|
54
|
+
"aria-label": label
|
|
55
|
+
}, rest), typeof customRender === 'function' ? customRender({
|
|
56
|
+
nameDisplay: nameDisplay
|
|
57
|
+
}) : nameDisplay);
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Get the UTC offset display in hours e.g. "UTC+2" from time zone name.
|
|
62
|
+
*
|
|
63
|
+
* @param timeZoneName IANA time zone name
|
|
64
|
+
* @param [date] Reference date to get offset with Intl.DateTimeFormat
|
|
65
|
+
*/
|
|
66
|
+
export function useEuiUTCOffsetDisplay(timeZoneName, date) {
|
|
67
|
+
try {
|
|
68
|
+
var _formattedParts$find;
|
|
69
|
+
if (timeZoneName === 'UTC') {
|
|
70
|
+
return {
|
|
71
|
+
utc: 'UTC',
|
|
72
|
+
name: '',
|
|
73
|
+
isInvalid: false
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
var ianaName = timeZoneName === 'Browser' ? new Intl.DateTimeFormat().resolvedOptions().timeZone : timeZoneName;
|
|
77
|
+
var formatter = new Intl.DateTimeFormat(undefined, {
|
|
78
|
+
timeZone: ianaName,
|
|
79
|
+
timeZoneName: 'shortOffset'
|
|
80
|
+
});
|
|
81
|
+
var formattedParts = formatter.formatToParts(date !== null && date !== void 0 ? date : new Date());
|
|
82
|
+
var timeZoneNamePart = ((_formattedParts$find = formattedParts.find(function (part) {
|
|
83
|
+
return part.type === 'timeZoneName';
|
|
84
|
+
})) === null || _formattedParts$find === void 0 ? void 0 : _formattedParts$find.value) || '';
|
|
85
|
+
return {
|
|
86
|
+
utc: timeZoneNamePart.replace('GMT', 'UTC'),
|
|
87
|
+
name: ianaName,
|
|
88
|
+
isInvalid: false
|
|
89
|
+
};
|
|
90
|
+
} catch (err) {
|
|
91
|
+
return {
|
|
92
|
+
utc: '',
|
|
93
|
+
name: timeZoneName,
|
|
94
|
+
isInvalid: true
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
package/optimize/es/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js
ADDED
|
@@ -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
|
+
};
|