Skip to content

Button

Кнопка — основной интерактивный компонент любого интерфейса. Текст в кнопке — это команда которую пользователь даёт системе — глагол неопределённой формы несовершенного вида, отвечающий на вопрос что делать: открыть, загрузить, перейти, закрыть. Может быть существительным — названием раздела или сценария, который запустится после нажатия: профиль, меню, регистрация. Либо наречием в диалоговом окне: понятно, отлично, выражающим положительное отношение пользователя к сообщению на экране.

Использование

HTML

Предположим - круглая кнопка на которой включается лоадер. Значение атрибута rounded передавать в разметку не надо.

html
<ds-button id="button" rounded text="Я твоя кнопка!"></ds-button>

<script>
  setTimeout(() => {
    const button = document.getElementById('button');
    if (button) {
      button.setAttribute('loading', true);

      setTimeout(() => {
        const button = document.getElementById('button');
        if (button) button.removeAttribute('loading');
      }, 1000);
    }
  }, 1000);
</script>

React

js
<Button _loading={loading ? 'true' : 'false'} text="Я твоя кнопка с лоадером в Реакт!" rounded></Button>

Подробнее читайте в разделе Привязывание логических атрибутов и смотрите репозитории фрейворков с примерами.

API

Props

NameTypeDescriptionDefault
tokenString: ['primary', 'secondary']Основной "тип" кнопки, два возможных значения'primary'
sizeString: ['helike', 'polyxo', 'laripha']Размер кнопки, для rounded указывать бессмысленно, они всегда 'laripha''helike'
colorenum Colors: ['rocky', 'matrix', 'lebowski', 'fargo', 'fightclub', 'gentlemen', 'aquaman', 'metropolis']Цвет кнопки, работает только когда token="primary"'rocky'
textStringТекст кнопки''
iconStringИия иконки (без '_16' в конце)''
roundedBooleanСкругленная кнопка?false
wideBooleanШирина кнопки по контенту или по доступному месту?false
_wideundefined, String: ['true', 'false']Дублирующий литеральный атбрибутundefined
disabledBooleanНеактивная, "выключенная" кнопка?false
_disabledundefined, String: ['true', 'false']Дублирующий литеральный атбрибутundefined
loadingBooleanПроисходит загрузка по кнопке?false
_loadingundefined, String: ['true', 'false']Дублирующий литеральный атбрибутundefined

Примеры проектов

React

Angular

Vue