Skip to content

Plank

Кликабельная плашка.

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

Обратите внимание! Пропс path более приоритетный чем icon. А action приоритетнее arrow, и bulb приоритетнее action.

HTML, Vue, Angular

html
<ds-plank
  id="plank"
  text="Текст плашки"
  subtext="Дополнительный текст"
  icon="avatar"
  action="avatar"
>
</ds-plank>

<script>
  // Демонстрация получения ввода на элементе
  const plank = document.getElementById('plank');
  if (plank) {
    plank.addEventListener('input', (e) => {
      console.log('Ввод на плашке:', e.target?.getAttribute('id'));
    });
  }
</script>

React

js
import { useCallback } from 'react';
import { Plank } from '@rir/ds-library';

function Component() { 
  const onInput = useCallback((e: Event) => {
    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
    // @ts-expect-error
    console.log('Ввод на плашке: ', e.target?.getAttribute('id'));
  }, []);

  return (
    <>
      <Plank
        text="Текст плашки"
        subtext="Дополнительный текст"
        icon="avatar"
        action="avatar"
        onInput={onInput}
      ></Plank>
    </>
  );
}

export default Component;

API

Props

NameTypeDescriptionDefault
textStringОсновной текст плашки''
subtextStringДополнительный текст плашки''
iconStringИия иконки (без '_16' в конце)''
pathStringПриоритетнее чем icon. Путь до ресурса''
arrowBooleanПлашка со стрелочкой справа?false
actionStringПриоритетнее чем arrow. Иия иконки в правой части плашки (без '_16' в конце)''
bulbStringПриоритетнее чем action. Текст для Bulb в правой части плашки''
selectedBooleanВыбранная, "включенная" плашка?false
_selectedundefined, String: ['true', 'false']Дублирующий литеральный атбрибутundefined
disabledBooleanНеактивная, "выключенная" плашка?false
_disabledundefined, String: ['true', 'false']Дублирующий литеральный атбрибутundefined

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

React

Angular

Vue