import{i as e}from"./preload-helper-B45gAKPr.js";import{t}from"./iframe-NOj5DEP4.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-DBO0IAf-.js";import{t as f}from"./mdx-react-shim-BgV0cHDR.js";import{Basic as p,Empty as m,ErrorState as h,Loading as g,n as _,t as v}from"./MultiSelect.stories-_DQpGWvQ.js";function y(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(o,{of:v,parameters:{docs:{toc:!0}}}),`
`,(0,x.jsx)(l,{children:`MultiSelect`}),`
`,(0,x.jsx)(a,{children:`Мультиселект для локальных коллекций с токенами, поиском и состояниями загрузки`}),`
`,(0,x.jsx)(t.p,{children:`MultiSelect уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
Ниже можно быстро проверить базовый сценарий, а затем перейти к отдельным режимам использования и состояниям компонента. Отдельно разобраны загрузку, ошибочные состояния.`}),`
`,(0,x.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
`,(0,x.jsx)(d,{}),`
`,(0,x.jsx)(r,{of:p}),`
`,(0,x.jsx)(t.pre,{children:(0,x.jsx)(t.code,{className:`language-tsx`,children:`import { useState } from "react";

import { MultiSelect } from "@/shared/ui";

const items = [
	{ code: "MOW", label: "Москва" },
	{ code: "EKB", label: "Екатеринбург" }
];

export function Example() {
	const [value, setValue] = useState([]);
	const [query, setQuery] = useState("");

	return (
		<MultiSelect
			label="Города"
			items={items}
			value={value}
			query={query}
			onQuery={setQuery}
			onChange={setValue}
			codeKey="code"
			textKey="label"
		/>
	);
}
`})}),`
`,(0,x.jsx)(t.h2,{id:`практические-рекомендации`,children:`Практические рекомендации`}),`
`,(0,x.jsxs)(t.ul,{children:[`
`,(0,x.jsx)(t.li,{children:`Для асинхронных сценариев предусмотрите не только успешный путь, но и загрузку, пустой результат и ошибку.`}),`
`]}),`
`,(0,x.jsx)(t.h2,{id:`сценарии-использования`,children:`Сценарии использования`}),`
`,(0,x.jsx)(t.h3,{id:`базовый-сценарий-без-дополнительной-логики`,children:`Базовый сценарий без дополнительной логики`}),`
`,(0,x.jsx)(t.p,{children:`Базовый сценарий без дополнительной логики.`}),`
`,(0,x.jsx)(u,{of:p}),`
`,(0,x.jsx)(t.h3,{id:`состояние-загрузки`,children:`Состояние загрузки`}),`
`,(0,x.jsx)(t.p,{children:`Состояние загрузки.`}),`
`,(0,x.jsx)(u,{of:g}),`
`,(0,x.jsx)(t.h3,{id:`состояние-ошибки`,children:`Состояние ошибки`}),`
`,(0,x.jsx)(t.p,{children:`Состояние ошибки.`}),`
`,(0,x.jsx)(u,{of:h}),`
`,(0,x.jsx)(t.h3,{id:`пустое-состояние`,children:`Пустое состояние`}),`
`,(0,x.jsx)(t.p,{children:`Пустое состояние.`}),`
`,(0,x.jsx)(u,{of:m}),`
`,(0,x.jsx)(t.h2,{id:`api`,children:`API`}),`
`,(0,x.jsx)(c,{of:v}),`
`,(0,x.jsx)(t.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
`,(0,x.jsx)(i,{includePrimary:!1})]})}function b(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,x.jsx)(t,{...e,children:(0,x.jsx)(y,{...e})}):y(e)}var x;e((()=>{x=t(),f(),s(),_()}))();export{b as default};