RecallModal

RecallModal — готовый сценарий отзыва действия. Вариант из макета recallModalConfirmable включается пропом confirmText: если он передан, модалка показывает поле подтверждения.

Примеры использования

Базовый отзыв

Базовый отзыв
tsx
import { Button } from '@cloud-ru/ds-button';
import { RecallModal } from '@cloud-ru/ds-uikit-product-modal-predefined';
import { useState } from 'react';

export function RecallBasic() {
  const [open, setOpen] = useState(false);

  return (
    <>
      <Button label='Open recall modal' view='filled' appearance='primary' onClick={() => setOpen(true)} />
      <RecallModal open={open} onClose={() => setOpen(false)} onRecall={close => close()} />
    </>
  );
}

Отзыв с подтверждением

Отзыв с подтверждением
tsx
import { Button } from '@cloud-ru/ds-button';
import { RecallModal } from '@cloud-ru/ds-uikit-product-modal-predefined';
import { useState } from 'react';

export function RecallConfirmable() {
  const [open, setOpen] = useState(false);

  return (
    <>
      <Button label='Open confirmable recall modal' view='filled' appearance='primary' onClick={() => setOpen(true)} />
      <RecallModal
        open={open}
        onClose={() => setOpen(false)}
        confirmText='recall-operation-01'
        onRecall={close => close()}
      />
    </>
  );
}

Props

Types

PropsRecallModalProps
PropTypeDefaultRequiredDescription
closeOnPopstateboolean—noЗакрытие при навигации по истории
confirmTextstring—noТекст, который нужно ввести для подтверждения. Если передан — модалка показывает поле подтверждения
contentReactNode—noОсновной текст модалки
data-test-idstring—no
hideConfirmCopyButtonboolean—noСкрыть кнопку копирования текста подтверждения
loadingboolean—noСостояние загрузки кнопки отзыва
mode"aggressive" | "forced" | "regular"MODE.RegularnoРежим закрытия: Regular — overlay/Esc/кнопка; Aggressive — только кнопка; Forced — без кнопки и overlay/Esc.
onClose() => void—yesКолбэк закрытия
onRecall(onClose: () => void) => void—yesКолбэк подтверждения отзыва
openboolean—yesУправление состоянием показан/не показан
subtitleReactNode—noПодзаголовок
titleTooltipReactNode—noПодсказка рядом с заголовком

Types

RecallModalProps

Storybook

Figma