1.1.1 • Published 5 months ago

ink-tabs v1.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

InkTabs

Простая JavaScript-библиотека табов. Посмотреть примеры можно тут.

Установка

npm i ink-tabs --save

Подключение

import InkTabs from 'ink-tabs';
// InkTabs
@use '/path/to/node_modules/ink-tabs/src/ink-tabs';
const tabs = new InkTabs('.js-tabs');
<div class="ink-tabs js-tabs">
  <ul class="ink-tabs__nav">
    <li class="ink-tabs__item"><button class="ink-tabs__button" type="button" data-tab-target="tab-one">Один</button></li>
    <li class="ink-tabs__item"><button class="ink-tabs__button" type="button">Два</button></li>
    <li class="ink-tabs__item"><button class="ink-tabs__button" type="button">Три</button></li>
    <li class="ink-tabs__item"><button class="ink-tabs__button" type="button" data-tab-load="fetch.html">Fetch Load</button></li>
    <li class="ink-tabs__item"><button class="ink-tabs__button" type="button" data-tab-link="https://www.google.com/">Google Link</button></li>
  </ul>
  <div class="ink-tabs__content">
    <div class="ink-tabs__panel">Контент Один</div>
    <div class="ink-tabs__panel">Контент Два</div>
    <div class="ink-tabs__panel">Контент Три</div>
    <div class="ink-tabs__panel">fetch</div>
    <div class="ink-tabs__panel">link</div>
  </div>
</div>

Описание по data атрибутам

Название свойстваЗначениеОписание
data-tab-target="myID"Не обязательноеИспользуйте данный атрибут если хотите задать свой ID. Если используете опцию hash: true рекомендуется прописывать id в данный атрибут.
data-tab-load="fetch.html"Не обязательноеИспользуйте данный атрибут если хотите подгрузить контент.
data-tab-link="https://www.google.com/"Не обязательноеИспользуйте данный атрибут если нужно указать ссылку на внешний ресурс.

Конфигурация

Название свойстваТипНачальное значениеОписание
defaultTabnumber, string0Таб который должен загрузиться по умолчанию. Указывать либо номер таба, либо id таба (data-tab-target).
scrollbooleanfalseВключить/выключить скролл до таба.
offsetnumber0Отступ сверху.
hashbooleanfalseОбновлять hash в адресной строке. Так же если при заходе на страницу есть хеш таба, то будет открыта эта вкладка.
a11ybooleantrueВключить/выключить доступность (accessibility).
navActiveClassstringactiveАктивный класс вкладки.
buttonActiveClassstringactiveАктивный класс кнопки.
panelActiveClassstringactiveАктивный класс панели. (При изменении данной опции, добавьте display: block; в новый класс).
isChangedfunctionСрабатывает после выбора вкладки.

Пример конфигурации

const tabs = new InkTabs('.js-tabs', {
  defaultTab: 0,
  scroll: false,
  offset: 0,
  hash: false,
  a11y: true,
  isChanged: (tab) => console.log(tab)
});
1.1.1

5 months ago

1.0.0

5 months ago