@ryuzaki13/react-foundation-ui 1.8.11 → 1.8.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/dist/chunks/defaultRenderers-u_Vep6Pj.js.map +1 -1
  2. package/dist/chunks/multi-select-DtmRtX6v.js.map +1 -1
  3. package/dist/chunks/select-MN6zDPKM.js.map +1 -1
  4. package/dist/chunks/useODataSelectBase-DR4PrY1j.js.map +1 -1
  5. package/dist/multi-select/model/useODataMultiSelect.d.ts +1 -1
  6. package/dist/multi-select/model/useODataMultiSelect.d.ts.map +1 -1
  7. package/dist/multi-select/ui/MultiSelect.d.ts +1 -1
  8. package/dist/multi-select/ui/MultiSelect.d.ts.map +1 -1
  9. package/dist/multi-select/ui/SerializableMultiSelect.d.ts.map +1 -1
  10. package/dist/multi-select/ui/defaultRenderers.d.ts +1 -1
  11. package/dist/multi-select/ui/defaultRenderers.d.ts.map +1 -1
  12. package/dist/select/model/useODataSelect.d.ts +1 -1
  13. package/dist/select/model/useODataSelect.d.ts.map +1 -1
  14. package/dist/select/model/useODataSelectBase.d.ts +1 -1
  15. package/dist/select/model/useODataSelectBase.d.ts.map +1 -1
  16. package/dist/tree-select/index.js.map +1 -1
  17. package/dist/tree-select/model/buildODataTreeNodes.d.ts +1 -1
  18. package/dist/tree-select/model/buildODataTreeNodes.d.ts.map +1 -1
  19. package/package.json +3 -3
  20. package/storybook-static/assets/{Badge-BojMuOws.js → Badge-CveIo2LZ.js} +1 -1
  21. package/storybook-static/assets/{Badge.stories-C9gJRuIO.js → Badge.stories-Bd8M64xJ.js} +1 -1
  22. package/storybook-static/assets/{BadgeList-dNEWI7-O.js → BadgeList-xT41a0VL.js} +1 -1
  23. package/storybook-static/assets/{Button-Bbt3JzIY.js → Button-C5bBSb3k.js} +1 -1
  24. package/storybook-static/assets/{Button-CrTHXWYk.js → Button-DkDgfpHL.js} +1 -1
  25. package/storybook-static/assets/{Button.stories-BaYXOBeF.js → Button.stories-CeKPeGK5.js} +1 -1
  26. package/storybook-static/assets/{CalendarView-Dp0zus1o.js → CalendarView-CEqcrblx.js} +1 -1
  27. package/storybook-static/assets/{CheckBox-BiK9yWNt.js → CheckBox-DKeFkdOt.js} +1 -1
  28. package/storybook-static/assets/{CheckBox-UzYHaD6S.js → CheckBox-OVvAarW-.js} +1 -1
  29. package/storybook-static/assets/{CheckBox.stories-C2BOiWZj.js → CheckBox.stories-CfZ0p1yo.js} +1 -1
  30. package/storybook-static/assets/{Color-6AOWCN3U-C5S4wUlD.js → Color-6AOWCN3U-BWW7zrfs.js} +1 -1
  31. package/storybook-static/assets/{ContextMenu-BWQln_tb.js → ContextMenu-kia7is1N.js} +1 -1
  32. package/storybook-static/assets/{ContextMenu-D9EZxb7d.js → ContextMenu-xn2GtiLR.js} +1 -1
  33. package/storybook-static/assets/{ContextMenu.stories-U38zPh9_.js → ContextMenu.stories-CYuy9uXF.js} +1 -1
  34. package/storybook-static/assets/{CustomOptionButton-COIOrxQn.js → CustomOptionButton-C4w-APws.js} +1 -1
  35. package/storybook-static/assets/DateInput-BiUFIihm.js +1 -0
  36. package/storybook-static/assets/{DateInput-C-entb-r.js → DateInput-DAzE5mCE.js} +1 -1
  37. package/storybook-static/assets/{DateInput.stories-NmUXQLDU.js → DateInput.stories-BcowGCRD.js} +1 -1
  38. package/storybook-static/assets/{DateRangePresetSelect-BM1L1KOo.js → DateRangePresetSelect-CQm4dNLR.js} +1 -1
  39. package/storybook-static/assets/{DateRangePresetSelect-CAJzxaq0.js → DateRangePresetSelect-RIyqNBk9.js} +1 -1
  40. package/storybook-static/assets/{DateRangePresetSelect.stories-CC47XLnD.js → DateRangePresetSelect.stories-ypGyuGfy.js} +1 -1
  41. package/storybook-static/assets/{Detail-CDluXtts.js → Detail-CEypL2Nh.js} +1 -1
  42. package/storybook-static/assets/{Detail.stories-DjniLC4n.js → Detail.stories-DNkT7B-u.js} +1 -1
  43. package/storybook-static/assets/{Dialog-bzRSgGU7.js → Dialog-BVFFQJDH.js} +1 -1
  44. package/storybook-static/assets/{Dialog-bw6cHUsz.js → Dialog-DD0grLG3.js} +1 -1
  45. package/storybook-static/assets/{Dialog.stories-C6Rs6s_p.js → Dialog.stories-DSCypHqR.js} +1 -1
  46. package/storybook-static/assets/{Disclosure-DelA6FsQ.js → Disclosure-DauUgrev.js} +1 -1
  47. package/storybook-static/assets/{Disclosure.stories-D7yUinyb.js → Disclosure.stories-B1qB8vQZ.js} +1 -1
  48. package/storybook-static/assets/{DisclosureGroup-DbK7mU_Q.js → DisclosureGroup-D9oCCeHf.js} +1 -1
  49. package/storybook-static/assets/{DocsRenderer-JROSPFPF-v3z0zVN1.js → DocsRenderer-JROSPFPF-CmSf6tXp.js} +1 -1
  50. package/storybook-static/assets/{DropZone-Cyy-ttEO.js → DropZone-D42ueN1w.js} +1 -1
  51. package/storybook-static/assets/{DropZone-CI3NW4AC.js → DropZone-D8hbPCAv.js} +1 -1
  52. package/storybook-static/assets/{DropZone.stories-S0HSpGTB.js → DropZone.stories-DO-T_Bh4.js} +1 -1
  53. package/storybook-static/assets/{DropdownMenu-Ct1bSZsE.js → DropdownMenu-CknJDoji.js} +1 -1
  54. package/storybook-static/assets/{ExpandableActionPanel-Oj3xlasj.js → ExpandableActionPanel-Dqi_bo3c.js} +1 -1
  55. package/storybook-static/assets/{ExpandableActionPanel.stories-Ch7CLkpR.js → ExpandableActionPanel.stories-BD9QZGZN.js} +1 -1
  56. package/storybook-static/assets/{Flex-UiFm8Tkc.js → Flex-CaVn1IOP.js} +1 -1
  57. package/storybook-static/assets/{Flex.stories-CaDiVlBD.js → Flex.stories-Bp9Y6q6b.js} +1 -1
  58. package/storybook-static/assets/{FloatingPopover-CTYV9W7T.js → FloatingPopover-U7tx-Jlw.js} +1 -1
  59. package/storybook-static/assets/{FormattedTableCell-D-ysSR3p.js → FormattedTableCell-pmmhsAbN.js} +1 -1
  60. package/storybook-static/assets/{Grid-CigBXPe2.js → Grid-CEpMNurH.js} +1 -1
  61. package/storybook-static/assets/{Grid.stories-ay3z9DQZ.js → Grid.stories-BM-gO5DN.js} +1 -1
  62. package/storybook-static/assets/{ImageCropper.stories-Dkce_ugb.js → ImageCropper.stories-BWz5XU6U.js} +1 -1
  63. package/storybook-static/assets/{ImageRenderer-C9_EmGBW.js → ImageRenderer-BTYZEX5t.js} +1 -1
  64. package/storybook-static/assets/{ImageRenderer.stories-C7bXaNBI.js → ImageRenderer.stories-Dz2STM95.js} +1 -1
  65. package/storybook-static/assets/{ImageView.stories-D-ZzGlk8.js → ImageView.stories-DBVe0an3.js} +1 -1
  66. package/storybook-static/assets/{ImageViewer.stories-ItcRfxyy.js → ImageViewer.stories-C4Px97lD.js} +2 -2
  67. package/storybook-static/assets/{ImageViewerRuntime-eaupID36.js → ImageViewerRuntime-TJtlJVfa.js} +1 -1
  68. package/storybook-static/assets/{Input-op4j7Beh.js → Input-CIPgijvW.js} +1 -1
  69. package/storybook-static/assets/{Input-BUDNR96c.js → Input-D8io9jVS.js} +1 -1
  70. package/storybook-static/assets/{Input.stories-DwulvJIg.js → Input.stories-SUk3aYaC.js} +1 -1
  71. package/storybook-static/assets/{InputDateTime-B_cxOp6k.js → InputDateTime-DA5pIDuE.js} +1 -1
  72. package/storybook-static/assets/{InputDateTime.stories-BueLF4HC.js → InputDateTime.stories-DeudzDSU.js} +1 -1
  73. package/storybook-static/assets/{InputFile-C8z6TPc1.js → InputFile-C5mp5Y5I.js} +1 -1
  74. package/storybook-static/assets/{InputFile-DSg7sugm.js → InputFile-CGAC7ruP.js} +1 -1
  75. package/storybook-static/assets/{InputFile.stories-C6XSbIua.js → InputFile.stories-Cx1xQ6PE.js} +1 -1
  76. package/storybook-static/assets/{InputFiles-DoatLq3q.js → InputFiles-B7OBcPJN.js} +1 -1
  77. package/storybook-static/assets/{InputFiles-DeZ84Uu_.js → InputFiles-Hzl89Ghf.js} +1 -1
  78. package/storybook-static/assets/{InputFiles.stories-BMbE8SJU.js → InputFiles.stories-CG6QjDZH.js} +1 -1
  79. package/storybook-static/assets/{InputFilesList-CsfDDqaJ.js → InputFilesList-B6htWHF1.js} +1 -1
  80. package/storybook-static/assets/{InputImage-yJSq98EH.js → InputImage-BTa4S4Wp.js} +1 -1
  81. package/storybook-static/assets/{InputImage-D_YnB2Tw.js → InputImage-CQnoblAE.js} +1 -1
  82. package/storybook-static/assets/{InputImage.stories-nivUG307.js → InputImage.stories-CEI44Eyz.js} +1 -1
  83. package/storybook-static/assets/{InteractiveComponents-IPkC_Rkg.js → InteractiveComponents-B0ypWz1x.js} +1 -1
  84. package/storybook-static/assets/{InteractiveComponents.stories-D4VzVKZJ.js → InteractiveComponents.stories-BadApta9.js} +1 -1
  85. package/storybook-static/assets/{LayoutPicker-aMzPN5Do.js → LayoutPicker-COB9GlV_.js} +1 -1
  86. package/storybook-static/assets/{LayoutPicker-ZHkMi-LM.js → LayoutPicker-C_Uz7Tnj.js} +1 -1
  87. package/storybook-static/assets/{LayoutPicker.stories-DAzpzxn5.js → LayoutPicker.stories-Btp0IcaL.js} +1 -1
  88. package/storybook-static/assets/{Listbox-CR5nXC9J.js → Listbox-AAaZGSAl.js} +1 -1
  89. package/storybook-static/assets/{Listbox-BmfQOnrb.js → Listbox-CyfuZw7w.js} +1 -1
  90. package/storybook-static/assets/{Listbox.stories-CeOpsKxB.js → Listbox.stories-NDKQmjyQ.js} +1 -1
  91. package/storybook-static/assets/{Modal-BStp52Zo.js → Modal-BJDnJ4zv.js} +1 -1
  92. package/storybook-static/assets/{Modal.stories-CwGm5GYE.js → Modal.stories-D_X5lTLO.js} +1 -1
  93. package/storybook-static/assets/{ModalManagerProvider-B5uUXWF9.js → ModalManagerProvider-ShDjozpW.js} +1 -1
  94. package/storybook-static/assets/{MultiSelect-BDs02MZh.js → MultiSelect-B5CElQ3-.js} +1 -1
  95. package/storybook-static/assets/{MultiSelect-308npb27.js → MultiSelect-DqXfrjcH.js} +1 -1
  96. package/storybook-static/assets/{MultiSelect.stories-DRi_iTp4.js → MultiSelect.stories-fB3mcFmx.js} +1 -1
  97. package/storybook-static/assets/{NoData-ovaQEE9W.js → NoData-DDb0G7T8.js} +1 -1
  98. package/storybook-static/assets/{NotificationsHost-BpeMWhLY.js → NotificationsHost-CIGL-pKX.js} +1 -1
  99. package/storybook-static/assets/NotificationsHost.stories-B_MRb3fs.js +29 -0
  100. package/storybook-static/assets/{ODataMultiSelect-qlft9L9L.js → ODataMultiSelect-DQAitH4N.js} +1 -1
  101. package/storybook-static/assets/{ODataMultiSelect.stories-CMPIoPiy.js → ODataMultiSelect.stories-DwW221S9.js} +2 -2
  102. package/storybook-static/assets/{ODataSelect-DKBQArAK.js → ODataSelect-tiZhOIhE.js} +1 -1
  103. package/storybook-static/assets/{ODataSelect.stories-DxYIhtwe.js → ODataSelect.stories-BhaatPjK.js} +2 -2
  104. package/storybook-static/assets/{ODataTreeMultiSelect-DAt6THP3.js → ODataTreeMultiSelect-B9WqJ-Un.js} +1 -1
  105. package/storybook-static/assets/{ODataTreeMultiSelect.stories-CBNJP0mP.js → ODataTreeMultiSelect.stories-CAfKuhfU.js} +1 -1
  106. package/storybook-static/assets/{ODataTreeSelect-Bzzt4CQC.js → ODataTreeSelect-Cel1phxZ.js} +1 -1
  107. package/storybook-static/assets/{ODataTreeSelect.stories-CWVvuqOt.js → ODataTreeSelect.stories-BpBCpBA9.js} +1 -1
  108. package/storybook-static/assets/{OneStepScroller-BY5lz8qi.js → OneStepScroller-BSeGbz02.js} +1 -1
  109. package/storybook-static/assets/{Option-Rw8xwrPg.js → Option-BBtQ3GdK.js} +1 -1
  110. package/storybook-static/assets/{OptionButton-Br48w_Zg.js → OptionButton-B9nZuqqW.js} +1 -1
  111. package/storybook-static/assets/{PeriodSelect-DxSRwKw-.js → PeriodSelect-BGvhR3to.js} +1 -1
  112. package/storybook-static/assets/{PeriodSelect-8-wpXz6w.js → PeriodSelect-DA_zjcdA.js} +1 -1
  113. package/storybook-static/assets/{PeriodSelect.stories-B-qgUzlS.js → PeriodSelect.stories-DDP1eXyM.js} +1 -1
  114. package/storybook-static/assets/{PickerTriggerActions-C5xmysFh.js → PickerTriggerActions-BgvzqRBd.js} +1 -1
  115. package/storybook-static/assets/{Popover-Ds8PUigp.js → Popover-BQql18MF.js} +1 -1
  116. package/storybook-static/assets/{Popover-NJwt_vZZ.js → Popover-C0NebUMz.js} +1 -1
  117. package/storybook-static/assets/{Popover.stories-CUOFA_Xf.js → Popover.stories-CIyDUtlz.js} +1 -1
  118. package/storybook-static/assets/{PresetRangeDateInput-DyOpbkON.js → PresetRangeDateInput-BsgzPwCV.js} +1 -1
  119. package/storybook-static/assets/{PresetRangeDateInput-Xk0bOy3S.js → PresetRangeDateInput-htbxc3ni.js} +1 -1
  120. package/storybook-static/assets/{PresetRangeDateInput.stories-CwjUlXj0.js → PresetRangeDateInput.stories-ClHM5Kah.js} +1 -1
  121. package/storybook-static/assets/{PresetSelect-Ddmr0niY.js → PresetSelect-Dcx0BOTx.js} +1 -1
  122. package/storybook-static/assets/README--LCKbep-.js +110 -0
  123. package/storybook-static/assets/{README-DRnlD7y8.js → README-5M8ajrJp.js} +1 -1
  124. package/storybook-static/assets/README-5NhzH8VL.js +95 -0
  125. package/storybook-static/assets/README-Am6Fa6-b.js +69 -0
  126. package/storybook-static/assets/README-B3bFglqG.js +82 -0
  127. package/storybook-static/assets/README-B45Cwj2a.js +95 -0
  128. package/storybook-static/assets/README-B6Nq7NCU.js +416 -0
  129. package/storybook-static/assets/{README-B4zYJg6u.js → README-B6ltJiw3.js} +1 -1
  130. package/storybook-static/assets/{README-BdPlV5nA.js → README-BB_JPejH.js} +1 -1
  131. package/storybook-static/assets/README-BIq-FXcN.js +2124 -0
  132. package/storybook-static/assets/README-BSh5XUR9.js +110 -0
  133. package/storybook-static/assets/README-BXJneZAJ.js +147 -0
  134. package/storybook-static/assets/README-BYSgTTZt.js +296 -0
  135. package/storybook-static/assets/{README-BzVni2ve.js → README-BmhhWWEk.js} +1 -1
  136. package/storybook-static/assets/README-Bqnqu1bC.js +118 -0
  137. package/storybook-static/assets/README-BuMMG4_N.js +192 -0
  138. package/storybook-static/assets/README-BxjYCoYA.js +186 -0
  139. package/storybook-static/assets/{README-MzcO5Z_P.js → README-ByALXSEH.js} +1 -1
  140. package/storybook-static/assets/README-Byo6DxIF.js +101 -0
  141. package/storybook-static/assets/README-C3UcjOGB.js +208 -0
  142. package/storybook-static/assets/README-C6BOdXNV.js +322 -0
  143. package/storybook-static/assets/README-C8E1O7DQ.js +230 -0
  144. package/storybook-static/assets/README-C9eh0JLs.js +64 -0
  145. package/storybook-static/assets/README-CAGQnLsv.js +90 -0
  146. package/storybook-static/assets/README-CC00hlZK.js +527 -0
  147. package/storybook-static/assets/README-CH_6ZIO2.js +64 -0
  148. package/storybook-static/assets/README-CHbo4O3Z.js +75 -0
  149. package/storybook-static/assets/{README-CTIBG4zH.js → README-CIGfHKKE.js} +1 -1
  150. package/storybook-static/assets/{README-BHw6MVjD.js → README-CM-7E-Jf.js} +1 -1
  151. package/storybook-static/assets/{README-C0BwTe5N.js → README-CNHemCS2.js} +1 -1
  152. package/storybook-static/assets/{README-DzTc6XmY.js → README-CWfPiPIB.js} +1 -1
  153. package/storybook-static/assets/{README-Dx3cpFMr.js → README-CeK4kfFO.js} +1 -1
  154. package/storybook-static/assets/README-Cj2e6HrF.js +178 -0
  155. package/storybook-static/assets/README-CsoHGRve.js +1844 -0
  156. package/storybook-static/assets/README-D9OypaFB.js +208 -0
  157. package/storybook-static/assets/{README-CkWglKbS.js → README-DDBqoI-T.js} +1 -1
  158. package/storybook-static/assets/README-DE2wk9-v.js +1282 -0
  159. package/storybook-static/assets/README-DEj2wSK0.js +264 -0
  160. package/storybook-static/assets/{README-D-XjRtAE.js → README-DIbfpC-2.js} +1 -1
  161. package/storybook-static/assets/{README-Dki94Nf2.js → README-DJHVgrpj.js} +1 -1
  162. package/storybook-static/assets/README-DN9HKtp_.js +124 -0
  163. package/storybook-static/assets/README-DNricOkt.js +136 -0
  164. package/storybook-static/assets/README-DV4fCpqN.js +1146 -0
  165. package/storybook-static/assets/{README-BzVHwvgo.js → README-DjCArsA5.js} +1 -1
  166. package/storybook-static/assets/README-Dl92E69Z.js +1704 -0
  167. package/storybook-static/assets/README-DnA-4W65.js +226 -0
  168. package/storybook-static/assets/README-DoCA4JXf.js +273 -0
  169. package/storybook-static/assets/{README-DqQDgJN-.js → README-DvAlDsh9.js} +1 -1
  170. package/storybook-static/assets/README-Ss-3t1nX.js +158 -0
  171. package/storybook-static/assets/README-eHCINzP3.js +154 -0
  172. package/storybook-static/assets/README-qHKxXU95.js +98 -0
  173. package/storybook-static/assets/README-tm9QH9cF.js +103 -0
  174. package/storybook-static/assets/README-ui-uanyg.js +672 -0
  175. package/storybook-static/assets/{RadioButton-oSvQ-gQh.js → RadioButton-CWtjclwT.js} +1 -1
  176. package/storybook-static/assets/{RadioButton-DWbkCY8u.js → RadioButton-YIQXt0wx.js} +1 -1
  177. package/storybook-static/assets/{RadioButton.stories-GNQ9XJZT.js → RadioButton.stories-Ah-CBpeC.js} +1 -1
  178. package/storybook-static/assets/{RadioGroup-CvXjGXcV.js → RadioGroup-BnO-GL7A.js} +1 -1
  179. package/storybook-static/assets/{RadioGroup-eBYggurL.js → RadioGroup-CUS0etBD.js} +1 -1
  180. package/storybook-static/assets/{RadioGroup.stories-C77j_cPv.js → RadioGroup.stories-DGwCawtU.js} +1 -1
  181. package/storybook-static/assets/{Scrollable-De6SdhI3.js → Scrollable-D85fA6pO.js} +1 -1
  182. package/storybook-static/assets/{Select-Bwc0bEpt.js → Select-CGCxJjL9.js} +1 -1
  183. package/storybook-static/assets/{Select-DQMoVjn4.js → Select-gRnfvfGh.js} +1 -1
  184. package/storybook-static/assets/{Select.stories-BSIJKJnM.js → Select.stories-CMwt4F9i.js} +1 -1
  185. package/storybook-static/assets/{SerializableSelect-B73irNFR.js → SerializableSelect-BLXfKJ38.js} +1 -1
  186. package/storybook-static/assets/{SerializableSelect.stories-Z9q6g5v2.js → SerializableSelect.stories-Bca1a9ZU.js} +1 -1
  187. package/storybook-static/assets/{SingleDateTimeInput-Dq9LcjnS.js → SingleDateTimeInput-CyeQN0Rd.js} +1 -1
  188. package/storybook-static/assets/{SingleDateTimeInput-BHl6srqA.js → SingleDateTimeInput-xrmZckzw.js} +1 -1
  189. package/storybook-static/assets/SingleDateTimeInput.stories-BYFTQM9z.js +48 -0
  190. package/storybook-static/assets/{Slider-BiyKexKa.js → Slider-1yJ3uVeR.js} +1 -1
  191. package/storybook-static/assets/{Slider-CvM0N_kc.js → Slider-D8GtXVGI.js} +1 -1
  192. package/storybook-static/assets/{Slider.stories-CdHAMDmY.js → Slider.stories-CyQ3ns_C.js} +1 -1
  193. package/storybook-static/assets/{SliderInput-Bx_oHUCV.js → SliderInput-BOzHhEUA.js} +1 -1
  194. package/storybook-static/assets/{SliderInput-DqHotbhB.js → SliderInput-ISSx9vH_.js} +1 -1
  195. package/storybook-static/assets/{SliderInput.stories-R5yDhghM.js → SliderInput.stories-7ooTghrS.js} +1 -1
  196. package/storybook-static/assets/{Sortable-D7pjTHO0.js → Sortable-CCLiMmfZ.js} +1 -1
  197. package/storybook-static/assets/{Sortable.stories-CVLG6pSH.js → Sortable.stories-B36szI6t.js} +1 -1
  198. package/storybook-static/assets/{Splitter-B1Du6XI2.js → Splitter-DQGhgRwx.js} +1 -1
  199. package/storybook-static/assets/{Splitter.stories-D-FRLMCc.js → Splitter.stories-Hsq1wYaq.js} +1 -1
  200. package/storybook-static/assets/{StateSelect-zl-yZibY.js → StateSelect-C6hldFgO.js} +1 -1
  201. package/storybook-static/assets/{StateSelect-BJdUEUBc.js → StateSelect-DieNn4VC.js} +1 -1
  202. package/storybook-static/assets/{StateSelect.stories-DgidR5zR.js → StateSelect.stories-CvAhDMix.js} +1 -1
  203. package/storybook-static/assets/{StringToggle.stories-IucGrtIi.js → StringToggle.stories-CUT1tvt-.js} +1 -1
  204. package/storybook-static/assets/{Switch-BJrn2lIN.js → Switch-CX9p_uYU.js} +1 -1
  205. package/storybook-static/assets/{Switch-5dCshvVo.js → Switch-nEMRtcWe.js} +1 -1
  206. package/storybook-static/assets/{Switch.stories-Dp_l3_JL.js → Switch.stories-CPsHa2_m.js} +1 -1
  207. package/storybook-static/assets/{Table-BFAEcUde.js → Table-BhtITVtj.js} +1 -1
  208. package/storybook-static/assets/{Table.stories-CohejRQv.js → Table.stories-nWNhSydG.js} +2 -2
  209. package/storybook-static/assets/{Tabs-CI32QiHf.js → Tabs-DMQFh2BJ.js} +1 -1
  210. package/storybook-static/assets/{Tabs.stories-Cr9d9ipA.js → Tabs.stories-D23_xvom.js} +1 -1
  211. package/storybook-static/assets/{TabsBox-BlDOUDMF.js → TabsBox-B5BsD_j_.js} +1 -1
  212. package/storybook-static/assets/{TagInput-YZ7eSv8W.js → TagInput-DO17z100.js} +1 -1
  213. package/storybook-static/assets/{TagInput.stories-DrOvsiI5.js → TagInput.stories-CMMFnIzb.js} +1 -1
  214. package/storybook-static/assets/{Text-DK4jN26J.js → Text-ClnbDqRk.js} +1 -1
  215. package/storybook-static/assets/{Textarea-DxPuWBZj.js → Textarea-C2IO_zsP.js} +1 -1
  216. package/storybook-static/assets/{Textarea-CFh5f_lC.js → Textarea-DkhohiNc.js} +1 -1
  217. package/storybook-static/assets/{Textarea.stories-CUeOGKYc.js → Textarea.stories-NL6Aq8Vc.js} +1 -1
  218. package/storybook-static/assets/{TimePanel-BUhFtwlb.js → TimePanel-DNEPDlSW.js} +1 -1
  219. package/storybook-static/assets/{TimePanel.stories-CpXpMBDN.js → TimePanel.stories-DlfdPsz1.js} +1 -1
  220. package/storybook-static/assets/{Toggle-BtApzBNH.js → Toggle-3U5CceQN.js} +1 -1
  221. package/storybook-static/assets/{Toggle-l2AvDbRn.js → Toggle-Cc6Ca-HI.js} +1 -1
  222. package/storybook-static/assets/{Toggle.stories-Ca8otmAa.js → Toggle.stories-BR-hVLDp.js} +1 -1
  223. package/storybook-static/assets/{TreeMultiSelect-nXC4ZB5b.js → TreeMultiSelect-B0oBc-4y.js} +1 -1
  224. package/storybook-static/assets/{TreeMultiSelect-C9QDV63L.js → TreeMultiSelect-D9hMQN2O.js} +1 -1
  225. package/storybook-static/assets/{TreeMultiSelect.stories-6STRGJbF.js → TreeMultiSelect.stories-CslpbvPR.js} +1 -1
  226. package/storybook-static/assets/{TreePickerBase-Cq7fSw3x.js → TreePickerBase-B_dMCe45.js} +1 -1
  227. package/storybook-static/assets/{TreeSelect-CITef9rp.js → TreeSelect-2lj0Q8gm.js} +1 -1
  228. package/storybook-static/assets/{TreeSelect-rMNyu_KT.js → TreeSelect-DEKNYF2b.js} +1 -1
  229. package/storybook-static/assets/{TreeSelect.stories-B-Emz9yW.js → TreeSelect.stories-CVDxn8Vm.js} +1 -1
  230. package/storybook-static/assets/{TreeTable-CLiP0td3.js → TreeTable-CBIpzYRL.js} +1 -1
  231. package/storybook-static/assets/{TreeTable.stories-DJb9qt8k.js → TreeTable.stories-BMzrr2Kc.js} +2 -2
  232. package/storybook-static/assets/{blocks-DndFRxxW.js → blocks-B5YBxaaS.js} +3 -3
  233. package/storybook-static/assets/{check-CLkTJVXe.js → check-BjtdCRaW.js} +1 -1
  234. package/storybook-static/assets/{chevron-down-miCejSEn.js → chevron-down-B4u-y8Z1.js} +1 -1
  235. package/storybook-static/assets/{chevron-left-DhQIPej2.js → chevron-left-BQfWs7Ah.js} +1 -1
  236. package/storybook-static/assets/{chevron-right-DfBBx-fr.js → chevron-right-ChokKd-f.js} +1 -1
  237. package/storybook-static/assets/{chunk-W22LQPXL-IdwKKJUw.js → chunk-W22LQPXL-meOkhzk4.js} +1 -1
  238. package/storybook-static/assets/{circle-alert-DOmVf8am.js → circle-alert-B1AnDRf_.js} +1 -1
  239. package/storybook-static/assets/{circle-check-e7eSQ2VD.js → circle-check-JYnlcC1F.js} +1 -1
  240. package/storybook-static/assets/{components-Bm4Cw8Ap.js → components-C_wl1sL5.js} +3 -3
  241. package/storybook-static/assets/{contextMenu-DpIKeJju.js → contextMenu-B-TUGs_1.js} +1 -1
  242. package/storybook-static/assets/{defaultRenderers-m21aWJXz.js → defaultRenderers-DfmnIuod.js} +1 -1
  243. package/storybook-static/assets/{download-eAKjms6q.js → download-eR3X8I-h.js} +1 -1
  244. package/storybook-static/assets/{floating-ui.react-DmilONq6.js → floating-ui.react-D95VPQ0b.js} +1 -1
  245. package/storybook-static/assets/formatters-D33Uh3si-CxrG0jsB.js +1 -0
  246. package/storybook-static/assets/foundationApi-QhHXpYLB.js +59 -0
  247. package/storybook-static/assets/foundationLib-CEAjnstw.js +30 -0
  248. package/storybook-static/assets/{hooks-RI5_2AXI.js → hooks-awde7r2r.js} +1 -1
  249. package/storybook-static/assets/iframe-DzQq_POR.js +1 -0
  250. package/storybook-static/assets/{iframe-Sr0umHM6.js → iframe-FSp_AjJa.js} +4 -4
  251. package/storybook-static/assets/{info-DhJTzwcL.js → info-12vmb1sT.js} +1 -1
  252. package/storybook-static/assets/odata-C0Kpvttz.js +1 -0
  253. package/storybook-static/assets/odata-service-CWkHASdw-DlmSiioz.js +3 -0
  254. package/storybook-static/assets/{odataStoryFixtures-lgnWIUp7.js → odataStoryFixtures-BXZnk_C7.js} +1 -1
  255. package/storybook-static/assets/{react-YFbUKK0m.js → react-BlCqWuXr.js} +1 -1
  256. package/storybook-static/assets/{refresh-cw-C7WnxX9M.js → refresh-cw-Bf5ufPte.js} +1 -1
  257. package/storybook-static/assets/{settings-2-0NVvyKQl.js → settings-2-DR-dTXIC.js} +1 -1
  258. package/storybook-static/assets/{sortable-DDGG-Zfs.js → sortable-B5e5yb_-.js} +1 -1
  259. package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-CxWm8nc8.js → syntaxhighlighter-QEQV7K2Y-EVJARTec.js} +1 -1
  260. package/storybook-static/assets/{trash-2-BnceCuhg.js → trash-2-QP7TS18H.js} +1 -1
  261. package/storybook-static/assets/{triangle-alert-MPi3GVgt.js → triangle-alert-qw19mxHr.js} +1 -1
  262. package/storybook-static/assets/{useODataSelectBase-hmjK6chS.js → useODataSelectBase-Csu_Cct9.js} +1 -1
  263. package/storybook-static/assets/useODataTreeData-BAv-Twqf.js +1 -0
  264. package/storybook-static/assets/{usePickerQuery-CtsGhieD.js → usePickerQuery-Da-XM_Y0.js} +1 -1
  265. package/storybook-static/assets/{usePickerTriggerController-EaI8W2G0.js → usePickerTriggerController-C0TdC2Pz.js} +1 -1
  266. package/storybook-static/assets/{x-CqPSvWfo.js → x-aCjYTirW.js} +1 -1
  267. package/storybook-static/iframe.html +2 -2
  268. package/storybook-static/index.json +1 -1
  269. package/storybook-static/project.json +1 -1
  270. package/storybook-static/assets/DateInput-05Iy69_a.js +0 -1
  271. package/storybook-static/assets/NotificationsHost.stories-CgbFboVD.js +0 -29
  272. package/storybook-static/assets/SingleDateTimeInput.stories-C2RuBRAF.js +0 -48
  273. package/storybook-static/assets/async-SjiCjIjO.js +0 -625
  274. package/storybook-static/assets/formatters-CBgrBeSA-CqB1pZxS.js +0 -1
  275. package/storybook-static/assets/foundationLib-DRrox3tN.js +0 -25
  276. package/storybook-static/assets/iframe-DQo-3eW2.js +0 -1
  277. package/storybook-static/assets/odata-DhISMZkE.js +0 -1
  278. package/storybook-static/assets/odata-service-B6TxBSLm-Bq8Ya67E.js +0 -3
  279. package/storybook-static/assets/odataFetchFn-Dv6Xi5CI.js +0 -763
  280. package/storybook-static/assets/persisted-CUFiw53N.js +0 -600
  281. package/storybook-static/assets/useODataTreeData-CKuavbWc.js +0 -1
