UNPKG

@siberiaweb/components

Version:
84 lines (64 loc) 1.72 kB
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(); } }