@elastic/eui 109.0.0 → 109.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/accessibility/skip_link/skip_link.js +10 -1
- package/es/components/bottom_bar/bottom_bar.js +12 -2
- package/es/components/button/button.js +20 -25
- package/es/components/button/button_display/_button_display.js +32 -30
- package/es/components/button/button_display/_button_display.styles.js +4 -4
- package/es/components/button/button_empty/button_empty.js +32 -14
- package/es/components/button/button_group/button_group.js +49 -31
- package/es/components/button/button_group/button_group_button.js +14 -2
- package/es/components/button/button_group/button_group_button.styles.js +12 -8
- package/es/components/button/button_icon/button_icon.js +30 -6
- package/es/components/card/card.js +20 -25
- package/es/components/card/card_select/card_select.js +20 -25
- package/es/components/code/code_block_virtualized.js +9 -7
- package/es/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
- package/es/components/datagrid/body/cell/data_grid_cell.js +35 -12
- package/es/components/datagrid/body/data_grid_body.js +23 -6
- package/es/components/datagrid/body/data_grid_body_custom.js +23 -6
- package/es/components/datagrid/body/data_grid_body_virtualized.js +23 -6
- package/es/components/datagrid/body/header/data_grid_header_cell.js +23 -6
- package/es/components/datagrid/controls/column_selector.js +36 -19
- package/es/components/datagrid/controls/column_sorting.js +23 -6
- package/es/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
- package/es/components/datagrid/data_grid.js +5 -1
- package/es/components/datagrid/utils/in_memory.js +25 -7
- package/es/components/date_picker/auto_refresh/auto_refresh.js +11 -2
- package/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +31 -5
- package/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
- package/es/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
- package/es/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
- package/es/components/date_picker/super_date_picker/date_popover/timezone_display.js +98 -0
- package/es/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +19 -0
- package/es/components/date_picker/super_date_picker/pretty_duration.js +1 -8
- package/es/components/date_picker/super_date_picker/relative_utils.js +8 -0
- package/es/components/date_picker/super_date_picker/super_date_picker.js +118 -26
- package/es/components/date_picker/super_date_picker/time_window_buttons.js +185 -0
- package/es/components/facet/facet_button.js +9 -19
- package/es/components/filter_group/filter_button.js +14 -1
- package/es/components/flyout/flyout.js +27 -10
- package/es/components/form/form_control_button/form_control_button.js +13 -7
- package/es/components/header/header_links/header_link.js +13 -7
- package/es/components/header/header_section/header_section_item_button.js +13 -7
- package/es/components/icon/assets/boxes_vertical.js +1 -1
- package/es/components/icon/assets/checkInCircleFilled.js +1 -2
- package/es/components/icon/assets/errorFilled.js +1 -2
- package/es/components/icon/assets/warningFilled.js +1 -2
- package/es/components/icon/icon_map.js +3 -6
- package/es/components/list_group/list_group.js +13 -1
- package/es/components/list_group/list_group_item.js +13 -1
- package/es/components/list_group/list_group_item_extra_action.js +13 -1
- package/es/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
- package/es/components/overlay_mask/overlay_mask.styles.js +1 -1
- package/es/components/pagination/pagination_button.js +13 -7
- package/es/components/popover/popover.js +22 -16
- package/es/components/provider/component_defaults/component_defaults.js +22 -2
- package/es/components/table/table_row.styles.js +1 -1
- package/es/components/tool_tip/tool_tip.js +24 -24
- package/es/global_styling/index.js +2 -1
- package/es/global_styling/mixins/_button.js +1 -1
- package/es/global_styling/utility/selectors.js +9 -0
- package/es/services/focus_trap/focus_trap_pub_sub.js +74 -0
- package/es/services/focus_trap/index.js +9 -0
- package/es/services/hooks/index.js +2 -1
- package/es/services/hooks/useEuiDisabledElement.js +195 -0
- package/es/services/index.js +1 -0
- package/es/services/popover/reposition_on_scroll.js +61 -0
- package/es/test/cypress/index.d.ts +12 -0
- package/es/test/cypress/index.js +9 -0
- package/es/test/cypress/matchers.d.ts +20 -0
- package/es/test/cypress/matchers.js +54 -0
- package/es/test/cypress/test_reposition_on_scroll.js +66 -0
- package/es/test/enzyme/enzyme_matchers.d.ts +36 -0
- package/es/test/enzyme/enzyme_matchers.js +43 -0
- package/es/test/enzyme/index.d.ts +14 -0
- package/es/test/enzyme/index.js +10 -0
- package/es/test/rtl/index.d.ts +9 -1
- package/es/test/rtl/index.js +2 -1
- package/es/test/rtl/matchers.d.ts +36 -0
- package/es/test/rtl/matchers.js +82 -0
- package/es/utils/element_can_be_disabled.js +16 -0
- package/es/utils/index.js +2 -1
- package/eui.d.ts +588 -180
- package/i18ntokens.json +1357 -1231
- package/lib/components/accessibility/skip_link/skip_link.js +10 -1
- package/lib/components/bottom_bar/bottom_bar.js +11 -1
- package/lib/components/button/button.js +21 -26
- package/lib/components/button/button_display/_button_display.js +31 -29
- package/lib/components/button/button_display/_button_display.styles.js +4 -4
- package/lib/components/button/button_empty/button_empty.js +31 -13
- package/lib/components/button/button_group/button_group.js +49 -31
- package/lib/components/button/button_group/button_group_button.js +14 -2
- package/lib/components/button/button_group/button_group_button.styles.js +10 -6
- package/lib/components/button/button_icon/button_icon.js +29 -5
- package/lib/components/card/card.js +21 -26
- package/lib/components/card/card_select/card_select.js +21 -26
- package/lib/components/code/code_block_virtualized.js +9 -7
- package/lib/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
- package/lib/components/datagrid/body/cell/data_grid_cell.js +35 -12
- package/lib/components/datagrid/body/data_grid_body.js +23 -6
- package/lib/components/datagrid/body/data_grid_body_custom.js +23 -6
- package/lib/components/datagrid/body/data_grid_body_virtualized.js +23 -6
- package/lib/components/datagrid/body/header/data_grid_header_cell.js +23 -6
- package/lib/components/datagrid/controls/column_selector.js +36 -19
- package/lib/components/datagrid/controls/column_sorting.js +23 -6
- package/lib/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
- package/lib/components/datagrid/data_grid.js +5 -1
- package/lib/components/datagrid/utils/in_memory.js +25 -7
- package/lib/components/date_picker/auto_refresh/auto_refresh.js +12 -3
- package/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +30 -4
- package/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
- package/lib/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
- package/lib/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
- package/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js +104 -0
- package/lib/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
- package/lib/components/date_picker/super_date_picker/pretty_duration.js +2 -9
- package/lib/components/date_picker/super_date_picker/relative_utils.js +9 -0
- package/lib/components/date_picker/super_date_picker/super_date_picker.js +118 -26
- package/lib/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
- package/lib/components/facet/facet_button.js +9 -19
- package/lib/components/filter_group/filter_button.js +14 -1
- package/lib/components/flyout/flyout.js +26 -9
- package/lib/components/form/form_control_button/form_control_button.js +13 -7
- package/lib/components/header/header_links/header_link.js +13 -7
- package/lib/components/header/header_section/header_section_item_button.js +13 -7
- package/lib/components/icon/assets/boxes_vertical.js +1 -1
- package/lib/components/icon/assets/checkInCircleFilled.js +1 -2
- package/lib/components/icon/assets/errorFilled.js +1 -2
- package/lib/components/icon/assets/warningFilled.js +1 -2
- package/lib/components/icon/icon_map.js +3 -6
- package/lib/components/icon/svgs/boxes_vertical.svg +1 -1
- package/lib/components/icon/svgs/checkInCircleFilled.svg +1 -1
- package/lib/components/icon/svgs/errorFilled.svg +1 -1
- package/lib/components/icon/svgs/warningFilled.svg +1 -1
- package/lib/components/list_group/list_group.js +13 -1
- package/lib/components/list_group/list_group_item.js +13 -1
- package/lib/components/list_group/list_group_item_extra_action.js +13 -1
- package/lib/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
- package/lib/components/overlay_mask/overlay_mask.styles.js +1 -1
- package/lib/components/pagination/pagination_button.js +13 -7
- package/lib/components/popover/popover.js +21 -15
- package/lib/components/provider/component_defaults/component_defaults.js +22 -2
- package/lib/components/table/table_row.styles.js +1 -1
- package/lib/components/tool_tip/tool_tip.js +24 -24
- package/lib/global_styling/index.js +16 -1
- package/lib/global_styling/mixins/_button.js +1 -1
- package/lib/global_styling/utility/selectors.js +15 -0
- package/lib/services/focus_trap/focus_trap_pub_sub.js +80 -0
- package/lib/services/focus_trap/index.js +12 -0
- package/lib/services/hooks/index.js +18 -1
- package/lib/services/hooks/useEuiDisabledElement.js +199 -0
- package/lib/services/index.js +8 -0
- package/lib/services/popover/reposition_on_scroll.js +67 -0
- package/lib/test/cypress/index.d.ts +12 -0
- package/lib/test/cypress/index.js +18 -0
- package/lib/test/cypress/matchers.d.ts +20 -0
- package/lib/test/cypress/matchers.js +61 -0
- package/lib/test/cypress/test_reposition_on_scroll.js +69 -0
- package/lib/test/enzyme/enzyme_matchers.d.ts +36 -0
- package/lib/test/enzyme/enzyme_matchers.js +49 -0
- package/lib/test/enzyme/index.d.ts +14 -0
- package/lib/test/enzyme/index.js +24 -0
- package/lib/test/rtl/index.d.ts +9 -1
- package/lib/test/rtl/index.js +24 -2
- package/lib/test/rtl/matchers.d.ts +36 -0
- package/lib/test/rtl/matchers.js +86 -0
- package/lib/utils/element_can_be_disabled.js +22 -0
- package/lib/utils/index.js +14 -1
- package/optimize/es/components/bottom_bar/bottom_bar.js +12 -2
- package/optimize/es/components/button/button_display/_button_display.js +24 -12
- package/optimize/es/components/button/button_display/_button_display.styles.js +4 -4
- package/optimize/es/components/button/button_empty/button_empty.js +18 -6
- package/optimize/es/components/button/button_group/button_group.js +10 -5
- package/optimize/es/components/button/button_group/button_group_button.js +1 -1
- package/optimize/es/components/button/button_group/button_group_button.styles.js +12 -8
- package/optimize/es/components/button/button_icon/button_icon.js +17 -5
- package/optimize/es/components/code/code_block_virtualized.js +9 -7
- package/optimize/es/components/datagrid/controls/column_selector.js +36 -19
- package/optimize/es/components/datagrid/data_grid.js +5 -1
- package/optimize/es/components/datagrid/utils/in_memory.js +2 -1
- package/optimize/es/components/date_picker/super_date_picker/date_popover/absolute_tab.js +12 -4
- package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_button.js +5 -2
- package/optimize/es/components/date_picker/super_date_picker/date_popover/date_popover_content.js +7 -3
- package/optimize/es/components/date_picker/super_date_picker/date_popover/relative_tab.js +10 -2
- package/optimize/es/components/date_picker/super_date_picker/date_popover/timezone_display.js +97 -0
- package/optimize/es/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +19 -0
- package/optimize/es/components/date_picker/super_date_picker/pretty_duration.js +1 -8
- package/optimize/es/components/date_picker/super_date_picker/relative_utils.js +8 -0
- package/optimize/es/components/date_picker/super_date_picker/super_date_picker.js +49 -25
- package/optimize/es/components/date_picker/super_date_picker/time_window_buttons.js +185 -0
- package/optimize/es/components/flyout/flyout.js +27 -10
- package/optimize/es/components/icon/assets/boxes_vertical.js +1 -1
- package/optimize/es/components/icon/assets/checkInCircleFilled.js +1 -2
- package/optimize/es/components/icon/assets/errorFilled.js +1 -2
- package/optimize/es/components/icon/assets/warningFilled.js +1 -2
- package/optimize/es/components/icon/icon_map.js +3 -6
- package/optimize/es/components/overlay_mask/overlay_mask.styles.js +1 -1
- package/optimize/es/components/popover/popover.js +22 -16
- package/optimize/es/components/table/table_row.styles.js +1 -1
- package/optimize/es/components/tool_tip/tool_tip.js +24 -24
- package/optimize/es/global_styling/index.js +2 -1
- package/optimize/es/global_styling/mixins/_button.js +1 -1
- package/optimize/es/global_styling/utility/selectors.js +9 -0
- package/optimize/es/services/focus_trap/focus_trap_pub_sub.js +74 -0
- package/optimize/es/services/focus_trap/index.js +9 -0
- package/optimize/es/services/hooks/index.js +2 -1
- package/optimize/es/services/hooks/useEuiDisabledElement.js +192 -0
- package/optimize/es/services/index.js +1 -0
- package/optimize/es/services/popover/reposition_on_scroll.js +61 -0
- package/optimize/es/test/cypress/index.d.ts +12 -0
- package/optimize/es/test/cypress/index.js +9 -0
- package/optimize/es/test/cypress/matchers.d.ts +20 -0
- package/optimize/es/test/cypress/matchers.js +54 -0
- package/optimize/es/test/cypress/test_reposition_on_scroll.js +63 -0
- package/optimize/es/test/enzyme/enzyme_matchers.d.ts +36 -0
- package/optimize/es/test/enzyme/enzyme_matchers.js +43 -0
- package/optimize/es/test/enzyme/index.d.ts +14 -0
- package/optimize/es/test/enzyme/index.js +10 -0
- package/optimize/es/test/rtl/index.d.ts +9 -1
- package/optimize/es/test/rtl/index.js +2 -1
- package/optimize/es/test/rtl/matchers.d.ts +36 -0
- package/optimize/es/test/rtl/matchers.js +82 -0
- package/optimize/es/utils/element_can_be_disabled.js +16 -0
- package/optimize/es/utils/index.js +2 -1
- package/optimize/lib/components/bottom_bar/bottom_bar.js +11 -1
- package/optimize/lib/components/button/button_display/_button_display.js +23 -11
- package/optimize/lib/components/button/button_display/_button_display.styles.js +4 -4
- package/optimize/lib/components/button/button_empty/button_empty.js +17 -5
- package/optimize/lib/components/button/button_group/button_group.js +10 -5
- package/optimize/lib/components/button/button_group/button_group_button.js +1 -1
- package/optimize/lib/components/button/button_group/button_group_button.styles.js +10 -6
- package/optimize/lib/components/button/button_icon/button_icon.js +16 -4
- package/optimize/lib/components/code/code_block_virtualized.js +9 -7
- package/optimize/lib/components/datagrid/controls/column_selector.js +36 -19
- package/optimize/lib/components/datagrid/data_grid.js +5 -1
- package/optimize/lib/components/datagrid/utils/in_memory.js +2 -1
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/absolute_tab.js +11 -3
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_button.js +5 -2
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/date_popover_content.js +7 -3
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/relative_tab.js +10 -2
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/timezone_display.js +103 -0
- package/optimize/lib/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
- package/optimize/lib/components/date_picker/super_date_picker/pretty_duration.js +2 -9
- package/optimize/lib/components/date_picker/super_date_picker/relative_utils.js +9 -0
- package/optimize/lib/components/date_picker/super_date_picker/super_date_picker.js +49 -25
- package/optimize/lib/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
- package/optimize/lib/components/flyout/flyout.js +26 -9
- package/optimize/lib/components/icon/assets/boxes_vertical.js +1 -1
- package/optimize/lib/components/icon/assets/checkInCircleFilled.js +1 -2
- package/optimize/lib/components/icon/assets/errorFilled.js +1 -2
- package/optimize/lib/components/icon/assets/warningFilled.js +1 -2
- package/optimize/lib/components/icon/icon_map.js +3 -6
- package/optimize/lib/components/icon/svgs/boxes_vertical.svg +1 -1
- package/optimize/lib/components/icon/svgs/checkInCircleFilled.svg +1 -1
- package/optimize/lib/components/icon/svgs/errorFilled.svg +1 -1
- package/optimize/lib/components/icon/svgs/warningFilled.svg +1 -1
- package/optimize/lib/components/overlay_mask/overlay_mask.styles.js +1 -1
- package/optimize/lib/components/popover/popover.js +21 -15
- package/optimize/lib/components/table/table_row.styles.js +1 -1
- package/optimize/lib/components/tool_tip/tool_tip.js +24 -24
- package/optimize/lib/global_styling/index.js +16 -1
- package/optimize/lib/global_styling/mixins/_button.js +1 -1
- package/optimize/lib/global_styling/utility/selectors.js +15 -0
- package/optimize/lib/services/focus_trap/focus_trap_pub_sub.js +80 -0
- package/optimize/lib/services/focus_trap/index.js +12 -0
- package/optimize/lib/services/hooks/index.js +18 -1
- package/optimize/lib/services/hooks/useEuiDisabledElement.js +197 -0
- package/optimize/lib/services/index.js +8 -0
- package/optimize/lib/services/popover/reposition_on_scroll.js +67 -0
- package/optimize/lib/test/cypress/index.d.ts +12 -0
- package/optimize/lib/test/cypress/index.js +18 -0
- package/optimize/lib/test/cypress/matchers.d.ts +20 -0
- package/optimize/lib/test/cypress/matchers.js +61 -0
- package/optimize/lib/test/cypress/test_reposition_on_scroll.js +70 -0
- package/optimize/lib/test/enzyme/enzyme_matchers.d.ts +36 -0
- package/optimize/lib/test/enzyme/enzyme_matchers.js +50 -0
- package/optimize/lib/test/enzyme/index.d.ts +14 -0
- package/optimize/lib/test/enzyme/index.js +24 -0
- package/optimize/lib/test/rtl/index.d.ts +9 -1
- package/optimize/lib/test/rtl/index.js +24 -2
- package/optimize/lib/test/rtl/matchers.d.ts +36 -0
- package/optimize/lib/test/rtl/matchers.js +86 -0
- package/optimize/lib/utils/element_can_be_disabled.js +22 -0
- package/optimize/lib/utils/index.js +14 -1
- package/package.json +1 -1
- package/test-env/components/accessibility/skip_link/skip_link.js +10 -1
- package/test-env/components/bottom_bar/bottom_bar.js +11 -1
- package/test-env/components/button/button.js +21 -26
- package/test-env/components/button/button_display/_button_display.js +31 -29
- package/test-env/components/button/button_display/_button_display.styles.js +4 -4
- package/test-env/components/button/button_empty/button_empty.js +31 -13
- package/test-env/components/button/button_group/button_group.js +49 -31
- package/test-env/components/button/button_group/button_group_button.js +14 -2
- package/test-env/components/button/button_group/button_group_button.styles.js +10 -6
- package/test-env/components/button/button_icon/button_icon.js +29 -5
- package/test-env/components/card/card.js +21 -26
- package/test-env/components/card/card_select/card_select.js +21 -26
- package/test-env/components/code/code_block_virtualized.js +9 -7
- package/test-env/components/collapsible_nav_beta/_kibana_solution/collapsible_nav_kibana_solution.js +13 -1
- package/test-env/components/datagrid/body/cell/data_grid_cell.js +35 -12
- package/test-env/components/datagrid/body/data_grid_body.js +23 -6
- package/test-env/components/datagrid/body/data_grid_body_custom.js +23 -6
- package/test-env/components/datagrid/body/data_grid_body_virtualized.js +23 -6
- package/test-env/components/datagrid/body/header/data_grid_header_cell.js +23 -6
- package/test-env/components/datagrid/controls/column_selector.js +36 -19
- package/test-env/components/datagrid/controls/column_sorting.js +23 -6
- package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +13 -7
- package/test-env/components/datagrid/data_grid.js +5 -1
- package/test-env/components/datagrid/utils/in_memory.js +25 -7
- package/test-env/components/date_picker/auto_refresh/auto_refresh.js +12 -3
- package/test-env/components/date_picker/super_date_picker/date_popover/absolute_tab.js +30 -4
- package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_button.js +24 -3
- package/test-env/components/date_picker/super_date_picker/date_popover/date_popover_content.js +26 -4
- package/test-env/components/date_picker/super_date_picker/date_popover/relative_tab.js +29 -3
- package/test-env/components/date_picker/super_date_picker/date_popover/timezone_display.js +103 -0
- package/test-env/components/date_picker/super_date_picker/date_popover/timezone_display.styles.js +25 -0
- package/test-env/components/date_picker/super_date_picker/pretty_duration.js +2 -9
- package/test-env/components/date_picker/super_date_picker/relative_utils.js +9 -0
- package/test-env/components/date_picker/super_date_picker/super_date_picker.js +118 -26
- package/test-env/components/date_picker/super_date_picker/time_window_buttons.js +193 -0
- package/test-env/components/facet/facet_button.js +9 -19
- package/test-env/components/filter_group/filter_button.js +14 -1
- package/test-env/components/form/form_control_button/form_control_button.js +13 -7
- package/test-env/components/header/header_links/header_link.js +13 -7
- package/test-env/components/header/header_section/header_section_item_button.js +13 -7
- package/test-env/components/icon/assets/boxes_vertical.js +1 -1
- package/test-env/components/icon/assets/checkInCircleFilled.js +1 -2
- package/test-env/components/icon/assets/errorFilled.js +1 -2
- package/test-env/components/icon/assets/warningFilled.js +1 -2
- package/test-env/components/icon/icon_map.js +3 -6
- package/test-env/components/list_group/list_group.js +13 -1
- package/test-env/components/list_group/list_group_item.js +13 -1
- package/test-env/components/list_group/list_group_item_extra_action.js +13 -1
- package/test-env/components/list_group/pinnable_list_group/pinnable_list_group.js +15 -2
- package/test-env/components/overlay_mask/overlay_mask.styles.js +1 -1
- package/test-env/components/pagination/pagination_button.js +13 -7
- package/test-env/components/popover/popover.js +21 -15
- package/test-env/components/provider/component_defaults/component_defaults.js +22 -2
- package/test-env/components/table/table_row.styles.js +1 -1
- package/test-env/components/tool_tip/tool_tip.js +24 -24
- package/test-env/global_styling/index.js +16 -1
- package/test-env/global_styling/mixins/_button.js +1 -1
- package/test-env/global_styling/utility/selectors.js +15 -0
- package/test-env/services/focus_trap/focus_trap_pub_sub.js +80 -0
- package/test-env/services/focus_trap/index.js +12 -0
- package/test-env/services/hooks/index.js +18 -1
- package/test-env/services/hooks/useEuiDisabledElement.js +197 -0
- package/test-env/services/index.js +8 -0
- package/test-env/services/popover/reposition_on_scroll.js +67 -0
- package/test-env/test/cypress/index.js +18 -0
- package/test-env/test/cypress/matchers.js +61 -0
- package/test-env/test/cypress/test_reposition_on_scroll.js +70 -0
- package/test-env/test/enzyme/enzyme_matchers.js +50 -0
- package/test-env/test/enzyme/index.js +24 -0
- package/test-env/test/rtl/index.js +24 -2
- package/test-env/test/rtl/matchers.js +86 -0
- package/test-env/utils/element_can_be_disabled.js +22 -0
- package/test-env/utils/index.js +14 -1
|
@@ -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,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.setupEuiEnzymeMatchers = exports.hasEuiDisabledProp = exports.euiEnzymeMatchers = void 0;
|
|
8
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
+
/*
|
|
10
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
11
|
+
* or more contributor license agreements. Licensed under the "Elastic License
|
|
12
|
+
* 2.0", the "GNU Affero General Public License v3.0 only", and the "Server Side
|
|
13
|
+
* Public License v 1"; you may not use this file except in compliance with, at
|
|
14
|
+
* your election, the "Elastic License 2.0", the "GNU Affero General Public
|
|
15
|
+
* License v3.0 only", or the "Server Side Public License, v 1".
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/* eslint-env jest */
|
|
19
|
+
|
|
20
|
+
var euiEnzymeMatchers = exports.euiEnzymeMatchers = {
|
|
21
|
+
/**
|
|
22
|
+
* Checks if an Enzyme wrapper has an EUI disabled state.
|
|
23
|
+
* It looks for `disabled`, `isDisabled` and `aria-disabled` props
|
|
24
|
+
*/
|
|
25
|
+
toHaveEuiDisabledProp: function toHaveEuiDisabledProp(props) {
|
|
26
|
+
if (!props || (0, _typeof2.default)(props) !== 'object') {
|
|
27
|
+
throw new Error('toHaveEuiDisabledProp() must be called with the props value from ReactWrapper.props()');
|
|
28
|
+
}
|
|
29
|
+
var isDisabled = hasEuiDisabledProp(props);
|
|
30
|
+
return {
|
|
31
|
+
message: function message() {
|
|
32
|
+
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"`)';
|
|
33
|
+
},
|
|
34
|
+
pass: isDisabled
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var setupEuiEnzymeMatchers = exports.setupEuiEnzymeMatchers = function setupEuiEnzymeMatchers() {
|
|
39
|
+
expect.extend(euiEnzymeMatchers);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/* Utilities */
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Checks if a ReactWrapper has one of the following disabled props enabled:
|
|
46
|
+
* `disabled`, `isDisabled` or attribute or `aria-disabled="true"`.
|
|
47
|
+
*/
|
|
48
|
+
var hasEuiDisabledProp = exports.hasEuiDisabledProp = function hasEuiDisabledProp(props) {
|
|
49
|
+
return props.disabled === true || props.isDisabled === true || props['aria-disabled'] === true || props['aria-disabled'] === 'true';
|
|
50
|
+
};
|
|
@@ -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");
|
|
@@ -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';
|
|
@@ -12,8 +12,17 @@ var _exportNames = {
|
|
|
12
12
|
findByTestSubject: true,
|
|
13
13
|
render: true,
|
|
14
14
|
screen: true,
|
|
15
|
-
within: true
|
|
15
|
+
within: true,
|
|
16
|
+
euiMatchers: true,
|
|
17
|
+
setupEuiMatchers: true,
|
|
18
|
+
isEuiDisabled: true
|
|
16
19
|
};
|
|
20
|
+
Object.defineProperty(exports, "euiMatchers", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function get() {
|
|
23
|
+
return _matchers.euiMatchers;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
17
26
|
Object.defineProperty(exports, "findAllByTestSubject", {
|
|
18
27
|
enumerable: true,
|
|
19
28
|
get: function get() {
|
|
@@ -38,6 +47,12 @@ Object.defineProperty(exports, "getByTestSubject", {
|
|
|
38
47
|
return _data_test_subj_queries.getByTestSubject;
|
|
39
48
|
}
|
|
40
49
|
});
|
|
50
|
+
Object.defineProperty(exports, "isEuiDisabled", {
|
|
51
|
+
enumerable: true,
|
|
52
|
+
get: function get() {
|
|
53
|
+
return _matchers.isEuiDisabled;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
41
56
|
Object.defineProperty(exports, "queryAllByTestSubject", {
|
|
42
57
|
enumerable: true,
|
|
43
58
|
get: function get() {
|
|
@@ -62,6 +77,12 @@ Object.defineProperty(exports, "screen", {
|
|
|
62
77
|
return _custom_render.screen;
|
|
63
78
|
}
|
|
64
79
|
});
|
|
80
|
+
Object.defineProperty(exports, "setupEuiMatchers", {
|
|
81
|
+
enumerable: true,
|
|
82
|
+
get: function get() {
|
|
83
|
+
return _matchers.setupEuiMatchers;
|
|
84
|
+
}
|
|
85
|
+
});
|
|
65
86
|
Object.defineProperty(exports, "within", {
|
|
66
87
|
enumerable: true,
|
|
67
88
|
get: function get() {
|
|
@@ -93,4 +114,5 @@ Object.keys(_render_hook).forEach(function (key) {
|
|
|
93
114
|
return _render_hook[key];
|
|
94
115
|
}
|
|
95
116
|
});
|
|
96
|
-
});
|
|
117
|
+
});
|
|
118
|
+
var _matchers = require("./matchers");
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
/* eslint-disable-next-line @typescript-eslint/no-namespace,no-redeclare */
|
|
3
|
+
namespace jest {
|
|
4
|
+
interface Matchers<R> {
|
|
5
|
+
/**
|
|
6
|
+
* Custom matcher to check the disabled state of a DOM element.
|
|
7
|
+
* Ensures that both `disabled` and `aria-disabled` attributes are checked.
|
|
8
|
+
*/
|
|
9
|
+
toBeEuiDisabled(): R;
|
|
10
|
+
/**
|
|
11
|
+
* Custom matcher to check a DOM element is enabled (= not disabled).
|
|
12
|
+
* Ensures that both `disabled` and `aria-disabled` attributes are checked.
|
|
13
|
+
*/
|
|
14
|
+
toBeEuiEnabled(): R;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export declare const toBeEuiDisabled: (element: HTMLElement) => {
|
|
20
|
+
message: () => string;
|
|
21
|
+
pass: boolean;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export declare const toBeEuiEnabled: (element: HTMLElement) => {
|
|
25
|
+
message: () => string;
|
|
26
|
+
pass: boolean;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export declare const isEuiDisabled: (element: HTMLElement) => boolean;
|
|
30
|
+
|
|
31
|
+
export declare const euiMatchers: {
|
|
32
|
+
toBeEuiDisabled: typeof toBeEuiDisabled;
|
|
33
|
+
toBeEuiEnabled: typeof toBeEuiEnabled;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export declare const setupEuiMatchers: () => void;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.setupEuiMatchers = exports.isEuiDisabled = exports.getEuiDisabledState = exports.euiMatchers = exports.default = void 0;
|
|
7
|
+
var _utils = require("../../utils");
|
|
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
|
+
var NATIVE_DISABLED_ATTR = 'disabled';
|
|
17
|
+
var CUSTOM_DISABLED_ATTR = 'aria-disabled';
|
|
18
|
+
var toBeEuiDisabled = function toBeEuiDisabled(element) {
|
|
19
|
+
var _getEuiDisabledState = getEuiDisabledState(element),
|
|
20
|
+
isDisabled = _getEuiDisabledState.isDisabled,
|
|
21
|
+
canBeDisabled = _getEuiDisabledState.canBeDisabled,
|
|
22
|
+
isNativelyDisabled = _getEuiDisabledState.isNativelyDisabled;
|
|
23
|
+
return {
|
|
24
|
+
message: function message() {
|
|
25
|
+
if (isDisabled) {
|
|
26
|
+
var method = isNativelyDisabled ? "`".concat(NATIVE_DISABLED_ATTR, "`") : "`".concat(CUSTOM_DISABLED_ATTR, "=\"true\"`");
|
|
27
|
+
if (!canBeDisabled) {
|
|
28
|
+
return "Element cannot be disabled (based on its role), but it was disabled via ".concat(method);
|
|
29
|
+
} else {
|
|
30
|
+
return "Expected element NOT to be disabled, but it was disabled via ".concat(method);
|
|
31
|
+
}
|
|
32
|
+
} else {
|
|
33
|
+
return "Expected element to be disabled via either `".concat(NATIVE_DISABLED_ATTR, "` or `").concat(CUSTOM_DISABLED_ATTR, "=\"true\"` attribute, but found neither");
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
pass: isDisabled
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
var toBeEuiEnabled = function toBeEuiEnabled(element) {
|
|
40
|
+
var _getEuiDisabledState2 = getEuiDisabledState(element),
|
|
41
|
+
isDisabled = _getEuiDisabledState2.isDisabled,
|
|
42
|
+
isNativelyDisabled = _getEuiDisabledState2.isNativelyDisabled,
|
|
43
|
+
isAriaDisabled = _getEuiDisabledState2.isAriaDisabled;
|
|
44
|
+
return {
|
|
45
|
+
message: function message() {
|
|
46
|
+
var attributes = [isNativelyDisabled ? "`".concat(NATIVE_DISABLED_ATTR, "`") : undefined, isAriaDisabled ? "`".concat(CUSTOM_DISABLED_ATTR, "=\"true\"`") : undefined].filter(function (item) {
|
|
47
|
+
return item !== undefined;
|
|
48
|
+
}).join(' and ');
|
|
49
|
+
return "Expected element NOT to have attributes: ".concat(attributes, ".");
|
|
50
|
+
},
|
|
51
|
+
pass: !isDisabled
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
var euiMatchers = exports.euiMatchers = {
|
|
55
|
+
toBeEuiDisabled: toBeEuiDisabled,
|
|
56
|
+
toBeEuiEnabled: toBeEuiEnabled
|
|
57
|
+
};
|
|
58
|
+
var setupEuiMatchers = exports.setupEuiMatchers = function setupEuiMatchers() {
|
|
59
|
+
expect.extend(euiMatchers);
|
|
60
|
+
};
|
|
61
|
+
var _default = exports.default = euiMatchers;
|
|
62
|
+
/* Utilities */
|
|
63
|
+
/**
|
|
64
|
+
* Retrieve an element's disabled state details.
|
|
65
|
+
* Checks wheather the element has an `disabled` attribute or `aria-disabled="true"` attribute
|
|
66
|
+
* @returns { isDisabled: boolean; canBeDisabled: boolean; isNativelyDisabled: boolean; isAriaDisabled: boolean }
|
|
67
|
+
*/
|
|
68
|
+
var getEuiDisabledState = exports.getEuiDisabledState = function getEuiDisabledState(element) {
|
|
69
|
+
var canBeDisabled = (0, _utils.elementCanBeDisabled)(element);
|
|
70
|
+
var isNativelyDisabled = element.hasAttribute('disabled');
|
|
71
|
+
var isAriaDisabled = element.getAttribute('aria-disabled') === 'true';
|
|
72
|
+
var isDisabled = canBeDisabled && (isNativelyDisabled || isAriaDisabled);
|
|
73
|
+
return {
|
|
74
|
+
isDisabled: isDisabled,
|
|
75
|
+
canBeDisabled: canBeDisabled,
|
|
76
|
+
isNativelyDisabled: isNativelyDisabled,
|
|
77
|
+
isAriaDisabled: isAriaDisabled
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Checks if an element is disabled via `disabled` attribute or `aria-disabled="true"`.
|
|
83
|
+
*/
|
|
84
|
+
var isEuiDisabled = exports.isEuiDisabled = function isEuiDisabled(element) {
|
|
85
|
+
return getEuiDisabledState(element).isDisabled;
|
|
86
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.elementCanBeDisabled = 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
|
+
var SUPPORTED_ELEMENTS = ['fieldset', 'input', 'select', 'optgroup', 'option', 'button', 'textarea'];
|
|
16
|
+
var elementCanBeDisabled = exports.elementCanBeDisabled = function elementCanBeDisabled(htmlElement) {
|
|
17
|
+
var _htmlElement$getAttri;
|
|
18
|
+
if (!htmlElement) return false;
|
|
19
|
+
var tagName = htmlElement.tagName && htmlElement.tagName.toLowerCase();
|
|
20
|
+
var roleName = (_htmlElement$getAttri = htmlElement.getAttribute('role')) !== null && _htmlElement$getAttri !== void 0 ? _htmlElement$getAttri : '';
|
|
21
|
+
return SUPPORTED_ELEMENTS.includes(roleName) || SUPPORTED_ELEMENTS.includes(tagName);
|
|
22
|
+
};
|
|
@@ -3,9 +3,19 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
elementCanBeDisabled: true
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "elementCanBeDisabled", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function get() {
|
|
12
|
+
return _element_can_be_disabled.elementCanBeDisabled;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
6
15
|
var _prop_types = require("./prop_types");
|
|
7
16
|
Object.keys(_prop_types).forEach(function (key) {
|
|
8
17
|
if (key === "default" || key === "__esModule") return;
|
|
18
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
9
19
|
if (key in exports && exports[key] === _prop_types[key]) return;
|
|
10
20
|
Object.defineProperty(exports, key, {
|
|
11
21
|
enumerable: true,
|
|
@@ -17,6 +27,7 @@ Object.keys(_prop_types).forEach(function (key) {
|
|
|
17
27
|
var _is_jest = require("./is_jest");
|
|
18
28
|
Object.keys(_is_jest).forEach(function (key) {
|
|
19
29
|
if (key === "default" || key === "__esModule") return;
|
|
30
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
20
31
|
if (key in exports && exports[key] === _is_jest[key]) return;
|
|
21
32
|
Object.defineProperty(exports, key, {
|
|
22
33
|
enumerable: true,
|
|
@@ -28,6 +39,7 @@ Object.keys(_is_jest).forEach(function (key) {
|
|
|
28
39
|
var _type_guards = require("./type_guards");
|
|
29
40
|
Object.keys(_type_guards).forEach(function (key) {
|
|
30
41
|
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
31
43
|
if (key in exports && exports[key] === _type_guards[key]) return;
|
|
32
44
|
Object.defineProperty(exports, key, {
|
|
33
45
|
enumerable: true,
|
|
@@ -35,4 +47,5 @@ Object.keys(_type_guards).forEach(function (key) {
|
|
|
35
47
|
return _type_guards[key];
|
|
36
48
|
}
|
|
37
49
|
});
|
|
38
|
-
});
|
|
50
|
+
});
|
|
51
|
+
var _element_can_be_disabled = require("./element_can_be_disabled");
|
package/package.json
CHANGED
|
@@ -151,9 +151,18 @@ EuiSkipLink.propTypes = {
|
|
|
151
151
|
*/
|
|
152
152
|
size: _propTypes.default.any,
|
|
153
153
|
/**
|
|
154
|
-
* `disabled`
|
|
154
|
+
* Controls the disabled behavior via the native `disabled` attribute.
|
|
155
155
|
*/
|
|
156
156
|
isDisabled: _propTypes.default.bool,
|
|
157
|
+
/**
|
|
158
|
+
* NOTE: Beta feature, may be changed or removed in the future
|
|
159
|
+
*
|
|
160
|
+
* Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
|
|
161
|
+
* This results in a semantically disabled button without the default browser handling of the disabled state.
|
|
162
|
+
*
|
|
163
|
+
* Use e.g. when a disabled button should have a tooltip.
|
|
164
|
+
*/
|
|
165
|
+
hasAriaDisabled: _propTypes.default.bool,
|
|
157
166
|
className: _propTypes.default.string,
|
|
158
167
|
"aria-label": _propTypes.default.string,
|
|
159
168
|
"data-test-subj": _propTypes.default.string,
|
|
@@ -57,6 +57,8 @@ var _EuiBottomBar = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
57
57
|
style = _ref.style,
|
|
58
58
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
59
59
|
var styles = (0, _services.useEuiMemoizedStyles)(_bottom_bar.euiBottomBarStyles);
|
|
60
|
+
var _useEuiThemeCSSVariab = (0, _services.useEuiThemeCSSVariables)(),
|
|
61
|
+
setGlobalCSSVariables = _useEuiThemeCSSVariab.setGlobalCSSVariables;
|
|
60
62
|
|
|
61
63
|
// Force some props if `fixed` position, but not if the user has supplied these
|
|
62
64
|
affordForDisplacement = position !== 'fixed' ? false : affordForDisplacement;
|
|
@@ -71,6 +73,11 @@ var _EuiBottomBar = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
71
73
|
(0, _react.useEffect)(function () {
|
|
72
74
|
if (affordForDisplacement && usePortal) {
|
|
73
75
|
document.body.style.paddingBottom = "".concat(dimensions.height, "px");
|
|
76
|
+
|
|
77
|
+
// EUI doesn't use this css variable, but it is useful for consumers
|
|
78
|
+
setGlobalCSSVariables({
|
|
79
|
+
'--euiBottomBarOffset': "".concat(dimensions.height, "px")
|
|
80
|
+
});
|
|
74
81
|
}
|
|
75
82
|
if (bodyClassName) {
|
|
76
83
|
document.body.classList.add(bodyClassName);
|
|
@@ -78,12 +85,15 @@ var _EuiBottomBar = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
78
85
|
return function () {
|
|
79
86
|
if (affordForDisplacement && usePortal) {
|
|
80
87
|
document.body.style.paddingBottom = '';
|
|
88
|
+
setGlobalCSSVariables({
|
|
89
|
+
'--euiBottomBarOffset': null
|
|
90
|
+
});
|
|
81
91
|
}
|
|
82
92
|
if (bodyClassName) {
|
|
83
93
|
document.body.classList.remove(bodyClassName);
|
|
84
94
|
}
|
|
85
95
|
};
|
|
86
|
-
}, [affordForDisplacement, usePortal, dimensions, bodyClassName]);
|
|
96
|
+
}, [affordForDisplacement, usePortal, dimensions, bodyClassName, setGlobalCSSVariables]);
|
|
87
97
|
var classes = (0, _classnames.default)('euiBottomBar', "euiBottomBar--".concat(position), className);
|
|
88
98
|
var cssStyles = [styles.euiBottomBar, styles[position], styles[paddingSize]];
|
|
89
99
|
var newStyle = _objectSpread({
|
|
@@ -87,12 +87,29 @@ EuiButton.propTypes = {
|
|
|
87
87
|
*/
|
|
88
88
|
size: _propTypes.default.any,
|
|
89
89
|
/**
|
|
90
|
-
* `disabled`
|
|
90
|
+
* Controls the disabled behavior via the native `disabled` attribute.
|
|
91
91
|
*/
|
|
92
92
|
/**
|
|
93
|
-
* `disabled`
|
|
93
|
+
* Controls the disabled behavior via the native `disabled` attribute.
|
|
94
94
|
*/
|
|
95
|
-
isDisabled: _propTypes.default.bool,
|
|
95
|
+
isDisabled: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.bool])]),
|
|
96
|
+
/**
|
|
97
|
+
* NOTE: Beta feature, may be changed or removed in the future
|
|
98
|
+
*
|
|
99
|
+
* Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
|
|
100
|
+
* This results in a semantically disabled button without the default browser handling of the disabled state.
|
|
101
|
+
*
|
|
102
|
+
* Use e.g. when a disabled button should have a tooltip.
|
|
103
|
+
*/
|
|
104
|
+
/**
|
|
105
|
+
* NOTE: Beta feature, may be changed or removed in the future
|
|
106
|
+
*
|
|
107
|
+
* Changes the native `disabled` attribute to `aria-disabled` to preserve focusability.
|
|
108
|
+
* This results in a semantically disabled button without the default browser handling of the disabled state.
|
|
109
|
+
*
|
|
110
|
+
* Use e.g. when a disabled button should have a tooltip.
|
|
111
|
+
*/
|
|
112
|
+
hasAriaDisabled: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.bool])]),
|
|
96
113
|
className: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.string])]),
|
|
97
114
|
"aria-label": _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.string])]),
|
|
98
115
|
"data-test-subj": _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.string])]),
|
|
@@ -126,27 +143,5 @@ EuiButton.propTypes = {
|
|
|
126
143
|
css: _propTypes.default.any
|
|
127
144
|
}),
|
|
128
145
|
style: _propTypes.default.any,
|
|
129
|
-
type: _propTypes.default.any
|
|
130
|
-
/**
|
|
131
|
-
* Any `type` accepted by EuiIcon
|
|
132
|
-
*/
|
|
133
|
-
iconType: _propTypes.default.oneOfType([_propTypes.default.oneOf(["accessibility", "addDataApp", "advancedSettingsApp", "agentApp", "aggregate", "alert", "analyzeEvent", "annotation", "anomalyChart", "anomalySwimLane", "apmApp", "apmTrace", "appSearchApp", "apps", "arrowDown", "arrowLeft", "arrowRight", "arrowUp", "arrowStart", "arrowEnd", "article", "asterisk", "at", "auditbeatApp", "backgroundTask", "beaker", "bell", "bellSlash", "beta", "bolt", "boxesHorizontal", "boxesVertical", "branch", "branchUser", "broom", "brush", "bug", "bullseye", "calendar", "canvasApp", "casesApp", "changePointDetection", "check", "checkCircle", "checkInCircleFilled", "cheer", "classificationJob", "clickLeft", "clickRight", "clock", "clockCounter", "cloudDrizzle", "cloudStormy", "cloudSunny", "cluster", "code", "codeApp", "color", "comment", "compute", "console", "consoleApp", "container", "continuityAbove", "continuityAboveBelow", "continuityBelow", "continuityWithin", "contrast", "contrastHigh", "controls", "controlsHorizontal", "controlsVertical", "copy", "copyClipboard", "createAdvancedJob", "createGenericJob", "createGeoJob", "createMultiMetricJob", "createPopulationJob", "createSingleMetricJob", "cross", "crossClusterReplicationApp", "crossInCircle", "crosshairs", "currency", "cut", "dashboardApp", "dataVisualizer", "database", "desktop", "devToolsApp", "diff", "discoverApp", "discuss", "document", "documentEdit", "documentation", "documents", "dot", "dotInCircle", "doubleArrowLeft", "doubleArrowRight", "download", "editorAlignCenter", "editorAlignLeft", "editorAlignRight", "editorBold", "editorChecklist", "editorCodeBlock", "editorComment", "editorDistributeHorizontal", "editorDistributeVertical", "editorHeading", "editorItalic", "editorItemAlignBottom", "editorItemAlignCenter", "editorItemAlignLeft", "editorItemAlignMiddle", "editorItemAlignRight", "editorItemAlignTop", "editorLink", "editorOrderedList", "editorPositionBottomLeft", "editorPositionBottomRight", "editorPositionTopLeft", "editorPositionTopRight", "editorRedo", "editorStrike", "editorTable", "editorUnderline", "editorUndo", "editorUnorderedList", "email", "empty", "emsApp", "endpoint", "eql", "eraser", "error", "errorFilled", "esqlVis", "exit", "expand", "expandMini", "export", "exportAction", "eye", "eyeClosed", "faceHappy", "faceNeutral", "faceSad", "fieldStatistics", "filebeatApp", "filter", "filterExclude", "filterIgnore", "filterInclude", "filterInCircle", "flask", "flag", "fleetApp", "fold", "folderCheck", "folderClosed", "folderExclamation", "folderOpen", "frameNext", "framePrevious", "fullScreen", "fullScreenExit", "function", "gear", "gisApp", "glasses", "globe", "grab", "grabHorizontal", "grabOmnidirectional", "gradient", "graphApp", "grid", "grokApp", "heart", "heartbeatApp", "heatmap", "help", "home", "info", "image", "importAction", "index", "indexClose", "indexEdit", "indexFlush", "indexManagementApp", "indexMapping", "indexOpen", "indexPatternApp", "indexRollupApp", "indexRuntime", "indexSettings", "indexTemporary", "infinity", "inputOutput", "inspect", "invert", "ip", "key", "keyboard", "kqlField", "kqlFunction", "kqlOperand", "kqlSelector", "kqlValue", "kubernetesNode", "kubernetesPod", "launch", "layers", "lensApp", "lettering", "lineDashed", "lineDotted", "lineSolid", "link", "list", "listAdd", "lock", "lockOpen", "logPatternAnalysis", "logRateAnalysis", "logoAWS", "logoAWSMono", "logoAerospike", "logoApache", "logoAppSearch", "logoAzure", "logoAzureMono", "logoBeats", "logoBusinessAnalytics", "logoCeph", "logoCloud", "logoCloudEnterprise", "logoCode", "logoCodesandbox", "logoCouchbase", "logoDocker", "logoDropwizard", "logoElastic", "logoElasticStack", "logoElasticsearch", "logoEnterpriseSearch", "logoEtcd", "logoGCP", "logoGCPMono", "logoGithub", "logoGmail", "logoGolang", "logoGoogleG", "logoHAproxy", "logoIBM", "logoIBMMono", "logoKafka", "logoKibana", "logoKubernetes", "logoLogging", "logoLogstash", "logoMaps", "logoMemcached", "logoMetrics", "logoMongodb", "logoMySQL", "logoNginx", "logoObservability", "logoOsquery", "logoPhp", "logoPostgres", "logoPrometheus", "logoRabbitmq", "logoRedis", "logoSecurity", "logoSiteSearch", "logoSketch", "logoSlack", "logoUptime", "logoVulnerabilityManagement", "logoWebhook", "logoWindows", "logoWorkplaceSearch", "logsApp", "logstashFilter", "logstashIf", "logstashInput", "logstashOutput", "logstashQueue", "machineLearningApp", "magnet", "magnifyWithExclamation", "magnifyWithMinus", "magnifyWithPlus", "managementApp", "mapMarker", "memory", "menu", "menuDown", "menuLeft", "menuRight", "menuUp", "merge", "metricbeatApp", "metricsApp", "minimize", "minus", "minusInCircle", "minusInCircleFilled", "minusInSquare", "mobile", "monitoringApp", "moon", "move", "namespace", "nested", "newChat", "node", "notebookApp", "number", "offline", "online", "outlierDetectionJob", "package", "packetbeatApp", "pageSelect", "pagesSelect", "palette", "paperClip", "partial", "pause", "payment", "pencil", "percent", "pin", "pinFilled", "pipeBreaks", "pipelineApp", "pipeNoBreaks", "pivot", "play", "playFilled", "plugs", "plus", "plusInCircle", "plusInCircleFilled", "plusInSquare", "popout", "push", "question", "quote", "readOnly", "recentlyViewedApp", "refresh", "regressionJob", "reporter", "reportingApp", "returnKey", "save", "savedObjectsApp", "scale", "search", "searchProfilerApp", "section", "securityAnalyticsApp", "securityApp", "securitySignal", "securitySignalDetected", "securitySignalResolved", "sessionViewer", "shard", "share", "singleMetricViewer", "snowflake", "sortAscending", "sortDescending", "sortDown", "sortLeft", "sortRight", "sortUp", "sortable", "spaces", "spacesApp", "sparkles", "sqlApp", "starEmpty", "starEmptySpace", "starFilled", "starFilledSpace", "starMinusEmpty", "starMinusFilled", "starPlusEmpty", "starPlusFilled", "stats", "stop", "stopFilled", "stopSlash", "storage", "streamsClassic", "streamsWired", "string", "submodule", "sun", "swatchInput", "symlink", "tableDensityCompact", "tableDensityExpanded", "tableDensityNormal", "tableOfContents", "tag", "tear", "temperature", "thumbDown", "thumbUp", "timeline", "timelineWithArrow", "timelionApp", "timeRefresh", "timeslider", "training", "transitionLeftIn", "transitionLeftOut", "transitionTopIn", "transitionTopOut", "trash", "unfold", "unlink", "upgradeAssistantApp", "uptimeApp", "user", "userAvatar", "users", "usersRolesApp", "vector", "videoPlayer", "visArea", "visAreaStacked", "visBarHorizontal", "visBarHorizontalStacked", "visBarVertical", "visBarVerticalStacked", "visGauge", "visGoal", "visLine", "visMapCoordinate", "visMapRegion", "visMetric", "visPie", "visTable", "visTagCloud", "visText", "visTimelion", "visVega", "visVisualBuilder", "visualizeApp", "vulnerabilityManagementApp", "warning", "warningFilled", "watchesApp", "web", "wordWrap", "wordWrapDisabled", "workflowsApp", "workplaceSearchApp", "wrench", "tokenAlias", "tokenAnnotation", "tokenArray", "tokenBinary", "tokenBoolean", "tokenClass", "tokenCompletionSuggester", "tokenConstant", "tokenDate", "tokenDimension", "tokenElement", "tokenEnum", "tokenEnumMember", "tokenEvent", "tokenException", "tokenField", "tokenFile", "tokenFlattened", "tokenFunction", "tokenGeo", "tokenHistogram", "tokenInterface", "tokenIP", "tokenJoin", "tokenKey", "tokenKeyword", "tokenMethod", "tokenMetricCounter", "tokenMetricGauge", "tokenModule", "tokenNamespace", "tokenNested", "tokenNull", "tokenNumber", "tokenObject", "tokenOperator", "tokenPackage", "tokenParameter", "tokenPercolator", "tokenProperty", "tokenRange", "tokenRankFeature", "tokenRankFeatures", "tokenRepo", "tokenSearchType", "tokenSemanticText", "tokenShape", "tokenString", "tokenStruct", "tokenSymbol", "tokenTag", "tokenText", "tokenTokenCount", "tokenVariable", "tokenVectorDense", "tokenDenseVector", "tokenVectorSparse"]).isRequired, _propTypes.default.string.isRequired, _propTypes.default.elementType.isRequired]),
|
|
134
|
-
/**
|
|
135
|
-
* Can only be one side `left` or `right`
|
|
136
|
-
*/
|
|
137
|
-
iconSide: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.oneOf([undefined])]),
|
|
138
|
-
/**
|
|
139
|
-
* Object of props passed to the `<span>` wrapping the content's text/children only (not icon)
|
|
140
|
-
*
|
|
141
|
-
* This span wrapper can be removed by passing `textProps={false}`.
|
|
142
|
-
*/
|
|
143
|
-
textProps: _propTypes.default.oneOfType([_propTypes.default.shape({
|
|
144
|
-
className: _propTypes.default.string,
|
|
145
|
-
"aria-label": _propTypes.default.string,
|
|
146
|
-
"data-test-subj": _propTypes.default.string,
|
|
147
|
-
css: _propTypes.default.any,
|
|
148
|
-
ref: _propTypes.default.any,
|
|
149
|
-
"data-text": _propTypes.default.string
|
|
150
|
-
}).isRequired, _propTypes.default.oneOf([false])]),
|
|
151
|
-
iconSize: _propTypes.default.any
|
|
146
|
+
type: _propTypes.default.any
|
|
152
147
|
};
|