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{n as i,t as a}from"./TreeMultiSelect-BC_n1Wb-.js";import{n as o,r as s,t as c}from"./treeStoryFixtures-Ci7STpiz.js";var l=t({BalancedColumns:()=>y,Basic:()=>h,FirstTwoLevelsExpanded:()=>v,MixedSelection:()=>_,OrphanProtectionColumns:()=>b,ParentCompression:()=>g,RightEdgeColumns:()=>x,__namedExportsOrder:()=>S,default:()=>m});function u({initialValue:e={},label:t=`TreeMultiSelect`,description:n,optionsLayout:r=`tree`,nodes:i=c,defaultExpandedCodeKeys:o}){let[s,l]=(0,d.useState)(e);return(0,f.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,f.jsx)(a,{label:t,description:n,nodes:i,value:s,onChange:l,optionsLayout:r,defaultExpandedCodeKeys:o}),(0,f.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,JSON.stringify(s)]})]})}var d,f,p,m,h,g,_,v,y,b,x,S;function C(){return(C=e((()=>{d=n(),i(),o(),f=r(),p=Array.from({length:66},(e,t)=>{let n=String(t+1).padStart(2,`0`),r=`D${n}`;return{id:`DIVISION:${r}`,codeKey:`DIVISION`,value:r,label:`Дивизион ${n}`,code:r,searchText:`${r} Дивизион ${n}`}}),m={title:`Shared/UI/TreeMultiSelect`,component:a,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узлов`,description:`Мультивыбор с канонизацией subtree в ближайший parent.`,nodes:c,value:{},onChange:()=>{}},argTypes:{nodes:{control:!1},value:{control:!1},onChange:{control:!1}}},h={render:()=>(0,f.jsx)(u,{initialValue:{OWNER:[`P0001`]}})},g={render:()=>(0,f.jsx)(u,{label:`Компрессия parent`,description:`Когда выбран весь subtree, наружу может уйти только родительский узел.`,initialValue:{REGION:[`R01`]}})},_={render:()=>(0,f.jsx)(u,{label:`Смешанный выбор`,description:`Пример mixed frontier по соседним уровням.`,initialValue:{BRANCH:[`B0101`],OWNER:[`P0004`]}})},v={render:()=>(0,f.jsx)(u,{label:`Раскрыты два уровня`,description:`Уровни REGION и BRANCH раскрыты по умолчанию, остальные уровни остаются закрытыми.`,defaultExpandedCodeKeys:[`REGION`,`BRANCH`]})},y={render:()=>(0,f.jsx)(u,{label:`Все уровни в столбцах`,description:`Popover подбирает число столбцов по количеству опций и доступному viewport.`,optionsLayout:`columns`,initialValue:{BRANCH:[`B0101`]}})},b={render:()=>(0,f.jsx)(u,{label:`Защита начала большой группы`,description:`Начало группы остаётся в текущем столбце при трёх свободных строках; при одной или двух переносится в новый.`,optionsLayout:`columns`,nodes:s})},x={render:()=>(0,f.jsx)(`div`,{style:{display:`flex`,minHeight:`calc(100vh - 32px)`,alignItems:`center`,justifyContent:`flex-end`},children:(0,f.jsx)(`div`,{style:{width:260},children:(0,f.jsx)(u,{label:`Контрол у правой границы`,description:`Popover для 66 опций должен сравнить вертикальные и горизонтальные стороны и остаться внутри viewport.`,optionsLayout:`columns`,nodes:p})})})},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
  render: () => <StatefulTreeMultiSelect initialValue={{
    OWNER: ["P0001"]
  }} />
}`,...h.parameters?.docs?.source}}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
  render: () => <StatefulTreeMultiSelect label="Компрессия parent" description="Когда выбран весь subtree, наружу может уйти только родительский узел." initialValue={{
    REGION: ["R01"]
  }} />
}`,...g.parameters?.docs?.source}}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
  render: () => <StatefulTreeMultiSelect label="Смешанный выбор" description="Пример mixed frontier по соседним уровням." initialValue={{
    BRANCH: ["B0101"],
    OWNER: ["P0004"]
  }} />
}`,..._.parameters?.docs?.source}}},v.parameters={...v.parameters,docs:{...v.parameters?.docs,source:{originalSource:`{
  render: () => <StatefulTreeMultiSelect label="Раскрыты два уровня" description="Уровни REGION и BRANCH раскрыты по умолчанию, остальные уровни остаются закрытыми." defaultExpandedCodeKeys={["REGION", "BRANCH"]} />
}`,...v.parameters?.docs?.source}}},y.parameters={...y.parameters,docs:{...y.parameters?.docs,source:{originalSource:`{
  render: () => <StatefulTreeMultiSelect label="Все уровни в столбцах" description="Popover подбирает число столбцов по количеству опций и доступному viewport." optionsLayout="columns" initialValue={{
    BRANCH: ["B0101"]
  }} />
}`,...y.parameters?.docs?.source}}},b.parameters={...b.parameters,docs:{...b.parameters?.docs,source:{originalSource:`{
  render: () => <StatefulTreeMultiSelect label="Защита начала большой группы" description="Начало группы остаётся в текущем столбце при трёх свободных строках; при одной или двух переносится в новый." optionsLayout="columns" nodes={orphanProtectionTreeNodes} />
}`,...b.parameters?.docs?.source}}},x.parameters={...x.parameters,docs:{...x.parameters?.docs,source:{originalSource:`{
  render: () => <div style={{
    display: "flex",
    minHeight: "calc(100vh - 32px)",
    alignItems: "center",
    justifyContent: "flex-end"
  }}>
            <div style={{
      width: 260
    }}>
                <StatefulTreeMultiSelect label="Контрол у правой границы" description="Popover для 66 опций должен сравнить вертикальные и горизонтальные стороны и остаться внутри viewport." optionsLayout="columns" nodes={rightEdgeTreeNodes} />
            </div>
        </div>
}`,...x.parameters?.docs?.source}}},S=[`Basic`,`ParentCompression`,`MixedSelection`,`FirstTwoLevelsExpanded`,`BalancedColumns`,`OrphanProtectionColumns`,`RightEdgeColumns`]})))()}export{b as a,l as c,_ as i,C as l,h as n,g as o,v as r,x as s,y as t};