PathLogs UI
English

Компоненты

Menu

Складка для второстепенных действий с выпадающей панелью.

Складка для второстепенных действий: кнопка «Ещё» и выпадающая панель. Внутрь кладут готовые кнопки как есть — им не нужно ничего знать про меню.

Пример

Пункт с href рендерится ссылкой, а не кнопкой, — чтобы работали Ctrl+клик и открытие в новой вкладке.

Диалоги внутри меню

Самый частый сценарий: пункт меню открывает модальное окно. Наивная реализация здесь ломается.

tsx
<Menu>
  <MenuItem onClick={() => setOpen(true)}>Удалить проект</MenuItem>
  <ConfirmDialog open={open} onConfirm={remove} onCancel={() => setOpen(false)} />
</Menu>

Своя кнопка

Стандартная кнопка — три точки с подписью. Если нужна другая, передайте trigger: он получает состояние открытости и переключатель.

tsx
<Menu
  trigger={({ open, toggle }) => (
    <Button variant={open ? "primary" : "secondary"} onClick={toggle}>
      Действия {open ? "▲" : "▼"}
    </Button>
  )}
>
  <MenuItem onClick={…}>…</MenuItem>
</Menu>

Пропсы

children*ReactNode

Содержимое панели.

labelstring

по умолчанию: "More"

Подпись кнопки. На узком экране скрывается, остаётся иконка.

trigger(props: { open, toggle }) => ReactNode

Своя кнопка вместо стандартной.

countnumber

Сколько действий спрятано — числом на кнопке.

align"start" | "end"

по умолчанию: "end"

С какой стороны выпадает панель.

tipstring

Подсказка на кнопке.

MenuItem принимает onClick или href, icon, tone (default либо danger) и disabled.