PathLogs UI
English

Компоненты

ConfirmDialog

Подтверждение действия вместо window.confirm.

Подтверждение действия вместо window.confirm: то же назначение, но в стиле приложения, с состоянием «выполняется» и без блокировки потока.

Пример

Пропсы

open*boolean

Показано ли окно.

title*string

Вопрос — коротко и по делу.

messagestring

Последствия действия: что именно произойдёт и что нельзя будет отменить.

onConfirm*() => void

Подтверждение. Окно само не закрывается — закройте его, когда действие завершится.

onCancel*() => void

Отказ.

pendingboolean

по умолчанию: false

Действие выполняется: кнопки заблокированы, окно не закрыть.

tone"danger" | "accent"

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

Разрушающее действие или обычный вопрос.

confirmLabelstring

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

Подпись кнопки подтверждения.

cancelLabelstring

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

Подпись кнопки отказа.

pendingLabelstring

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

Подпись во время выполнения.

Тон

danger — восклицательный знак в треугольнике и красная кнопка: для удаления и всего необратимого. accent — вопросительный знак в круге: для обычных «вы уверены?».

Своя обёртка

Подписи по умолчанию английские. Чтобы не повторять русские в каждом вызове, заведите в приложении тонкую обёртку:

src/components/Confirm.tsx
import { ConfirmDialog, type ConfirmDialogProps } from "@toimetdev/pathlogs-core";

export function Confirm(props: ConfirmDialogProps) {
  return (
    <ConfirmDialog
      confirmLabel="Подтвердить"
      cancelLabel="Отмена"
      pendingLabel="Выполняем…"
      {...props}
    />
  );
}

Фреймворк на такие обёртки не претендует: набор подписей зависит от тона продукта, а не от компонента.