UNPKG

@patternfly/patternfly

Version:

Assets, source, tooling, and content for PatternFly 4

331 lines (310 loc) • 11.5 kB
--- id: Toggle group section: components cssPrefix: pf-c-toggle-group beta: true --- import './toggle-group.css' ## Examples ### Default ```hbs {{#> toggle-group}} {{#> toggle-group-item}} {{#> toggle-group-button}} {{#> toggle-group-text}} Option 1 {{/toggle-group-text}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button}} {{#> toggle-group-text}} Option 2 {{/toggle-group-text}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button}} {{#> toggle-group-text}} Option 3 {{/toggle-group-text}} {{/toggle-group-button}} {{/toggle-group-item}} {{/toggle-group}} <br/> {{#> toggle-group}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--modifier="pf-m-selected"}} {{#> toggle-group-text}} Option 1 {{/toggle-group-text}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--modifier="pf-m-selected"}} {{#> toggle-group-text}} Option 2 {{/toggle-group-text}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button}} {{#> toggle-group-text}} Option 3 {{/toggle-group-text}} {{/toggle-group-button}} {{/toggle-group-item}} {{/toggle-group}} <br/> {{#> toggle-group}} {{#> toggle-group-item}} {{#> toggle-group-button}} {{#> toggle-group-text}} Option 1 {{/toggle-group-text}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button}} {{#> toggle-group-text}} Option 2 {{/toggle-group-text}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--attribute="disabled"}} {{#> toggle-group-text}} Option 3 {{/toggle-group-text}} {{/toggle-group-button}} {{/toggle-group-item}} {{/toggle-group}} ``` ### With icon ```hbs {{#> toggle-group}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--attribute='aria-label="Copy button"'}} {{#> toggle-group-icon}} <i class="fas fa-copy" aria-hidden="true"/> {{/toggle-group-icon}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--attribute='aria-label="Undo button"'}} {{#> toggle-group-icon}} <i class="fas fa-undo" aria-hidden="true"></i> {{/toggle-group-icon}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--attribute='aria-label="Share button"'}} {{#> toggle-group-icon}} <i class="fas fa-share-square" aria-hidden="true"></i> {{/toggle-group-icon}} {{/toggle-group-button}} {{/toggle-group-item}} {{/toggle-group}} <br/> {{#> toggle-group}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--modifier="pf-m-selected" toggle-group-button--attribute='aria-label="Copy button"'}} {{#> toggle-group-icon}} <i class="fas fa-copy" aria-hidden="true"/> {{/toggle-group-icon}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--attribute='aria-label="Undo button"'}} {{#> toggle-group-icon}} <i class="fas fa-undo" aria-hidden="true"></i> {{/toggle-group-icon}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--attribute='aria-label="Share button"'}} {{#> toggle-group-icon}} <i class="fas fa-share-square" aria-hidden="true"></i> {{/toggle-group-icon}} {{/toggle-group-button}} {{/toggle-group-item}} {{/toggle-group}} <br/> {{#> toggle-group}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--attribute='aria-label="Copy button"'}} {{#> toggle-group-icon}} <i class="fas fa-copy" aria-hidden="true"/> {{/toggle-group-icon}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--attribute='aria-label="Undo button"'}} {{#> toggle-group-icon}} <i class="fas fa-undo" aria-hidden="true"></i> {{/toggle-group-icon}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--attribute='aria-label="Share button" disabled'}} {{#> toggle-group-icon}} <i class="fas fa-share-square" aria-hidden="true"></i> {{/toggle-group-icon}} {{/toggle-group-button}} {{/toggle-group-item}} {{/toggle-group}} ``` ### Icon-and-text ```hbs {{#> toggle-group}} {{#> toggle-group-item}} {{#> toggle-group-button}} {{#> toggle-group-icon}} <i class="fas fa-copy" aria-hidden="true"/> {{/toggle-group-icon}} {{#> toggle-group-text}} Copy {{/toggle-group-text}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--attribute='aria-label="Undo button"'}} {{#> toggle-group-icon}} <i class="fas fa-undo" aria-hidden="true"></i> {{/toggle-group-icon}} {{#> toggle-group-text}} Undo {{/toggle-group-text}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--modifier="pf-m-selected"}} {{#> toggle-group-icon}} <i class="fas fa-share-square" aria-hidden="true"></i> {{/toggle-group-icon}} {{#> toggle-group-text}} Share {{/toggle-group-text}} {{/toggle-group-button}} {{/toggle-group-item}} {{/toggle-group}} <br/> {{#> toggle-group}} {{#> toggle-group-item}} {{#> toggle-group-button}} {{#> toggle-group-text}} Copy {{/toggle-group-text}} {{#> toggle-group-icon}} <i class="fas fa-copy" aria-hidden="true"/> {{/toggle-group-icon}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button}} {{#> toggle-group-text}} Undo {{/toggle-group-text}} {{#> toggle-group-icon}} <i class="fas fa-undo" aria-hidden="true"></i> {{/toggle-group-icon}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--modifier="pf-m-selected"}} {{#> toggle-group-text}} Share {{/toggle-group-text}} {{#> toggle-group-icon}} <i class="fas fa-share-square" aria-hidden="true"></i> {{/toggle-group-icon}} {{/toggle-group-button}} {{/toggle-group-item}} {{/toggle-group}} ``` ### Light ```hbs {{#> toggle-group}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--modifier="pf-m-light"}} {{#> toggle-group-text}} Option 1 {{/toggle-group-text}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--modifier="pf-m-light"}} {{#> toggle-group-text}} Option 2 {{/toggle-group-text}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--modifier="pf-m-light pf-m-selected"}} {{#> toggle-group-text}} Option 3 {{/toggle-group-text}} {{/toggle-group-button}} {{/toggle-group-item}} {{/toggle-group}} <br/> {{#> toggle-group}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--modifier="pf-m-light" toggle-group-button--attribute='aria-label="Copy button"'}} {{#> toggle-group-icon}} <i class="fas fa-copy" aria-hidden="true"/> {{/toggle-group-icon}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--modifier="pf-m-light" toggle-group-button--attribute='aria-label="Undo button"'}} {{#> toggle-group-icon}} <i class="fas fa-undo" aria-hidden="true"></i> {{/toggle-group-icon}} {{/toggle-group-button}} {{/toggle-group-item}} {{> divider divider--type="div" divider--modifier="pf-m-vertical"}} {{#> toggle-group-item}} {{#> toggle-group-button toggle-group-button--modifier="pf-m-light pf-m-selected" toggle-group-button--attribute='aria-label="Share button"'}} {{#> toggle-group-icon}} <i class="fas fa-share-square" aria-hidden="true"></i> {{/toggle-group-icon}} {{/toggle-group-button}} {{/toggle-group-item}} {{/toggle-group}} ``` ## Documentation ### Accessibility | Attribute | Applied to | Outcome | | -- | -- | -- | | `aria-label="[button label text]"` | `.pf-c-toggle-group__button` | Provides an accessible name for the button when an icon is used instead of text. **Required when icon is used with no supporting text** | | `disabled` | `.pf-c-toggle-group__button` | When a button element is used, indicates that it is unavailable and removes it from keyboard focus. **Required when button is disabled** | ### Usage | Class | Applied to | Outcome | | -- | -- | -- | | `.pf-c-toggle-group` | `<div>` | Initiates the toggle group. **Required** | | `.pf-c-toggle-group__button` | `<button>` | Initiates the toggle group button. **Required** | | `.pf-c-toggle-group__item` | `<div>` | Initiates the toggle group item wrapper. **Required** | | `.pf-c-toggle-group__text` | `<span>` | Initiates the toggle button text element. | | `.pf-c-toggle-group__icon` | `<span>` | Initiates the toggle button icon element. | | `.pf-m-selected` | `.pf-c-toggle-group__button` | Modifies the toggle button group button for the selected state. | | `.pf-m-light` | `.pf-c-toggle-group__button` | Modifies the toggle button group button to have a light background to be used on a darker background. |