@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
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useEuiDisabledElement = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _keys = require("../../services/keys");
|
|
9
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
10
|
+
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; }
|
|
11
|
+
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) { _defineProperty(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; }
|
|
12
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
13
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
14
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /*
|
|
15
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
16
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
17
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
18
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
19
|
+
* Side Public License, v 1.
|
|
20
|
+
*/
|
|
21
|
+
var DISABLED_ELEMENT_EVENTS = {
|
|
22
|
+
click: 'onClick',
|
|
23
|
+
mousedown: 'onMouseDown',
|
|
24
|
+
mouseup: 'onMouseUp',
|
|
25
|
+
mouseenter: 'onMouseEnter',
|
|
26
|
+
mouseleave: 'onMouseLeave',
|
|
27
|
+
mouseout: 'onMouseOut',
|
|
28
|
+
mousemove: 'onMouseMove',
|
|
29
|
+
mouseover: 'onMouseOver',
|
|
30
|
+
pointerdown: 'onPointerDown',
|
|
31
|
+
pointerup: 'onPointerUp',
|
|
32
|
+
pointerenter: 'onPointerEnter',
|
|
33
|
+
pointerleave: 'onPointerLeave',
|
|
34
|
+
pointermove: 'onPointerMove',
|
|
35
|
+
pointerover: 'onPointerOver',
|
|
36
|
+
touchstart: 'onTouchStart',
|
|
37
|
+
touchend: 'onTouchEnd',
|
|
38
|
+
touchmove: 'onTouchMove',
|
|
39
|
+
keydown: 'onKeyDown',
|
|
40
|
+
keyup: 'onKeyUp',
|
|
41
|
+
keypress: 'onKeyPress',
|
|
42
|
+
submit: 'onSubmit'
|
|
43
|
+
};
|
|
44
|
+
var ALLOWED_KEY_EVENTS = [_keys.keys.TAB, _keys.keys.ESCAPE];
|
|
45
|
+
var getReactEventHandlers = function getReactEventHandlers() {
|
|
46
|
+
return Object.values(DISABLED_ELEMENT_EVENTS).reduce(function (acc, curr) {
|
|
47
|
+
acc[curr] = undefined;
|
|
48
|
+
return acc;
|
|
49
|
+
}, {});
|
|
50
|
+
};
|
|
51
|
+
var UNSET_REACT_EVENT_HANDLERS = getReactEventHandlers();
|
|
52
|
+
var useCustomDisabledEvents = function useCustomDisabledEvents() {
|
|
53
|
+
var elementMethodsRef = (0, _react.useRef)(null);
|
|
54
|
+
var isAllowedKeyEvent = function isAllowedKeyEvent(event) {
|
|
55
|
+
return event instanceof KeyboardEvent && ALLOWED_KEY_EVENTS.includes(event.key);
|
|
56
|
+
};
|
|
57
|
+
var preventEvent = (0, _react.useCallback)(function (event) {
|
|
58
|
+
if (isAllowedKeyEvent(event)) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
event.stopImmediatePropagation();
|
|
62
|
+
event.preventDefault();
|
|
63
|
+
event.stopPropagation();
|
|
64
|
+
}, []);
|
|
65
|
+
var preventElementEvents = (0, _react.useCallback)(function (element) {
|
|
66
|
+
if (elementMethodsRef.current) return;
|
|
67
|
+
var originalEvents = {
|
|
68
|
+
click: 'click' in element ? element.click : undefined,
|
|
69
|
+
dispatchEvent: element.dispatchEvent
|
|
70
|
+
};
|
|
71
|
+
try {
|
|
72
|
+
elementMethodsRef.current = originalEvents;
|
|
73
|
+
|
|
74
|
+
// Add prevention listeners
|
|
75
|
+
Object.keys(DISABLED_ELEMENT_EVENTS).forEach(function (eventType) {
|
|
76
|
+
element.addEventListener(eventType, preventEvent, {
|
|
77
|
+
capture: true
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
if ('click' in element && typeof element.click === 'function') {
|
|
81
|
+
element.click = function () {};
|
|
82
|
+
}
|
|
83
|
+
element.dispatchEvent = function (event) {
|
|
84
|
+
if (Object.keys(DISABLED_ELEMENT_EVENTS).includes(event.type)) {
|
|
85
|
+
if (isAllowedKeyEvent(event)) {
|
|
86
|
+
return originalEvents.dispatchEvent.call(element, event);
|
|
87
|
+
}
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
return originalEvents.dispatchEvent.call(element, event);
|
|
91
|
+
};
|
|
92
|
+
} catch (error) {
|
|
93
|
+
elementMethodsRef.current = null;
|
|
94
|
+
}
|
|
95
|
+
}, [preventEvent]);
|
|
96
|
+
var resetElementEvents = (0, _react.useCallback)(function (element) {
|
|
97
|
+
if (!elementMethodsRef.current) return;
|
|
98
|
+
var _elementMethodsRef$cu = elementMethodsRef.current,
|
|
99
|
+
click = _elementMethodsRef$cu.click,
|
|
100
|
+
dispatchEvent = _elementMethodsRef$cu.dispatchEvent;
|
|
101
|
+
try {
|
|
102
|
+
// remove prevention listeners
|
|
103
|
+
Object.keys(DISABLED_ELEMENT_EVENTS).forEach(function (eventType) {
|
|
104
|
+
element.removeEventListener(eventType, preventEvent, {
|
|
105
|
+
capture: true
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
// restore click method
|
|
110
|
+
if (click && 'click' in element) {
|
|
111
|
+
element.click = click;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// restore dispatchEvent
|
|
115
|
+
element.dispatchEvent = dispatchEvent;
|
|
116
|
+
} catch (error) {}
|
|
117
|
+
elementMethodsRef.current = null;
|
|
118
|
+
}, [preventEvent]);
|
|
119
|
+
return {
|
|
120
|
+
preventElementEvents: preventElementEvents,
|
|
121
|
+
resetElementEvents: resetElementEvents
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* NOTE: Beta feature, may be changed or removed in the future
|
|
127
|
+
*
|
|
128
|
+
* Utility to apply either the native or a custom semantic disabled state.
|
|
129
|
+
*
|
|
130
|
+
* It applies `aria-disabled` instead of `disabled` when `hasAriaDisabled=true`
|
|
131
|
+
* to ensure the element is semantically disabled while still focusable.
|
|
132
|
+
*
|
|
133
|
+
* It mimics the native `disabled` behavior by removing any programmatic mouse, pointer, touch
|
|
134
|
+
* or keyboard event handler but it differs to the native `disabled` behavior in that it preserves
|
|
135
|
+
* the focus, blur and tabIndex behavior.
|
|
136
|
+
*/
|
|
137
|
+
var useEuiDisabledElement = exports.useEuiDisabledElement = function useEuiDisabledElement(_ref) {
|
|
138
|
+
var _ref$isDisabled = _ref.isDisabled,
|
|
139
|
+
isDisabled = _ref$isDisabled === void 0 ? false : _ref$isDisabled,
|
|
140
|
+
_ref$hasAriaDisabled = _ref.hasAriaDisabled,
|
|
141
|
+
hasAriaDisabled = _ref$hasAriaDisabled === void 0 ? false : _ref$hasAriaDisabled,
|
|
142
|
+
onKeyDown = _ref.onKeyDown,
|
|
143
|
+
onKeyUp = _ref.onKeyUp,
|
|
144
|
+
onKeyPress = _ref.onKeyPress;
|
|
145
|
+
var elementRef = (0, _react.useRef)(null);
|
|
146
|
+
var _useCustomDisabledEve = useCustomDisabledEvents(),
|
|
147
|
+
preventElementEvents = _useCustomDisabledEve.preventElementEvents,
|
|
148
|
+
resetElementEvents = _useCustomDisabledEve.resetElementEvents;
|
|
149
|
+
var shouldBeDisabled = hasAriaDisabled && isDisabled;
|
|
150
|
+
var setRef = (0, _react.useCallback)(function (node) {
|
|
151
|
+
if (elementRef.current) {
|
|
152
|
+
resetElementEvents(elementRef.current);
|
|
153
|
+
}
|
|
154
|
+
elementRef.current = node;
|
|
155
|
+
if (node && shouldBeDisabled) {
|
|
156
|
+
preventElementEvents(node);
|
|
157
|
+
}
|
|
158
|
+
}, [shouldBeDisabled, preventElementEvents, resetElementEvents]);
|
|
159
|
+
(0, _react.useEffect)(function () {
|
|
160
|
+
if (!elementRef.current) return;
|
|
161
|
+
if (shouldBeDisabled) {
|
|
162
|
+
preventElementEvents(elementRef.current);
|
|
163
|
+
} else {
|
|
164
|
+
resetElementEvents(elementRef.current);
|
|
165
|
+
}
|
|
166
|
+
return function () {
|
|
167
|
+
if (elementRef.current) {
|
|
168
|
+
resetElementEvents(elementRef.current);
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
}, [shouldBeDisabled, preventElementEvents, resetElementEvents]);
|
|
172
|
+
if (!hasAriaDisabled) {
|
|
173
|
+
return {
|
|
174
|
+
ref: setRef,
|
|
175
|
+
disabled: isDisabled
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
var onKeyboardEvent = function onKeyboardEvent(e, callback) {
|
|
179
|
+
if (ALLOWED_KEY_EVENTS.includes(e.key)) {
|
|
180
|
+
callback === null || callback === void 0 || callback(e);
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
var eventHandlers = shouldBeDisabled && _objectSpread(_objectSpread({}, UNSET_REACT_EVENT_HANDLERS), {}, {
|
|
184
|
+
onKeyDown: onKeyDown ? function (e) {
|
|
185
|
+
return onKeyboardEvent(e, onKeyDown);
|
|
186
|
+
} : undefined,
|
|
187
|
+
onKeyUp: onKeyUp ? function (e) {
|
|
188
|
+
return onKeyboardEvent(e, onKeyUp);
|
|
189
|
+
} : undefined,
|
|
190
|
+
onKeyPress: onKeyPress ? function (e) {
|
|
191
|
+
return onKeyboardEvent(e, onKeyPress);
|
|
192
|
+
} : undefined
|
|
193
|
+
});
|
|
194
|
+
return _objectSpread({
|
|
195
|
+
ref: setRef,
|
|
196
|
+
'aria-disabled': isDisabled ? true : undefined,
|
|
197
|
+
disabled: isDisabled ? undefined : false
|
|
198
|
+
}, eventHandlers);
|
|
199
|
+
};
|
package/lib/services/index.js
CHANGED
|
@@ -63,6 +63,7 @@ var _exportNames = {
|
|
|
63
63
|
wcagContrastMin: true,
|
|
64
64
|
useColorPickerState: true,
|
|
65
65
|
useColorStopsState: true,
|
|
66
|
+
focusTrapPubSub: true,
|
|
66
67
|
dateFormatAliases: true,
|
|
67
68
|
formatAuto: true,
|
|
68
69
|
formatBoolean: true,
|
|
@@ -330,6 +331,12 @@ Object.defineProperty(exports, "findPopoverPosition", {
|
|
|
330
331
|
return _popover.findPopoverPosition;
|
|
331
332
|
}
|
|
332
333
|
});
|
|
334
|
+
Object.defineProperty(exports, "focusTrapPubSub", {
|
|
335
|
+
enumerable: true,
|
|
336
|
+
get: function get() {
|
|
337
|
+
return _focus_trap.focusTrapPubSub;
|
|
338
|
+
}
|
|
339
|
+
});
|
|
333
340
|
Object.defineProperty(exports, "formatAuto", {
|
|
334
341
|
enumerable: true,
|
|
335
342
|
get: function get() {
|
|
@@ -657,6 +664,7 @@ Object.keys(_findElement).forEach(function (key) {
|
|
|
657
664
|
}
|
|
658
665
|
});
|
|
659
666
|
});
|
|
667
|
+
var _focus_trap = require("./focus_trap");
|
|
660
668
|
var _format = require("./format");
|
|
661
669
|
var _hooks = require("./hooks");
|
|
662
670
|
Object.keys(_hooks).forEach(function (key) {
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getRepositionOnScroll = exports.createRepositionOnScroll = void 0;
|
|
7
|
+
/*
|
|
8
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
9
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
10
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
11
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
12
|
+
* Side Public License, v 1.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Returns the value of the `repositionOnScroll` from the props, component's defaults context
|
|
17
|
+
* or default to `false`.
|
|
18
|
+
*
|
|
19
|
+
* @param args The arguments for `getRepositionOnScroll`. See {@link RepositionOnScrollArgs}.
|
|
20
|
+
* @returns The value of the `repositionOnScroll`.
|
|
21
|
+
*/
|
|
22
|
+
var getRepositionOnScroll = exports.getRepositionOnScroll = function getRepositionOnScroll(args) {
|
|
23
|
+
var repositionOnScroll = args.repositionOnScroll,
|
|
24
|
+
componentDefaults = args.componentDefaults;
|
|
25
|
+
if (repositionOnScroll !== undefined) return repositionOnScroll;
|
|
26
|
+
if (componentDefaults && 'repositionOnScroll' in componentDefaults && typeof componentDefaults.repositionOnScroll === 'boolean') {
|
|
27
|
+
var contextValue = componentDefaults.repositionOnScroll;
|
|
28
|
+
return contextValue !== null && contextValue !== void 0 ? contextValue : false;
|
|
29
|
+
}
|
|
30
|
+
return false;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Creates a manager for handling `repositionOnScroll` logic in overlay components.
|
|
34
|
+
* This utility abstracts the adding, updating, and removing of window scroll event listeners.
|
|
35
|
+
*
|
|
36
|
+
* @param getArgs A function that returns the arguments for `getRepositionOnScroll`. See {@link RepositionOnScrollArgs}.
|
|
37
|
+
* @returns An object with `subscribe`, `update`, and `cleanup` methods to manage the scroll listener.
|
|
38
|
+
*/
|
|
39
|
+
var createRepositionOnScroll = exports.createRepositionOnScroll = function createRepositionOnScroll(getArgs) {
|
|
40
|
+
var lastResolvedRepositionOnScroll;
|
|
41
|
+
var subscribe = function subscribe() {
|
|
42
|
+
var repositionOnScroll = getRepositionOnScroll(getArgs());
|
|
43
|
+
lastResolvedRepositionOnScroll = repositionOnScroll;
|
|
44
|
+
if (repositionOnScroll) {
|
|
45
|
+
window.addEventListener('scroll', getArgs().repositionFn, true);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
var update = function update() {
|
|
49
|
+
var repositionOnScroll = getRepositionOnScroll(getArgs());
|
|
50
|
+
if (lastResolvedRepositionOnScroll !== repositionOnScroll) {
|
|
51
|
+
if (repositionOnScroll) {
|
|
52
|
+
window.addEventListener('scroll', getArgs().repositionFn, true);
|
|
53
|
+
} else {
|
|
54
|
+
window.removeEventListener('scroll', getArgs().repositionFn, true);
|
|
55
|
+
}
|
|
56
|
+
lastResolvedRepositionOnScroll = repositionOnScroll;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
var cleanup = function cleanup() {
|
|
60
|
+
window.removeEventListener('scroll', getArgs().repositionFn, true);
|
|
61
|
+
};
|
|
62
|
+
return {
|
|
63
|
+
subscribe: subscribe,
|
|
64
|
+
update: update,
|
|
65
|
+
cleanup: cleanup
|
|
66
|
+
};
|
|
67
|
+
};
|
|
@@ -39,19 +39,23 @@ var useHighContrastModifications = exports.useHighContrastModifications = functi
|
|
|
39
39
|
borderBasePrimary: systemTheme.colors.textPrimary,
|
|
40
40
|
borderBaseAccent: systemTheme.colors.textAccent,
|
|
41
41
|
borderBaseAccentSecondary: systemTheme.colors.textAccentSecondary,
|
|
42
|
+
borderBaseNeutral: systemTheme.colors.textNeutral,
|
|
42
43
|
borderBaseSuccess: systemTheme.colors.textSuccess,
|
|
43
44
|
borderBaseWarning: systemTheme.colors.textWarning,
|
|
45
|
+
borderBaseRisk: systemTheme.colors.textRisk,
|
|
44
46
|
borderBaseDanger: systemTheme.colors.textDanger,
|
|
45
47
|
borderBasePlain: borderColor,
|
|
46
48
|
borderBaseSubdued: borderColor,
|
|
49
|
+
borderBaseProminent: borderColor,
|
|
47
50
|
borderBaseDisabled: systemTheme.colors.textDisabled,
|
|
48
51
|
borderBaseFloating: borderColor,
|
|
49
|
-
borderBaseFormsControl: borderColor,
|
|
50
52
|
borderStrongPrimary: systemTheme.colors.textPrimary,
|
|
51
53
|
borderStrongAccent: systemTheme.colors.textAccent,
|
|
52
54
|
borderStrongAccentSecondary: systemTheme.colors.textAccentSecondary,
|
|
55
|
+
borderStrongNeutral: systemTheme.colors.textNeutral,
|
|
53
56
|
borderStrongSuccess: systemTheme.colors.textSuccess,
|
|
54
57
|
borderStrongWarning: systemTheme.colors.textWarning,
|
|
58
|
+
borderStrongRisk: systemTheme.colors.textRisk,
|
|
55
59
|
borderStrongDanger: systemTheme.colors.textDanger
|
|
56
60
|
};
|
|
57
61
|
return {
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
export {
|
|
10
|
+
registerEuiCypressMatchers,
|
|
11
|
+
setupEuiCypressMatchers,
|
|
12
|
+
} from './matchers';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "registerEuiCypressMatchers", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _matchers.registerEuiCypressMatchers;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "setupEuiCypressMatchers", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _matchers.setupEuiCypressMatchers;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
var _matchers = require("./matchers");
|
|
@@ -0,0 +1,20 @@
|
|
|
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", the "GNU Affero General Public License v3.0 only", and the "Server Side
|
|
5
|
+
* Public License v 1"; you may not use this file except in compliance with, at
|
|
6
|
+
* your election, the "Elastic License 2.0", the "GNU Affero General Public
|
|
7
|
+
* License v3.0 only", or the "Server Side Public License, v 1".
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
declare global {
|
|
11
|
+
namespace Chai {
|
|
12
|
+
interface Assertion {
|
|
13
|
+
euiDisabled: Assertion;
|
|
14
|
+
euiEnabled: Assertion;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export declare const registerEuiCypressMatchers: () => void;
|
|
20
|
+
export declare const setupEuiCypressMatchers: () => void;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.registerEuiCypressMatchers = registerEuiCypressMatchers;
|
|
7
|
+
exports.setupEuiCypressMatchers = void 0;
|
|
8
|
+
/*
|
|
9
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
10
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
11
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
12
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
13
|
+
* Side Public License, v 1.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/// <reference types="cypress" />
|
|
17
|
+
|
|
18
|
+
function registerEuiCypressMatchers() {
|
|
19
|
+
var chai = window.chai;
|
|
20
|
+
if (chai && !chai.__euiMatchersRegistered) {
|
|
21
|
+
chai.use(function (_chai) {
|
|
22
|
+
_chai.Assertion.addProperty('euiDisabled', function () {
|
|
23
|
+
var element = this._obj[0] || this._obj;
|
|
24
|
+
var hasDisabledAttribute = element.hasAttribute('disabled');
|
|
25
|
+
var hasAriaDisabled = element.getAttribute('aria-disabled') === 'true';
|
|
26
|
+
var isDisabled = hasDisabledAttribute || hasAriaDisabled;
|
|
27
|
+
this.assert(isDisabled, 'expected element to be EUI disabled (= have `disabled` attribute or `aria-disabled="true"`)', 'expected element not to be EUI disabled (= not have `disabled` attribute or `aria-disabled="true"`)', true, isDisabled);
|
|
28
|
+
});
|
|
29
|
+
_chai.Assertion.addProperty('euiEnabled', function () {
|
|
30
|
+
var element = this._obj[0] || this._obj;
|
|
31
|
+
var hasDisabledAttribute = element.hasAttribute('disabled');
|
|
32
|
+
var hasAriaDisabled = element.getAttribute('aria-disabled') === 'true';
|
|
33
|
+
var isDisabled = hasDisabledAttribute || hasAriaDisabled;
|
|
34
|
+
this.assert(!isDisabled, 'expected element to be EUI enabled (= not have `disabled` attribute or `aria-disabled="true"`)', 'expected element not to be EUI enabled (= have `disabled` attribute or `aria-disabled="true"`)', false, isDisabled);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
// Mark as registered to prevent double registration
|
|
39
|
+
chai.__euiMatchersRegistered = true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Register matchers when support file loads
|
|
44
|
+
var setupEuiCypressMatchers = exports.setupEuiCypressMatchers = function setupEuiCypressMatchers() {
|
|
45
|
+
if (typeof window !== 'undefined') {
|
|
46
|
+
// Try to register immediately
|
|
47
|
+
if (window.chai) {
|
|
48
|
+
registerEuiCypressMatchers();
|
|
49
|
+
} else {
|
|
50
|
+
// Wait for chai to be available
|
|
51
|
+
var pollForChai = function pollForChai() {
|
|
52
|
+
if (window.chai) {
|
|
53
|
+
registerEuiCypressMatchers();
|
|
54
|
+
} else {
|
|
55
|
+
setTimeout(pollForChai, 10);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
pollForChai();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.testRepositionOnScroll = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _react2 = require("@emotion/react");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
11
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
13
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /*
|
|
14
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
15
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
16
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
17
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
18
|
+
* Side Public License, v 1.
|
|
19
|
+
*/ /// <reference types="cypress" />
|
|
20
|
+
/// <reference types="cypress-real-events" />
|
|
21
|
+
/// <reference types="../../../cypress/support" />
|
|
22
|
+
var testRepositionOnScroll = exports.testRepositionOnScroll = function testRepositionOnScroll(_ref) {
|
|
23
|
+
var shouldReposition = _ref.shouldReposition,
|
|
24
|
+
propValue = _ref.propValue,
|
|
25
|
+
componentDefaultValue = _ref.componentDefaultValue,
|
|
26
|
+
componentName = _ref.componentName,
|
|
27
|
+
triggerSelector = _ref.triggerSelector,
|
|
28
|
+
panelSelector = _ref.panelSelector,
|
|
29
|
+
renderComponent = _ref.renderComponent;
|
|
30
|
+
var repositionProps = {
|
|
31
|
+
repositionOnScroll: typeof propValue === 'boolean' ? propValue : undefined
|
|
32
|
+
};
|
|
33
|
+
var providerProps = typeof componentDefaultValue === 'boolean' ? {
|
|
34
|
+
providerProps: {
|
|
35
|
+
componentDefaults: _defineProperty({}, componentName, {
|
|
36
|
+
repositionOnScroll: componentDefaultValue
|
|
37
|
+
})
|
|
38
|
+
}
|
|
39
|
+
} : undefined;
|
|
40
|
+
cy.mount((0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)("div", {
|
|
41
|
+
style: {
|
|
42
|
+
height: '200vh'
|
|
43
|
+
}
|
|
44
|
+
}), (0, _react2.jsx)("div", {
|
|
45
|
+
style: {
|
|
46
|
+
position: 'fixed',
|
|
47
|
+
bottom: '16px',
|
|
48
|
+
right: '16px'
|
|
49
|
+
}
|
|
50
|
+
}, renderComponent(repositionProps))), providerProps);
|
|
51
|
+
cy.get(triggerSelector).click();
|
|
52
|
+
|
|
53
|
+
// Wait for positioning to finish
|
|
54
|
+
cy.get(panelSelector).as('panel').should('exist').waitForPositionToSettle();
|
|
55
|
+
cy.get('@panel').then(function ($panel) {
|
|
56
|
+
var initialRect = $panel[0].getBoundingClientRect();
|
|
57
|
+
cy.scrollTo(0, 500);
|
|
58
|
+
|
|
59
|
+
// Wait for re-positioning to finish
|
|
60
|
+
cy.get('@panel').waitForPositionToSettle().then(function ($repositionedPanel) {
|
|
61
|
+
var finalRect = $repositionedPanel[0].getBoundingClientRect();
|
|
62
|
+
if (shouldReposition) {
|
|
63
|
+
expect(finalRect.top).to.equal(initialRect.top);
|
|
64
|
+
} else {
|
|
65
|
+
expect(finalRect.top).to.not.equal(initialRect.top);
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
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", the "GNU Affero General Public License v3.0 only", and the "Server Side
|
|
5
|
+
* Public License v 1"; you may not use this file except in compliance with, at
|
|
6
|
+
* your election, the "Elastic License 2.0", the "GNU Affero General Public
|
|
7
|
+
* License v3.0 only", or the "Server Side Public License, v 1".
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { ReactWrapper } from 'enzyme';
|
|
11
|
+
|
|
12
|
+
declare global {
|
|
13
|
+
namespace jest {
|
|
14
|
+
interface Matchers<R> {
|
|
15
|
+
/**
|
|
16
|
+
* Checks if an Enzyme wrapper has EUI disabled state (it checks `disabled`, `isDisabled` and `aria-disabled` props)
|
|
17
|
+
*/
|
|
18
|
+
toHaveEuiDisabledProp(): R;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export declare const toHaveEuiDisabledProp: (wrapper: ReactWrapper<any>) => {
|
|
24
|
+
message: () => string;
|
|
25
|
+
pass: boolean;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export declare const hasEuiDisabledProp: (
|
|
29
|
+
props: Record<string, any>
|
|
30
|
+
) => boolean;
|
|
31
|
+
|
|
32
|
+
export declare const euiEnzymeMatchers: {
|
|
33
|
+
toHaveEuiDisabledProp: typeof toHaveEuiDisabledProp;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export declare const setupEuiEnzymeMatchers: () => void;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.setupEuiEnzymeMatchers = exports.hasEuiDisabledProp = exports.euiEnzymeMatchers = void 0;
|
|
7
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
+
/*
|
|
9
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
10
|
+
* or more contributor license agreements. Licensed under the "Elastic License
|
|
11
|
+
* 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side
|
|
12
|
+
* Public License v 1"; you may not use this file except in compliance with, at
|
|
13
|
+
* your election, the "Elastic License 2.0", the "GNU Affero General Public
|
|
14
|
+
* License v3.0 only", or the "Server Side Public License, v 1".
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/* eslint-env jest */
|
|
18
|
+
|
|
19
|
+
var euiEnzymeMatchers = exports.euiEnzymeMatchers = {
|
|
20
|
+
/**
|
|
21
|
+
* Checks if an Enzyme wrapper has an EUI disabled state.
|
|
22
|
+
* It looks for `disabled`, `isDisabled` and `aria-disabled` props
|
|
23
|
+
*/
|
|
24
|
+
toHaveEuiDisabledProp: function toHaveEuiDisabledProp(props) {
|
|
25
|
+
if (!props || _typeof(props) !== 'object') {
|
|
26
|
+
throw new Error('toHaveEuiDisabledProp() must be called with the props value from ReactWrapper.props()');
|
|
27
|
+
}
|
|
28
|
+
var isDisabled = hasEuiDisabledProp(props);
|
|
29
|
+
return {
|
|
30
|
+
message: function message() {
|
|
31
|
+
return isDisabled ? 'Expected component NOT to have EUI disabled prop, but it was disabled' : 'Expected component to have EUI disabled prop (`disabled`, `isDisabled` or `aria-disabled="true"`)';
|
|
32
|
+
},
|
|
33
|
+
pass: isDisabled
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
var setupEuiEnzymeMatchers = exports.setupEuiEnzymeMatchers = function setupEuiEnzymeMatchers() {
|
|
38
|
+
expect.extend(euiEnzymeMatchers);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/* Utilities */
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Checks if a ReactWrapper has one of the following disabled props enabled:
|
|
45
|
+
* `disabled`, `isDisabled` or attribute or `aria-disabled="true"`.
|
|
46
|
+
*/
|
|
47
|
+
var hasEuiDisabledProp = exports.hasEuiDisabledProp = function hasEuiDisabledProp(props) {
|
|
48
|
+
return props.disabled === true || props.isDisabled === true || props['aria-disabled'] === true || props['aria-disabled'] === 'true';
|
|
49
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
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", the "GNU Affero General Public License v3.0 only", and the "Server Side
|
|
5
|
+
* Public License v 1"; you may not use this file except in compliance with, at
|
|
6
|
+
* your election, the "Elastic License 2.0", the "GNU Affero General Public
|
|
7
|
+
* License v3.0 only", or the "Server Side Public License, v 1".
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export {
|
|
11
|
+
euiEnzymeMatchers,
|
|
12
|
+
setupEuiEnzymeMatchers,
|
|
13
|
+
hasEuiDisabledProp,
|
|
14
|
+
} from './enzyme_matchers';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "euiEnzymeMatchers", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _enzyme_matchers.euiEnzymeMatchers;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "hasEuiDisabledProp", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _enzyme_matchers.hasEuiDisabledProp;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "setupEuiEnzymeMatchers", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _enzyme_matchers.setupEuiEnzymeMatchers;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
var _enzyme_matchers = require("./enzyme_matchers");
|
package/lib/test/rtl/index.d.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
export * from './component_helpers';
|
|
2
|
-
export {
|
|
2
|
+
export {
|
|
3
|
+
queryByTestSubject,
|
|
4
|
+
queryAllByTestSubject,
|
|
5
|
+
getByTestSubject,
|
|
6
|
+
getAllByTestSubject,
|
|
7
|
+
findAllByTestSubject,
|
|
8
|
+
findByTestSubject,
|
|
9
|
+
} from './data_test_subj_queries';
|
|
3
10
|
export { render, screen, within } from './custom_render';
|
|
11
|
+
export { euiMatchers, setupEuiMatchers, isEuiDisabled } from './matchers';
|