import{i as e}from"./preload-helper-B45gAKPr.js";import{t}from"./iframe-GmIo3IOR.js";import{E as n,a as r,d as i,f as a,l as o,m as s,n as c,p as l,r as u,u as d}from"./blocks-0RiOsxIK.js";import{t as f}from"./mdx-react-shim-DQ40dZsI.js";import{Controlled as p,ScrollableContent as m,Sizes as h,StackedModals as g,WithToolbarAndFooter as _,n as v,t as y}from"./Modal.stories-CmYJeAAz.js";function b(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(o,{of:y,parameters:{docs:{toc:!0}}}),`
`,(0,S.jsx)(l,{children:`Modal`}),`
`,(0,S.jsx)(a,{children:`Составная модалка с контентом, toolbar и footer для пользовательских диалоговых сценариев`}),`
`,(0,S.jsx)(t.p,{children:`Modal уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
Ниже можно быстро проверить базовый сценарий, а затем перейти к отдельным режимам использования и состояниям компонента. Отдельно разобраны контролируемые сценарии, размерные варианты.`}),`
`,(0,S.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
`,(0,S.jsx)(d,{}),`
`,(0,S.jsx)(r,{of:p}),`
`,(0,S.jsx)(t.pre,{children:(0,S.jsx)(t.code,{className:`language-tsx`,children:`import { useState } from "react";

import { Button } from "@/shared/ui";
import { Modal, ModalContent, ModalFooter } from "@/shared/ui";

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

	return (
		<>
			<Button onClick={() => setOpen(true)}>Открыть</Button>
			<Modal isOpen={open} title="Редактирование" onClose={() => setOpen(false)}>
				<ModalContent>Содержимое модального окна</ModalContent>
				<ModalFooter>
					<Button onClick={() => setOpen(false)}>Закрыть</Button>
				</ModalFooter>
			</Modal>
		</>
	);
}
`})}),`
`,(0,S.jsx)(t.h2,{id:`практические-рекомендации`,children:`Практические рекомендации`}),`
`,(0,S.jsxs)(t.ul,{children:[`
`,(0,S.jsx)(t.li,{children:`Если состояние должно жить во внешней форме или модели, ориентируйтесь на контролируемый режим из документации.`}),`
`,(0,S.jsx)(t.li,{children:`Проверьте размер компонента в реальном контексте интерфейса: в таблицах, тулбарах и формах требования обычно отличаются.`}),`
`]}),`
`,(0,S.jsx)(t.h2,{id:`сценарии-использования`,children:`Сценарии использования`}),`
`,(0,S.jsx)(t.h3,{id:`компонент-работает-в-контролируемом-режиме-когда-состояние-хранится-во-внешнем-компоненте`,children:`Компонент работает в контролируемом режиме, когда состояние хранится во внешнем компоненте`}),`
`,(0,S.jsx)(t.p,{children:`Компонент работает в контролируемом режиме, когда состояние хранится во внешнем компоненте.`}),`
`,(0,S.jsx)(u,{of:p}),`
`,(0,S.jsx)(t.h3,{id:`композиция-с-toolbar-и-footer`,children:`Композиция с toolbar и footer`}),`
`,(0,S.jsx)(t.p,{children:`Композиция с toolbar и footer.`}),`
`,(0,S.jsx)(u,{of:_}),`
`,(0,S.jsx)(t.h3,{id:`прокручиваемое-содержимое-внутри-контейнера`,children:`Прокручиваемое содержимое внутри контейнера`}),`
`,(0,S.jsx)(t.p,{children:`Прокручиваемое содержимое внутри контейнера.`}),`
`,(0,S.jsx)(u,{of:m}),`
`,(0,S.jsx)(t.h3,{id:`сравнение-размеров-компонента`,children:`Сравнение размеров компонента`}),`
`,(0,S.jsx)(t.p,{children:`Сравнение размеров компонента.`}),`
`,(0,S.jsx)(u,{of:h}),`
`,(0,S.jsx)(t.h3,{id:`несколько-модалок-одновременно`,children:`Несколько модалок одновременно`}),`
`,(0,S.jsx)(t.p,{children:`Несколько модалок одновременно.`}),`
`,(0,S.jsx)(u,{of:g}),`
`,(0,S.jsx)(t.h2,{id:`api`,children:`API`}),`
`,(0,S.jsx)(c,{of:y}),`
`,(0,S.jsx)(t.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
`,(0,S.jsx)(i,{includePrimary:!1})]})}function x(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,S.jsx)(t,{...e,children:(0,S.jsx)(b,{...e})}):b(e)}var S;e((()=>{S=t(),f(),s(),v()}))();export{x as default};