Toggle Group

A set of two-state buttons that can be pressed or released. Multiple buttons can be selected at the same time.

PreviousNext
Loading...

Installation

1

Run the CLI

Use the CLI to add the component to your project.

Loading...
1

Add the component files

Create the component directory structure and add the following files to your project.

Loading...

Examples

default

import { Component } from '@angular/core';
 
import { ZardToggleGroupComponent, type ZardToggleGroupItem } from '../toggle-group.component';
 
@Component({
  selector: 'demo-toggle-group-default',
  standalone: true,
  imports: [ZardToggleGroupComponent],
  template: ` <z-toggle-group zMode="multiple" [items]="items" [defaultValue]="['italic']" (valueChange)="onToggleChange($event)"></z-toggle-group> `,
})
export default class ToggleGroupDefaultComponent {
  items: ZardToggleGroupItem[] = [
    {
      value: 'bold',
      icon: 'bold',
      ariaLabel: 'Toggle bold',
    },
    {
      value: 'italic',
      icon: 'italic',
      ariaLabel: 'Toggle italic',
    },
    {
      value: 'underline',
      icon: 'underline',
      ariaLabel: 'Toggle underline',
    },
  ];
 
  onToggleChange(value: string | string[]) {
    console.log('Toggle group changed:', value);
  }
}
 

with text

import { Component } from '@angular/core';
 
import { ZardToggleGroupComponent, type ZardToggleGroupItem } from '../toggle-group.component';
 
@Component({
  selector: 'demo-toggle-group-with-text',
  standalone: true,
  imports: [ZardToggleGroupComponent],
  template: ` <z-toggle-group zMode="multiple" [items]="items" [defaultValue]="['italic']" (valueChange)="onToggleChange($event)"></z-toggle-group> `,
})
export default class ToggleGroupWithTextComponent {
  items: ZardToggleGroupItem[] = [
    {
      value: 'bold',
      icon: 'bold',
      label: 'Bold',
      ariaLabel: 'Toggle bold',
    },
    {
      value: 'italic',
      icon: 'italic',
      label: 'Italic',
      ariaLabel: 'Toggle italic',
    },
    {
      value: 'underline',
      icon: 'underline',
      label: 'Underline',
      ariaLabel: 'Toggle underline',
    },
  ];
 
  onToggleChange(value: string | string[]) {
    console.log('Selected formatting:', value);
  }
}
 

outline

Loading...

single

Loading...

sizes

Small

Default

Large

Loading...

Toggle Group API

Component Props

Inputs

Name Type Default Description
zValue ToggleGroupValue[] [] Array of toggle items to display
zDefault ToggleGroupValue[] [] Default value when using with forms
zSize 'sm' | 'md' | 'lg' 'md' Size variant of the toggle group
class ClassValue '' Additional CSS classes

Outputs

Name Type Description
onClick EventEmitter<ToggleGroupValue[]> Emitted when any toggle is clicked, returns current state
onHover EventEmitter<void> Emitted when mouse hovers over any toggle
onChange EventEmitter<ToggleGroupValue[]> Emitted when toggle state changes, returns updated array