import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t}from"./iframe-GrlyTB2d.js";import{i as n,r}from"./react-qN2cStNd.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d}from"./blocks-DkLPipTQ.js";import{a as f,c as p,i as m,l as h,n as g,o as _,r as v,s as y,t as b,u as x}from"./Tabs.stories-DupvhpD5.js";function S(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(s,{of:h,parameters:{docs:{toc:!0}}}),`
`,(0,w.jsx)(u,{children:`Tabs`}),`
`,(0,w.jsx)(o,{children:`Набор tabs-компонентов с разделением простого scroll-сценария и составного panel-layout сценария`}),`
`,(0,w.jsxs)(t.p,{children:[`После рефакторинга `,(0,w.jsx)(t.code,{children:`tabs`}),` разделены на два независимых сценария:`]}),`
`,(0,w.jsxs)(t.ul,{children:[`
`,(0,w.jsxs)(t.li,{children:[(0,w.jsx)(t.code,{children:`TabsBox`}),` — простой items-based компонент, который сам управляет областью панели и её прокруткой.`]}),`
`,(0,w.jsxs)(t.li,{children:[(0,w.jsx)(t.code,{children:`TabsLayout`}),` — compound-компонент, который управляет только переключением вкладок и каркасом панели.`]}),`
`,(0,w.jsxs)(t.li,{children:[(0,w.jsx)(t.code,{children:`Tabs`}),` — deprecated-совместимость для старого API. Используется только как переходный фасад.`]}),`
`]}),`
`,(0,w.jsx)(t.h2,{id:`что-выбрать`,children:`Что выбрать`}),`
`,(0,w.jsxs)(t.ul,{children:[`
`,(0,w.jsxs)(t.li,{children:[`Выбирай `,(0,w.jsx)(t.code,{children:`TabsBox`}),`, если у вкладки один основной scroll-контент и встроенный padding подходит по умолчанию.`]}),`
`,(0,w.jsxs)(t.li,{children:[`Выбирай `,(0,w.jsx)(t.code,{children:`TabsLayout`}),`, если внутри панели нужны `,(0,w.jsx)(t.code,{children:`toolbar`}),`, `,(0,w.jsx)(t.code,{children:`footer`}),` или несколько независимых scroll-областей.`]}),`
`,(0,w.jsxs)(t.li,{children:[`Используй `,(0,w.jsx)(t.code,{children:`Tabs`}),` только для постепенной миграции существующего кода.`]}),`
`]}),`
`,(0,w.jsx)(t.h2,{id:`tabsbox`,children:`TabsBox`}),`
`,(0,w.jsx)(d,{of:b}),`
`,(0,w.jsx)(i,{of:b}),`
`,(0,w.jsx)(t.pre,{children:(0,w.jsx)(t.code,{className:`language-tsx`,children:`import { TabsBox, type TabsBoxItem } from "@/shared/ui";

const items: TabsBoxItem[] = [
	{ id: "profile", title: "Профиль", content: <div>Содержимое профиля</div> },
	{ id: "settings", title: "Настройки", content: <div>Содержимое настроек</div> }
];

export function Example() {
	return <TabsBox items={items} aria-label="Разделы профиля" />;
}
`})}),`
`,(0,w.jsxs)(t.p,{children:[(0,w.jsx)(t.code,{children:`TabsBox`}),` сохраняет встроенный padding панели, поддерживает `,(0,w.jsx)(t.code,{children:`loading`}),`/`,(0,w.jsx)(t.code,{children:`empty`}),` и остаётся подходящим дефолтом для модалок, карточек и классических вкладок с одним scroll-контейнером.`]}),`
`,(0,w.jsxs)(t.h3,{id:`сценарии-tabsbox`,children:[`Сценарии `,(0,w.jsx)(t.code,{children:`TabsBox`})]}),`
`,(0,w.jsx)(d,{of:g}),`
`,(0,w.jsx)(d,{of:m}),`
`,(0,w.jsx)(d,{of:v}),`
`,(0,w.jsx)(d,{of:f}),`
`,(0,w.jsx)(d,{of:p}),`
`,(0,w.jsx)(d,{of:_}),`
`,(0,w.jsx)(t.h2,{id:`tabslayout`,children:`TabsLayout`}),`
`,(0,w.jsx)(d,{of:y}),`
`,(0,w.jsx)(t.pre,{children:(0,w.jsx)(t.code,{className:`language-tsx`,children:`import { Scrollable, TabsLayout } from "@/shared/ui";

export function Example() {
	return (
		<TabsLayout bordered h100 aria-label="Панели документа">
			<TabsLayout.Tab id="details" title="Детали">
				<TabsLayout.Toolbar>Панель инструментов</TabsLayout.Toolbar>
				<TabsLayout.Content>
					<Scrollable className="h100">Контент сам управляет scroll.</Scrollable>
				</TabsLayout.Content>
				<TabsLayout.Footer>Футер панели</TabsLayout.Footer>
			</TabsLayout.Tab>
		</TabsLayout>
	);
}
`})}),`
`,(0,w.jsxs)(t.p,{children:[`Семантика `,(0,w.jsx)(t.code,{children:`TabsLayout`}),` после рефакторинга:`]}),`
`,(0,w.jsxs)(t.ul,{children:[`
`,(0,w.jsxs)(t.li,{children:[(0,w.jsx)(t.code,{children:`Toolbar`}),` и `,(0,w.jsx)(t.code,{children:`Footer`}),` всегда исключены из scroll-контента.`]}),`
`,(0,w.jsxs)(t.li,{children:[(0,w.jsx)(t.code,{children:`Content`}),` не получает встроенный `,(0,w.jsx)(t.code,{children:`overflow`}),` и не оборачивается во внутренний padding от tabs-компонента.`]}),`
`,(0,w.jsxs)(t.li,{children:[(0,w.jsx)(t.code,{children:`loading`}),` и `,(0,w.jsx)(t.code,{children:`empty`}),` состояния рендерятся снаружи вызывающим кодом.`]}),`
`]}),`
`,(0,w.jsx)(t.h2,{id:`api`,children:`API`}),`
`,(0,w.jsx)(l,{of:h}),`
`,(0,w.jsx)(t.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
`,(0,w.jsx)(a,{includePrimary:!1})]})}function C(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,w.jsx)(t,{...e,children:(0,w.jsx)(S,{...e})}):S(e)}var w;function T(){return(T=e((()=>{w=t(),r(),c(),x()})))()}T();export{C as default};