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,u as f}from"./blocks-DkLPipTQ.js";import{a as p,c as m,i as h,l as g,n as _,o as v,r as y,s as b,t as x,u as S}from"./ODataMultiSelect.stories-BrJFErio.js";function C(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(s,{of:b,parameters:{docs:{toc:!0}}}),`
`,(0,T.jsx)(u,{children:`ODataMultiSelect`}),`
`,(0,T.jsx)(o,{children:`Мультиселект с загрузкой коллекций по OData и зависимостями от внешних фильтров`}),`
`,(0,T.jsx)(t.p,{children:`ODataMultiSelect уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
Ниже можно быстро проверить базовый сценарий, а затем перейти к отдельным режимам использования и состояниям компонента. Отдельно разобраны загрузку, ошибочные состояния.`}),`
`,(0,T.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
`,(0,T.jsx)(f,{}),`
`,(0,T.jsx)(i,{of:x}),`
`,(0,T.jsx)(t.pre,{children:(0,T.jsx)(t.code,{className:`language-tsx`,children:`import { useState } from "react";

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

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

	return (
		<ODataMultiSelect label="Подразделения" value={value} onChange={setValue} entitySet="Departments" textKey="Name" codeKey="Code" />
	);
}
`})}),`
`,(0,T.jsx)(t.h2,{id:`практические-рекомендации`,children:`Практические рекомендации`}),`
`,(0,T.jsxs)(t.ul,{children:[`
`,(0,T.jsx)(t.li,{children:`Для асинхронных сценариев предусмотрите не только успешный путь, но и загрузку, пустой результат и ошибку.`}),`
`]}),`
`,(0,T.jsx)(t.h2,{id:`сценарии-использования`,children:`Сценарии использования`}),`
`,(0,T.jsx)(t.h3,{id:`базовый-сценарий-загрузки-odata-коллекции`,children:`Базовый сценарий загрузки OData-коллекции`}),`
`,(0,T.jsx)(t.p,{children:`Базовый сценарий загрузки OData-коллекции.`}),`
`,(0,T.jsx)(d,{of:x}),`
`,(0,T.jsx)(t.h3,{id:`сценарий-скрытия-кода-option-в-интерфейсе`,children:`Сценарий скрытия кода option в интерфейсе`}),`
`,(0,T.jsx)(t.p,{children:`Сценарий скрытия кода option в интерфейсе.`}),`
`,(0,T.jsx)(d,{of:y}),`
`,(0,T.jsx)(t.h3,{id:`работа-с-текстовым-значением`,children:`Работа с текстовым значением`}),`
`,(0,T.jsx)(t.p,{children:`Работа с текстовым значением.`}),`
`,(0,T.jsx)(d,{of:m}),`
`,(0,T.jsx)(t.h3,{id:`статическая-зависимость-от-другого-фильтра`,children:`Статическая зависимость от другого фильтра`}),`
`,(0,T.jsx)(t.p,{children:`Статическая зависимость от другого фильтра.`}),`
`,(0,T.jsx)(d,{of:g}),`
`,(0,T.jsx)(t.h3,{id:`связка-нескольких-фильтров-между-собой`,children:`Связка нескольких фильтров между собой`}),`
`,(0,T.jsx)(t.p,{children:`Связка нескольких фильтров между собой.`}),`
`,(0,T.jsx)(d,{of:h}),`
`,(0,T.jsx)(t.h3,{id:`состояние-загрузки-данных`,children:`Состояние загрузки данных`}),`
`,(0,T.jsx)(t.p,{children:`Состояние загрузки данных.`}),`
`,(0,T.jsx)(d,{of:p}),`
`,(0,T.jsx)(t.h3,{id:`ошибки-загрузки-или-разбора-метаданных`,children:`Ошибки загрузки или разбора метаданных`}),`
`,(0,T.jsx)(t.p,{children:`Ошибки загрузки или разбора метаданных.`}),`
`,(0,T.jsx)(d,{of:v}),`
`,(0,T.jsx)(t.h3,{id:`деградация-при-ошибке-получения-коллекции`,children:`Деградация при ошибке получения коллекции`}),`
`,(0,T.jsx)(t.p,{children:`Текущий API-контракт журналирует transport-ошибку и возвращает пустой список значений.`}),`
`,(0,T.jsx)(d,{of:_}),`
`,(0,T.jsx)(t.h2,{id:`api`,children:`API`}),`
`,(0,T.jsx)(l,{of:b}),`
`,(0,T.jsx)(t.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
`,(0,T.jsx)(a,{includePrimary:!1})]})}function w(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,T.jsx)(t,{...e,children:(0,T.jsx)(C,{...e})}):C(e)}var T;function E(){return(E=e((()=>{T=t(),r(),c(),S()})))()}E();export{w as default};