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