Web Components Button Group Overview

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

    Web Components Button Example

    EXAMPLE
    TS
    HTML
    CSS

    Like this sample? Get access to our complete Ignite UI for Web Components toolkit and start building your own apps in minutes. Download it for free.

    Usage

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

    npm install igniteui-webcomponents
    cmd

    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);
    ts

    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>
    html
    Ignite UI for Web Components | CTA Banner

    Examples

    Alignment

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

    EXAMPLE
    TS
    HTML
    CSS

    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:

    EXAMPLE
    TS
    HTML
    CSS

    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>
    html

    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.

    EXAMPLE
    TS
    HTML
    CSS

    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.

    igc-button-group::part(group) {
      background-color: var(--ig-primary-500);
      padding: 8px;
    }
    
    igc-toggle-button::part(toggle) {
      color: var(--ig-secondary-300);
    }
    css

    EXAMPLE
    TS
    HTML
    CSS

    API Reference

    Additional Resources