File

src/accordion/accordion-item.component.ts

Metadata

selector ibm-accordion-item

Index

Properties
Methods
Inputs
Outputs
HostBindings

Constructor

constructor()

Inputs

ariaLevel

Default value: 3

expanded

Default value: false

id
title

Outputs

selected $event type: EventEmitter

HostBindings

attr.role
attr.role:
Default value : heading
class.bx--accordion__item
class.bx--accordion__item:
Default value : true
style.display
style.display:
Default value : list-item

Methods

Public toggleExpanded
toggleExpanded()
Returns : void

Properties

Static accordionItemCount
accordionItemCount:
Default value : 0
import {
	Component,
	Input,
	HostBinding,
	Output,
	EventEmitter
} from "@angular/core";

@Component({
	selector: "ibm-accordion-item",
	template: `
		<button
			[attr.aria-expanded]="expanded"
			[attr.aria-controls]="id"
			(click)="toggleExpanded()"
			class="bx--accordion__heading">
			<svg
				class="bx--accordion__arrow"
				width="7"
				height="12"
				viewBox="0 0 7 12">
          		<path fill-rule="nonzero" d="M5.569 5.994L0 .726.687 0l6.336 5.994-6.335 6.002L0 11.27z"/>
			</svg>
			 <p class="bx--accordion__title">{{title}}</p>
		</button>
		<div [id]="id" class="bx--accordion__content">
			<ng-content></ng-content>
		</div>
	`
})
export class AccordionItem {
	static accordionItemCount = 0;
	@Input() title = `Title ${AccordionItem.accordionItemCount}`;
	@Input() id = `accordion-item-${AccordionItem.accordionItemCount}`;
	@Output() selected = new EventEmitter();

	@HostBinding("class.bx--accordion__item") itemClass = true;
	@HostBinding("class.bx--accordion__item--active") @Input() expanded = false;
	@HostBinding("style.display") itemType = "list-item";
	@HostBinding("attr.role") role = "heading";
	@HostBinding("attr.aria-level") @Input() ariaLevel = 3;

	constructor() {
		AccordionItem.accordionItemCount++;
	}

	public toggleExpanded() {
		this.expanded = !this.expanded;
		this.selected.emit({id: this.id, expanded: this.expanded});
	}
}
Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""