@@ -1 +1 @@
1
- import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-Sr0umHM6.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";var o,s,c,l,u,d,f,p;function m(){return(m=t((()=>{o=e(n(),1),a(),s=r(),c={primary:`content0`,secondary:`content1`,muted:`content2`,info:`statusInfo`,success:`statusSuccess`,warning:`statusWarning`,error:`statusError`,brand:`statusBrand`,accent:`contentAccent`},l={xs:`fontSizeXs`,sm:`fontSizeSm`,md:`fontSizeMd`,lg:`fontSizeLg`,xl:`fontSizeXl`},u={lighter:`fontLighter`,light:`fontLight`,regular:`fontRegular`,medium:`fontMedium`,bold:`fontBold`,bolder:`fontBolder`},d={wrap:`textWrap`,noWrap:`textNoWrap`},f=({size:e,color:t,weight:n,italic:r,uppercase:a,wrap:s,className:f})=>(0,o.useMemo)(()=>{let o=[];return e&&o.push(l[e]),n&&o.push(u[n]),s&&o.push(d[s]),r&&o.push(`fontItalic`),a&&o.push(`textUppercase`),t&&o.push(c[t]),i(...o,f)},[e,n,t,r,a,s,f]),p=({children:e,as:t,style:n,...r})=>{let i=f(r);return(0,s.jsx)(t||`span`,{className:i,style:n,children:e})},p.__docgenInfo={description:``,methods:[],displayName:`Text`,props:{size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},color:{required:!1,tsType:{name:`union`,raw:`"primary" | "secondary" | "muted" | "error" | "warning" | "success" | "info" | "brand" | "accent"`,elements:[{name:`literal`,value:`"primary"`},{name:`literal`,value:`"secondary"`},{name:`literal`,value:`"muted"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`},{name:`literal`,value:`"brand"`},{name:`literal`,value:`"accent"`}]},description:``},weight:{required:!1,tsType:{name:`union`,raw:`"lighter" | "light" | "regular" | "medium" | "bold" | "bolder"`,elements:[{name:`literal`,value:`"lighter"`},{name:`literal`,value:`"light"`},{name:`literal`,value:`"regular"`},{name:`literal`,value:`"medium"`},{name:`literal`,value:`"bold"`},{name:`literal`,value:`"bolder"`}]},description:``},italic:{required:!1,tsType:{name:`boolean`},description:``},uppercase:{required:!1,tsType:{name:`boolean`},description:``},wrap:{required:!1,tsType:{name:`union`,raw:`"wrap" | "noWrap"`,elements:[{name:`literal`,value:`"wrap"`},{name:`literal`,value:`"noWrap"`}]},description:``},className:{required:!1,tsType:{name:`string`},description:``},style:{required:!1,tsType:{name:`CSSProperties`},description:``},children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},as:{required:!1,tsType:{name:`union`,raw:`"code" | "span" | "p" | "div" | "h2" | "h3" | "h4" | "h5" | "h6"`,elements:[{name:`literal`,value:`"code"`},{name:`literal`,value:`"span"`},{name:`literal`,value:`"p"`},{name:`literal`,value:`"div"`},{name:`literal`,value:`"h2"`},{name:`literal`,value:`"h3"`},{name:`literal`,value:`"h4"`},{name:`literal`,value:`"h5"`},{name:`literal`,value:`"h6"`}]},description:``}}}})))()}export{m as n,p as t};
1
+ import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-FSp_AjJa.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";var o,s,c,l,u,d,f,p;function m(){return(m=t((()=>{o=e(n(),1),a(),s=r(),c={primary:`content0`,secondary:`content1`,muted:`content2`,info:`statusInfo`,success:`statusSuccess`,warning:`statusWarning`,error:`statusError`,brand:`statusBrand`,accent:`contentAccent`},l={xs:`fontSizeXs`,sm:`fontSizeSm`,md:`fontSizeMd`,lg:`fontSizeLg`,xl:`fontSizeXl`},u={lighter:`fontLighter`,light:`fontLight`,regular:`fontRegular`,medium:`fontMedium`,bold:`fontBold`,bolder:`fontBolder`},d={wrap:`textWrap`,noWrap:`textNoWrap`},f=({size:e,color:t,weight:n,italic:r,uppercase:a,wrap:s,className:f})=>(0,o.useMemo)(()=>{let o=[];return e&&o.push(l[e]),n&&o.push(u[n]),s&&o.push(d[s]),r&&o.push(`fontItalic`),a&&o.push(`textUppercase`),t&&o.push(c[t]),i(...o,f)},[e,n,t,r,a,s,f]),p=({children:e,as:t,style:n,...r})=>{let i=f(r);return(0,s.jsx)(t||`span`,{className:i,style:n,children:e})},p.__docgenInfo={description:``,methods:[],displayName:`Text`,props:{size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},color:{required:!1,tsType:{name:`union`,raw:`"primary" | "secondary" | "muted" | "error" | "warning" | "success" | "info" | "brand" | "accent"`,elements:[{name:`literal`,value:`"primary"`},{name:`literal`,value:`"secondary"`},{name:`literal`,value:`"muted"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`},{name:`literal`,value:`"brand"`},{name:`literal`,value:`"accent"`}]},description:``},weight:{required:!1,tsType:{name:`union`,raw:`"lighter" | "light" | "regular" | "medium" | "bold" | "bolder"`,elements:[{name:`literal`,value:`"lighter"`},{name:`literal`,value:`"light"`},{name:`literal`,value:`"regular"`},{name:`literal`,value:`"medium"`},{name:`literal`,value:`"bold"`},{name:`literal`,value:`"bolder"`}]},description:``},italic:{required:!1,tsType:{name:`boolean`},description:``},uppercase:{required:!1,tsType:{name:`boolean`},description:``},wrap:{required:!1,tsType:{name:`union`,raw:`"wrap" | "noWrap"`,elements:[{name:`literal`,value:`"wrap"`},{name:`literal`,value:`"noWrap"`}]},description:``},className:{required:!1,tsType:{name:`string`},description:``},style:{required:!1,tsType:{name:`CSSProperties`},description:``},children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},as:{required:!1,tsType:{name:`union`,raw:`"code" | "span" | "p" | "div" | "h2" | "h3" | "h4" | "h5" | "h6"`,elements:[{name:`literal`,value:`"code"`},{name:`literal`,value:`"span"`},{name:`literal`,value:`"p"`},{name:`literal`,value:`"div"`},{name:`literal`,value:`"h2"`},{name:`literal`,value:`"h3"`},{name:`literal`,value:`"h4"`},{name:`literal`,value:`"h5"`},{name:`literal`,value:`"h6"`}]},description:``}}}})))()}export{m as n,p as t};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-Sr0umHM6.js";import{i as n,r}from"./react-Bl2r1tuC.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-DndFRxxW.js";import{a as p,i as m,n as h,r as g,t as _}from"./Textarea.stories-CUeOGKYc.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-FSp_AjJa.js";import{i as n,r}from"./react-Bl2r1tuC.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-B5YBxaaS.js";import{a as p,i as m,n as h,r as g,t as _}from"./Textarea.stories-NL6Aq8Vc.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,b.jsx)(u,{children:`Textarea`}),`
3
3
  `,(0,b.jsx)(o,{children:`Многострочное текстовое поле для описаний, комментариев и заметок`}),`
