Web Components Button Group Overview

    The Web Components Button Group component is used to organize IgcToggleButtonComponents into styled button groups with horizontal/vertical alignment, single/multiple selection and toggling.

    Web Components Button Example

    Usage

    First, you need to install the Ignite UI for Web Components by running the following command:

    npm install igniteui-webcomponents
    

    You will then need to import the IgcButtonGroupComponent, its necessary CSS, and register its module, like so:

    import { defineComponents, IgcButtonGroupComponent } from "igniteui-webcomponents";
    import 'igniteui-webcomponents/themes/light/bootstrap.css';
    
    defineComponents(IgcButtonGroupComponent);
    

    For a complete introduction to the Ignite UI for Web Components, read the Getting Started topic.

    Now that you have the Ignite UI for Web Components Button Group imported, you can start with a basic configuration of the IgcButtonGroupComponent and its buttons.

    Use the IgcButtonGroupComponent selector to wrap your IgcToggleButtonComponents and display them into a button group. If you want a button to be selected by default, use the selected attribute:

     <igc-button-group>
        <igc-toggle-button value="left">
            <igc-icon name="format_align_left" collection="material"></igc-icon>
            <igc-ripple></igc-ripple>
        </igc-toggle-button>
    
        <igc-toggle-button value="center">
            <igc-icon name="format_align_center" collection="material"></igc-icon>
            <igc-ripple></igc-ripple>
        </igc-toggle-button>
    
        <igc-toggle-button value="right">
            <igc-icon name="format_align_right" collection="material"></igc-icon>
            <igc-ripple></igc-ripple>
        </igc-toggle-button>
    
        <igc-toggle-button value="justify" selected>
            <igc-icon name="format_align_justify" collection="material"></igc-icon>
            <igc-ripple></igc-ripple>
        </igc-toggle-button>
    </igc-button-group>
    

    Examples

    Alignment

    Use the alignment property to set the orientation of the buttons in the button group.

    Selection

    In order to configure the Ignite UI for Web Components IgcButtonGroupComponent selection, you could use its selection property. This property accepts the following three modes:

    • single - default selection mode of the button group. A single button can be selected/deselected by the user.
    • single-required - mimics a radio group behavior. Only one button can be selected and once initial selection is made, deselection is not possible through user interaction.
    • multiple - multiple buttons in the group can be selected and deselected.

    The sample below demonstrates the exposed IgcButtonGroupComponent selection modes:

    A IgcToggleButtonComponent could be marked as selected via its selected attribute or through the IgcButtonGroupComponent selectedItems attribute:

    <igc-button-group selected-items='["bold"]'>
        <igc-toggle-button value="bold">
            <igc-icon name="bold" collection="material"></igc-icon>
            <igc-ripple></igc-ripple>
        </igc-toggle-button>
    
        <igc-toggle-button value="italic">
            <igc-icon name="italic" collection="material"></igc-icon>
            <igc-ripple></igc-ripple>
        </igc-toggle-button>
    
        <igc-toggle-button value="underlined">
            <igc-icon name="underlined" collection="material"></igc-icon>
            <igc-ripple></igc-ripple>
        </igc-toggle-button>
    </igc-button-group>
    

    [!Note] Setting IgcToggleButtonComponent value attribute is mandatory for using the selectedItems property of the IgcButtonGroupComponent.

    Size

    The --ig-size CSS custom property can be used to control the size of the button group.

    Styling

    The IgcButtonGroupComponent component exposes group CSS part that allows us to style the button group container. Also, the IgcToggleButtonComponents provide toggle CSS part that could be used to style the button element.

    API Reference

    Additional Resources