import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{n as r}from"./iframe-DaN-XFub.js";import{a as i,c as a,i as o,l as s,n as c,o as l,s as u}from"./odataStoryFixtures-CDDaJZKW.js";import{n as d,t as f}from"./useODataTreeData-CvsoLfiG.js";import{n as p,t as m}from"./TreeMultiSelect-BC_n1Wb-.js";function h({label:e,description:t,disabled:n,size:r,placeholder:i,query:a,defaultQuery:o,onQuery:s,optionsLayout:c,value:l,onChange:u,odata:f,segments:p,model:h,defaultExpandedCodeKeys:_}){let v=d({odata:f,segments:p,model:h});return(0,g.jsx)(m,{label:e,description:t,disabled:n||v.isLoading,size:r,placeholder:i??v.placeholder,nodes:v.nodes,value:l,onChange:u,query:a,defaultQuery:o,onQuery:s,optionsLayout:c,defaultExpandedCodeKeys:_,isLoading:v.isLoading,error:v.isError?`Ошибка загрузки`:void 0})}var g;function _(){return(_=e((()=>{f(),p(),g=r(),h.__docgenInfo={description:``,methods:[],displayName:`ODataTreeMultiSelect`,props:{model:{required:!1,tsType:{name:`ODataDependentBaseProps["model"]`,raw:`ODataDependentBaseProps["model"]`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},optionsLayout:{required:!1,tsType:{name:`union`,raw:`"tree" | "columns"`,elements:[{name:`literal`,value:`"tree"`},{name:`literal`,value:`"columns"`}]},description:`Переключает способ показа загруженного OData-дерева, не меняя формат value и запросов.`},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:"Ключи OData-уровней, раскрываемых после появления загруженных узлов.\nВ режиме `columns` дерево по-прежнему отображается полностью раскрытым."}},composes:[`Omit`]}})))()}var v=t({BalancedColumns:()=>D,Basic:()=>w,ErrorState:()=>A,LargeRootGroupsColumns:()=>O,LoadingState:()=>k,MixedSelection:()=>E,ParentCompression:()=>T,__namedExportsOrder:()=>j,default:()=>C});function y({initialValue:e={},odata:t=c,segments:n=a,label:r=`ODataTreeMultiSelect`,description:i,optionsLayout:o=`tree`,defaultExpandedCodeKeys:s}){let[l,u]=(0,b.useState)(e);return(0,x.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,x.jsx)(h,{label:r,description:i,odata:t,segments:n,value:l,onChange:u,optionsLayout:o,defaultExpandedCodeKeys:s}),(0,x.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,JSON.stringify(l)]})]})}var b,x,S,C,w,T,E,D,O,k,A,j;function M(){return(M=e((()=>{b=n(),o(),_(),x=r(),S={REGION:a.REGION,OWNER:a.OWNER},C={title:`Shared/UI/ODataTreeMultiSelect`,component:h,decorators:[s],beforeEach:i,parameters:{atomicCanvas:!0,layout:`padded`,odataMockMode:`success`},args:{label:`OData дерево`,description:`Multi-select поверх одной OData-цепочки.`,odata:c,segments:a,value:{},onChange:()=>{}},argTypes:{segments:{control:!1},value:{control:!1},onChange:{control:!1}}},w={render:()=>(0,x.jsx)(y,{initialValue:{OWNER:[u.owner]}})},T={render:()=>(0,x.jsx)(y,{label:`Компрессия subtree`,description:`Пример, когда наружу уходит узел верхнего уровня вместо полного списка потомков.`,initialValue:{REGION:[u.region]}})},E={render:()=>(0,x.jsx)(y,{label:`Смешанный выбор`,description:`Смешанный frontier по соседним уровням в OData-дереве.`,initialValue:{BRANCH:[u.branch],OWNER:[u.ownerAlt]}})},D={render:()=>(0,x.jsx)(y,{label:`OData tree в столбцах`,description:`Режим columns открывает все уровни независимо от пустой настройки defaultExpandedCodeKeys.`,optionsLayout:`columns`,defaultExpandedCodeKeys:[],initialValue:{BRANCH:[u.branch]}})},O={render:()=>(0,x.jsx)(y,{label:`Крупные OData-группы`,description:`Сокращённая цепочка REGION → OWNER создаёт несколько root-групп для проверки порога из трёх строк.`,optionsLayout:`columns`,segments:S})},k={parameters:{odataMockMode:`loading`},render:()=>(0,x.jsx)(y,{odata:l.loading,description:`Сценарий загрузки дерева.`})},A={parameters:{odataMockMode:`metadataError`},render:()=>(0,x.jsx)(y,{odata:l.metadataError,description:`Сценарий ошибки metadata дерева.`})},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
  render: () => <StatefulODataTreeMultiSelect initialValue={{
    OWNER: [storyValues.owner]
  }} />
}`,...w.parameters?.docs?.source}}},T.parameters={...T.parameters,docs:{...T.parameters?.docs,source:{originalSource:`{
  render: () => <StatefulODataTreeMultiSelect label="Компрессия subtree" description="Пример, когда наружу уходит узел верхнего уровня вместо полного списка потомков." initialValue={{
    REGION: [storyValues.region]
  }} />
}`,...T.parameters?.docs?.source}}},E.parameters={...E.parameters,docs:{...E.parameters?.docs,source:{originalSource:`{
  render: () => <StatefulODataTreeMultiSelect label="Смешанный выбор" description="Смешанный frontier по соседним уровням в OData-дереве." initialValue={{
    BRANCH: [storyValues.branch],
    OWNER: [storyValues.ownerAlt]
  }} />
}`,...E.parameters?.docs?.source}}},D.parameters={...D.parameters,docs:{...D.parameters?.docs,source:{originalSource:`{
  render: () => <StatefulODataTreeMultiSelect label="OData tree в столбцах" description="Режим columns открывает все уровни независимо от пустой настройки defaultExpandedCodeKeys." optionsLayout="columns" defaultExpandedCodeKeys={[]} initialValue={{
    BRANCH: [storyValues.branch]
  }} />
}`,...D.parameters?.docs?.source}}},O.parameters={...O.parameters,docs:{...O.parameters?.docs,source:{originalSource:`{
  render: () => <StatefulODataTreeMultiSelect label="Крупные OData-группы" description="Сокращённая цепочка REGION → OWNER создаёт несколько root-групп для проверки порога из трёх строк." optionsLayout="columns" segments={largeRootGroupSegments} />
}`,...O.parameters?.docs?.source}}},k.parameters={...k.parameters,docs:{...k.parameters?.docs,source:{originalSource:`{
  parameters: {
    odataMockMode: "loading"
  },
  render: () => <StatefulODataTreeMultiSelect odata={odataStoryOData.loading} description="Сценарий загрузки дерева." />
}`,...k.parameters?.docs?.source}}},A.parameters={...A.parameters,docs:{...A.parameters?.docs,source:{originalSource:`{
  parameters: {
    odataMockMode: "metadataError"
  },
  render: () => <StatefulODataTreeMultiSelect odata={odataStoryOData.metadataError} description="Сценарий ошибки metadata дерева." />
}`,...A.parameters?.docs?.source}}},j=[`Basic`,`ParentCompression`,`MixedSelection`,`BalancedColumns`,`LargeRootGroupsColumns`,`LoadingState`,`ErrorState`]})))()}export{k as a,T as c,O as i,M as l,w as n,E as o,A as r,v as s,D as t};