4
4
  `,(0,b.jsx)(t.p,{children:`Textarea уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-Sr0umHM6.js";import{a as n,i as r}from"./utils-tg3ibbzi.js";import{n as i,t as a}from"./ui.module-Cat84Nza.js";import{d as o,l as s,s as c,u as l}from"./Input-op4j7Beh.js";var u,d;function f(){return(f=e((()=>{u=`TjY2iu`,d={textarea:u}})))()}function p({label:e,description:t,className:r,disabled:a,size:s,value:l,onChange:u,error:f,onClearError:p,id:h,...g}){let{controlId:_,labelId:v,descriptionId:y,errorId:b,describedBy:x}=o({id:h,hasLabel:e!=null,hasDescription:!!t,hasError:!!f});return(0,m.jsx)(c,{label:e,description:t,disabled:a,required:g.required,size:s,error:f,controlId:_,labelId:v,descriptionId:y,errorId:b,children:(0,m.jsx)(`textarea`,{...g,id:_,disabled:a,value:l,"aria-invalid":!!f||void 0,"aria-labelledby":v,"aria-describedby":x,"data-invalid":f?``:void 0,className:n(i.uiControl,d.textarea,`scrollable`,r),onChange:e=>{u?.(e.target.value),f&&p&&p()}})})}var m;function h(){return(h=e((()=>{r(),s(),l(),a(),f(),m=t(),p.__docgenInfo={description:`Многострочное текстовое поле для ввода свободного текста. Поддерживает подпись, описание, ошибки и единый визуальный стиль формы.`,methods:[],displayName:`Textarea`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},error:{required:!1,tsType:{name:`string`},description:``},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}},composes:[`Omit`]}})))()}export{h as n,p as t};
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-FSp_AjJa.js";import{a as n,i as r}from"./utils-tg3ibbzi.js";import{n as i,t as a}from"./ui.module-Cat84Nza.js";import{d as o,l as s,s as c,u as l}from"./Input-CIPgijvW.js";var u,d;function f(){return(f=e((()=>{u=`TjY2iu`,d={textarea:u}})))()}function p({label:e,description:t,className:r,disabled:a,size:s,value:l,onChange:u,error:f,onClearError:p,id:h,...g}){let{controlId:_,labelId:v,descriptionId:y,errorId:b,describedBy:x}=o({id:h,hasLabel:e!=null,hasDescription:!!t,hasError:!!f});return(0,m.jsx)(c,{label:e,description:t,disabled:a,required:g.required,size:s,error:f,controlId:_,labelId:v,descriptionId:y,errorId:b,children:(0,m.jsx)(`textarea`,{...g,id:_,disabled:a,value:l,"aria-invalid":!!f||void 0,"aria-labelledby":v,"aria-describedby":x,"data-invalid":f?``:void 0,className:n(i.uiControl,d.textarea,`scrollable`,r),onChange:e=>{u?.(e.target.value),f&&p&&p()}})})}var m;function h(){return(h=e((()=>{r(),s(),l(),a(),f(),m=t(),p.__docgenInfo={description:`Многострочное текстовое поле для ввода свободного текста. Поддерживает подпись, описание, ошибки и единый визуальный стиль формы.`,methods:[],displayName:`Textarea`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},error:{required:!1,tsType:{name:`string`},description:``},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}},composes:[`Omit`]}})))()}export{h as n,p as t};
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-Sr0umHM6.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./Textarea-CFh5f_lC.js";var s=t({Controlled:()=>d,Disabled:()=>p,WithValue:()=>f,__namedExportsOrder:()=>m,default:()=>u}),c,l,u,d,f,p,m;function h(){return(h=e((()=>{r(),a(),c=n(),l=i((e,t)=>(0,c.jsx)(o,{...e,value:e.value??``,onChange:n=>{e.onChange?.(n),t({value:n})},onClearError:()=>{e.onClearError?.(),t({error:void 0})}})),u={title:`Shared/UI/Textarea`,component:o,args:{label:`Комментарий`,description:`Оставьте примечание к документу.`,placeholder:`Введите текст...`,disabled:!1,value:``,onChange:()=>void 0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок текстовой области.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Плейсхолдер поля ввода.`,control:`text`},value:{description:`Текущее значение текстовой области.`,control:`text`},onChange:{description:`Вызывается при изменении текста.`,control:!1},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Вызывается при вводе для сброса внешней ошибки.`,control:!1},disabled:{description:`Блокирует редактирование.`,control:`boolean`},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},d={args:{value:`Первичный комментарий`},render:l},f={args:{value:`Шаблонный текст для редактирования.`},render:l},p={args:{disabled:!0,value:`Редактирование недоступно.`},render:l},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-FSp_AjJa.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./Textarea-DkhohiNc.js";var s=t({Controlled:()=>d,Disabled:()=>p,WithValue:()=>f,__namedExportsOrder:()=>m,default:()=>u}),c,l,u,d,f,p,m;function h(){return(h=e((()=>{r(),a(),c=n(),l=i((e,t)=>(0,c.jsx)(o,{...e,value:e.value??``,onChange:n=>{e.onChange?.(n),t({value:n})},onClearError:()=>{e.onClearError?.(),t({error:void 0})}})),u={title:`Shared/UI/Textarea`,component:o,args:{label:`Комментарий`,description:`Оставьте примечание к документу.`,placeholder:`Введите текст...`,disabled:!1,value:``,onChange:()=>void 0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок текстовой области.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Плейсхолдер поля ввода.`,control:`text`},value:{description:`Текущее значение текстовой области.`,control:`text`},onChange:{description:`Вызывается при изменении текста.`,control:!1},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Вызывается при вводе для сброса внешней ошибки.`,control:!1},disabled:{description:`Блокирует редактирование.`,control:`boolean`},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},d={args:{value:`Первичный комментарий`},render:l},f={args:{value:`Шаблонный текст для редактирования.`},render:l},p={args:{disabled:!0,value:`Редактирование недоступно.`},render:l},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
2
2
  args: {
3
3
  value: "Первичный комментарий"
4
4
  },
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-Sr0umHM6.js";import{a as r,i}from"./utils-tg3ibbzi.js";import{b as a,g as o}from"./odata-service-B6TxBSLm-Bq8Ya67E.js";import{m as s,y as c}from"./formatters-CBgrBeSA-CqB1pZxS.js";import{i as l,r as u}from"./date-segments-DeoMkKv9.js";function d(e=0,t=0){return s(S,C,w,e,t,0,0)}function f(e=`date-time`){return e===`time`?x:b}function p(e,t=`date-time`){if(e==null)return null;let n=o(e);return n?t===`time`?d(n.getHours(),n.getMinutes()):n:null}function m(e,t,n,r=`date-time`){let i=p(e,r);if(!i)return!1;if(r===`time`){let e=i.getHours()*60+i.getMinutes(),r=t?p(t,`time`):null,a=n?p(n,`time`):null;return!(r&&e<r.getHours()*60+r.getMinutes()||a&&e>a.getHours()*60+a.getMinutes())}return!(t&&i<t||n&&i>n)}function h(e,t){let n=p(t),r=n?.getHours()??0,i=n?.getMinutes()??0;return s(e.getFullYear(),e.getMonth(),e.getDate(),r,i,0,0)}function g(e,t,n,r=`date-time`){return r===`time`?d(t,n):s(e.getFullYear(),e.getMonth(),e.getDate(),t,n,0,0)}function _(e,t,n=`date-time`){return n===`time`?p(e,`time`)??d():p(e,n)??t}function v(e,t,n,r=`date-time`){let i=p(e,r)??e,a=t?p(t,r):null,o=n?p(n,r):null,s=!!a&&i.getFullYear()===a.getFullYear()&&i.getMonth()===a.getMonth()&&i.getDate()===a.getDate(),c=!!o&&i.getFullYear()===o.getFullYear()&&i.getMonth()===o.getMonth()&&i.getDate()===o.getDate(),l=s?a.getHours():0,u=c?o.getHours():23,d=s&&l===u?a.getMinutes():0,f=c&&l===u?o.getMinutes():59,m=l>u||l===u&&d>f;return{disabled:m,minHour:l,maxHour:u,minMinuteByHour:e=>m?0:s&&e===l?a.getMinutes():0,maxMinuteByHour:e=>m?59:c&&e===u?o.getMinutes():59}}function y(e,t,n,r,i,a=`date-time`){let o=v(e,r,i,a);if(o.disabled)return{hours:0,minutes:0};let s=Math.min(Math.max(t,o.minHour),o.maxHour),c=o.minMinuteByHour(s),l=o.maxMinuteByHour(s);return{hours:s,minutes:Math.min(Math.max(n,c),l)}}var b,x,S,C,w;function T(){return(T=e((()=>{u(),c(),a(),b=`dd.MM.yyyy HH:mm`,x=`HH:mm`,S=1970,C=0,w=1,l(x)})))()}function ee(e,t,n,r=`date-time`){let i=v(e,t,n,r),a=e.getHours(),o=e.getMinutes(),s=i.minMinuteByHour(a),c=i.maxMinuteByHour(a);return i.disabled?{disabled:!0,selectedHour:a,selectedMinute:o,hours:[],minutes:[]}:{disabled:!1,selectedHour:a,selectedMinute:o,hours:Array.from({length:i.maxHour-i.minHour+1},(e,t)=>i.minHour+t),minutes:Array.from({length:c-s+1},(e,t)=>s+t)}}function E(){return(E=e((()=>{T()})))()}function D(e,t){return t<=0||e<0?0:e>t-1?t-1:e}function te(e,t){return!Number.isFinite(e)||e<=0?t:Math.max(e,t)}function ne(e,t){return Math.max(1,Math.round(e/Math.max(1,t)))}function re(e,t){return Math.max(0,Math.round(e/2-t/2))}function O(e,t){return Math.max(0,Math.round(e*t))}function ie(e,t,n){return n<=0||t<=0?0:D(Math.round(e/t),n)}var k,A,j,M,N,P,F;function I(){return(I=e((()=>{k=`GLhdJ6`,A=`_2xLNL2`,j=`dgX32S`,M=`WfOtQ9`,N=`XIdSMi`,P=`_--Hsbk`,F={wheelPicker:k,viewport:A,scroller:j,items:M,item:N,selectionFrame:P}})))()}function L({items:e,value:t,onChange:n,ariaLabel:i,disabled:a,className:o,minHeight:s=B,visibleRows:c=V,formatItem:l,getItemKey:u}){let d=(0,R.useRef)(null),f=(0,R.useRef)(null),p=(0,R.useRef)(null),m=(0,R.useMemo)(()=>Math.max(0,e.findIndex(e=>Object.is(e,t))),[e,t]),[h,g]=(0,R.useState)(0),_=te(h,s),v=ne(_,c),y=re(_,v),b=(0,R.useRef)(m),x=(0,R.useCallback)(e=>Math.round(e.clientHeight),[]),S=(0,R.useCallback)(()=>{let t=f.current;if(!t||e.length===0)return;let r=ie(t.scrollTop,v,e.length);t.scrollTo({top:O(r,v),behavior:`smooth`}),r!==b.current&&(b.current=r,n(e[r]))},[v,e,n]),C=(0,R.useCallback)(()=>{p.current!==null&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>{p.current=null,S()},H)},[S]);(0,R.useEffect)(()=>{let e=d.current;if(!e||typeof ResizeObserver>`u`)return;let t=e=>{g(t=>t===e?t:e)},n=new ResizeObserver(n=>{let r=n[0],i=Math.round(r?.contentRect.height??x(e));t(i)});return n.observe(e),t(x(e)),()=>n.disconnect()},[x]),(0,R.useEffect)(()=>{let t=f.current;if(!t||e.length===0)return;let n=D(m,e.length);b.current=n,t.scrollTo({top:O(n,v),behavior:`auto`})},[v,e.length,m]),(0,R.useEffect)(()=>{let e=f.current;if(!e)return;let t=()=>{a||C()},n=t=>{a||(t.preventDefault(),e.scrollTop+=t.deltaY,C())};return e.addEventListener(`scroll`,t,{passive:!0}),e.addEventListener(`wheel`,n,{passive:!1}),()=>{e.removeEventListener(`scroll`,t),e.removeEventListener(`wheel`,n)}},[a,e,n,C]),(0,R.useEffect)(()=>()=>{p.current!==null&&window.clearTimeout(p.current)},[]);let w=t=>{if(a||e.length===0||t.key!==`ArrowUp`&&t.key!==`ArrowDown`)return;t.preventDefault();let r=t.key===`ArrowUp`?-1:1,i=D(m+r,e.length);i!==m&&(b.current=i,n(e[i]))},T={"--wheel-picker-min-height":`${s}px`,"--wheel-picker-viewport-height":`${_}px`,"--wheel-picker-item-height":`${v}px`,"--wheel-picker-edge-padding":`${y}px`};return(0,z.jsx)(`div`,{ref:d,className:r(F.wheelPicker,o),style:T,children:(0,z.jsxs)(`div`,{className:F.viewport,children:[(0,z.jsx)(`div`,{ref:f,className:F.scroller,role:`listbox`,tabIndex:a?-1:0,"aria-label":i,"aria-disabled":a||void 0,onKeyDown:w,children:(0,z.jsx)(`div`,{className:F.items,children:e.map((e,t)=>{let r=t===m;return(0,z.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":r,className:F.item,"data-selected":r?``:void 0,disabled:a,onClick:()=>{b.current=t,n(e)},children:l?.(e)??String(e)},u?.(e,t)??t)})})}),(0,z.jsx)(`div`,{className:F.selectionFrame,"aria-hidden":`true`})]})})}var R,z,B,V,H;function U(){return(U=e((()=>{R=t(),i(),I(),z=n(),B=192,V=7,H=96,L.__docgenInfo={description:`Внутренний wheel-picker со snap-кареткой по центру и блокировкой page scroll.`,methods:[],displayName:`WheelPicker`,props:{items:{required:!0,tsType:{name:`unknown`},description:``},value:{required:!0,tsType:{name:`T`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`T`},name:`value`}],return:{name:`void`}}},description:``},ariaLabel:{required:!0,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},minHeight:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`192`,computed:!1}},visibleRows:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`7`,computed:!1}},formatItem:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(item: T) => ReactNode`,signature:{arguments:[{type:{name:`T`},name:`item`}],return:{name:`ReactNode`}}},description:``},getItemKey:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(item: T, index: number) => Key`,signature:{arguments:[{type:{name:`T`},name:`item`},{type:{name:`number`},name:`index`}],return:{name:`Key`}}},description:``}}}})))()}var W,G,K,q,J,Y,X;function Z(){return(Z=e((()=>{W=`_5-SSnO`,G=`s1NHua`,K=`KQC9-8`,q=`WDu02W`,J=`_9mEhfD`,Y=`N-Fzjk`,X={timePanel:W,hint:G,fields:K,field:q,label:J,wheel:Y}})))()}function Q({value:e,disabled:t,minDate:n,maxDate:r,mode:i=`date-time`,onChange:a}){let o=ee(e,n,r,i),s=e=>String(e).padStart(2,`0`);return o.disabled?(0,$.jsx)(`div`,{className:X.timePanel,children:(0,$.jsx)(`p`,{className:X.hint,children:`Для выбранного дня нет доступного времени в заданном диапазоне.`})}):(0,$.jsx)(`div`,{className:X.timePanel,children:(0,$.jsxs)(`div`,{className:X.fields,children:[(0,$.jsxs)(`label`,{className:X.field,children:[(0,$.jsx)(`span`,{className:X.label,children:`Часы`}),(0,$.jsx)(L,{className:X.wheel,items:o.hours,value:o.selectedHour,onChange:e=>a(e,o.selectedMinute),ariaLabel:`Выбор часов`,disabled:t,formatItem:s})]}),(0,$.jsxs)(`label`,{className:X.field,children:[(0,$.jsx)(`span`,{className:X.label,children:`Минуты`}),(0,$.jsx)(L,{className:X.wheel,items:o.minutes,value:o.selectedMinute,onChange:e=>a(o.selectedHour,e),ariaLabel:`Выбор минут`,disabled:t,formatItem:s})]})]})})}var $;function ae(){return(ae=e((()=>{U(),E(),Z(),$=n(),Q.__docgenInfo={description:`Переиспользуемая панель выбора времени поверх internal wheel-picker.`,methods:[],displayName:`TimePanel`,props:{value:{required:!0,tsType:{name:`Date`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},minDate:{required:!1,tsType:{name:`Date`},description:``},maxDate:{required:!1,tsType:{name:`Date`},description:``},mode:{required:!1,tsType:{name:`union`,raw:`"date-time" | "time"`,elements:[{name:`literal`,value:`"date-time"`},{name:`literal`,value:`"time"`}]},description:``,defaultValue:{value:`"date-time"`,computed:!1}},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(hours: number, minutes: number) => void`,signature:{arguments:[{type:{name:`number`},name:`hours`},{type:{name:`number`},name:`minutes`}],return:{name:`void`}}},description:``}}}})))()}export{f as a,h as c,_ as d,d as i,g as l,ae as n,T as o,y as r,m as s,Q as t,p as u};
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-FSp_AjJa.js";import{a as r,i}from"./utils-tg3ibbzi.js";import{g as a,s as o}from"./odata-service-CWkHASdw-DlmSiioz.js";import{m as s,y as c}from"./formatters-D33Uh3si-CxrG0jsB.js";import{i as l,r as u}from"./date-segments-DeoMkKv9.js";function d(e=0,t=0){return s(S,C,w,e,t,0,0)}function f(e=`date-time`){return e===`time`?x:b}function p(e,t=`date-time`){if(e==null)return null;let n=o(e);return n?t===`time`?d(n.getHours(),n.getMinutes()):n:null}function m(e,t,n,r=`date-time`){let i=p(e,r);if(!i)return!1;if(r===`time`){let e=i.getHours()*60+i.getMinutes(),r=t?p(t,`time`):null,a=n?p(n,`time`):null;return!(r&&e<r.getHours()*60+r.getMinutes()||a&&e>a.getHours()*60+a.getMinutes())}return!(t&&i<t||n&&i>n)}function h(e,t){let n=p(t),r=n?.getHours()??0,i=n?.getMinutes()??0;return s(e.getFullYear(),e.getMonth(),e.getDate(),r,i,0,0)}function g(e,t,n,r=`date-time`){return r===`time`?d(t,n):s(e.getFullYear(),e.getMonth(),e.getDate(),t,n,0,0)}function _(e,t,n=`date-time`){return n===`time`?p(e,`time`)??d():p(e,n)??t}function v(e,t,n,r=`date-time`){let i=p(e,r)??e,a=t?p(t,r):null,o=n?p(n,r):null,s=!!a&&i.getFullYear()===a.getFullYear()&&i.getMonth()===a.getMonth()&&i.getDate()===a.getDate(),c=!!o&&i.getFullYear()===o.getFullYear()&&i.getMonth()===o.getMonth()&&i.getDate()===o.getDate(),l=s?a.getHours():0,u=c?o.getHours():23,d=s&&l===u?a.getMinutes():0,f=c&&l===u?o.getMinutes():59,m=l>u||l===u&&d>f;return{disabled:m,minHour:l,maxHour:u,minMinuteByHour:e=>m?0:s&&e===l?a.getMinutes():0,maxMinuteByHour:e=>m?59:c&&e===u?o.getMinutes():59}}function y(e,t,n,r,i,a=`date-time`){let o=v(e,r,i,a);if(o.disabled)return{hours:0,minutes:0};let s=Math.min(Math.max(t,o.minHour),o.maxHour),c=o.minMinuteByHour(s),l=o.maxMinuteByHour(s);return{hours:s,minutes:Math.min(Math.max(n,c),l)}}var b,x,S,C,w;function T(){return(T=e((()=>{u(),c(),a(),b=`dd.MM.yyyy HH:mm`,x=`HH:mm`,S=1970,C=0,w=1,l(x)})))()}function ee(e,t,n,r=`date-time`){let i=v(e,t,n,r),a=e.getHours(),o=e.getMinutes(),s=i.minMinuteByHour(a),c=i.maxMinuteByHour(a);return i.disabled?{disabled:!0,selectedHour:a,selectedMinute:o,hours:[],minutes:[]}:{disabled:!1,selectedHour:a,selectedMinute:o,hours:Array.from({length:i.maxHour-i.minHour+1},(e,t)=>i.minHour+t),minutes:Array.from({length:c-s+1},(e,t)=>s+t)}}function E(){return(E=e((()=>{T()})))()}function D(e,t){return t<=0||e<0?0:e>t-1?t-1:e}function te(e,t){return!Number.isFinite(e)||e<=0?t:Math.max(e,t)}function ne(e,t){return Math.max(1,Math.round(e/Math.max(1,t)))}function re(e,t){return Math.max(0,Math.round(e/2-t/2))}function O(e,t){return Math.max(0,Math.round(e*t))}function ie(e,t,n){return n<=0||t<=0?0:D(Math.round(e/t),n)}var k,A,j,M,N,P,F;function I(){return(I=e((()=>{k=`GLhdJ6`,A=`_2xLNL2`,j=`dgX32S`,M=`WfOtQ9`,N=`XIdSMi`,P=`_--Hsbk`,F={wheelPicker:k,viewport:A,scroller:j,items:M,item:N,selectionFrame:P}})))()}function L({items:e,value:t,onChange:n,ariaLabel:i,disabled:a,className:o,minHeight:s=B,visibleRows:c=V,formatItem:l,getItemKey:u}){let d=(0,R.useRef)(null),f=(0,R.useRef)(null),p=(0,R.useRef)(null),m=(0,R.useMemo)(()=>Math.max(0,e.findIndex(e=>Object.is(e,t))),[e,t]),[h,g]=(0,R.useState)(0),_=te(h,s),v=ne(_,c),y=re(_,v),b=(0,R.useRef)(m),x=(0,R.useCallback)(e=>Math.round(e.clientHeight),[]),S=(0,R.useCallback)(()=>{let t=f.current;if(!t||e.length===0)return;let r=ie(t.scrollTop,v,e.length);t.scrollTo({top:O(r,v),behavior:`smooth`}),r!==b.current&&(b.current=r,n(e[r]))},[v,e,n]),C=(0,R.useCallback)(()=>{p.current!==null&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>{p.current=null,S()},H)},[S]);(0,R.useEffect)(()=>{let e=d.current;if(!e||typeof ResizeObserver>`u`)return;let t=e=>{g(t=>t===e?t:e)},n=new ResizeObserver(n=>{let r=n[0],i=Math.round(r?.contentRect.height??x(e));t(i)});return n.observe(e),t(x(e)),()=>n.disconnect()},[x]),(0,R.useEffect)(()=>{let t=f.current;if(!t||e.length===0)return;let n=D(m,e.length);b.current=n,t.scrollTo({top:O(n,v),behavior:`auto`})},[v,e.length,m]),(0,R.useEffect)(()=>{let e=f.current;if(!e)return;let t=()=>{a||C()},n=t=>{a||(t.preventDefault(),e.scrollTop+=t.deltaY,C())};return e.addEventListener(`scroll`,t,{passive:!0}),e.addEventListener(`wheel`,n,{passive:!1}),()=>{e.removeEventListener(`scroll`,t),e.removeEventListener(`wheel`,n)}},[a,e,n,C]),(0,R.useEffect)(()=>()=>{p.current!==null&&window.clearTimeout(p.current)},[]);let w=t=>{if(a||e.length===0||t.key!==`ArrowUp`&&t.key!==`ArrowDown`)return;t.preventDefault();let r=t.key===`ArrowUp`?-1:1,i=D(m+r,e.length);i!==m&&(b.current=i,n(e[i]))},T={"--wheel-picker-min-height":`${s}px`,"--wheel-picker-viewport-height":`${_}px`,"--wheel-picker-item-height":`${v}px`,"--wheel-picker-edge-padding":`${y}px`};return(0,z.jsx)(`div`,{ref:d,className:r(F.wheelPicker,o),style:T,children:(0,z.jsxs)(`div`,{className:F.viewport,children:[(0,z.jsx)(`div`,{ref:f,className:F.scroller,role:`listbox`,tabIndex:a?-1:0,"aria-label":i,"aria-disabled":a||void 0,onKeyDown:w,children:(0,z.jsx)(`div`,{className:F.items,children:e.map((e,t)=>{let r=t===m;return(0,z.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":r,className:F.item,"data-selected":r?``:void 0,disabled:a,onClick:()=>{b.current=t,n(e)},children:l?.(e)??String(e)},u?.(e,t)??t)})})}),(0,z.jsx)(`div`,{className:F.selectionFrame,"aria-hidden":`true`})]})})}var R,z,B,V,H;function U(){return(U=e((()=>{R=t(),i(),I(),z=n(),B=192,V=7,H=96,L.__docgenInfo={description:`Внутренний wheel-picker со snap-кареткой по центру и блокировкой page scroll.`,methods:[],displayName:`WheelPicker`,props:{items:{required:!0,tsType:{name:`unknown`},description:``},value:{required:!0,tsType:{name:`T`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`T`},name:`value`}],return:{name:`void`}}},description:``},ariaLabel:{required:!0,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},minHeight:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`192`,computed:!1}},visibleRows:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`7`,computed:!1}},formatItem:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(item: T) => ReactNode`,signature:{arguments:[{type:{name:`T`},name:`item`}],return:{name:`ReactNode`}}},description:``},getItemKey:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(item: T, index: number) => Key`,signature:{arguments:[{type:{name:`T`},name:`item`},{type:{name:`number`},name:`index`}],return:{name:`Key`}}},description:``}}}})))()}var W,G,K,q,J,Y,X;function Z(){return(Z=e((()=>{W=`_5-SSnO`,G=`s1NHua`,K=`KQC9-8`,q=`WDu02W`,J=`_9mEhfD`,Y=`N-Fzjk`,X={timePanel:W,hint:G,fields:K,field:q,label:J,wheel:Y}})))()}function Q({value:e,disabled:t,minDate:n,maxDate:r,mode:i=`date-time`,onChange:a}){let o=ee(e,n,r,i),s=e=>String(e).padStart(2,`0`);return o.disabled?(0,$.jsx)(`div`,{className:X.timePanel,children:(0,$.jsx)(`p`,{className:X.hint,children:`Для выбранного дня нет доступного времени в заданном диапазоне.`})}):(0,$.jsx)(`div`,{className:X.timePanel,children:(0,$.jsxs)(`div`,{className:X.fields,children:[(0,$.jsxs)(`label`,{className:X.field,children:[(0,$.jsx)(`span`,{className:X.label,children:`Часы`}),(0,$.jsx)(L,{className:X.wheel,items:o.hours,value:o.selectedHour,onChange:e=>a(e,o.selectedMinute),ariaLabel:`Выбор часов`,disabled:t,formatItem:s})]}),(0,$.jsxs)(`label`,{className:X.field,children:[(0,$.jsx)(`span`,{className:X.label,children:`Минуты`}),(0,$.jsx)(L,{className:X.wheel,items:o.minutes,value:o.selectedMinute,onChange:e=>a(o.selectedHour,e),ariaLabel:`Выбор минут`,disabled:t,formatItem:s})]})]})})}var $;function ae(){return(ae=e((()=>{U(),E(),Z(),$=n(),Q.__docgenInfo={description:`Переиспользуемая панель выбора времени поверх internal wheel-picker.`,methods:[],displayName:`TimePanel`,props:{value:{required:!0,tsType:{name:`Date`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},minDate:{required:!1,tsType:{name:`Date`},description:``},maxDate:{required:!1,tsType:{name:`Date`},description:``},mode:{required:!1,tsType:{name:`union`,raw:`"date-time" | "time"`,elements:[{name:`literal`,value:`"date-time"`},{name:`literal`,value:`"time"`}]},description:``,defaultValue:{value:`"date-time"`,computed:!1}},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(hours: number, minutes: number) => void`,signature:{arguments:[{type:{name:`number`},name:`hours`},{type:{name:`number`},name:`minutes`}],return:{name:`void`}}},description:``}}}})))()}export{f as a,h as c,_ as d,d as i,g as l,ae as n,T as o,y as r,m as s,Q as t,p as u};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-Sr0umHM6.js";import{n,t as r}from"./TimePanel-BUhFtwlb.js";function i(e){let[,t]=o(),n=e.value;return(0,a.jsx)(`div`,{style:{width:320,minHeight:280},children:(0,a.jsx)(r,{...e,value:n,onChange:(r,i)=>{e.onChange(r,i),t({value:new Date(n.getFullYear(),n.getMonth(),n.getDate(),r,i,0,0)})}})})}var a,o,s,c,l,u,d;function f(){return(f=e((()=>{n(),a=t(),{useArgs:o}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:s}=__STORYBOOK_MODULE_TEST__,c={title:`Shared/UI/Internal/DateTime/TimePanel`,component:r,args:{value:new Date(2026,2,10,12,30,0,0),onChange:s(),disabled:!1,mode:`date-time`},parameters:{atomicCanvas:!0,layout:`centered`},argTypes:{value:{description:`Текущая дата, из которой панель берёт календарный день и время.`,control:!1},disabled:{description:`Блокирует оба wheel-picker-а.`,control:`boolean`},minDate:{description:`Нижняя граница доступного времени для выбранного дня.`,control:`date`},maxDate:{description:`Верхняя граница доступного времени для выбранного дня.`,control:`date`},mode:{description:`Режим вычисления доступного времени.`,control:`inline-radio`,options:[`date-time`,`time`]},onChange:{description:`Вызывается с выбранными часами и минутами.`,control:!1}}},l={render:function(e){return(0,a.jsx)(i,{...e})}},u={render:function(e){return(0,a.jsx)(i,{...e})},args:{value:new Date(2026,2,10,9,30,0,0),minDate:new Date(2026,2,10,9,15,0,0),maxDate:new Date(2026,2,10,18,30,0,0)}},l.parameters={...l.parameters,docs:{...l.parameters?.docs,source:{originalSource:`{
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-FSp_AjJa.js";import{n,t as r}from"./TimePanel-DNEPDlSW.js";function i(e){let[,t]=o(),n=e.value;return(0,a.jsx)(`div`,{style:{width:320,minHeight:280},children:(0,a.jsx)(r,{...e,value:n,onChange:(r,i)=>{e.onChange(r,i),t({value:new Date(n.getFullYear(),n.getMonth(),n.getDate(),r,i,0,0)})}})})}var a,o,s,c,l,u,d;function f(){return(f=e((()=>{n(),a=t(),{useArgs:o}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:s}=__STORYBOOK_MODULE_TEST__,c={title:`Shared/UI/Internal/DateTime/TimePanel`,component:r,args:{value:new Date(2026,2,10,12,30,0,0),onChange:s(),disabled:!1,mode:`date-time`},parameters:{atomicCanvas:!0,layout:`centered`},argTypes:{value:{description:`Текущая дата, из которой панель берёт календарный день и время.`,control:!1},disabled:{description:`Блокирует оба wheel-picker-а.`,control:`boolean`},minDate:{description:`Нижняя граница доступного времени для выбранного дня.`,control:`date`},maxDate:{description:`Верхняя граница доступного времени для выбранного дня.`,control:`date`},mode:{description:`Режим вычисления доступного времени.`,control:`inline-radio`,options:[`date-time`,`time`]},onChange:{description:`Вызывается с выбранными часами и минутами.`,control:!1}}},l={render:function(e){return(0,a.jsx)(i,{...e})}},u={render:function(e){return(0,a.jsx)(i,{...e})},args:{value:new Date(2026,2,10,9,30,0,0),minDate:new Date(2026,2,10,9,15,0,0),maxDate:new Date(2026,2,10,18,30,0,0)}},l.parameters={...l.parameters,docs:{...l.parameters?.docs,source:{originalSource:`{
2
2
  render: function Render(args) {
3
3
  return <TimePanelStoryCanvas {...args} />;
4
4
  }
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-Sr0umHM6.js";import{i as n,r}from"./react-Bl2r1tuC.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-DndFRxxW.js";import{a as p,i as m,n as h,r as g,t as _}from"./Toggle.stories-Ca8otmAa.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:m,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-FSp_AjJa.js";import{i as n,r}from"./react-Bl2r1tuC.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-B5YBxaaS.js";import{a as p,i as m,n as h,r as g,t as _}from"./Toggle.stories-BR-hVLDp.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:m,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,b.jsx)(u,{children:`Toggle`}),`
3
3
  `,(0,b.jsx)(o,{children:`Переключаемый булев контрол для локальных режимов и простых опций`}),`
4
4
  `,(0,b.jsx)(t.p,{children:`Toggle уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -1 +1 @@
1
- import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-Sr0umHM6.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";import{n as o,t as s}from"./ui.module-Cat84Nza.js";var c,l,u,d,f,p,m,h,g;function _(){return(_=t((()=>{c=`FFyoOs`,l=`zPYy7T`,u=`j6ek6R`,d=`HFTPXI`,f=`_0RK4xF`,p=`kDPnKt`,m=`DQHqws`,h=`nCQ9v4`,g={row:c,wrapper:l,input:u,track:d,thumb:f,unchecked:p,checked:m,option:h}})))()}function v({label:e,description:t,placeholder:n,disabled:r,size:a,className:s,onChange:c,value:l,id:u,checkedText:d=`ВКЛ`,uncheckedText:f=`ВЫКЛ`,labelPosition:p=`before`,...m}){let h=(0,y.useId)(),_=u??h,v=t?`${_}-description`:void 0,x=e??n,S=!!l,C=!x&&!m[`aria-label`]?`${f} / ${d}`:void 0,w=x?(0,b.jsx)(`label`,{htmlFor:_,className:o.uiLabel,children:x}):null;return(0,b.jsxs)(`div`,{className:i(o.uiElement,r&&o.disabled,a&&o.uiSizable,a&&o[a],s),"aria-disabled":r||void 0,children:[(0,b.jsxs)(`div`,{className:g.row,children:[p===`before`&&w,(0,b.jsxs)(`div`,{className:g.wrapper,children:[(0,b.jsx)(`input`,{...m,id:_,type:`checkbox`,role:`switch`,checked:S,disabled:r,"aria-checked":S,"aria-describedby":v,"aria-label":C,className:i(o.uiInputControl,g.input),onChange:e=>c?.(e.currentTarget.checked)}),(0,b.jsxs)(`div`,{className:g.track,"data-disabled":r||void 0,"aria-hidden":`true`,children:[(0,b.jsx)(`div`,{className:g.thumb}),(0,b.jsx)(`div`,{className:i(g.option,g.unchecked),children:f}),(0,b.jsx)(`div`,{className:i(g.option,g.checked),children:d})]})]}),p===`after`&&w]}),t&&(0,b.jsx)(`p`,{id:v,className:o.uiDescription,children:t})]})}var y,b;function x(){return(x=t((()=>{y=e(n(),1),a(),s(),_(),b=r(),v.__docgenInfo={description:`Переключаемая кнопка с сохранением активного состояния. Используется для локального выбора режима, фильтра или форматирования.`,methods:[],displayName:`Toggle`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},checkedText:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"ВКЛ"`,computed:!1}},uncheckedText:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"ВЫКЛ"`,computed:!1}},labelPosition:{required:!1,tsType:{name:`union`,raw:`"before" | "after"`,elements:[{name:`literal`,value:`"before"`},{name:`literal`,value:`"after"`}]},description:``,defaultValue:{value:`"before"`,computed:!1}}},composes:[`Omit`]}})))()}export{x as n,v as t};
1
+ import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-FSp_AjJa.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";import{n as o,t as s}from"./ui.module-Cat84Nza.js";var c,l,u,d,f,p,m,h,g;function _(){return(_=t((()=>{c=`FFyoOs`,l=`zPYy7T`,u=`j6ek6R`,d=`HFTPXI`,f=`_0RK4xF`,p=`kDPnKt`,m=`DQHqws`,h=`nCQ9v4`,g={row:c,wrapper:l,input:u,track:d,thumb:f,unchecked:p,checked:m,option:h}})))()}function v({label:e,description:t,placeholder:n,disabled:r,size:a,className:s,onChange:c,value:l,id:u,checkedText:d=`ВКЛ`,uncheckedText:f=`ВЫКЛ`,labelPosition:p=`before`,...m}){let h=(0,y.useId)(),_=u??h,v=t?`${_}-description`:void 0,x=e??n,S=!!l,C=!x&&!m[`aria-label`]?`${f} / ${d}`:void 0,w=x?(0,b.jsx)(`label`,{htmlFor:_,className:o.uiLabel,children:x}):null;return(0,b.jsxs)(`div`,{className:i(o.uiElement,r&&o.disabled,a&&o.uiSizable,a&&o[a],s),"aria-disabled":r||void 0,children:[(0,b.jsxs)(`div`,{className:g.row,children:[p===`before`&&w,(0,b.jsxs)(`div`,{className:g.wrapper,children:[(0,b.jsx)(`input`,{...m,id:_,type:`checkbox`,role:`switch`,checked:S,disabled:r,"aria-checked":S,"aria-describedby":v,"aria-label":C,className:i(o.uiInputControl,g.input),onChange:e=>c?.(e.currentTarget.checked)}),(0,b.jsxs)(`div`,{className:g.track,"data-disabled":r||void 0,"aria-hidden":`true`,children:[(0,b.jsx)(`div`,{className:g.thumb}),(0,b.jsx)(`div`,{className:i(g.option,g.unchecked),children:f}),(0,b.jsx)(`div`,{className:i(g.option,g.checked),children:d})]})]}),p===`after`&&w]}),t&&(0,b.jsx)(`p`,{id:v,className:o.uiDescription,children:t})]})}var y,b;function x(){return(x=t((()=>{y=e(n(),1),a(),s(),_(),b=r(),v.__docgenInfo={description:`Переключаемая кнопка с сохранением активного состояния. Используется для локального выбора режима, фильтра или форматирования.`,methods:[],displayName:`Toggle`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},checkedText:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"ВКЛ"`,computed:!1}},uncheckedText:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"ВЫКЛ"`,computed:!1}},labelPosition:{required:!1,tsType:{name:`union`,raw:`"before" | "after"`,elements:[{name:`literal`,value:`"before"`},{name:`literal`,value:`"after"`}]},description:``,defaultValue:{value:`"before"`,computed:!1}}},composes:[`Omit`]}})))()}export{x as n,v as t};
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-Sr0umHM6.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./Toggle-l2AvDbRn.js";var s=t({Controlled:()=>d,Disabled:()=>p,LabelAfter:()=>f,__namedExportsOrder:()=>m,default:()=>u}),c,l,u,d,f,p,m;function h(){return(h=e((()=>{r(),a(),c=n(),l=i((e,t)=>(0,c.jsx)(o,{...e,value:e.value??!1,onChange:n=>{e.onChange?.(n),t({value:n})}})),u={title:`Shared/UI/Toggle`,component:o,args:{value:!1,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст подписи переключателя.`,control:`text`},description:{description:`Описание под переключателем.`,control:`text`},placeholder:{description:"Резервная подпись, если `label` не задан.",control:`text`},value:{description:`Текущее значение переключателя.`,control:`boolean`},onChange:{description:`Вызывается при изменении значения.`,control:!1},checkedText:{description:`Текст для включенного состояния.`,control:`text`},uncheckedText:{description:`Текст для выключенного состояния.`,control:`text`},labelPosition:{description:`Положение подписи относительно переключателя.`,control:`inline-radio`,options:[`before`,`after`]},disabled:{description:`Блокирует взаимодействие.`,control:`boolean`},size:{description:`Размер контрола и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},d={render:l,args:{label:`Режим синхронизации`,description:`Мгновенное переключение состояния.`,value:!1,checkedText:`ВКЛ`,uncheckedText:`ВЫКЛ`,labelPosition:`before`}},f={render:l,args:{label:`Уведомления`,value:!0,labelPosition:`after`}},p={render:l,args:{label:`Недоступный переключатель`,value:!0,disabled:!0}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-FSp_AjJa.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./Toggle-Cc6Ca-HI.js";var s=t({Controlled:()=>d,Disabled:()=>p,LabelAfter:()=>f,__namedExportsOrder:()=>m,default:()=>u}),c,l,u,d,f,p,m;function h(){return(h=e((()=>{r(),a(),c=n(),l=i((e,t)=>(0,c.jsx)(o,{...e,value:e.value??!1,onChange:n=>{e.onChange?.(n),t({value:n})}})),u={title:`Shared/UI/Toggle`,component:o,args:{value:!1,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст подписи переключателя.`,control:`text`},description:{description:`Описание под переключателем.`,control:`text`},placeholder:{description:"Резервная подпись, если `label` не задан.",control:`text`},value:{description:`Текущее значение переключателя.`,control:`boolean`},onChange:{description:`Вызывается при изменении значения.`,control:!1},checkedText:{description:`Текст для включенного состояния.`,control:`text`},uncheckedText:{description:`Текст для выключенного состояния.`,control:`text`},labelPosition:{description:`Положение подписи относительно переключателя.`,control:`inline-radio`,options:[`before`,`after`]},disabled:{description:`Блокирует взаимодействие.`,control:`boolean`},size:{description:`Размер контрола и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},d={render:l,args:{label:`Режим синхронизации`,description:`Мгновенное переключение состояния.`,value:!1,checkedText:`ВКЛ`,uncheckedText:`ВЫКЛ`,labelPosition:`before`}},f={render:l,args:{label:`Уведомления`,value:!0,labelPosition:`after`}},p={render:l,args:{label:`Недоступный переключатель`,value:!0,disabled:!0}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
2
2
  render: renderToggleStory,
3
3
  args: {
4
4
  label: "Режим синхронизации",
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-Sr0umHM6.js";import{i as n,r}from"./react-Bl2r1tuC.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-DndFRxxW.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}from"./TreeMultiSelect.stories-6STRGJbF.js";function S(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(s,{of:m,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-FSp_AjJa.js";import{i as n,r}from"./react-Bl2r1tuC.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-B5YBxaaS.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}from"./TreeMultiSelect.stories-CslpbvPR.js";function S(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(s,{of:m,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,w.jsx)(u,{children:`TreeMultiSelect`}),`
3
3
  `,(0,w.jsx)(o,{children:`Мультивыбор узлов дерева с компрессией subtree в parent`}),`
4
4
  `,(0,w.jsxs)(t.p,{children:[(0,w.jsx)(t.code,{children:`TreeMultiSelect`}),` хранит наружу не “все листья”, а канонизированный frontier по уровням дерева.`]}),`
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-Sr0umHM6.js";import{i as r,o as i,r as a,s as o}from"./defaultRenderers-m21aWJXz.js";import{a as s,c,d as l,i as u,l as d,n as f,r as p,s as m,t as h}from"./TreePickerBase-Cq7fSw3x.js";function g(e,t){let n=l(e,t),r=Object.values(n).reduce((e,t)=>e+t.length,0);if(r!==0){if(r===1){let n=[...e].sort((e,n)=>(t.preorderIndexById.get(e)??2**53-1)-(t.preorderIndexById.get(n)??2**53-1))[0],r=t.nodeById.get(n);return r?r.label:void 0}return a(r)}}function _(e,t,n){let r=d(e,n),i=d(t,n);return r.size===i.size&&[...r].every(e=>i.has(e))}function v({label:e,description:t,disabled:n,placeholder:r=`Выберите значения`,size:i,nodes:a,value:f,onChange:v,query:x,defaultQuery:S,onQuery:C,isLoading:w,error:T,optionsLayout:E=`tree`,defaultExpandedCodeKeys:D}){let[O,k]=(0,y.useState)(!1),A=(0,y.useMemo)(()=>p(a),[a]),{draftValue:j,setDraftValue:M,prepareOpen:N}=o({value:f,open:O,onCommit:v,isEqual:(e,t)=>_(e,t,A)}),P=O?j:f,F=(0,y.useMemo)(()=>d(P,A),[P,A]),I=(0,y.useMemo)(()=>s(F,A),[F,A]),L=(0,y.useMemo)(()=>new Set([...A.nodeById.keys()].filter(e=>A.nodeById.get(e)?.disabled!==!0&&!m(e,F,A)&&!I.selectedIds.has(e)&&u(A,[e]).size===0)),[F,I.selectedIds,A]),R=(0,y.useMemo)(()=>g(F,A),[F,A]);return(0,b.jsx)(h,{label:e,description:t,disabled:n,placeholder:r,size:i,nodes:a,selectedIds:I.selectedIds,partialIds:I.partialIds,selectionMode:`multi`,optionsLayout:E,defaultExpandedCodeKeys:D,unavailableNodeIds:L,open:O,onOpenChange:e=>{e&&!O&&N(),k(e)},bulkActions:{onSelectAll:()=>{M(l(u(A),A))},onDeselectAll:()=>M({})},triggerMode:`search`,selectedSummary:R,query:x,defaultQuery:S,onQuery:C,onNodeActivate:(e,t)=>{M(c({},e.id,A,t))},onNodeToggleSelection:(e,t)=>{M(n=>c(n,e.id,A,t))},onClearSelection:()=>{M({}),O||v({})},isLoading:w,error:T})}var y,b;function x(){return(x=e((()=>{y=t(),r(),i(),f(),b=n(),v.__docgenInfo={description:``,methods:[],displayName:`TreeMultiSelect`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите значения"`,computed:!1}},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:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``},optionsLayout:{required:!1,tsType:{name:`union`,raw:`"tree" | "columns"`,elements:[{name:`literal`,value:`"tree"`},{name:`literal`,value:`"columns"`}]},description:`Определяет обычное раскрываемое дерево или полностью открытый адаптивный набор колонок.`,defaultValue:{value:`"tree"`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:"Ключи уровней, узлы которых раскрываются до ручного действия пользователя.\nВ режиме `columns` дерево по-прежнему отображается полностью раскрытым."}},composes:[`Omit`]}})))()}export{x as n,v as t};
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-FSp_AjJa.js";import{i as r,o as i,r as a,s as o}from"./defaultRenderers-DfmnIuod.js";import{a as s,c,d as l,i as u,l as d,n as f,r as p,s as m,t as h}from"./TreePickerBase-B_dMCe45.js";function g(e,t){let n=l(e,t),r=Object.values(n).reduce((e,t)=>e+t.length,0);if(r!==0){if(r===1){let n=[...e].sort((e,n)=>(t.preorderIndexById.get(e)??2**53-1)-(t.preorderIndexById.get(n)??2**53-1))[0],r=t.nodeById.get(n);return r?r.label:void 0}return a(r)}}function _(e,t,n){let r=d(e,n),i=d(t,n);return r.size===i.size&&[...r].every(e=>i.has(e))}function v({label:e,description:t,disabled:n,placeholder:r=`Выберите значения`,size:i,nodes:a,value:f,onChange:v,query:x,defaultQuery:S,onQuery:C,isLoading:w,error:T,optionsLayout:E=`tree`,defaultExpandedCodeKeys:D}){let[O,k]=(0,y.useState)(!1),A=(0,y.useMemo)(()=>p(a),[a]),{draftValue:j,setDraftValue:M,prepareOpen:N}=o({value:f,open:O,onCommit:v,isEqual:(e,t)=>_(e,t,A)}),P=O?j:f,F=(0,y.useMemo)(()=>d(P,A),[P,A]),I=(0,y.useMemo)(()=>s(F,A),[F,A]),L=(0,y.useMemo)(()=>new Set([...A.nodeById.keys()].filter(e=>A.nodeById.get(e)?.disabled!==!0&&!m(e,F,A)&&!I.selectedIds.has(e)&&u(A,[e]).size===0)),[F,I.selectedIds,A]),R=(0,y.useMemo)(()=>g(F,A),[F,A]);return(0,b.jsx)(h,{label:e,description:t,disabled:n,placeholder:r,size:i,nodes:a,selectedIds:I.selectedIds,partialIds:I.partialIds,selectionMode:`multi`,optionsLayout:E,defaultExpandedCodeKeys:D,unavailableNodeIds:L,open:O,onOpenChange:e=>{e&&!O&&N(),k(e)},bulkActions:{onSelectAll:()=>{M(l(u(A),A))},onDeselectAll:()=>M({})},triggerMode:`search`,selectedSummary:R,query:x,defaultQuery:S,onQuery:C,onNodeActivate:(e,t)=>{M(c({},e.id,A,t))},onNodeToggleSelection:(e,t)=>{M(n=>c(n,e.id,A,t))},onClearSelection:()=>{M({}),O||v({})},isLoading:w,error:T})}var y,b;function x(){return(x=e((()=>{y=t(),r(),i(),f(),b=n(),v.__docgenInfo={description:``,methods:[],displayName:`TreeMultiSelect`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите значения"`,computed:!1}},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:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``},optionsLayout:{required:!1,tsType:{name:`union`,raw:`"tree" | "columns"`,elements:[{name:`literal`,value:`"tree"`},{name:`literal`,value:`"columns"`}]},description:`Определяет обычное раскрываемое дерево или полностью открытый адаптивный набор колонок.`,defaultValue:{value:`"tree"`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:"Ключи уровней, узлы которых раскрываются до ручного действия пользователя.\nВ режиме `columns` дерево по-прежнему отображается полностью раскрытым."}},composes:[`Omit`]}})))()}export{x as n,v as t};
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-Sr0umHM6.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./TreeMultiSelect-C9QDV63L.js";import{n as s,r as c,t as l}from"./treeStoryFixtures-DXHh9GL3.js";var u=t({BalancedColumns:()=>x,Basic:()=>_,FirstTwoLevelsExpanded:()=>b,MixedSelection:()=>y,OrphanProtectionColumns:()=>S,ParentCompression:()=>v,RightEdgeColumns:()=>C,__namedExportsOrder:()=>w,default:()=>g});function d({args:e,updateArgs:t}){return(0,f.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,f.jsx)(o,{...e,onChange:n=>{e.onChange(n),t({value:n})}}),(0,f.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,JSON.stringify(e.value)]})]})}var f,p,m,h,g,_,v,y,b,x,S,C,w;function T(){return(T=e((()=>{r(),a(),s(),f=n(),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=i((e,t)=>(0,f.jsx)(d,{args:e,updateArgs:t})),h=i((e,t)=>(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)(d,{args:e,updateArgs:t})})})),g={title:`Shared/UI/TreeMultiSelect`,component:o,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узлов`,description:`Мультивыбор с канонизацией subtree в ближайший parent.`,nodes:l,value:{},onChange:()=>{}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под полем.`,control:`text`},placeholder:{description:`Текст без выбранных узлов.`,control:`text`},nodes:{description:`Дерево доступных узлов.`,control:!1},value:{description:`Контролируемое отображение выбранных узлов по codeKey.`,control:!1},onChange:{description:`Вызывается при commit набора узлов.`,control:!1},query:{description:`Контролируемый текст поиска.`,control:`text`},defaultQuery:{description:`Начальный текст поиска в uncontrolled-режиме.`,control:`text`},onQuery:{description:`Вызывается при вводе поисковой строки.`,control:!1},isLoading:{description:`Показывает загрузку дерева.`,control:`boolean`},error:{description:`Текст ошибки загрузки.`,control:`text`},optionsLayout:{description:`Способ показа: дерево или адаптивные колонки.`,control:`inline-radio`,options:[`tree`,`columns`]},defaultExpandedCodeKeys:{description:`Ключи уровней, раскрываемых при открытии.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},_={render:m,args:{value:{OWNER:[`P0001`]}}},v={render:m,args:{label:`Компрессия parent`,description:`Когда выбран весь subtree, наружу может уйти только родительский узел.`,value:{REGION:[`R01`]}}},y={render:m,args:{label:`Смешанный выбор`,description:`Пример mixed frontier по соседним уровням.`,value:{BRANCH:[`B0101`],OWNER:[`P0004`]}}},b={render:m,args:{label:`Раскрыты два уровня`,description:`Уровни REGION и BRANCH раскрыты по умолчанию, остальные уровни остаются закрытыми.`,defaultExpandedCodeKeys:[`REGION`,`BRANCH`]}},x={render:m,args:{label:`Все уровни в столбцах`,description:`Popover подбирает число столбцов по количеству опций и доступному viewport.`,optionsLayout:`columns`,value:{BRANCH:[`B0101`]}}},S={render:m,args:{label:`Защита начала большой группы`,description:`Начало группы остаётся в текущем столбце при трёх свободных строках; при одной или двух переносится в новый.`,optionsLayout:`columns`,nodes:c}},C={render:h,args:{label:`Контрол у правой границы`,description:`Popover для 66 опций должен сравнить вертикальные и горизонтальные стороны и остаться внутри viewport.`,optionsLayout:`columns`,nodes:p}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-FSp_AjJa.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./TreeMultiSelect-D9hMQN2O.js";import{n as s,r as c,t as l}from"./treeStoryFixtures-DXHh9GL3.js";var u=t({BalancedColumns:()=>x,Basic:()=>_,FirstTwoLevelsExpanded:()=>b,MixedSelection:()=>y,OrphanProtectionColumns:()=>S,ParentCompression:()=>v,RightEdgeColumns:()=>C,__namedExportsOrder:()=>w,default:()=>g});function d({args:e,updateArgs:t}){return(0,f.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,f.jsx)(o,{...e,onChange:n=>{e.onChange(n),t({value:n})}}),(0,f.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,JSON.stringify(e.value)]})]})}var f,p,m,h,g,_,v,y,b,x,S,C,w;function T(){return(T=e((()=>{r(),a(),s(),f=n(),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=i((e,t)=>(0,f.jsx)(d,{args:e,updateArgs:t})),h=i((e,t)=>(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)(d,{args:e,updateArgs:t})})})),g={title:`Shared/UI/TreeMultiSelect`,component:o,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узлов`,description:`Мультивыбор с канонизацией subtree в ближайший parent.`,nodes:l,value:{},onChange:()=>{}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под полем.`,control:`text`},placeholder:{description:`Текст без выбранных узлов.`,control:`text`},nodes:{description:`Дерево доступных узлов.`,control:!1},value:{description:`Контролируемое отображение выбранных узлов по codeKey.`,control:!1},onChange:{description:`Вызывается при commit набора узлов.`,control:!1},query:{description:`Контролируемый текст поиска.`,control:`text`},defaultQuery:{description:`Начальный текст поиска в uncontrolled-режиме.`,control:`text`},onQuery:{description:`Вызывается при вводе поисковой строки.`,control:!1},isLoading:{description:`Показывает загрузку дерева.`,control:`boolean`},error:{description:`Текст ошибки загрузки.`,control:`text`},optionsLayout:{description:`Способ показа: дерево или адаптивные колонки.`,control:`inline-radio`,options:[`tree`,`columns`]},defaultExpandedCodeKeys:{description:`Ключи уровней, раскрываемых при открытии.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},_={render:m,args:{value:{OWNER:[`P0001`]}}},v={render:m,args:{label:`Компрессия parent`,description:`Когда выбран весь subtree, наружу может уйти только родительский узел.`,value:{REGION:[`R01`]}}},y={render:m,args:{label:`Смешанный выбор`,description:`Пример mixed frontier по соседним уровням.`,value:{BRANCH:[`B0101`],OWNER:[`P0004`]}}},b={render:m,args:{label:`Раскрыты два уровня`,description:`Уровни REGION и BRANCH раскрыты по умолчанию, остальные уровни остаются закрытыми.`,defaultExpandedCodeKeys:[`REGION`,`BRANCH`]}},x={render:m,args:{label:`Все уровни в столбцах`,description:`Popover подбирает число столбцов по количеству опций и доступному viewport.`,optionsLayout:`columns`,value:{BRANCH:[`B0101`]}}},S={render:m,args:{label:`Защита начала большой группы`,description:`Начало группы остаётся в текущем столбце при трёх свободных строках; при одной или двух переносится в новый.`,optionsLayout:`columns`,nodes:c}},C={render:h,args:{label:`Контрол у правой границы`,description:`Popover для 66 опций должен сравнить вертикальные и горизонтальные стороны и остаться внутри viewport.`,optionsLayout:`columns`,nodes:p}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
2
2
  render: renderTreeMultiSelectStory,
3
3
  args: {
4
4
  value: {
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./chevron-right-DfBBx-fr.js";import{n as i,t as a}from"./CheckBox-BiK9yWNt.js";import{n as o}from"./iframe-Sr0umHM6.js";import{a as s,i as c,r as l,s as u,t as d}from"./utils-tg3ibbzi.js";import{n as f,t as p}from"./OptionButton-Br48w_Zg.js";import{l as m,o as h}from"./Input-op4j7Beh.js";import{c as g,i as ee,l as te,m as _,n as ne,p as re,r as ie,s as ae,t as oe,u as v}from"./usePickerTriggerController-EaI8W2G0.js";import{a as se,n as ce,o as le,t as ue}from"./Option-Rw8xwrPg.js";import{i as de,n as fe,r as pe,t as me}from"./usePickerQuery-CtsGhieD.js";function y(e,t){return`${e}::${t}`}function he(e){let t=new Map,n=new Map,r=new Map,i=new Map,a=new Map,o=new Map,s=new Map,c=0,l=(e,u)=>{t.set(e.id,e),n.set(e.id,u),i.set(e.id,c++);let d=y(e.codeKey,e.value);a.set(d,e.id);let f=o.get(d);f?f.push(e.id):o.set(d,[e.id]);let p=(e.children??[]).map(e=>e.id);r.set(e.id,p);for(let t of e.children??[])l(t,e.id);s.set(e.id,e.disabled===!0||p.some(e=>s.get(e)===!0))};for(let t of e)l(t);return{rootIds:e.map(e=>e.id),nodeById:t,parentById:n,childrenById:r,preorderIndexById:i,nodeIdByCodeValue:a,nodeIdsByCodeValue:o,subtreeContainsDisabledById:s}}function b(e,t){let n=t.nodeById.get(e);return n?t.nodeIdsByCodeValue.get(y(n.codeKey,n.value))??[]:[]}function ge(e,t){if(e)return t.nodeIdByCodeValue.get(y(e.codeKey,e.value))}function x(e,t){let n=new Set;if(!e)return n;for(let[r,i]of Object.entries(e))for(let e of i)for(let i of t.nodeIdsByCodeValue.get(y(r,e))??[])n.add(i);return O(n,t)}function S(e,t){let n=[...e].sort((e,n)=>(t.preorderIndexById.get(e)??2**53-1)-(t.preorderIndexById.get(n)??2**53-1)),r={},i=new Set;for(let e of n){let n=t.nodeById.get(e);if(!n)continue;let a=y(n.codeKey,n.value);i.has(a)||(r[n.codeKey]=r[n.codeKey]??[],r[n.codeKey].push(n.value),i.add(a))}return r}function _e(e,t){let n=[],r=t.parentById.get(e);for(;r;)n.push(r),r=t.parentById.get(r);return n}function C(e,t,n){let r=n.parentById.get(e);for(;r;){if(r===t)return!0;r=n.parentById.get(r)}return!1}function w(e,t){let n=b(e,t);return!n.length||n.some(e=>{let n=t.nodeById.get(e);return!n||n.selectionBehavior===`descendants`||t.subtreeContainsDisabledById.get(e)===!0})?!1:!n.some((e,r)=>n.some((n,i)=>r!==i&&(C(e,n,t)||C(n,e,t))))}function ve(e,t){return w(e,t)?b(e,t):[e]}function ye(e,t,n){for(let r of[...e])C(r,t,n)&&e.delete(r)}function T(e,t,n){let r=[t];for(let t=0;t<r.length;t+=1){let i=r[t];if(i){r.push(...n.childrenById.get(i)??[]);for(let t of b(i,n))e.delete(t)}}}function E(e,t,n){if(t.has(e))return!0;if(n.nodeById.get(e)?.disabled)return!1;let r=n.childrenById.get(e)??[];return r.length!==0&&r.every(e=>E(e,t,n))}function D(e,t,n){if(!n.nodeById.has(e))return!1;let r=t.childrenById.get(e)??[],i=n.childrenById.get(e)??[];return r.length===i.length&&r.every((e,r)=>i[r]===e&&D(e,t,n))}function O(e,t){let n=new Set(e);for(let e of[...n])if(t.nodeById.get(e)?.selectionBehavior===`descendants`){n.delete(e);for(let r of j(t,t.childrenById.get(e)??[]))n.add(r)}for(let e of[...n])_e(e,t).some(e=>n.has(e))&&n.delete(e);let r=[...t.nodeById.keys()].sort((e,n)=>(t.preorderIndexById.get(n)??0)-(t.preorderIndexById.get(e)??0));for(let e of r){let r=t.childrenById.get(e)??[];if(!(r.length===0||n.has(e)||t.nodeById.get(e)?.disabled||t.nodeById.get(e)?.selectionBehavior===`descendants`)&&r.every(e=>E(e,n,t))){let r=b(e,t);if(w(e,t)&&r.every(e=>{let r=t.nodeById.get(e);return r&&!r.disabled&&r.selectionBehavior!==`descendants`&&E(e,n,t)}))for(let e of r)ye(n,e,t),n.add(e)}}return n}function k(e,t,n){let r=n.parentById.get(t);for(;r;){if(e.has(r)){for(let t of b(r,n))if(e.has(t)){e.delete(t);for(let r of j(n,n.childrenById.get(t)??[]))e.add(r)}return!0}r=n.parentById.get(r)}return!1}function A(e,t,n){return t.has(e)?!0:_e(e,n).some(e=>t.has(e))}function be(e,t,n,r){let i=n.childrenById.get(e)??[];if(t.has(e))return r.selectedIds.add(e),{selected:!0,partial:!1};if(i.length===0)return{selected:!1,partial:!1};let a=i.map(e=>be(e,t,n,r)),o=a.every(e=>e.selected&&!e.partial),s=a.some(e=>e.selected||e.partial);return o?(r.selectedIds.add(e),{selected:!0,partial:!1}):s?(r.partialIds.add(e),{selected:!1,partial:!0}):{selected:!1,partial:!1}}function xe(e,t){let n={selectedIds:new Set,partialIds:new Set};for(let r of t.rootIds)be(r,e,t,n);return n}function j(e,t=e.rootIds){let n=t=>{let r=e.nodeById.get(t),i=(e.childrenById.get(t)??[]).map(n),a=i.flatMap(e=>e.selectedIds),o=r?.disabled===!0||i.some(e=>e.containsDisabled);if(!r||r.disabled)return{containsDisabled:!0,selectedIds:a};if(r.selectionBehavior===`descendants`)return{containsDisabled:o,selectedIds:a};let s=!w(t,e);return o||s?{containsDisabled:!0,selectedIds:a}:{containsDisabled:!1,selectedIds:[t]}};return new Set(t.flatMap(e=>n(e).selectedIds))}function M(e,t,n,r){let i=x(e,n),a=r!==void 0&&!D(t,n,r);if(!a&&E(t,i,n))return T(i,t,n),S(O(i,n),n);let o=e=>{if(i.has(e)){T(i,e,n);return}if(E(e,i,n)){T(i,e,n);return}if(A(e,i,n)){k(i,e,n)&&(A(e,i,n)||E(e,i,n)?o(e):T(i,e,n));return}for(let t of ve(e,n))ye(i,t,n),i.add(t)},s=e=>{if(!r?.nodeById.has(e))return[];if(D(e,n,r)){let t=[...j(n,[e])];return t.length>0?t:A(e,i,n)||E(e,i,n)?[e]:[]}return(r.childrenById.get(e)??[]).flatMap(s)},c=a?s(t):[...j(n,[t])],l=c.length===0&&(A(t,i,n)||E(t,i,n))?[t]:c,u=l.length>0&&l.every(e=>A(e,i,n)||E(e,i,n));for(let e of l){let t=A(e,i,n)||E(e,i,n);(u&&t||!u&&!t)&&o(e)}return S(O(i,n),n)}function N(e,t,n){let r=t.parentById.get(e);for(;r;)n.add(r),r=t.parentById.get(r)}function Se(e,t){let n=new Set;for(let r of e)N(r,t,n);return n}function Ce(e,t,n){let r=new Set;for(let[i,a]of e.childrenById){if(a.length===0)continue;let o=e.nodeById.get(i);o&&(n.get(i)??t.has(o.codeKey))&&r.add(i)}return r}function P(e,t,n){let r=(e.children??[]).map(e=>P(e,t,n)).filter(e=>!!e);return!e.searchText.toLowerCase().includes(t)&&r.length===0?null:(r.length>0&&n.add(e.id),r.length===0?e:{...e,children:r})}function we(e,t){let n=t.trim().toLowerCase();if(!n)return{nodes:[...e],expandedIds:new Set};let r=new Set;return{nodes:e.map(e=>P(e,n,r)).filter(e=>!!e),expandedIds:r}}function Te(e,t){let n=[],r=(e,i,a)=>{let o=(e.children?.length??0)>0,s=o&&t.has(e.id);if(n.push({node:e,level:i,parentId:a,hasChildren:o,isExpanded:s,isLeaf:!o}),s)for(let t of e.children??[])r(t,i+1,e.id)};for(let t of e)r(t,0);return n}function F(){return(F=e((()=>{})))()}function Ee(e){let t=[],n=0;for(;n<e.length;){let r=n+1;for(;r<e.length&&e[r]?.level!==0;)r+=1;t.push({startIndex:n,endIndexExclusive:r}),n=r}let r=t.map(({startIndex:e,endIndexExclusive:t})=>`${e}:${t}`).join(`|`);return{itemCount:e.length,groups:t,signature:`${e.length}|${r}`}}function I(e,t){return Number.isFinite(e)&&e>0?e:t}function De(e){let t=e.endIndexExclusive-e.startIndex;return Math.min(Ae,t)}function L(e,t){let n=Math.max(1,t),r=[],i=1,a=1,o=0;for(let t of e.groups){let e=De(t),s=n-a+1;a>1&&e>s&&(o+=s,i+=1,a=1);for(let e=t.startIndex;e<t.endIndexExclusive;e+=1)r[e]={column:i,row:a},a+=1,a>n&&(i+=1,a=1)}return{placements:r,usedColumnCount:r.length?Math.max(...r.map(e=>e.column)):1,intentionalGapCount:o}}function Oe({descriptor:e,availableWidth:t,availableHeight:n,viewportWidth:r,viewportHeight:i,referenceWidth:a}){let o=Math.max(0,Math.floor(Number.isFinite(e.itemCount)?e.itemCount:0)),s=I(t,240),c=I(n,80),l=I(r,s+16),u=I(i,c),d=Math.max(1,Math.min(s,Math.max(1,l-16))),f=Math.max(1,Math.min(c,u-16)),p=Math.max(1,I(a,1)),m=Math.min(d,p),h=Math.max(1,Math.floor((d-R+B)/234)),g=Math.max(1,Math.min(H,h,o||1)),ee=e.groups.reduce((e,t)=>Math.max(e,De(t)),1);if(o===0)return{columnCount:1,rowCount:1,width:m,minWidth:m,maxHeight:f,placements:[]};let te,_=1/0;for(let t=1;t<=g;t+=1){let n=Math.max(ee,Math.ceil(o/t)),r=L(e,n);for(;r.usedColumnCount>t&&n<o;)n+=1,r=L(e,n);let i=r.usedColumnCount,a=Math.max(m,R+i*z+(i-1)*B),s=ke+n*V,c=a/d,l=s/f,u=(i*n-o)/o,p=r.intentionalGapCount/o,h=Math.max(c,l)+.25*Math.abs(c-l)+.01*u+.02*p+.04*(i-1);h<_&&(_=h,te={columnCount:i,rowCount:n,width:Math.min(d,a),minWidth:m,maxHeight:f,placements:r.placements})}return te??{columnCount:1,rowCount:o,width:m,minWidth:m,maxHeight:f,placements:L(e,o).placements}}var R,ke,z,B,V,H,Ae;function U(){return(U=e((()=>{R=16,ke=48,z=224,B=10,V=32,H=6,Ae=3})))()}var je,W,G,Me,K,Ne,Pe,Fe,Ie,Le,Re,q;function J(){return(J=e((()=>{je=`_6EH37F`,W=`UBll8Q`,G=`-y3RZP`,Me=`ayLJ50`,K=`_430vL2`,Ne=`_2MFkGF`,Pe=`o5NWnX`,Fe=`ibSd-S`,Ie=`lXezvv`,Le=`FMlLGX`,Re=`d2Zt7U`,q={treeNodeButton:je,treePopupHeader:W,treeColumns:G,treeColumnRow:Me,treeColumnsPopupLayout:K,treeColumnCheckBox:Ne,treeIndent:Pe,treeExpander:Fe,treeExpanderPlaceholder:Ie,treeExpanderIcon:Le,treeExpanderIconExpanded:Re}})))()}function ze({node:e,level:t,highlight:n,hasChildren:i,isExpanded:o,selected:c,partial:l,selectionMode:u,optionsLayout:d=`tree`,onToggleExpand:f,onToggleSelection:m,onActivate:h}){let g=d===`tree`,ee=d===`columns`&&t===0;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:q.treeIndent,style:{"--tree-level":t},"aria-hidden":`true`}),g&&i?(0,Y.jsx)(`button`,{type:`button`,className:q.treeExpander,onClick:e=>{e.stopPropagation(),f?.()},"aria-label":o?`Свернуть ветку`:`Развернуть ветку`,"data-ui":`tree-select-expander`,"data-action":o?`collapse-tree-select-node`:`expand-tree-select-node`,children:(0,Y.jsx)(r,{className:s(q.treeExpanderIcon,o&&q.treeExpanderIconExpanded)})}):g?(0,Y.jsx)(`div`,{className:q.treeExpanderPlaceholder,"aria-hidden":`true`}):null,u===`multi`?(0,Y.jsx)(`div`,{className:q.treeColumnCheckBox,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,Y.jsx)(a,{value:c,indeterminate:l,disabled:e.disabled,"aria-label":`Выбрать ${e.label}`,onChange:()=>m?.()})}):null,(0,Y.jsx)(p,{className:q.treeNodeButton,tabIndex:-1,disabled:e.disabled,text:e.label,code:e.code,searchText:n,emphasizeContent:ee,onMouseDown:e=>e.preventDefault(),onClick:h})]})}var Y;function Be(){return(Be=e((()=>{c(),n(),i(),f(),J(),Y=o(),ze.__docgenInfo={description:``,methods:[],displayName:`TreeNodeContent`,props:{node:{required:!0,tsType:{name:`signature`,type:`object`,raw:`{
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./chevron-right-ChokKd-f.js";import{n as i,t as a}from"./CheckBox-DKeFkdOt.js";import{n as o}from"./iframe-FSp_AjJa.js";import{a as s,i as c,r as l,s as u,t as d}from"./utils-tg3ibbzi.js";import{n as f,t as p}from"./OptionButton-B9nZuqqW.js";import{l as m,o as h}from"./Input-CIPgijvW.js";import{c as g,i as ee,l as te,m as _,n as ne,p as re,r as ie,s as ae,t as oe,u as v}from"./usePickerTriggerController-C0TdC2Pz.js";import{a as se,n as ce,o as le,t as ue}from"./Option-BBtQ3GdK.js";import{i as de,n as fe,r as pe,t as me}from"./usePickerQuery-Da-XM_Y0.js";function y(e,t){return`${e}::${t}`}function he(e){let t=new Map,n=new Map,r=new Map,i=new Map,a=new Map,o=new Map,s=new Map,c=0,l=(e,u)=>{t.set(e.id,e),n.set(e.id,u),i.set(e.id,c++);let d=y(e.codeKey,e.value);a.set(d,e.id);let f=o.get(d);f?f.push(e.id):o.set(d,[e.id]);let p=(e.children??[]).map(e=>e.id);r.set(e.id,p);for(let t of e.children??[])l(t,e.id);s.set(e.id,e.disabled===!0||p.some(e=>s.get(e)===!0))};for(let t of e)l(t);return{rootIds:e.map(e=>e.id),nodeById:t,parentById:n,childrenById:r,preorderIndexById:i,nodeIdByCodeValue:a,nodeIdsByCodeValue:o,subtreeContainsDisabledById:s}}function b(e,t){let n=t.nodeById.get(e);return n?t.nodeIdsByCodeValue.get(y(n.codeKey,n.value))??[]:[]}function ge(e,t){if(e)return t.nodeIdByCodeValue.get(y(e.codeKey,e.value))}function x(e,t){let n=new Set;if(!e)return n;for(let[r,i]of Object.entries(e))for(let e of i)for(let i of t.nodeIdsByCodeValue.get(y(r,e))??[])n.add(i);return O(n,t)}function S(e,t){let n=[...e].sort((e,n)=>(t.preorderIndexById.get(e)??2**53-1)-(t.preorderIndexById.get(n)??2**53-1)),r={},i=new Set;for(let e of n){let n=t.nodeById.get(e);if(!n)continue;let a=y(n.codeKey,n.value);i.has(a)||(r[n.codeKey]=r[n.codeKey]??[],r[n.codeKey].push(n.value),i.add(a))}return r}function _e(e,t){let n=[],r=t.parentById.get(e);for(;r;)n.push(r),r=t.parentById.get(r);return n}function C(e,t,n){let r=n.parentById.get(e);for(;r;){if(r===t)return!0;r=n.parentById.get(r)}return!1}function w(e,t){let n=b(e,t);return!n.length||n.some(e=>{let n=t.nodeById.get(e);return!n||n.selectionBehavior===`descendants`||t.subtreeContainsDisabledById.get(e)===!0})?!1:!n.some((e,r)=>n.some((n,i)=>r!==i&&(C(e,n,t)||C(n,e,t))))}function ve(e,t){return w(e,t)?b(e,t):[e]}function ye(e,t,n){for(let r of[...e])C(r,t,n)&&e.delete(r)}function T(e,t,n){let r=[t];for(let t=0;t<r.length;t+=1){let i=r[t];if(i){r.push(...n.childrenById.get(i)??[]);for(let t of b(i,n))e.delete(t)}}}function E(e,t,n){if(t.has(e))return!0;if(n.nodeById.get(e)?.disabled)return!1;let r=n.childrenById.get(e)??[];return r.length!==0&&r.every(e=>E(e,t,n))}function D(e,t,n){if(!n.nodeById.has(e))return!1;let r=t.childrenById.get(e)??[],i=n.childrenById.get(e)??[];return r.length===i.length&&r.every((e,r)=>i[r]===e&&D(e,t,n))}function O(e,t){let n=new Set(e);for(let e of[...n])if(t.nodeById.get(e)?.selectionBehavior===`descendants`){n.delete(e);for(let r of j(t,t.childrenById.get(e)??[]))n.add(r)}for(let e of[...n])_e(e,t).some(e=>n.has(e))&&n.delete(e);let r=[...t.nodeById.keys()].sort((e,n)=>(t.preorderIndexById.get(n)??0)-(t.preorderIndexById.get(e)??0));for(let e of r){let r=t.childrenById.get(e)??[];if(!(r.length===0||n.has(e)||t.nodeById.get(e)?.disabled||t.nodeById.get(e)?.selectionBehavior===`descendants`)&&r.every(e=>E(e,n,t))){let r=b(e,t);if(w(e,t)&&r.every(e=>{let r=t.nodeById.get(e);return r&&!r.disabled&&r.selectionBehavior!==`descendants`&&E(e,n,t)}))for(let e of r)ye(n,e,t),n.add(e)}}return n}function k(e,t,n){let r=n.parentById.get(t);for(;r;){if(e.has(r)){for(let t of b(r,n))if(e.has(t)){e.delete(t);for(let r of j(n,n.childrenById.get(t)??[]))e.add(r)}return!0}r=n.parentById.get(r)}return!1}function A(e,t,n){return t.has(e)?!0:_e(e,n).some(e=>t.has(e))}function be(e,t,n,r){let i=n.childrenById.get(e)??[];if(t.has(e))return r.selectedIds.add(e),{selected:!0,partial:!1};if(i.length===0)return{selected:!1,partial:!1};let a=i.map(e=>be(e,t,n,r)),o=a.every(e=>e.selected&&!e.partial),s=a.some(e=>e.selected||e.partial);return o?(r.selectedIds.add(e),{selected:!0,partial:!1}):s?(r.partialIds.add(e),{selected:!1,partial:!0}):{selected:!1,partial:!1}}function xe(e,t){let n={selectedIds:new Set,partialIds:new Set};for(let r of t.rootIds)be(r,e,t,n);return n}function j(e,t=e.rootIds){let n=t=>{let r=e.nodeById.get(t),i=(e.childrenById.get(t)??[]).map(n),a=i.flatMap(e=>e.selectedIds),o=r?.disabled===!0||i.some(e=>e.containsDisabled);if(!r||r.disabled)return{containsDisabled:!0,selectedIds:a};if(r.selectionBehavior===`descendants`)return{containsDisabled:o,selectedIds:a};let s=!w(t,e);return o||s?{containsDisabled:!0,selectedIds:a}:{containsDisabled:!1,selectedIds:[t]}};return new Set(t.flatMap(e=>n(e).selectedIds))}function M(e,t,n,r){let i=x(e,n),a=r!==void 0&&!D(t,n,r);if(!a&&E(t,i,n))return T(i,t,n),S(O(i,n),n);let o=e=>{if(i.has(e)){T(i,e,n);return}if(E(e,i,n)){T(i,e,n);return}if(A(e,i,n)){k(i,e,n)&&(A(e,i,n)||E(e,i,n)?o(e):T(i,e,n));return}for(let t of ve(e,n))ye(i,t,n),i.add(t)},s=e=>{if(!r?.nodeById.has(e))return[];if(D(e,n,r)){let t=[...j(n,[e])];return t.length>0?t:A(e,i,n)||E(e,i,n)?[e]:[]}return(r.childrenById.get(e)??[]).flatMap(s)},c=a?s(t):[...j(n,[t])],l=c.length===0&&(A(t,i,n)||E(t,i,n))?[t]:c,u=l.length>0&&l.every(e=>A(e,i,n)||E(e,i,n));for(let e of l){let t=A(e,i,n)||E(e,i,n);(u&&t||!u&&!t)&&o(e)}return S(O(i,n),n)}function N(e,t,n){let r=t.parentById.get(e);for(;r;)n.add(r),r=t.parentById.get(r)}function Se(e,t){let n=new Set;for(let r of e)N(r,t,n);return n}function Ce(e,t,n){let r=new Set;for(let[i,a]of e.childrenById){if(a.length===0)continue;let o=e.nodeById.get(i);o&&(n.get(i)??t.has(o.codeKey))&&r.add(i)}return r}function P(e,t,n){let r=(e.children??[]).map(e=>P(e,t,n)).filter(e=>!!e);return!e.searchText.toLowerCase().includes(t)&&r.length===0?null:(r.length>0&&n.add(e.id),r.length===0?e:{...e,children:r})}function we(e,t){let n=t.trim().toLowerCase();if(!n)return{nodes:[...e],expandedIds:new Set};let r=new Set;return{nodes:e.map(e=>P(e,n,r)).filter(e=>!!e),expandedIds:r}}function Te(e,t){let n=[],r=(e,i,a)=>{let o=(e.children?.length??0)>0,s=o&&t.has(e.id);if(n.push({node:e,level:i,parentId:a,hasChildren:o,isExpanded:s,isLeaf:!o}),s)for(let t of e.children??[])r(t,i+1,e.id)};for(let t of e)r(t,0);return n}function F(){return(F=e((()=>{})))()}function Ee(e){let t=[],n=0;for(;n<e.length;){let r=n+1;for(;r<e.length&&e[r]?.level!==0;)r+=1;t.push({startIndex:n,endIndexExclusive:r}),n=r}let r=t.map(({startIndex:e,endIndexExclusive:t})=>`${e}:${t}`).join(`|`);return{itemCount:e.length,groups:t,signature:`${e.length}|${r}`}}function I(e,t){return Number.isFinite(e)&&e>0?e:t}function De(e){let t=e.endIndexExclusive-e.startIndex;return Math.min(Ae,t)}function L(e,t){let n=Math.max(1,t),r=[],i=1,a=1,o=0;for(let t of e.groups){let e=De(t),s=n-a+1;a>1&&e>s&&(o+=s,i+=1,a=1);for(let e=t.startIndex;e<t.endIndexExclusive;e+=1)r[e]={column:i,row:a},a+=1,a>n&&(i+=1,a=1)}return{placements:r,usedColumnCount:r.length?Math.max(...r.map(e=>e.column)):1,intentionalGapCount:o}}function Oe({descriptor:e,availableWidth:t,availableHeight:n,viewportWidth:r,viewportHeight:i,referenceWidth:a}){let o=Math.max(0,Math.floor(Number.isFinite(e.itemCount)?e.itemCount:0)),s=I(t,240),c=I(n,80),l=I(r,s+16),u=I(i,c),d=Math.max(1,Math.min(s,Math.max(1,l-16))),f=Math.max(1,Math.min(c,u-16)),p=Math.max(1,I(a,1)),m=Math.min(d,p),h=Math.max(1,Math.floor((d-R+B)/234)),g=Math.max(1,Math.min(H,h,o||1)),ee=e.groups.reduce((e,t)=>Math.max(e,De(t)),1);if(o===0)return{columnCount:1,rowCount:1,width:m,minWidth:m,maxHeight:f,placements:[]};let te,_=1/0;for(let t=1;t<=g;t+=1){let n=Math.max(ee,Math.ceil(o/t)),r=L(e,n);for(;r.usedColumnCount>t&&n<o;)n+=1,r=L(e,n);let i=r.usedColumnCount,a=Math.max(m,R+i*z+(i-1)*B),s=ke+n*V,c=a/d,l=s/f,u=(i*n-o)/o,p=r.intentionalGapCount/o,h=Math.max(c,l)+.25*Math.abs(c-l)+.01*u+.02*p+.04*(i-1);h<_&&(_=h,te={columnCount:i,rowCount:n,width:Math.min(d,a),minWidth:m,maxHeight:f,placements:r.placements})}return te??{columnCount:1,rowCount:o,width:m,minWidth:m,maxHeight:f,placements:L(e,o).placements}}var R,ke,z,B,V,H,Ae;function U(){return(U=e((()=>{R=16,ke=48,z=224,B=10,V=32,H=6,Ae=3})))()}var je,W,G,Me,K,Ne,Pe,Fe,Ie,Le,Re,q;function J(){return(J=e((()=>{je=`_6EH37F`,W=`UBll8Q`,G=`-y3RZP`,Me=`ayLJ50`,K=`_430vL2`,Ne=`_2MFkGF`,Pe=`o5NWnX`,Fe=`ibSd-S`,Ie=`lXezvv`,Le=`FMlLGX`,Re=`d2Zt7U`,q={treeNodeButton:je,treePopupHeader:W,treeColumns:G,treeColumnRow:Me,treeColumnsPopupLayout:K,treeColumnCheckBox:Ne,treeIndent:Pe,treeExpander:Fe,treeExpanderPlaceholder:Ie,treeExpanderIcon:Le,treeExpanderIconExpanded:Re}})))()}function ze({node:e,level:t,highlight:n,hasChildren:i,isExpanded:o,selected:c,partial:l,selectionMode:u,optionsLayout:d=`tree`,onToggleExpand:f,onToggleSelection:m,onActivate:h}){let g=d===`tree`,ee=d===`columns`&&t===0;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:q.treeIndent,style:{"--tree-level":t},"aria-hidden":`true`}),g&&i?(0,Y.jsx)(`button`,{type:`button`,className:q.treeExpander,onClick:e=>{e.stopPropagation(),f?.()},"aria-label":o?`Свернуть ветку`:`Развернуть ветку`,"data-ui":`tree-select-expander`,"data-action":o?`collapse-tree-select-node`:`expand-tree-select-node`,children:(0,Y.jsx)(r,{className:s(q.treeExpanderIcon,o&&q.treeExpanderIconExpanded)})}):g?(0,Y.jsx)(`div`,{className:q.treeExpanderPlaceholder,"aria-hidden":`true`}):null,u===`multi`?(0,Y.jsx)(`div`,{className:q.treeColumnCheckBox,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,Y.jsx)(a,{value:c,indeterminate:l,disabled:e.disabled,"aria-label":`Выбрать ${e.label}`,onChange:()=>m?.()})}):null,(0,Y.jsx)(p,{className:q.treeNodeButton,tabIndex:-1,disabled:e.disabled,text:e.label,code:e.code,searchText:n,emphasizeContent:ee,onMouseDown:e=>e.preventDefault(),onClick:h})]})}var Y;function Be(){return(Be=e((()=>{c(),n(),i(),f(),J(),Y=o(),ze.__docgenInfo={description:``,methods:[],displayName:`TreeNodeContent`,props:{node:{required:!0,tsType:{name:`signature`,type:`object`,raw:`{
2
2
  id: string;
3
3
  codeKey: string;
4
4
  value: string;
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-Sr0umHM6.js";import{n as r,r as i,t as a,u as o}from"./TreePickerBase-Cq7fSw3x.js";function s(e){if(e)return e.code&&e.code!==e.label?`${e.label} · ${e.code}`:e.label}function c({label:e,description:t,disabled:n,placeholder:r=`Выберите значение`,size:c,nodes:d,value:f,onChange:p,query:m,defaultQuery:h,onQuery:g,isLoading:_,error:v,clearable:y=!1,defaultExpandedCodeKeys:b}){let x=(0,l.useMemo)(()=>i(d),[d]),S=o(f,x),C=S?x.nodeById.get(S):void 0;return(0,u.jsx)(a,{label:e,description:t,disabled:n,placeholder:r,size:c,nodes:d,selectedIds:S?new Set([S]):new Set,partialIds:new Set,selectionMode:`single`,defaultExpandedCodeKeys:b,triggerMode:`search`,selectedSummaryText:s(C),query:m,defaultQuery:h,onQuery:g,onNodeActivate:e=>p({codeKey:e.codeKey,value:e.value}),onClearSelection:y?()=>p(void 0):void 0,isLoading:_,error:v})}var l,u;function d(){return(d=e((()=>{l=t(),r(),u=n(),c.__docgenInfo={description:``,methods:[],displayName:`TreeSelect`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите значение"`,computed:!1}},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:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``},clearable:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:"Ключи уровней, узлы которых раскрываются до ручного действия пользователя.\nЗначения сопоставляются с `TreeSelectNode.codeKey`."}},composes:[`Omit`]}})))()}export{d as n,c as t};
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-FSp_AjJa.js";import{n as r,r as i,t as a,u as o}from"./TreePickerBase-B_dMCe45.js";function s(e){if(e)return e.code&&e.code!==e.label?`${e.label} · ${e.code}`:e.label}function c({label:e,description:t,disabled:n,placeholder:r=`Выберите значение`,size:c,nodes:d,value:f,onChange:p,query:m,defaultQuery:h,onQuery:g,isLoading:_,error:v,clearable:y=!1,defaultExpandedCodeKeys:b}){let x=(0,l.useMemo)(()=>i(d),[d]),S=o(f,x),C=S?x.nodeById.get(S):void 0;return(0,u.jsx)(a,{label:e,description:t,disabled:n,placeholder:r,size:c,nodes:d,selectedIds:S?new Set([S]):new Set,partialIds:new Set,selectionMode:`single`,defaultExpandedCodeKeys:b,triggerMode:`search`,selectedSummaryText:s(C),query:m,defaultQuery:h,onQuery:g,onNodeActivate:e=>p({codeKey:e.codeKey,value:e.value}),onClearSelection:y?()=>p(void 0):void 0,isLoading:_,error:v})}var l,u;function d(){return(d=e((()=>{l=t(),r(),u=n(),c.__docgenInfo={description:``,methods:[],displayName:`TreeSelect`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите значение"`,computed:!1}},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:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``},clearable:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:"Ключи уровней, узлы которых раскрываются до ручного действия пользователя.\nЗначения сопоставляются с `TreeSelectNode.codeKey`."}},composes:[`Omit`]}})))()}export{d as n,c as t};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-Sr0umHM6.js";import{i as n,r}from"./react-Bl2r1tuC.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-DndFRxxW.js";import{a as p,i as m,n as h,o as g,r as _,t as v}from"./TreeSelect.stories-B-Emz9yW.js";function y(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{of:p,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-FSp_AjJa.js";import{i as n,r}from"./react-Bl2r1tuC.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-B5YBxaaS.js";import{a as p,i as m,n as h,o as g,r as _,t as v}from"./TreeSelect.stories-CVDxn8Vm.js";function y(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{of:p,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,x.jsx)(u,{children:`TreeSelect`}),`
3
3
  `,(0,x.jsx)(o,{children:`Single-select для выбора одного узла из дерева`}),`
4
4
  `,(0,x.jsxs)(t.p,{children:[(0,x.jsx)(t.code,{children:`TreeSelect`}),` подходит для сценариев, где выбор должен происходить по одному узлу, но пользователь работает не с плоским списком, а с иерархией.`]}),`
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-Sr0umHM6.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./treeStoryFixtures-DXHh9GL3.js";import{n as s,t as c}from"./TreeSelect-CITef9rp.js";var l=t({Basic:()=>m,Empty:()=>_,FirstLevelExpanded:()=>g,SelectParent:()=>h,__namedExportsOrder:()=>v,default:()=>p});function u({args:e,updateArgs:t}){return(0,d.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,d.jsx)(c,{...e,onChange:n=>{e.onChange(n),t({value:n})}}),(0,d.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,e.value?`${e.value.codeKey}=${e.value.value}`:`пусто`]})]})}var d,f,p,m,h,g,_,v;function y(){return(y=e((()=>{r(),s(),a(),d=n(),f=i((e,t)=>(0,d.jsx)(u,{args:e,updateArgs:t})),p={title:`Shared/UI/TreeSelect`,component:c,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узла`,description:`Single-select поверх дерева. Можно выбрать любой узел.`,nodes:o,value:void 0,onChange:()=>{}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под полем.`,control:`text`},placeholder:{description:`Текст без выбранного узла.`,control:`text`},nodes:{description:`Дерево доступных узлов.`,control:!1},value:{description:`Выбранный узел в формате codeKey/value.`,control:!1},onChange:{description:`Вызывается при выборе узла.`,control:!1},query:{description:`Контролируемый текст поиска.`,control:`text`},defaultQuery:{description:`Начальный текст поиска в uncontrolled-режиме.`,control:`text`},onQuery:{description:`Вызывается при вводе поисковой строки.`,control:!1},isLoading:{description:`Показывает загрузку дерева.`,control:`boolean`},error:{description:`Текст ошибки загрузки.`,control:`text`},clearable:{description:`Показывает действие очистки выбора.`,control:`boolean`},defaultExpandedCodeKeys:{description:`Ключи уровней, раскрываемых при открытии.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},m={render:f,args:{value:{codeKey:`BRANCH`,value:`B0101`}}},h={render:f,args:{label:`Выбор родителя`,description:`Проверка single-select сценария, когда выбирается не leaf, а промежуточный узел.`,value:{codeKey:`REGION`,value:`R01`}}},g={render:f,args:{label:`Раскрыт первый уровень`,description:`Все узлы уровня REGION раскрыты до первого ручного действия пользователя.`,defaultExpandedCodeKeys:[`REGION`]}},_={render:f,args:{nodes:[],description:`Состояние без доступных узлов.`}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-FSp_AjJa.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./treeStoryFixtures-DXHh9GL3.js";import{n as s,t as c}from"./TreeSelect-2lj0Q8gm.js";var l=t({Basic:()=>m,Empty:()=>_,FirstLevelExpanded:()=>g,SelectParent:()=>h,__namedExportsOrder:()=>v,default:()=>p});function u({args:e,updateArgs:t}){return(0,d.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,d.jsx)(c,{...e,onChange:n=>{e.onChange(n),t({value:n})}}),(0,d.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,e.value?`${e.value.codeKey}=${e.value.value}`:`пусто`]})]})}var d,f,p,m,h,g,_,v;function y(){return(y=e((()=>{r(),s(),a(),d=n(),f=i((e,t)=>(0,d.jsx)(u,{args:e,updateArgs:t})),p={title:`Shared/UI/TreeSelect`,component:c,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узла`,description:`Single-select поверх дерева. Можно выбрать любой узел.`,nodes:o,value:void 0,onChange:()=>{}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под полем.`,control:`text`},placeholder:{description:`Текст без выбранного узла.`,control:`text`},nodes:{description:`Дерево доступных узлов.`,control:!1},value:{description:`Выбранный узел в формате codeKey/value.`,control:!1},onChange:{description:`Вызывается при выборе узла.`,control:!1},query:{description:`Контролируемый текст поиска.`,control:`text`},defaultQuery:{description:`Начальный текст поиска в uncontrolled-режиме.`,control:`text`},onQuery:{description:`Вызывается при вводе поисковой строки.`,control:!1},isLoading:{description:`Показывает загрузку дерева.`,control:`boolean`},error:{description:`Текст ошибки загрузки.`,control:`text`},clearable:{description:`Показывает действие очистки выбора.`,control:`boolean`},defaultExpandedCodeKeys:{description:`Ключи уровней, раскрываемых при открытии.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},m={render:f,args:{value:{codeKey:`BRANCH`,value:`B0101`}}},h={render:f,args:{label:`Выбор родителя`,description:`Проверка single-select сценария, когда выбирается не leaf, а промежуточный узел.`,value:{codeKey:`REGION`,value:`R01`}}},g={render:f,args:{label:`Раскрыт первый уровень`,description:`Все узлы уровня REGION раскрыты до первого ручного действия пользователя.`,defaultExpandedCodeKeys:[`REGION`]}},_={render:f,args:{nodes:[],description:`Состояние без доступных узлов.`}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
2
2
  render: renderTreeSelectStory,
3
3
  args: {
4
4
  value: {
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-Sr0umHM6.js";import{i as n,r}from"./react-Bl2r1tuC.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-DndFRxxW.js";import{_ as p,a as m,c as h,d as g,f as _,g as v,h as y,i as b,l as x,m as S,n as C,o as w,p as T,r as E,s as D,t as O,u as k}from"./TreeTable.stories-DJb9qt8k.js";function A(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(s,{of:D,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-FSp_AjJa.js";import{i as n,r}from"./react-Bl2r1tuC.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-B5YBxaaS.js";import{_ as p,a as m,c as h,d as g,f as _,g as v,h as y,i as b,l as x,m as S,n as C,o as w,p as T,r as E,s as D,t as O,u as k}from"./TreeTable.stories-BMzrr2Kc.js";function A(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(s,{of:D,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,M.jsx)(u,{children:`TreeTable`}),`
3
3
  `,(0,M.jsx)(o,{children:`Древовидная таблица для плоских OData-данных на базе TanStack Table`}),`
4
4
  `,(0,M.jsxs)(t.p,{children:[(0,M.jsx)(t.code,{children:`TreeTable`}),` предназначен для сценариев, где данные приходят плоским списком, но в UI должны выглядеть как дерево.
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r,t as i}from"./chevron-down-miCejSEn.js";import{n as a,t as o}from"./chevron-right-DfBBx-fr.js";import{n as s}from"./iframe-Sr0umHM6.js";import{J as c,X as l,Y as u,Z as d,_ as ee,b as f,g as te,h as ne,n as re,s as ie,y as ae}from"./odata-DhISMZkE.js";import{a as oe,i as se}from"./utils-tg3ibbzi.js";import{i as ce,y as le}from"./formatters-CBgrBeSA-CqB1pZxS.js";import{_ as ue,a as de,b as fe,c as pe,d as me,f as he,g as ge,h as _e,i as ve,l as ye,m as be,n as xe,o as Se,p as Ce,r as we,s as Te,t as Ee,u as De,v as Oe,x as ke,y as Ae}from"./FormattedTableCell-D-ysSR3p.js";function je(e,t,n){let r=e.get(t);if(r){r.push(n);return}e.set(t,[n])}function p(e){return Array.from(new Set(e))}function Me(e,t){let n=new Map,r=new Map,i=new Map,a=[],o=[],s=[],c=[];for(let o of e){let e=t.getRowId(o);if(n.has(e)){a.push(e);continue}let s=t.getParentRowId(o)??null;n.set(e,o),r.set(e,s),c.push(e),s!==null&&s!==e&&je(i,s,e)}let l=[];for(let e of c){let t=r.get(e)??null;if(t===null){l.push(e);continue}if(t===e){s.push(e),l.push(e);continue}n.has(t)||(o.push(e),l.push(e))}let u=new Set,d=(e,t)=>{let r=n.get(e);if(!r)throw Error(`Не удалось построить дерево: строка "${e}" отсутствует в индексе.`);u.add(e);let a=new Set(t);a.add(e);let o={...r},c=i.get(e)??[],l=[];for(let e of c){if(a.has(e)){s.push(e);continue}u.has(e)||l.push(d(e,a))}return l.length>0&&(o.children=l),o},ee=[],f=[];for(let e of l)u.has(e)||(ee.push(d(e,new Set)),f.push(e));for(let e of c)u.has(e)||(s.push(e),ee.push(d(e,new Set)),f.push(e));return{rows:ee,rowById:n,allRowIds:c,rootRowIds:p(f),orphanRowIds:p(o),duplicateRowIds:p(a),cyclicRowIds:p(s)}}function m(){return(m=e((()=>{})))()}var Ne,Pe,Fe,h,g,_,v,y;function b(){return(b=e((()=>{Ne=`jOS9rT`,Pe=`zHOAf7`,Fe=`j48cXg`,h=`mf4-Kr`,g=`p8pb0F`,_=`KIudLf`,v=`bJsPGU`,y={treeColumnCell:Ne,selectedIndicatorCell:Pe,treeCell:Fe,treeCellContent:h,expanderButton:g,expanderSpacer:_,sentinel:v}})))()}function Ie(e){return Object.fromEntries(e.map(e=>[e,!0]))}function Le(e){return typeof e==`boolean`?[]:Object.keys(e).filter(t=>e[t])}function x(e,t){return t.get(e.id)??e.original}function Re(e,t,n,r){return e.cell.column.id===n?(0,w.jsxs)(`div`,{className:y.treeCell,style:{paddingInlineStart:`calc(${e.row.depth} * ${ae(r)??`0em`})`},children:[e.row.getCanExpand()?(0,w.jsx)(`button`,{type:`button`,className:y.expanderButton,"aria-label":e.row.getIsExpanded()?`Свернуть строку`:`Развернуть строку`,"data-tree-table-interactive":`true`,"data-ui":`tree-table-expander`,"data-action":e.row.getIsExpanded()?`collapse-tree-table-row`:`expand-tree-table-row`,onClick:t=>{t.stopPropagation(),e.row.toggleExpanded()},children:e.row.getIsExpanded()?(0,w.jsx)(i,{size:16}):(0,w.jsx)(o,{size:16})}):(0,w.jsx)(`span`,{className:y.expanderSpacer,"aria-hidden":`true`}),(0,w.jsx)(`div`,{className:y.treeCellContent,children:t})]}):t}function S({title:e,isLoading:t,isFetching:n,data:r,columns:i,hierarchy:a,selectionMode:o=`none`,expandFirstLevel:s=!1,defaultExpandedRowIds:c,treeColumnId:l,indentSize:u=1,className:d,tableClassName:f,columnVisibility:ne,defaultColumnVisibility:re,columnOrder:ie,defaultColumnOrder:ae,columnSizing:se,defaultColumnSizing:le,columnPinning:de,defaultColumnPinning:fe,enableColumnResizing:me=!1,enableColumnReordering:ge=!1,columnResizeMinWidth:ve,onColumnVisibilityChange:ye,onColumnOrderChange:be,onColumnSizingChange:xe,onColumnPinningChange:Te,onRowClick:Ae,onRowSelectionChange:je,onExpandedRowIdsChange:p,onReachEnd:m,getRowCanSelect:Ne,getRowClassName:Pe,renderHeaderContextMenu:Fe,renderCellContent:h}){let g=(0,C.useMemo)(()=>Me(r??[],a),[r,a]),_=(0,C.useMemo)(()=>_e(i),[i]),v=(0,C.useMemo)(()=>{let e=new Set(c??[]);if(s)for(let t of g.rootRowIds)e.add(t);return Array.from(e)},[c,s,g.rootRowIds]),[b,S]=(0,C.useState)({}),T=(0,C.useRef)(!1),E=(0,C.useRef)(null),ze=(0,C.useRef)(null),{rowSelection:Be,activateRowSelection:D}=te({availableRowIds:g.allRowIds,rowById:g.rowById,selectionMode:o,onRowSelectionChange:je}),{columnVisibility:O,onColumnVisibilityChange:Ve}=Se({columnVisibility:ne,defaultColumnVisibility:re,onColumnVisibilityChange:ye}),{columnOrder:k,onColumnOrderChange:He}=he({columnOrder:ie,defaultColumnOrder:ae,onColumnOrderChange:be}),{columnSizing:A,onColumnSizingChange:Ue}=pe({columnSizing:se,defaultColumnSizing:le,columnResizeMinWidth:ve,onColumnSizingChange:xe}),{columnPinning:j,onColumnPinningChange:We}=De({columnPinning:de,defaultColumnPinning:fe,onColumnPinningChange:Te}),Ge=(0,C.useMemo)(()=>({columnOrder:k,columnPinning:j,columnSizing:A,columnVisibility:O}),[k,j,A,O]),M=(0,C.useEffectEvent)((e,t)=>{if(e.length===0){T.current=!1,S({});return}let n=new Set(e);S(e=>{let r=Le(e).filter(e=>n.has(e));return T.current?Ie(r):(T.current=!0,Ie(Array.from(new Set([...r,...t.filter(e=>n.has(e))]))))})}),Ke=(0,C.useEffectEvent)(e=>{p?.(Le(e))}),N=(0,C.useEffectEvent)(()=>{m?.()});(0,C.useEffect)(()=>{M(g.allRowIds,v)},[v,g.allRowIds]),(0,C.useEffect)(()=>{Ke(b)},[b]),(0,C.useEffect)(()=>{if(!m||!E.current||!ze.current||t)return;let e=new IntersectionObserver(e=>{e[0]?.isIntersecting&&N()},{root:E.current,threshold:.1});return e.observe(ze.current),()=>e.disconnect()},[t,m,g.rows.length]);let P=ke({features:ee,data:g.rows,columns:i,state:{columnOrder:k,columnPinning:j,columnSizing:A,columnVisibility:O,expanded:b,rowSelection:Be},getRowId:e=>a.getRowId(e),getSubRows:e=>e.children,onColumnOrderChange:He,onColumnPinningChange:We,onColumnSizingChange:Ue,onColumnVisibilityChange:Ve,onExpandedChange:S,enableMultiRowSelection:o===`multi`,enableRowSelection:e=>{if(o===`none`)return!1;let t=x(e,g.rowById);return!Ne||Ne(t)}}),F=Oe(P,Ge),I=l??F[0]?.id,qe=P.getRowModel().rows,Je=(0,C.useMemo)(()=>Ce({rows:qe,columns:F,resolveRowBoundaryKey:e=>e.depth,excludeColumnIds:I?new Set([I]):void 0}),[qe,F,I]);return(0,w.jsx)(we,{table:P,columnState:Ge,title:e,isLoading:t,isFetching:n,className:d,tableClassName:f,selectionMode:o,scrollableRef:E,interactiveElementSelector:`[data-tree-table-interactive="true"]`,onActivateRow:o!==`none`||Ae?e=>{let t=x(e,g.rowById);D(e.id,e.getCanSelect()),Ae?.(t)}:void 0,isRowInteractive:e=>!!(Ae||o!==`none`&&e.getCanSelect()),getRowClassName:e=>{let t=x(e,g.rowById);return Pe?.(t)},getCellClassName:({row:e,cell:t})=>oe(t.column.id===I&&y.treeColumnCell,t.column.id===I&&e.getIsSelected()&&y.selectedIndicatorCell),getCellLayout:({cell:e})=>Je.get(e.id),renderHeaderContextMenu:Fe,enableColumnResizing:me,enableColumnReordering:ge,columnResizeMinWidth:ve,renderCellContent:e=>{let t=x(e.row,g.rowById),n=ce({field:_.runtimeByColumnId[e.cell.column.id],rawValue:e.cell.getValue(),rowData:t,rowKind:`tree`}),r=ue({columnId:e.cell.column.id,runtimeByColumnId:_.runtimeByColumnId,customCellColumnIds:_.customCellColumnIds})?(0,w.jsx)(Ee,{displayValue:n,align:e.columnMeta?.align}):e.defaultContent;return Re(e,h?h({...e,defaultContent:r,displayValue:n}):r,I,u)},afterTableContent:m?(0,w.jsx)(`div`,{ref:ze,className:y.sentinel,"aria-hidden":`true`}):null})}var C,w;function T(){return(T=e((()=>{C=n(),le(),f(),m(),se(),fe(),r(),a(),ve(),be(),ge(),xe(),Ae(),me(),ye(),Te(),de(),b(),w=s(),S.__docgenInfo={description:`Древовидная таблица на базе TanStack Table для плоских OData-данных.`,methods:[],displayName:`TreeTable`,props:{title:{required:!1,tsType:{name:`string`},description:`Необязательный заголовок над таблицей.`},isLoading:{required:!1,tsType:{name:`boolean`},description:`Признак первичной загрузки.`},isFetching:{required:!1,tsType:{name:`boolean`},description:`Признак фоновой догрузки или обновления данных.`},data:{required:!0,tsType:{name:`union`,raw:`readonly TData[] | undefined | null`,elements:[{name:`unknown`},{name:`undefined`},{name:`null`}]},description:`Плоский источник строк.`},columns:{required:!0,tsType:{name:`unknown`},description:`Описание колонок через исходный тип строки.`},hierarchy:{required:!0,tsType:{name:`TreeTableFlatHierarchy`,elements:[{name:`TData`}],raw:`TreeTableFlatHierarchy<TData>`},description:`Правила восстановления дерева из плоского списка.`},selectionMode:{required:!1,tsType:{name:`TableSelectionMode`},description:`Режим выбора строк.`,defaultValue:{value:`"none"`,computed:!1}},expandFirstLevel:{required:!1,tsType:{name:`boolean`},description:"Если `true`, при первом появлении данных раскрывает корневой уровень.",defaultValue:{value:`false`,computed:!1}},defaultExpandedRowIds:{required:!1,tsType:{name:`unknown`},description:`Дополнительные строки, которые должны быть раскрыты при первой инициализации.`},treeColumnId:{required:!1,tsType:{name:`string`},description:`Идентификатор колонки, в которой нужно рисовать tree-toggle и отступы.
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r,t as i}from"./chevron-down-B4u-y8Z1.js";import{n as a,t as o}from"./chevron-right-ChokKd-f.js";import{n as s}from"./iframe-FSp_AjJa.js";import{J as c,X as l,Y as u,Z as d,_ as ee,a as f,b as te,g as ne,h as re,i as ie,y as ae}from"./odata-C0Kpvttz.js";import{a as oe,i as se}from"./utils-tg3ibbzi.js";import{i as ce,y as le}from"./formatters-D33Uh3si-CxrG0jsB.js";import{_ as ue,a as de,b as fe,c as pe,d as me,f as he,g as ge,h as _e,i as ve,l as ye,m as be,n as xe,o as Se,p as Ce,r as we,s as Te,t as Ee,u as De,v as Oe,x as ke,y as Ae}from"./FormattedTableCell-pmmhsAbN.js";function je(e,t,n){let r=e.get(t);if(r){r.push(n);return}e.set(t,[n])}function p(e){return Array.from(new Set(e))}function Me(e,t){let n=new Map,r=new Map,i=new Map,a=[],o=[],s=[],c=[];for(let o of e){let e=t.getRowId(o);if(n.has(e)){a.push(e);continue}let s=t.getParentRowId(o)??null;n.set(e,o),r.set(e,s),c.push(e),s!==null&&s!==e&&je(i,s,e)}let l=[];for(let e of c){let t=r.get(e)??null;if(t===null){l.push(e);continue}if(t===e){s.push(e),l.push(e);continue}n.has(t)||(o.push(e),l.push(e))}let u=new Set,d=(e,t)=>{let r=n.get(e);if(!r)throw Error(`Не удалось построить дерево: строка "${e}" отсутствует в индексе.`);u.add(e);let a=new Set(t);a.add(e);let o={...r},c=i.get(e)??[],l=[];for(let e of c){if(a.has(e)){s.push(e);continue}u.has(e)||l.push(d(e,a))}return l.length>0&&(o.children=l),o},ee=[],f=[];for(let e of l)u.has(e)||(ee.push(d(e,new Set)),f.push(e));for(let e of c)u.has(e)||(s.push(e),ee.push(d(e,new Set)),f.push(e));return{rows:ee,rowById:n,allRowIds:c,rootRowIds:p(f),orphanRowIds:p(o),duplicateRowIds:p(a),cyclicRowIds:p(s)}}function m(){return(m=e((()=>{})))()}var h,Ne,Pe,Fe,g,_,v,y;function b(){return(b=e((()=>{h=`jOS9rT`,Ne=`zHOAf7`,Pe=`j48cXg`,Fe=`mf4-Kr`,g=`p8pb0F`,_=`KIudLf`,v=`bJsPGU`,y={treeColumnCell:h,selectedIndicatorCell:Ne,treeCell:Pe,treeCellContent:Fe,expanderButton:g,expanderSpacer:_,sentinel:v}})))()}function Ie(e){return Object.fromEntries(e.map(e=>[e,!0]))}function Le(e){return typeof e==`boolean`?[]:Object.keys(e).filter(t=>e[t])}function x(e,t){return t.get(e.id)??e.original}function Re(e,t,n,r){return e.cell.column.id===n?(0,w.jsxs)(`div`,{className:y.treeCell,style:{paddingInlineStart:`calc(${e.row.depth} * ${ae(r)??`0em`})`},children:[e.row.getCanExpand()?(0,w.jsx)(`button`,{type:`button`,className:y.expanderButton,"aria-label":e.row.getIsExpanded()?`Свернуть строку`:`Развернуть строку`,"data-tree-table-interactive":`true`,"data-ui":`tree-table-expander`,"data-action":e.row.getIsExpanded()?`collapse-tree-table-row`:`expand-tree-table-row`,onClick:t=>{t.stopPropagation(),e.row.toggleExpanded()},children:e.row.getIsExpanded()?(0,w.jsx)(i,{size:16}):(0,w.jsx)(o,{size:16})}):(0,w.jsx)(`span`,{className:y.expanderSpacer,"aria-hidden":`true`}),(0,w.jsx)(`div`,{className:y.treeCellContent,children:t})]}):t}function S({title:e,isLoading:t,isFetching:n,data:r,columns:i,hierarchy:a,selectionMode:o=`none`,expandFirstLevel:s=!1,defaultExpandedRowIds:c,treeColumnId:l,indentSize:u=1,className:d,tableClassName:f,columnVisibility:te,defaultColumnVisibility:re,columnOrder:ie,defaultColumnOrder:ae,columnSizing:se,defaultColumnSizing:le,columnPinning:de,defaultColumnPinning:fe,enableColumnResizing:me=!1,enableColumnReordering:ge=!1,columnResizeMinWidth:ve,onColumnVisibilityChange:ye,onColumnOrderChange:be,onColumnSizingChange:xe,onColumnPinningChange:Te,onRowClick:Ae,onRowSelectionChange:je,onExpandedRowIdsChange:p,onReachEnd:m,getRowCanSelect:h,getRowClassName:Ne,renderHeaderContextMenu:Pe,renderCellContent:Fe}){let g=(0,C.useMemo)(()=>Me(r??[],a),[r,a]),_=(0,C.useMemo)(()=>_e(i),[i]),v=(0,C.useMemo)(()=>{let e=new Set(c??[]);if(s)for(let t of g.rootRowIds)e.add(t);return Array.from(e)},[c,s,g.rootRowIds]),[b,S]=(0,C.useState)({}),T=(0,C.useRef)(!1),E=(0,C.useRef)(null),ze=(0,C.useRef)(null),{rowSelection:Be,activateRowSelection:D}=ne({availableRowIds:g.allRowIds,rowById:g.rowById,selectionMode:o,onRowSelectionChange:je}),{columnVisibility:O,onColumnVisibilityChange:Ve}=Se({columnVisibility:te,defaultColumnVisibility:re,onColumnVisibilityChange:ye}),{columnOrder:k,onColumnOrderChange:He}=he({columnOrder:ie,defaultColumnOrder:ae,onColumnOrderChange:be}),{columnSizing:A,onColumnSizingChange:Ue}=pe({columnSizing:se,defaultColumnSizing:le,columnResizeMinWidth:ve,onColumnSizingChange:xe}),{columnPinning:j,onColumnPinningChange:We}=De({columnPinning:de,defaultColumnPinning:fe,onColumnPinningChange:Te}),Ge=(0,C.useMemo)(()=>({columnOrder:k,columnPinning:j,columnSizing:A,columnVisibility:O}),[k,j,A,O]),M=(0,C.useEffectEvent)((e,t)=>{if(e.length===0){T.current=!1,S({});return}let n=new Set(e);S(e=>{let r=Le(e).filter(e=>n.has(e));return T.current?Ie(r):(T.current=!0,Ie(Array.from(new Set([...r,...t.filter(e=>n.has(e))]))))})}),Ke=(0,C.useEffectEvent)(e=>{p?.(Le(e))}),N=(0,C.useEffectEvent)(()=>{m?.()});(0,C.useEffect)(()=>{M(g.allRowIds,v)},[v,g.allRowIds]),(0,C.useEffect)(()=>{Ke(b)},[b]),(0,C.useEffect)(()=>{if(!m||!E.current||!ze.current||t)return;let e=new IntersectionObserver(e=>{e[0]?.isIntersecting&&N()},{root:E.current,threshold:.1});return e.observe(ze.current),()=>e.disconnect()},[t,m,g.rows.length]);let P=ke({features:ee,data:g.rows,columns:i,state:{columnOrder:k,columnPinning:j,columnSizing:A,columnVisibility:O,expanded:b,rowSelection:Be},getRowId:e=>a.getRowId(e),getSubRows:e=>e.children,onColumnOrderChange:He,onColumnPinningChange:We,onColumnSizingChange:Ue,onColumnVisibilityChange:Ve,onExpandedChange:S,enableMultiRowSelection:o===`multi`,enableRowSelection:e=>{if(o===`none`)return!1;let t=x(e,g.rowById);return!h||h(t)}}),F=Oe(P,Ge),I=l??F[0]?.id,qe=P.getRowModel().rows,Je=(0,C.useMemo)(()=>Ce({rows:qe,columns:F,resolveRowBoundaryKey:e=>e.depth,excludeColumnIds:I?new Set([I]):void 0}),[qe,F,I]);return(0,w.jsx)(we,{table:P,columnState:Ge,title:e,isLoading:t,isFetching:n,className:d,tableClassName:f,selectionMode:o,scrollableRef:E,interactiveElementSelector:`[data-tree-table-interactive="true"]`,onActivateRow:o!==`none`||Ae?e=>{let t=x(e,g.rowById);D(e.id,e.getCanSelect()),Ae?.(t)}:void 0,isRowInteractive:e=>!!(Ae||o!==`none`&&e.getCanSelect()),getRowClassName:e=>{let t=x(e,g.rowById);return Ne?.(t)},getCellClassName:({row:e,cell:t})=>oe(t.column.id===I&&y.treeColumnCell,t.column.id===I&&e.getIsSelected()&&y.selectedIndicatorCell),getCellLayout:({cell:e})=>Je.get(e.id),renderHeaderContextMenu:Pe,enableColumnResizing:me,enableColumnReordering:ge,columnResizeMinWidth:ve,renderCellContent:e=>{let t=x(e.row,g.rowById),n=ce({field:_.runtimeByColumnId[e.cell.column.id],rawValue:e.cell.getValue(),rowData:t,rowKind:`tree`}),r=ue({columnId:e.cell.column.id,runtimeByColumnId:_.runtimeByColumnId,customCellColumnIds:_.customCellColumnIds})?(0,w.jsx)(Ee,{displayValue:n,align:e.columnMeta?.align}):e.defaultContent;return Re(e,Fe?Fe({...e,defaultContent:r,displayValue:n}):r,I,u)},afterTableContent:m?(0,w.jsx)(`div`,{ref:ze,className:y.sentinel,"aria-hidden":`true`}):null})}var C,w;function T(){return(T=e((()=>{C=n(),le(),te(),m(),se(),fe(),r(),a(),ve(),be(),ge(),xe(),Ae(),me(),ye(),Te(),de(),b(),w=s(),S.__docgenInfo={description:`Древовидная таблица на базе TanStack Table для плоских OData-данных.`,methods:[],displayName:`TreeTable`,props:{title:{required:!1,tsType:{name:`string`},description:`Необязательный заголовок над таблицей.`},isLoading:{required:!1,tsType:{name:`boolean`},description:`Признак первичной загрузки.`},isFetching:{required:!1,tsType:{name:`boolean`},description:`Признак фоновой догрузки или обновления данных.`},data:{required:!0,tsType:{name:`union`,raw:`readonly TData[] | undefined | null`,elements:[{name:`unknown`},{name:`undefined`},{name:`null`}]},description:`Плоский источник строк.`},columns:{required:!0,tsType:{name:`unknown`},description:`Описание колонок через исходный тип строки.`},hierarchy:{required:!0,tsType:{name:`TreeTableFlatHierarchy`,elements:[{name:`TData`}],raw:`TreeTableFlatHierarchy<TData>`},description:`Правила восстановления дерева из плоского списка.`},selectionMode:{required:!1,tsType:{name:`TableSelectionMode`},description:`Режим выбора строк.`,defaultValue:{value:`"none"`,computed:!1}},expandFirstLevel:{required:!1,tsType:{name:`boolean`},description:"Если `true`, при первом появлении данных раскрывает корневой уровень.",defaultValue:{value:`false`,computed:!1}},defaultExpandedRowIds:{required:!1,tsType:{name:`unknown`},description:`Дополнительные строки, которые должны быть раскрыты при первой инициализации.`},treeColumnId:{required:!1,tsType:{name:`string`},description:`Идентификатор колонки, в которой нужно рисовать tree-toggle и отступы.
2
2
 
3
3
  Если не указан, используется первая видимая колонка.`},indentSize:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:`Отступ на один уровень вложенности.
4
4
 
@@ -6,7 +6,7 @@ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./r
6
6
  потому что BaseTable работает уже после сборки flat hierarchy.`},renderCellContent:{required:!1,tsType:{name:`BaseTableProps["renderCellContent"]`,raw:`BaseTableProps<TreeTableRuntimeRow<TData>>["renderCellContent"]`},description:`Точка расширения содержимого ячейки после общего форматирования.
7
7
 
8
8
  Для tree-column в \`defaultContent\` передается только содержимое ячейки:
9
- TreeTable сам добавит expander и отступ после выполнения слота.`}}}})))()}var E=t({Basic:()=>z,CollapsedByDefault:()=>V,Empty:()=>G,Fetching:()=>W,Loading:()=>K,MultiSelect:()=>B,WithDefaultExpandedBranch:()=>H,WithDisabledRows:()=>U,WithFormattedTreeColumn:()=>J,WithFormulaColumn:()=>q,WithHiddenZero:()=>Y,WithMergedDuplicates:()=>X,WithODataMetadataAdapter:()=>Z,WithUseODataTableColumnsBuildHook:()=>Q,WithUseODataTableColumnsEnrichHook:()=>$,__namedExportsOrder:()=>et,default:()=>$e});function ze(){return{version:1,plan:{steps:[{id:`state`,type:`resolveValueState`,config:{resolver:{kind:`threshold`,thresholds:[100],states:[`success`,`warning`],invalidState:`none`},icon:{enabled:!0,showValue:!0,position:`right`}}},{id:`typed`,type:`typedValueFormat`}]}}}function Be(e){return[`odata`,`metadata`,{service:e}]}function D({args:e}){let[,t]=Ue();return(0,A.jsx)(S,{...e,onColumnVisibilityChange:n=>{e.onColumnVisibilityChange?.(n),t({columnVisibility:n})},onColumnOrderChange:n=>{e.onColumnOrderChange?.(n),t({columnOrder:n})},onColumnSizingChange:n=>{e.onColumnSizingChange?.(n),t({columnSizing:n})},onColumnPinningChange:n=>{e.onColumnPinningChange?.(n),t({columnPinning:n})}})}function O({args:e}){let{columns:t,metadata:n,isLoading:r}=re({service:L,target:R,mode:`build`});return(0,A.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,A.jsxs)(`div`,{children:[`Режим build: hook собрал `,t.length,` колонки из metadata`,n?` для сущности «${n.title}».`:`.`]}),(0,A.jsx)(D,{args:{...e,columns:t,isLoading:e.isLoading??r}})]})}function Ve({args:e}){let{columns:t,metadata:n,isLoading:r}=re({service:L,target:R,mode:`enrich`,columns:[{id:`label`,accessorKey:`label`,header:`Статья`,meta:{width:16}},{id:`createdAt`,accessorKey:`createdAt`,header:`Создано`,meta:{width:12}},{id:`totalAmount`,accessorKey:`totalAmount`,header:`Итог`,meta:{width:10,align:`right`}}]});return(0,A.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,A.jsxs)(`div`,{children:[`Режим enrich: hook сохранил ручные tree-колонки и дополнил их formatting-контекстом`,n?` из metadata «${n.title}».`:`.`]}),(0,A.jsx)(D,{args:{...e,columns:t,isLoading:e.isLoading??r}})]})}function k({args:e,intro:t}){let[n,r]=(0,He.useState)([]);return(0,A.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[t?(0,A.jsx)(`div`,{children:t}):null,(0,A.jsxs)(`div`,{children:[`Выбрано: `,n.length>0?n.join(`, `):`ничего`]}),(0,A.jsx)(D,{args:{...e,onRowSelectionChange:t=>{e.onRowSelectionChange?.(t),r(t.map(e=>e.label))}}})]})}var He,A,Ue,j,We,Ge,M,Ke,N,P,F,I,qe,Je,Ye,Xe,L,R,Ze,Qe,$e,z,B,V,H,U,W,G,K,q,J,Y,X,Z,Q,$,et;function tt(){return(tt=e((()=>{He=n(),ie(),u(),f(),d(),T(),A=s(),{useArgs:Ue}=__STORYBOOK_MODULE_PREVIEW_API__,j=[{id:`revenue`,parentId:null,label:`Выручка`,jan:`1 240`,feb:`1 320`,mar:`1 410`,apr:`1 505`},{id:`revenue_clients`,parentId:`revenue`,label:`Клиентский сегмент`,jan:`920`,feb:`960`,mar:`1 020`,apr:`1 080`},{id:`revenue_exports`,parentId:`revenue`,label:`Экспорт`,jan:`320`,feb:`360`,mar:`390`,apr:`425`},{id:`margin`,parentId:null,label:`Маржинальность`,jan:`18%`,feb:`19%`,mar:`21%`,apr:`20%`},{id:`margin_sales`,parentId:`margin`,label:`Продажи`,jan:`12%`,feb:`13%`,mar:`14%`,apr:`14%`},{id:`margin_logistics`,parentId:`margin`,label:`Логистика`,jan:`6%`,feb:`6%`,mar:`7%`,apr:`6%`},{id:`margin_logistics_local`,parentId:`margin_logistics`,label:`Локальная логистика`,jan:`4%`,feb:`4%`,mar:`5%`,apr:`4%`},{id:`margin_logistics_export`,parentId:`margin_logistics`,label:`Экспортная логистика`,jan:`2%`,feb:`2%`,mar:`2%`,apr:`2%`,isLocked:!0},{id:`orphan_costs`,parentId:`missing_parent`,label:`Прочие расходы без родителя`,jan:`30`,feb:`28`,mar:`31`,apr:`35`}],We=[{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:18,align:`left`}},{id:`jan`,accessorKey:`jan`,header:`янв`,meta:{width:8,align:`right`}},{id:`feb`,accessorKey:`feb`,header:`фев`,meta:{width:8,align:`right`}},{id:`mar`,accessorKey:`mar`,header:`мар`,meta:{width:8,align:`right`}},{id:`apr`,accessorKey:`apr`,header:`апр`,meta:{width:8,align:`right`}}],Ge={getRowId:e=>e.id,getParentRowId:e=>e.parentId},M={getRowId:e=>e.id,getParentRowId:e=>e.parentId},Ke={getRowId:e=>e.id,getParentRowId:e=>e.parentId},N=[{id:`revenue`,parentId:null,label:`Выручка`,purchasePrice:80,salePrice:125,healthScore:40,pendingAmount:0,createdAt:`2026-03-18T09:15:00.000Z`,totalAmount:1820},{id:`revenue_domestic`,parentId:`revenue`,label:`Внутренний рынок`,purchasePrice:82,salePrice:129,healthScore:120,pendingAmount:250,createdAt:`2026-03-18T10:00:00.000Z`,totalAmount:980},{id:`revenue_export`,parentId:`revenue`,label:`Экспорт`,purchasePrice:75,salePrice:118,healthScore:95,pendingAmount:0,createdAt:`2026-03-19T08:25:00.000Z`,totalAmount:840},{id:`margin`,parentId:null,label:`Маржинальность`,purchasePrice:60,salePrice:90,healthScore:70,pendingAmount:0,createdAt:`2026-03-20T07:05:00.000Z`,totalAmount:640}],P=[{id:`div-root-1`,parentId:null,label:`Корень 1`,division:`ДВД`},{id:`div-root-2`,parentId:null,label:`Корень 2`,division:`ДВД`},{id:`div-root-3`,parentId:null,label:`Корень 3`,division:`УД`},{id:`div-child-1`,parentId:`div-root-3`,label:`Дочерний узел`,division:`УД`}],F=[{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:14}},{id:`division`,accessorKey:`division`,header:`Дивизион`,meta:{width:10,mergeDuplicates:!0}}],I=[{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:16}},{id:`purchasePrice`,accessorKey:`purchasePrice`,header:`Закупка`,meta:{width:8,align:`right`,formatting:{role:`measure`,type:`decimal`}}},{id:`salePrice`,accessorKey:`salePrice`,header:`Продажа`,meta:{width:8,align:`right`,formatting:{role:`measure`,type:`decimal`}}},{id:`markup`,accessorFn:()=>void 0,header:`Наценка`,meta:{width:8,align:`right`,formatting:{role:`measure`,type:`decimal`,formulaId:`markup`,formulaDependencies:[`purchasePrice`,`salePrice`],purelyDerived:!0}}}],qe=[{id:`totalAmount`,accessorKey:`totalAmount`,header:`Сумма в дереве`,meta:{width:12,align:`right`,formatting:{role:`measure`,type:`decimal`,formattersPipeline:ze()}}},{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:14}}],Je=[{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:16}},{id:`pendingAmount`,accessorKey:`pendingAmount`,header:`Резерв`,meta:{width:8,align:`right`,formatting:{role:`measure`,type:`decimal`,emptyWhenZero:!0}}}],Ye=[{id:`label`,type:`string`,originalType:`Edm.String`,label:`Показатель`,semanticType:`none`,sortable:!0,filterable:!0,role:`dimension`},{id:`createdAt`,type:`datetime`,originalType:`Edm.DateTime`,label:`Дата создания`,semanticType:`none`,sortable:!0,filterable:!0,role:`dimension`},{id:`totalAmount`,type:`decimal`,originalType:`Edm.Decimal`,label:`Сумма`,semanticType:`none`,sortable:!0,filterable:!0,role:`measure`}],Xe=ne(Ye),L=`ZDEMO_FINANCE_SRV`,R=`FinanceSet`,Ze={title:`Финансовая иерархия`,columns:Ye},Qe=(e,t)=>{let n=(0,He.useMemo)(()=>{let e=c({}),n=t.parameters.odataService,r=t.parameters.odataEntity,i=t.parameters.odataMetadata;return n&&r&&i&&e.setQueryData(Be(n),{entities:{[r]:i},functionImports:{}}),e},[t.parameters.odataEntity,t.parameters.odataMetadata,t.parameters.odataService]);return(0,A.jsx)(l,{client:n,children:e()})},$e={title:`Shared/UI/TreeTable`,component:S,args:{title:`Финансовые показатели`,data:j,columns:We,hierarchy:Ge,selectionMode:`single`,expandFirstLevel:!0,indentSize:1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{title:{description:`Заголовок таблицы.`,control:`text`},isLoading:{description:`Показывает состояние первичной загрузки.`,control:`boolean`},isFetching:{description:`Показывает фоновое обновление без очистки дерева.`,control:`boolean`},data:{description:`Плоский источник данных OData.`,control:!1},columns:{description:`Колонки TreeTable.`,control:!1},hierarchy:{description:`Функции получения id строки и id родителя.`,control:!1},selectionMode:{description:`Режим выбора строк.`,control:`inline-radio`,options:[`none`,`single`,`multi`]},expandFirstLevel:{description:`Автоматически раскрывает корневой уровень при первой инициализации.`,control:`boolean`},defaultExpandedRowIds:{description:`Дополнительные строки, которые должны быть раскрыты при первой инициализации.`,control:!1},treeColumnId:{description:`Колонка, в которой рисуется дерево.`,control:`text`},indentSize:{description:`Отступ на уровень вложенности; число трактуется как em.`,control:`number`},columnVisibility:{description:`Controlled-состояние видимости колонок.`,control:!1},defaultColumnVisibility:{description:`Стартовое uncontrolled-состояние видимости колонок.`,control:!1},columnOrder:{description:`Controlled-порядок идентификаторов колонок.`,control:!1},defaultColumnOrder:{description:`Стартовый uncontrolled-порядок колонок.`,control:!1},columnSizing:{description:`Controlled-ширины колонок в px.`,control:!1},defaultColumnSizing:{description:`Стартовые uncontrolled-ширины колонок.`,control:!1},columnPinning:{description:`Controlled-состояние закрепления колонок слева.`,control:!1},defaultColumnPinning:{description:`Стартовое uncontrolled-состояние закрепления колонок слева.`,control:!1},enableColumnResizing:{description:`Включает изменение ширины колонок через header-handle.`,control:`boolean`},enableColumnReordering:{description:`Включает перетаскивание заголовков для изменения порядка колонок.`,control:`boolean`},columnResizeMinWidth:{description:`Минимальная ширина колонки при resize в px.`,control:`number`},onColumnVisibilityChange:{description:`Вызывается после изменения видимости колонок.`,control:!1},onColumnOrderChange:{description:`Вызывается после изменения порядка колонок.`,control:!1},onColumnSizingChange:{description:`Вызывается после изменения ширины колонок.`,control:!1},onColumnPinningChange:{description:`Вызывается после изменения закрепления колонок слева.`,control:!1},getRowCanSelect:{description:`Позволяет запретить выбор отдельных строк.`,control:!1},getRowClassName:{description:`Позволяет назначить CSS-класс конкретной строке.`,control:!1},onRowClick:{description:`Вызывается при активации строки.`,control:!1},onRowSelectionChange:{description:`Вызывается после изменения выбранных строк.`,control:!1},onExpandedRowIdsChange:{description:`Вызывается после изменения раскрытых строк.`,control:!1},onReachEnd:{description:`Вызывается при достижении конца дерева внутри scroll-контейнера.`,control:!1},renderHeaderContextMenu:{description:`Слот контекстного меню заголовка колонки.`,control:!1},renderCellContent:{description:`Слот содержимого ячейки поверх стандартного formatting-runtime.`,control:!1}}},z={render:function(e){return(0,A.jsx)(D,{args:e})}},B={args:{selectionMode:`multi`},render:function(e){return(0,A.jsx)(k,{args:e})}},V={args:{expandFirstLevel:!1},render:function(e){return(0,A.jsx)(D,{args:e})}},H={args:{expandFirstLevel:!1,defaultExpandedRowIds:[`margin`,`margin_logistics`]},render:function(e){return(0,A.jsx)(D,{args:e})}},U={args:{selectionMode:`multi`,getRowCanSelect:e=>!e.isLocked},render:function(e){return(0,A.jsx)(k,{args:e,intro:`Строка «Экспортная логистика» остаётся в дереве, но не участвует в выборе.`})}},W={args:{isFetching:!0},render:function(e){return(0,A.jsx)(D,{args:e})}},G={args:{data:[]},render:function(e){return(0,A.jsx)(D,{args:e})}},K={args:{isLoading:!0},render:function(e){return(0,A.jsx)(D,{args:e})}},q={args:{title:`Формула в дереве`,data:N,columns:I,hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(D,{args:e})}},J={args:{title:`Форматирование tree-колонки`,data:N,columns:qe,hierarchy:M,treeColumnId:`totalAmount`,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(D,{args:e})}},Y={args:{title:`Скрытие нулей в дереве`,data:N,columns:Je,hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(D,{args:e})}},X={args:{title:`Слияние дубликатов в дереве`,data:P,columns:F,hierarchy:Ke,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(D,{args:e})}},Z={args:{title:`OData metadata adapter`,data:N,columns:Xe,hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(D,{args:e})}},Q={args:{title:`useODataTableColumns: build`,data:N,columns:[],hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},decorators:[Qe],parameters:{odataService:L,odataEntity:R,odataMetadata:Ze},render:function(e){return(0,A.jsx)(O,{args:e})}},$={args:{title:`useODataTableColumns: enrich`,data:N,columns:[],hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},decorators:[Qe],parameters:{odataService:L,odataEntity:R,odataMetadata:Ze},render:function(e){return(0,A.jsx)(Ve,{args:e})}},z.parameters={...z.parameters,docs:{...z.parameters?.docs,source:{originalSource:`{
9
+ TreeTable сам добавит expander и отступ после выполнения слота.`}}}})))()}var E=t({Basic:()=>z,CollapsedByDefault:()=>V,Empty:()=>G,Fetching:()=>W,Loading:()=>K,MultiSelect:()=>B,WithDefaultExpandedBranch:()=>H,WithDisabledRows:()=>U,WithFormattedTreeColumn:()=>J,WithFormulaColumn:()=>q,WithHiddenZero:()=>Y,WithMergedDuplicates:()=>X,WithODataMetadataAdapter:()=>Z,WithUseODataTableColumnsBuildHook:()=>Q,WithUseODataTableColumnsEnrichHook:()=>$,__namedExportsOrder:()=>et,default:()=>$e});function ze(){return{version:1,plan:{steps:[{id:`state`,type:`resolveValueState`,config:{resolver:{kind:`threshold`,thresholds:[100],states:[`success`,`warning`],invalidState:`none`},icon:{enabled:!0,showValue:!0,position:`right`}}},{id:`typed`,type:`typedValueFormat`}]}}}function Be(e){return[`odata`,`metadata`,{service:e}]}function D({args:e}){let[,t]=Ue();return(0,A.jsx)(S,{...e,onColumnVisibilityChange:n=>{e.onColumnVisibilityChange?.(n),t({columnVisibility:n})},onColumnOrderChange:n=>{e.onColumnOrderChange?.(n),t({columnOrder:n})},onColumnSizingChange:n=>{e.onColumnSizingChange?.(n),t({columnSizing:n})},onColumnPinningChange:n=>{e.onColumnPinningChange?.(n),t({columnPinning:n})}})}function O({args:e}){let{columns:t,metadata:n,isLoading:r}=ie({service:L,target:R,mode:`build`});return(0,A.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,A.jsxs)(`div`,{children:[`Режим build: hook собрал `,t.length,` колонки из metadata`,n?` для сущности «${n.title}».`:`.`]}),(0,A.jsx)(D,{args:{...e,columns:t,isLoading:e.isLoading??r}})]})}function Ve({args:e}){let{columns:t,metadata:n,isLoading:r}=ie({service:L,target:R,mode:`enrich`,columns:[{id:`label`,accessorKey:`label`,header:`Статья`,meta:{width:16}},{id:`createdAt`,accessorKey:`createdAt`,header:`Создано`,meta:{width:12}},{id:`totalAmount`,accessorKey:`totalAmount`,header:`Итог`,meta:{width:10,align:`right`}}]});return(0,A.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,A.jsxs)(`div`,{children:[`Режим enrich: hook сохранил ручные tree-колонки и дополнил их formatting-контекстом`,n?` из metadata «${n.title}».`:`.`]}),(0,A.jsx)(D,{args:{...e,columns:t,isLoading:e.isLoading??r}})]})}function k({args:e,intro:t}){let[n,r]=(0,He.useState)([]);return(0,A.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[t?(0,A.jsx)(`div`,{children:t}):null,(0,A.jsxs)(`div`,{children:[`Выбрано: `,n.length>0?n.join(`, `):`ничего`]}),(0,A.jsx)(D,{args:{...e,onRowSelectionChange:t=>{e.onRowSelectionChange?.(t),r(t.map(e=>e.label))}}})]})}var He,A,Ue,j,We,Ge,M,Ke,N,P,F,I,qe,Je,Ye,Xe,L,R,Ze,Qe,$e,z,B,V,H,U,W,G,K,q,J,Y,X,Z,Q,$,et;function tt(){return(tt=e((()=>{He=n(),f(),u(),te(),d(),T(),A=s(),{useArgs:Ue}=__STORYBOOK_MODULE_PREVIEW_API__,j=[{id:`revenue`,parentId:null,label:`Выручка`,jan:`1 240`,feb:`1 320`,mar:`1 410`,apr:`1 505`},{id:`revenue_clients`,parentId:`revenue`,label:`Клиентский сегмент`,jan:`920`,feb:`960`,mar:`1 020`,apr:`1 080`},{id:`revenue_exports`,parentId:`revenue`,label:`Экспорт`,jan:`320`,feb:`360`,mar:`390`,apr:`425`},{id:`margin`,parentId:null,label:`Маржинальность`,jan:`18%`,feb:`19%`,mar:`21%`,apr:`20%`},{id:`margin_sales`,parentId:`margin`,label:`Продажи`,jan:`12%`,feb:`13%`,mar:`14%`,apr:`14%`},{id:`margin_logistics`,parentId:`margin`,label:`Логистика`,jan:`6%`,feb:`6%`,mar:`7%`,apr:`6%`},{id:`margin_logistics_local`,parentId:`margin_logistics`,label:`Локальная логистика`,jan:`4%`,feb:`4%`,mar:`5%`,apr:`4%`},{id:`margin_logistics_export`,parentId:`margin_logistics`,label:`Экспортная логистика`,jan:`2%`,feb:`2%`,mar:`2%`,apr:`2%`,isLocked:!0},{id:`orphan_costs`,parentId:`missing_parent`,label:`Прочие расходы без родителя`,jan:`30`,feb:`28`,mar:`31`,apr:`35`}],We=[{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:18,align:`left`}},{id:`jan`,accessorKey:`jan`,header:`янв`,meta:{width:8,align:`right`}},{id:`feb`,accessorKey:`feb`,header:`фев`,meta:{width:8,align:`right`}},{id:`mar`,accessorKey:`mar`,header:`мар`,meta:{width:8,align:`right`}},{id:`apr`,accessorKey:`apr`,header:`апр`,meta:{width:8,align:`right`}}],Ge={getRowId:e=>e.id,getParentRowId:e=>e.parentId},M={getRowId:e=>e.id,getParentRowId:e=>e.parentId},Ke={getRowId:e=>e.id,getParentRowId:e=>e.parentId},N=[{id:`revenue`,parentId:null,label:`Выручка`,purchasePrice:80,salePrice:125,healthScore:40,pendingAmount:0,createdAt:`2026-03-18T09:15:00.000Z`,totalAmount:1820},{id:`revenue_domestic`,parentId:`revenue`,label:`Внутренний рынок`,purchasePrice:82,salePrice:129,healthScore:120,pendingAmount:250,createdAt:`2026-03-18T10:00:00.000Z`,totalAmount:980},{id:`revenue_export`,parentId:`revenue`,label:`Экспорт`,purchasePrice:75,salePrice:118,healthScore:95,pendingAmount:0,createdAt:`2026-03-19T08:25:00.000Z`,totalAmount:840},{id:`margin`,parentId:null,label:`Маржинальность`,purchasePrice:60,salePrice:90,healthScore:70,pendingAmount:0,createdAt:`2026-03-20T07:05:00.000Z`,totalAmount:640}],P=[{id:`div-root-1`,parentId:null,label:`Корень 1`,division:`ДВД`},{id:`div-root-2`,parentId:null,label:`Корень 2`,division:`ДВД`},{id:`div-root-3`,parentId:null,label:`Корень 3`,division:`УД`},{id:`div-child-1`,parentId:`div-root-3`,label:`Дочерний узел`,division:`УД`}],F=[{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:14}},{id:`division`,accessorKey:`division`,header:`Дивизион`,meta:{width:10,mergeDuplicates:!0}}],I=[{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:16}},{id:`purchasePrice`,accessorKey:`purchasePrice`,header:`Закупка`,meta:{width:8,align:`right`,formatting:{role:`measure`,type:`decimal`}}},{id:`salePrice`,accessorKey:`salePrice`,header:`Продажа`,meta:{width:8,align:`right`,formatting:{role:`measure`,type:`decimal`}}},{id:`markup`,accessorFn:()=>void 0,header:`Наценка`,meta:{width:8,align:`right`,formatting:{role:`measure`,type:`decimal`,formulaId:`markup`,formulaDependencies:[`purchasePrice`,`salePrice`],purelyDerived:!0}}}],qe=[{id:`totalAmount`,accessorKey:`totalAmount`,header:`Сумма в дереве`,meta:{width:12,align:`right`,formatting:{role:`measure`,type:`decimal`,formattersPipeline:ze()}}},{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:14}}],Je=[{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:16}},{id:`pendingAmount`,accessorKey:`pendingAmount`,header:`Резерв`,meta:{width:8,align:`right`,formatting:{role:`measure`,type:`decimal`,emptyWhenZero:!0}}}],Ye=[{id:`label`,type:`string`,originalType:`Edm.String`,label:`Показатель`,semanticType:`none`,sortable:!0,filterable:!0,role:`dimension`},{id:`createdAt`,type:`datetime`,originalType:`Edm.DateTime`,label:`Дата создания`,semanticType:`none`,sortable:!0,filterable:!0,role:`dimension`},{id:`totalAmount`,type:`decimal`,originalType:`Edm.Decimal`,label:`Сумма`,semanticType:`none`,sortable:!0,filterable:!0,role:`measure`}],Xe=re(Ye),L=`ZDEMO_FINANCE_SRV`,R=`FinanceSet`,Ze={title:`Финансовая иерархия`,columns:Ye},Qe=(e,t)=>{let n=(0,He.useMemo)(()=>{let e=c({}),n=t.parameters.odataService,r=t.parameters.odataEntity,i=t.parameters.odataMetadata;return n&&r&&i&&e.setQueryData(Be(n),{entities:{[r]:i},functionImports:{}}),e},[t.parameters.odataEntity,t.parameters.odataMetadata,t.parameters.odataService]);return(0,A.jsx)(l,{client:n,children:e()})},$e={title:`Shared/UI/TreeTable`,component:S,args:{title:`Финансовые показатели`,data:j,columns:We,hierarchy:Ge,selectionMode:`single`,expandFirstLevel:!0,indentSize:1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{title:{description:`Заголовок таблицы.`,control:`text`},isLoading:{description:`Показывает состояние первичной загрузки.`,control:`boolean`},isFetching:{description:`Показывает фоновое обновление без очистки дерева.`,control:`boolean`},data:{description:`Плоский источник данных OData.`,control:!1},columns:{description:`Колонки TreeTable.`,control:!1},hierarchy:{description:`Функции получения id строки и id родителя.`,control:!1},selectionMode:{description:`Режим выбора строк.`,control:`inline-radio`,options:[`none`,`single`,`multi`]},expandFirstLevel:{description:`Автоматически раскрывает корневой уровень при первой инициализации.`,control:`boolean`},defaultExpandedRowIds:{description:`Дополнительные строки, которые должны быть раскрыты при первой инициализации.`,control:!1},treeColumnId:{description:`Колонка, в которой рисуется дерево.`,control:`text`},indentSize:{description:`Отступ на уровень вложенности; число трактуется как em.`,control:`number`},columnVisibility:{description:`Controlled-состояние видимости колонок.`,control:!1},defaultColumnVisibility:{description:`Стартовое uncontrolled-состояние видимости колонок.`,control:!1},columnOrder:{description:`Controlled-порядок идентификаторов колонок.`,control:!1},defaultColumnOrder:{description:`Стартовый uncontrolled-порядок колонок.`,control:!1},columnSizing:{description:`Controlled-ширины колонок в px.`,control:!1},defaultColumnSizing:{description:`Стартовые uncontrolled-ширины колонок.`,control:!1},columnPinning:{description:`Controlled-состояние закрепления колонок слева.`,control:!1},defaultColumnPinning:{description:`Стартовое uncontrolled-состояние закрепления колонок слева.`,control:!1},enableColumnResizing:{description:`Включает изменение ширины колонок через header-handle.`,control:`boolean`},enableColumnReordering:{description:`Включает перетаскивание заголовков для изменения порядка колонок.`,control:`boolean`},columnResizeMinWidth:{description:`Минимальная ширина колонки при resize в px.`,control:`number`},onColumnVisibilityChange:{description:`Вызывается после изменения видимости колонок.`,control:!1},onColumnOrderChange:{description:`Вызывается после изменения порядка колонок.`,control:!1},onColumnSizingChange:{description:`Вызывается после изменения ширины колонок.`,control:!1},onColumnPinningChange:{description:`Вызывается после изменения закрепления колонок слева.`,control:!1},getRowCanSelect:{description:`Позволяет запретить выбор отдельных строк.`,control:!1},getRowClassName:{description:`Позволяет назначить CSS-класс конкретной строке.`,control:!1},onRowClick:{description:`Вызывается при активации строки.`,control:!1},onRowSelectionChange:{description:`Вызывается после изменения выбранных строк.`,control:!1},onExpandedRowIdsChange:{description:`Вызывается после изменения раскрытых строк.`,control:!1},onReachEnd:{description:`Вызывается при достижении конца дерева внутри scroll-контейнера.`,control:!1},renderHeaderContextMenu:{description:`Слот контекстного меню заголовка колонки.`,control:!1},renderCellContent:{description:`Слот содержимого ячейки поверх стандартного formatting-runtime.`,control:!1}}},z={render:function(e){return(0,A.jsx)(D,{args:e})}},B={args:{selectionMode:`multi`},render:function(e){return(0,A.jsx)(k,{args:e})}},V={args:{expandFirstLevel:!1},render:function(e){return(0,A.jsx)(D,{args:e})}},H={args:{expandFirstLevel:!1,defaultExpandedRowIds:[`margin`,`margin_logistics`]},render:function(e){return(0,A.jsx)(D,{args:e})}},U={args:{selectionMode:`multi`,getRowCanSelect:e=>!e.isLocked},render:function(e){return(0,A.jsx)(k,{args:e,intro:`Строка «Экспортная логистика» остаётся в дереве, но не участвует в выборе.`})}},W={args:{isFetching:!0},render:function(e){return(0,A.jsx)(D,{args:e})}},G={args:{data:[]},render:function(e){return(0,A.jsx)(D,{args:e})}},K={args:{isLoading:!0},render:function(e){return(0,A.jsx)(D,{args:e})}},q={args:{title:`Формула в дереве`,data:N,columns:I,hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(D,{args:e})}},J={args:{title:`Форматирование tree-колонки`,data:N,columns:qe,hierarchy:M,treeColumnId:`totalAmount`,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(D,{args:e})}},Y={args:{title:`Скрытие нулей в дереве`,data:N,columns:Je,hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(D,{args:e})}},X={args:{title:`Слияние дубликатов в дереве`,data:P,columns:F,hierarchy:Ke,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(D,{args:e})}},Z={args:{title:`OData metadata adapter`,data:N,columns:Xe,hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(D,{args:e})}},Q={args:{title:`useODataTableColumns: build`,data:N,columns:[],hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},decorators:[Qe],parameters:{odataService:L,odataEntity:R,odataMetadata:Ze},render:function(e){return(0,A.jsx)(O,{args:e})}},$={args:{title:`useODataTableColumns: enrich`,data:N,columns:[],hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},decorators:[Qe],parameters:{odataService:L,odataEntity:R,odataMetadata:Ze},render:function(e){return(0,A.jsx)(Ve,{args:e})}},z.parameters={...z.parameters,docs:{...z.parameters?.docs,source:{originalSource:`{
10
10
  render: function Render(args) {
11
11
  return <TreeTableStoryCanvas args={args} />;
12
12
  }