@siberiaweb/components
Version:
84 lines (64 loc) • 1.72 kB
text/typescript
import CSS from "./CSS";
import WebComponent from "@siberiaweb/webcomponent/lib/WebComponent";
/**
* Вкладка.
*/
export default class Tab extends WebComponent {
/**
* Наименование компонента.
*/
public static readonly COMPONENT_NAME = "sw-tab";
/**
* Наименование вкладки.
*/
public static readonly ATTR_NAME: string = "name";
/**
* Активная вкладка.
*/
public static readonly ATTR_ACTIVE: string = "active";
/**
* @override
*/
protected firstConnectedCallback() {
super.firstConnectedCallback();
this.classList.add( CSS.TAB );
}
/**
* Получение признака, что вкладка активна.
*/
public get active(): boolean {
return this.hasAttribute( Tab.ATTR_ACTIVE );
}
/**
* Установка признака, что вкладка активна.
*
* @param value Значение.
*/
public set active(
value: boolean
) {
this.toggleAttribute( Tab.ATTR_ACTIVE, value );
}
/**
* Получение наименования.
*/
public get name(): string {
return this.getAttributeOrDefault( Tab.ATTR_NAME, "" );
}
/**
* Установка наименования.
*
* @param value Значение.
*/
public set name(
value: string
) {
this.setAttribute( Tab.ATTR_NAME, value );
}
/**
* Конструктор.
*/
constructor() {
super();
}
}