@ryuzaki13/react-foundation-ui 1.11.1 → 1.12.0

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 (300) hide show
  1. package/README.md +36 -0
  2. package/dist/advanced-search/index.js +2 -2
  3. package/dist/barcode-scanner/BarcodeScannerDialog.d.ts +46 -0
  4. package/dist/barcode-scanner/BarcodeScannerDialog.d.ts.map +1 -0
  5. package/dist/barcode-scanner/index.d.ts +3 -0
  6. package/dist/barcode-scanner/index.d.ts.map +1 -0
  7. package/dist/barcode-scanner/index.js +135 -0
  8. package/dist/barcode-scanner/index.js.map +1 -0
  9. package/dist/base-table/index.js +1 -1
  10. package/dist/chunks/{base-table-DswaYoH-.js → base-table-B9m-r0Ve.js} +2 -2
  11. package/dist/chunks/{base-table-DswaYoH-.js.map → base-table-B9m-r0Ve.js.map} +1 -1
  12. package/dist/chunks/{context-menu-HC7Vteb5.js → context-menu-Dj6MXgv6.js} +2 -2
  13. package/dist/chunks/{context-menu-HC7Vteb5.js.map → context-menu-Dj6MXgv6.js.map} +1 -1
  14. package/dist/chunks/{multi-select-D1JjZJfr.js → multi-select-V7SLAduU.js} +3 -3
  15. package/dist/chunks/{multi-select-D1JjZJfr.js.map → multi-select-V7SLAduU.js.map} +1 -1
  16. package/dist/chunks/{picker-DO9HFqJV.js → picker-DZ4-1BvK.js} +2 -2
  17. package/dist/chunks/picker-DZ4-1BvK.js.map +1 -0
  18. package/dist/chunks/{select-3jk0ljU1.js → select-B7cWlJxL.js} +3 -3
  19. package/dist/chunks/select-B7cWlJxL.js.map +1 -0
  20. package/dist/chunks/{table-aozLLSJk.js → table-Dvh4o6Ly.js} +2 -2
  21. package/dist/chunks/{table-aozLLSJk.js.map → table-Dvh4o6Ly.js.map} +1 -1
  22. package/dist/context-menu/index.js +1 -1
  23. package/dist/layout-picker/index.js +1 -1
  24. package/dist/listbox/index.js +1 -1
  25. package/dist/multi-select/index.js +1 -1
  26. package/dist/picker/index.js +1 -1
  27. package/dist/preset-select/index.js +1 -1
  28. package/dist/select/index.js +1 -1
  29. package/dist/simple-table/index.js +1 -1
  30. package/dist/slider/index.js +1 -1
  31. package/dist/state-select/index.js +1 -1
  32. package/dist/styles.css +1 -1
  33. package/dist/table/index.js +1 -1
  34. package/dist/table-sorting/index.js +1 -1
  35. package/dist/tree-select/index.js +1 -1
  36. package/dist/tree-table/index.js +1 -1
  37. package/package.json +10 -1
  38. package/storybook-static/assets/{Badge-B0pMNo6u.js → Badge-xeXe52JJ.js} +1 -1
  39. package/storybook-static/assets/{Badge.stories-DmJySgC9.js → Badge.stories-CmVjv-uT.js} +1 -1
  40. package/storybook-static/assets/{BadgeList-CPMgBZNy.js → BadgeList-BcoPWNyN.js} +1 -1
  41. package/storybook-static/assets/BarcodeScannerDialog-DQGhFXAm.css +1 -0
  42. package/storybook-static/assets/BarcodeScannerDialog.stories-yAA6tA1d.js +72 -0
  43. package/storybook-static/assets/{Button-DdP87Kjo.js → Button-CFOJHJwd.js} +1 -1
  44. package/storybook-static/assets/{Button-BQCqsOSh.js → Button-DJER9ynI.js} +1 -1
  45. package/storybook-static/assets/{Button.stories-B95Gfrv6.js → Button.stories-U_2CIpOj.js} +1 -1
  46. package/storybook-static/assets/{CalendarView-Dkx103Eo.js → CalendarView-B4DHU14y.js} +1 -1
  47. package/storybook-static/assets/{CheckBox-6jhHJHNx.js → CheckBox-DLjlV0re.js} +1 -1
  48. package/storybook-static/assets/{CheckBox-CEiyvt0g.js → CheckBox-DcOrStyV.js} +1 -1
  49. package/storybook-static/assets/{CheckBox.stories-C-ry0F3S.js → CheckBox.stories-HK9oMf2U.js} +1 -1
  50. package/storybook-static/assets/{Color-6AOWCN3U-C7ZBfvPD.js → Color-6AOWCN3U-TVtDY8qi.js} +1 -1
  51. package/storybook-static/assets/{ContextMenu-BXr3AZy_.js → ContextMenu-C6ZM2Mo4.js} +1 -1
  52. package/storybook-static/assets/{ContextMenu-B7zzWFcl.js → ContextMenu-ZU-3k31S.js} +1 -1
  53. package/storybook-static/assets/{ContextMenu.stories-BixTxzOj.js → ContextMenu.stories-JO0hLeHH.js} +1 -1
  54. package/storybook-static/assets/{CustomOptionButton-B4TQxEG7.js → CustomOptionButton-Bh__qmrf.js} +1 -1
  55. package/storybook-static/assets/{DateInput-CiNA_ASr.js → DateInput-CaqZCM7S.js} +1 -1
  56. package/storybook-static/assets/{DateInput-Dd18xSEj.js → DateInput-Cyy5MkIX.js} +1 -1
  57. package/storybook-static/assets/{DateInput.stories-BEsG3vsL.js → DateInput.stories-TxCUy1Nf.js} +1 -1
  58. package/storybook-static/assets/{DateRangePresetSelect-CPYFDKex.js → DateRangePresetSelect-9yDtN_-K.js} +1 -1
  59. package/storybook-static/assets/{DateRangePresetSelect-Ccz7NfDd.js → DateRangePresetSelect-DZve4le1.js} +1 -1
  60. package/storybook-static/assets/{DateRangePresetSelect.stories-opQhou6g.js → DateRangePresetSelect.stories-2xcwHu0v.js} +1 -1
  61. package/storybook-static/assets/{Detail-iNp-Y0oX.js → Detail-Bv8TlvPR.js} +1 -1
  62. package/storybook-static/assets/{Detail.stories-wMP_UVa0.js → Detail.stories-RHFHl-QD.js} +1 -1
  63. package/storybook-static/assets/{Dialog-C61I39GX.js → Dialog-B6CmbIp6.js} +1 -1
  64. package/storybook-static/assets/{Dialog-DvJy6JL7.js → Dialog-JG-Js1_P.js} +1 -1
  65. package/storybook-static/assets/{Dialog.stories-BA49irYS.js → Dialog.stories-CMG0bq1P.js} +1 -1
  66. package/storybook-static/assets/{Disclosure-CuKVlkDs.js → Disclosure-CKD2uWXW.js} +1 -1
  67. package/storybook-static/assets/{Disclosure.stories-DGEYHdsF.js → Disclosure.stories-CCoZix5k.js} +1 -1
  68. package/storybook-static/assets/{DisclosureGroup-DhU1dNC8.js → DisclosureGroup-DxIXFd4p.js} +1 -1
  69. package/storybook-static/assets/{DocsRenderer-JROSPFPF-BkpUvEnq.js → DocsRenderer-JROSPFPF-Xf4KJ_Qh.js} +1 -1
  70. package/storybook-static/assets/{DropZone-7ceW1dn3.js → DropZone-BuU0GrtU.js} +1 -1
  71. package/storybook-static/assets/{DropZone-C78CmTpa.js → DropZone-C14QKp48.js} +1 -1
  72. package/storybook-static/assets/{DropZone.stories-ufjhh7h-.js → DropZone.stories-nLb_ObZg.js} +1 -1
  73. package/storybook-static/assets/{DropdownMenu-n6JW93BD.js → DropdownMenu-Db8c-Zn1.js} +1 -1
  74. package/storybook-static/assets/{ExpandableActionPanel-Hr0krU6W.js → ExpandableActionPanel-CsS6nONV.js} +1 -1
  75. package/storybook-static/assets/{ExpandableActionPanel.stories-DhvuWFNv.js → ExpandableActionPanel.stories-D2uLOAZ8.js} +1 -1
  76. package/storybook-static/assets/{Flex-B94m_qyY.js → Flex-n7EPU0Zg.js} +1 -1
  77. package/storybook-static/assets/{Flex.stories-B8AaUI7D.js → Flex.stories-BLqFw3hw.js} +1 -1
  78. package/storybook-static/assets/{FloatingPopover-DJiX84PM.js → FloatingPopover-Xth-H2JR.js} +1 -1
  79. package/storybook-static/assets/FormattedTableCell-cvi554Ef.js +15 -0
  80. package/storybook-static/assets/{Grid-kT9nG3ti.js → Grid-Ca7aufxq.js} +1 -1
  81. package/storybook-static/assets/{Grid.stories-CIpqBZEV.js → Grid.stories-JCGqm-rs.js} +1 -1
  82. package/storybook-static/assets/{ImageCropper.stories-lLmE-m8y.js → ImageCropper.stories-BFnA9lQ8.js} +1 -1
  83. package/storybook-static/assets/{ImageRenderer-CumAPDzJ.js → ImageRenderer-Dou6U8Cd.js} +1 -1
  84. package/storybook-static/assets/{ImageRenderer.stories-DRBkO7a5.js → ImageRenderer.stories-C74Qukdv.js} +1 -1
  85. package/storybook-static/assets/{ImageView.stories-CJPbRo4F.js → ImageView.stories-DBbugUss.js} +1 -1
  86. package/storybook-static/assets/{ImageViewer.stories-Dga7I4WU.js → ImageViewer.stories-BmzkBXJR.js} +2 -2
  87. package/storybook-static/assets/{ImageViewerRuntime-B2Mqo_WZ.js → ImageViewerRuntime-voWTu9L2.js} +1 -1
  88. package/storybook-static/assets/{Input-C1R3JI6C.js → Input-CD-NDeTl.js} +1 -1
  89. package/storybook-static/assets/{Input-aN_k-nwG.js → Input-DX4_SiCQ.js} +1 -1
  90. package/storybook-static/assets/{Input.stories-CamuqrIq.js → Input.stories-B4aVxE7P.js} +1 -1
  91. package/storybook-static/assets/{InputDateTime-DLGntd6J.js → InputDateTime-GVzmQgws.js} +1 -1
  92. package/storybook-static/assets/{InputDateTime.stories-DKS2OEea.js → InputDateTime.stories-Dd6aHwhL.js} +1 -1
  93. package/storybook-static/assets/{InputFile-VpaVOpAd.js → InputFile-C7IlWWuo.js} +1 -1
  94. package/storybook-static/assets/{InputFile-Co7tvxPX.js → InputFile-De0O-P06.js} +1 -1
  95. package/storybook-static/assets/{InputFile.stories-DXdlBxEU.js → InputFile.stories-B5DPvKKg.js} +1 -1
  96. package/storybook-static/assets/{InputFiles-DvkMwKO7.js → InputFiles-jpJ8OsvW.js} +1 -1
  97. package/storybook-static/assets/{InputFiles-BTCuD668.js → InputFiles-k1ui98yk.js} +1 -1
  98. package/storybook-static/assets/{InputFiles.stories-DrTZMej-.js → InputFiles.stories-yhEjTkhb.js} +1 -1
  99. package/storybook-static/assets/{InputFilesList-CGjnqnzc.js → InputFilesList-DQ8xIsNB.js} +1 -1
  100. package/storybook-static/assets/{InputImage-DiEO91jk.js → InputImage-BcfFZoeK.js} +1 -1
  101. package/storybook-static/assets/{InputImage-Ipb-FcJa.js → InputImage-ChqqaulB.js} +1 -1
  102. package/storybook-static/assets/{InputImage.stories-ttixjbus.js → InputImage.stories-DbH8bUI5.js} +1 -1
  103. package/storybook-static/assets/{InteractiveComponents-B4gMe903.js → InteractiveComponents-AOIUFszB.js} +1 -1
  104. package/storybook-static/assets/{InteractiveComponents.stories-Bao1bjuz.js → InteractiveComponents.stories-BWKhw0r9.js} +1 -1
  105. package/storybook-static/assets/LayoutPicker-Bw46oQ_0.js +376 -0
  106. package/storybook-static/assets/{LayoutPicker-CuHY0iUU.js → LayoutPicker-DbsRuLFI.js} +1 -1
  107. package/storybook-static/assets/{LayoutPicker.stories-DYrG4wtT.js → LayoutPicker.stories-C86co23-.js} +1 -1
  108. package/storybook-static/assets/{Listbox-BxHmY5ET.js → Listbox-CSMsOd31.js} +1 -1
  109. package/storybook-static/assets/{Listbox-BL0ioHxs.js → Listbox-DYRwIMlK.js} +1 -1
  110. package/storybook-static/assets/{Listbox.stories-DJyYFh1U.js → Listbox.stories-7NFvXRCS.js} +1 -1
  111. package/storybook-static/assets/{Modal-Q7o1iqet.js → Modal-DNeEDLQQ.js} +1 -1
  112. package/storybook-static/assets/Modal-THLBkb1a.js +1 -0
  113. package/storybook-static/assets/{Modal.stories-DwIrHxPr.js → Modal.stories-BfoU_GML.js} +1 -1
  114. package/storybook-static/assets/ModalManagerProvider-DZ0QK10e.js +1 -0
  115. package/storybook-static/assets/{MultiSelect-HPQ3mNkL.js → MultiSelect-BT6apkyP.js} +1 -1
  116. package/storybook-static/assets/{MultiSelect-CJesPVwA.js → MultiSelect-DFIEQ66c.js} +1 -1
  117. package/storybook-static/assets/{MultiSelect.stories-Bb2GHyNF.js → MultiSelect.stories-D0BHrQym.js} +1 -1
  118. package/storybook-static/assets/{NoData-CGqnBZTW.js → NoData-CVxb7dGU.js} +1 -1
  119. package/storybook-static/assets/{NotificationsHost-CwzaWa75.js → NotificationsHost-CaLF-GIF.js} +1 -1
  120. package/storybook-static/assets/{NotificationsHost.stories-CcPBctyV.js → NotificationsHost.stories-Cnf45TOG.js} +1 -1
  121. package/storybook-static/assets/{ODataMultiSelect-C_M7IJ-E.js → ODataMultiSelect-CCofPFd1.js} +1 -1
  122. package/storybook-static/assets/{ODataMultiSelect.stories-CEWZoIYN.js → ODataMultiSelect.stories-CjduYosa.js} +1 -1
  123. package/storybook-static/assets/{ODataSelect-CeQ91U4i.js → ODataSelect-D7CqYyzD.js} +1 -1
  124. package/storybook-static/assets/{ODataSelect.stories-OpbcMtd0.js → ODataSelect.stories-CXV_NdRT.js} +1 -1
  125. package/storybook-static/assets/{ODataTreeMultiSelect-By-iwUlb.js → ODataTreeMultiSelect-BftPFs2n.js} +1 -1
  126. package/storybook-static/assets/{ODataTreeMultiSelect.stories-DjediQp3.js → ODataTreeMultiSelect.stories-or0wQ9AP.js} +1 -1
  127. package/storybook-static/assets/{ODataTreeSelect-C4fBiCfR.js → ODataTreeSelect-D5xOD_30.js} +1 -1
  128. package/storybook-static/assets/{ODataTreeSelect.stories-BRVIyV0K.js → ODataTreeSelect.stories-D2x68_IW.js} +1 -1
  129. package/storybook-static/assets/{OneStepScroller-BeOhzxOb.js → OneStepScroller-C4yOwu7w.js} +1 -1
  130. package/storybook-static/assets/{Option-BALI2Izw.js → Option-I8HVUw9B.js} +2 -2
  131. package/storybook-static/assets/{OptionButton-Cu_hyVYx.js → OptionButton-xVwyJ3j2.js} +1 -1
  132. package/storybook-static/assets/{PeriodSelect-C0tZpOZ2.js → PeriodSelect-Dx9nlZ5b.js} +1 -1
  133. package/storybook-static/assets/{PeriodSelect-D7ZyNQQj.js → PeriodSelect-DyB-sGeM.js} +1 -1
  134. package/storybook-static/assets/{PeriodSelect.stories-CaKpWoBI.js → PeriodSelect.stories-D8dRUZqc.js} +1 -1
  135. package/storybook-static/assets/{PickerTriggerActions-CouIkvlG.js → PickerTriggerActions-ZarFFzzM.js} +1 -1
  136. package/storybook-static/assets/{Popover-BNl3GC6I.js → Popover-C5hwgiuL.js} +1 -1
  137. package/storybook-static/assets/{Popover-VojsocpB.js → Popover-CwS4OEAV.js} +1 -1
  138. package/storybook-static/assets/{Popover.stories-voeYCJAG.js → Popover.stories-DhqDwrcv.js} +1 -1
  139. package/storybook-static/assets/{PresetRangeDateInput-BAsiw0m9.js → PresetRangeDateInput-Df2H0YZU.js} +1 -1
  140. package/storybook-static/assets/{PresetRangeDateInput-DTFvAuEG.js → PresetRangeDateInput-yr-ltDie.js} +1 -1
  141. package/storybook-static/assets/{PresetRangeDateInput.stories-BpytrxVn.js → PresetRangeDateInput.stories-DWOjQ4Zf.js} +1 -1
  142. package/storybook-static/assets/{PresetSelect-DqsBg04y.js → PresetSelect-ByDcnzCX.js} +1 -1
  143. package/storybook-static/assets/{README-KslesuPp.js → README-2IcraWHE.js} +1 -1
  144. package/storybook-static/assets/{README-6evrAby4.js → README-2eDgLZuV.js} +1 -1
  145. package/storybook-static/assets/{README-CP8A3pUx.js → README-41H-AUuO.js} +1 -1
  146. package/storybook-static/assets/{README-Dt7VgalJ.js → README-AkT4HI-u.js} +1 -1
  147. package/storybook-static/assets/{README-D6Vv7boA.js → README-B1NAcRKT.js} +1 -1
  148. package/storybook-static/assets/{README-qYd4IxwX.js → README-B2HzDG5u.js} +1 -1
  149. package/storybook-static/assets/{README-CNGBJoj9.js → README-B7NYCoih.js} +1 -1
  150. package/storybook-static/assets/{README-BvWWZXkg.js → README-BFrWKslN.js} +1 -1
  151. package/storybook-static/assets/{README-CRPSrjud.js → README-BInzuU6X.js} +1 -1
  152. package/storybook-static/assets/{README-DLMl2PNQ.js → README-Bb_w1Nym.js} +1 -1
  153. package/storybook-static/assets/{README-CFx77m4x.js → README-BefUR1FM.js} +1 -1
  154. package/storybook-static/assets/{README-V9-IwPwN.js → README-Bh-x23CQ.js} +1 -1
  155. package/storybook-static/assets/{README-CSnzw2D-.js → README-BlIhHhIF.js} +1 -1
  156. package/storybook-static/assets/{README-DTdq97bt.js → README-BrGdMSth.js} +1 -1
  157. package/storybook-static/assets/{README-D0tDmHet.js → README-C0eV13Sr.js} +1 -1
  158. package/storybook-static/assets/{README-D2ulcVfy.js → README-C5ffwEKG.js} +1 -1
  159. package/storybook-static/assets/{README-C9NwfMMB.js → README-C6VoMZPn.js} +1 -1
  160. package/storybook-static/assets/{README-C-Pfk84O.js → README-C6mrJ7kb.js} +1 -1
  161. package/storybook-static/assets/{README-CGU1FPkG.js → README-CIYrqth9.js} +1 -1
  162. package/storybook-static/assets/{README-D01CDD_h.js → README-CMydTTS6.js} +1 -1
  163. package/storybook-static/assets/{README-BVJkWNdT.js → README-CUWKggHu.js} +1 -1
  164. package/storybook-static/assets/{README-CshGb2DJ.js → README-CaoO8Ut5.js} +1 -1
  165. package/storybook-static/assets/{README-BVZEvH2e.js → README-Cd1d0wgT.js} +1 -1
  166. package/storybook-static/assets/{README-D5JHlt8a.js → README-ChJJgEZt.js} +1 -1
  167. package/storybook-static/assets/{README-pEhV0D6Q.js → README-Ci0Kh1hT.js} +1 -1
  168. package/storybook-static/assets/{README-y2sdEYQd.js → README-CjRe0c1V.js} +1 -1
  169. package/storybook-static/assets/{README-JfTIbTxa.js → README-Cjf73J3z.js} +1 -1
  170. package/storybook-static/assets/{README-DlSdPLoj.js → README-CvT8FpW1.js} +1 -1
  171. package/storybook-static/assets/{README-BIY0CXzT.js → README-CvUdVa7L.js} +1 -1
  172. package/storybook-static/assets/{README-B4L4Qms9.js → README-CzfreI7x.js} +1 -1
  173. package/storybook-static/assets/{README-ymNGc5K0.js → README-DDFlsdF6.js} +1 -1
  174. package/storybook-static/assets/{README-B2JDHSDg.js → README-DF-mwTId.js} +1 -1
  175. package/storybook-static/assets/{README-BvwvQC0S.js → README-DFH0KR45.js} +1 -1
  176. package/storybook-static/assets/{README-Bwn32UEx.js → README-DG9Aq5O7.js} +1 -1
  177. package/storybook-static/assets/{README-BRJb1GLe.js → README-DJVLbFKd.js} +1 -1
  178. package/storybook-static/assets/{README-CBcr-aZ-.js → README-DJjcvyeX.js} +1 -1
  179. package/storybook-static/assets/{README-SmqCd027.js → README-DZRPFRwC.js} +1 -1
  180. package/storybook-static/assets/{README-822aEKM9.js → README-DdurFiZJ.js} +1 -1
  181. package/storybook-static/assets/{README-CZrtJjG5.js → README-DhqJsnNJ.js} +1 -1
  182. package/storybook-static/assets/{README-CxvHN56L.js → README-LWv6IIBV.js} +1 -1
  183. package/storybook-static/assets/{README-BV9yMaZH.js → README-XDT1NSK3.js} +1 -1
  184. package/storybook-static/assets/{README-CNwWDpPA.js → README-X_V5F9VK.js} +1 -1
  185. package/storybook-static/assets/{README-C78L4rcb.js → README-YmEv1fWN.js} +1 -1
  186. package/storybook-static/assets/{README-DPWMkaF9.js → README-idblV6mv.js} +1 -1
  187. package/storybook-static/assets/{README-D95b9s0-.js → README-jNLhEStI.js} +1 -1
  188. package/storybook-static/assets/{README-BuA3_CmY.js → README-lB3klDGb.js} +1 -1
  189. package/storybook-static/assets/{README-BH_ofrva.js → README-mhW5Aj9o.js} +1 -1
  190. package/storybook-static/assets/{README-RqmpGW_K.js → README-oXktEVVG.js} +1 -1
  191. package/storybook-static/assets/{README-DpbDg5ce.js → README-pJ0Dv8pm.js} +1 -1
  192. package/storybook-static/assets/{README-D1eYEpJo.js → README-pP_dKNmF.js} +1 -1
  193. package/storybook-static/assets/{README-DaTftOiF.js → README-uFeDyLKo.js} +1 -1
  194. package/storybook-static/assets/{README-eGS9MpcY.js → README-zxMZWAG-.js} +1 -1
  195. package/storybook-static/assets/{RadioButton-CnpzlpUJ.js → RadioButton-3OVIrkg4.js} +1 -1
  196. package/storybook-static/assets/{RadioButton-Ba9QfrAy.js → RadioButton-DiapWNGf.js} +1 -1
  197. package/storybook-static/assets/{RadioButton.stories-BnN4pgGe.js → RadioButton.stories-Df1y-QjJ.js} +1 -1
  198. package/storybook-static/assets/{RadioGroup-BykHY9bQ.js → RadioGroup-D3BysS3K.js} +1 -1
  199. package/storybook-static/assets/{RadioGroup-Snp96mXk.js → RadioGroup-DoOe4_wG.js} +1 -1
  200. package/storybook-static/assets/{RadioGroup.stories-ElfRHSzd.js → RadioGroup.stories-0aCFeFN2.js} +1 -1
  201. package/storybook-static/assets/{Scrollable-CZQNMT37.js → Scrollable-02LDVVqT.js} +1 -1
  202. package/storybook-static/assets/{Select-DB19StkW.js → Select-BpLN5zpQ.js} +1 -1
  203. package/storybook-static/assets/Select-D3Wk8fwj.js +12 -0
  204. package/storybook-static/assets/{Select.stories-B-x2u4Ka.js → Select.stories-B-RfQZ5q.js} +1 -1
  205. package/storybook-static/assets/{SerializableSelect-RdiASBU7.js → SerializableSelect-CZf4QPZi.js} +1 -1
  206. package/storybook-static/assets/{SerializableSelect.stories-D3oi1vVq.js → SerializableSelect.stories-DBiDumoN.js} +1 -1
  207. package/storybook-static/assets/{SingleDateTimeInput-lU6cGbfx.js → SingleDateTimeInput-LLvsDwQT.js} +1 -1
  208. package/storybook-static/assets/{SingleDateTimeInput-ekp5dih9.js → SingleDateTimeInput-UMS-nqrM.js} +1 -1
  209. package/storybook-static/assets/{SingleDateTimeInput.stories-CL-wJh62.js → SingleDateTimeInput.stories-CBARmmwN.js} +1 -1
  210. package/storybook-static/assets/{Slider-BaGjYkeA.js → Slider-D82fAdWL.js} +1 -1
  211. package/storybook-static/assets/{Slider-TYTl3yDT.js → Slider-Dd9L-QGJ.js} +1 -1
  212. package/storybook-static/assets/{Slider.stories-B1Q15yer.js → Slider.stories-DF8nIKZp.js} +1 -1
  213. package/storybook-static/assets/{SliderInput-DQCecLsI.js → SliderInput-CgmboZ1q.js} +1 -1
  214. package/storybook-static/assets/{SliderInput-D7HC0Qy7.js → SliderInput-D7hnLXHS.js} +1 -1
  215. package/storybook-static/assets/{SliderInput.stories-Dks-x9HE.js → SliderInput.stories-BzAIEc5i.js} +1 -1
  216. package/storybook-static/assets/{Sortable-BNy1ZMbQ.js → Sortable-B3X-lOlN.js} +1 -1
  217. package/storybook-static/assets/{Sortable.stories-Cb6IiB1t.js → Sortable.stories-CngQWqnx.js} +1 -1
  218. package/storybook-static/assets/{Splitter-DIgl2n1Z.js → Splitter-SgFpplUJ.js} +1 -1
  219. package/storybook-static/assets/{Splitter.stories-BIjaaFzl.js → Splitter.stories-Fn131gq4.js} +1 -1
  220. package/storybook-static/assets/{StateSelect-B6gJ8hJa.js → StateSelect-BjtS9CeU.js} +1 -1
  221. package/storybook-static/assets/{StateSelect-zOqdyaQn.js → StateSelect-uGGrERzF.js} +1 -1
  222. package/storybook-static/assets/{StateSelect.stories-BO-IgbhM.js → StateSelect.stories-BeBboHki.js} +1 -1
  223. package/storybook-static/assets/{StringToggle.stories-D4f7Fbw8.js → StringToggle.stories-C8L5uM8M.js} +1 -1
  224. package/storybook-static/assets/{Switch-CJrR8E7p.js → Switch-BVv0ctfZ.js} +1 -1
  225. package/storybook-static/assets/{Switch-D5xdNKsi.js → Switch-Dy9ANQK-.js} +1 -1
  226. package/storybook-static/assets/{Switch.stories-9rHvE9GC.js → Switch.stories-DQQj-bF6.js} +1 -1
  227. package/storybook-static/assets/{Table-BndDbNw8.js → Table-DPzutyXT.js} +1 -1
  228. package/storybook-static/assets/{Table.stories-CJCfJUjh.js → Table.stories-BCVWtmqh.js} +2 -2
  229. package/storybook-static/assets/{Tabs-CP10ZNq4.js → Tabs-CrrOHegg.js} +1 -1
  230. package/storybook-static/assets/{Tabs.stories-C9yRAUoL.js → Tabs.stories-YlPJcHz6.js} +2 -2
  231. package/storybook-static/assets/{TabsBox-CF6lsJX9.js → TabsBox-C-qdFgsq.js} +1 -1
  232. package/storybook-static/assets/{TagInput-CNuIR1Js.js → TagInput-ClXASgV9.js} +1 -1
  233. package/storybook-static/assets/{TagInput.stories-EHAVYqjD.js → TagInput.stories-Dq6pf1E5.js} +1 -1
  234. package/storybook-static/assets/{Text-Dk57_ZbR.js → Text-ZVTVRrGw.js} +1 -1
  235. package/storybook-static/assets/{Textarea-C62-_iti.js → Textarea-CU4Td5J9.js} +1 -1
  236. package/storybook-static/assets/{Textarea-BE9dNCqI.js → Textarea-z6NWx_Bh.js} +1 -1
  237. package/storybook-static/assets/{Textarea.stories-DKvABJTj.js → Textarea.stories-CubRAISW.js} +1 -1
  238. package/storybook-static/assets/{TimePanel-x3TlepfZ.js → TimePanel-BFAQJ1bI.js} +1 -1
  239. package/storybook-static/assets/{TimePanel.stories-DaZB0D5G.js → TimePanel.stories-CUhGDlm7.js} +1 -1
  240. package/storybook-static/assets/{Toggle-BC4e-JyH.js → Toggle-DVOO4tBr.js} +1 -1
  241. package/storybook-static/assets/{Toggle-FZ3jr9eC.js → Toggle-DtSDY2EH.js} +1 -1
  242. package/storybook-static/assets/{Toggle.stories-bBbcFQPg.js → Toggle.stories-CovKjNNa.js} +1 -1
  243. package/storybook-static/assets/{TreeMultiSelect-BsA8SRFS.js → TreeMultiSelect-CTy2vKDl.js} +1 -1
  244. package/storybook-static/assets/{TreeMultiSelect-BY0kKT3J.js → TreeMultiSelect-C_-6fD0U.js} +1 -1
  245. package/storybook-static/assets/{TreeMultiSelect.stories-CuYZx8Ye.js → TreeMultiSelect.stories-BlO667QL.js} +1 -1
  246. package/storybook-static/assets/TreePickerBase-C-i24HIU.js +76 -0
  247. package/storybook-static/assets/{TreeSelect-DFQ3bXsn.js → TreeSelect-DF6r0bgV.js} +1 -1
  248. package/storybook-static/assets/{TreeSelect-CurHAVQd.js → TreeSelect-De7cNaat.js} +1 -1
  249. package/storybook-static/assets/{TreeSelect.stories-CWIRI6gz.js → TreeSelect.stories-BxwiUwJ2.js} +1 -1
  250. package/storybook-static/assets/{TreeTable-cuDoXkMK.js → TreeTable-nptjywjg.js} +1 -1
  251. package/storybook-static/assets/TreeTable.stories-DsYX5mJ-.js +138 -0
  252. package/storybook-static/assets/{blocks-Bc4j9MF9.js → blocks-Cwytla0s.js} +3 -3
  253. package/storybook-static/assets/{check-BgL33jfp.js → check-Dj2DWtl2.js} +1 -1
  254. package/storybook-static/assets/{chevron-down-R3Jdqzrn.js → chevron-down-m0P0EdBN.js} +1 -1
  255. package/storybook-static/assets/{chevron-left-mLWJvyEZ.js → chevron-left-DW4SDuDX.js} +1 -1
  256. package/storybook-static/assets/{chevron-right-CPZF-d1L.js → chevron-right-e_i1Rck4.js} +1 -1
  257. package/storybook-static/assets/{chunk-W22LQPXL-C62lx28p.js → chunk-W22LQPXL-C2LnR3e-.js} +1 -1
  258. package/storybook-static/assets/{circle-alert-F3LNsip3.js → circle-alert-BNDiZKnw.js} +1 -1
  259. package/storybook-static/assets/{circle-check-B-PCEcP6.js → circle-check-B6srYcn_.js} +1 -1
  260. package/storybook-static/assets/{components-EKvM9m9t.js → components-tHsatYT-.js} +3 -3
  261. package/storybook-static/assets/{contextMenu-DXU_cSyO.js → contextMenu-CpPvJBva.js} +1 -1
  262. package/storybook-static/assets/{download-_gpfOcUw.js → download-KWzg2zqy.js} +1 -1
  263. package/storybook-static/assets/{floating-ui.react-DWG5_l50.js → floating-ui.react-CjiPL5a6.js} +1 -1
  264. package/storybook-static/assets/{foundationApi-Bf1RvCy6.js → foundationApi-CLxcCnvf.js} +1 -1
  265. package/storybook-static/assets/{foundationLib-BqFATCRV.js → foundationLib-DgxJv4Jl.js} +1 -1
  266. package/storybook-static/assets/{hooks-CVQS96HT.js → hooks-CVpzpZQk.js} +1 -1
  267. package/storybook-static/assets/{iframe-DB62bexO.js → iframe-DhaBiZWQ.js} +4 -4
  268. package/storybook-static/assets/iframe-DhmTKnLw.js +1 -0
  269. package/storybook-static/assets/{info-_jHhDMxQ.js → info-C4afqn1I.js} +1 -1
  270. package/storybook-static/assets/{odata-CSE2o56k.js → odata-BOF0ce_Y.js} +1 -1
  271. package/storybook-static/assets/{odataStoryFixtures-CnD5g3U7.js → odataStoryFixtures-DA_Hfm0X.js} +1 -1
  272. package/storybook-static/assets/react-CrorOkzN.js +9 -0
  273. package/storybook-static/assets/{refresh-cw-gwn6yl4E.js → refresh-cw-Bxr1O2kj.js} +1 -1
  274. package/storybook-static/assets/{settings-2-CI-uItnb.js → settings-2-DnEl3XDa.js} +1 -1
  275. package/storybook-static/assets/{sortable-D9YLnSq2.js → sortable-CHijVtYk.js} +1 -1
  276. package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-D1Qwwr3j.js → syntaxhighlighter-QEQV7K2Y-rSGLtIgQ.js} +1 -1
  277. package/storybook-static/assets/{trash-2-C8HzUkes.js → trash-2-DtRryQRr.js} +1 -1
  278. package/storybook-static/assets/{triangle-alert-CiqmLtau.js → triangle-alert-YJECENS1.js} +1 -1
  279. package/storybook-static/assets/{useODataSelectBase-CIQ0s0Kh.js → useODataSelectBase-BXlViAjV.js} +1 -1
  280. package/storybook-static/assets/{useODataTreeData-DrVyNvfl.js → useODataTreeData-CNceXy5R.js} +1 -1
  281. package/storybook-static/assets/usePickerQuery-_QGEmwCx.js +1 -0
  282. package/storybook-static/assets/usePickerTriggerController-CHg5GzEW.js +6 -0
  283. package/storybook-static/assets/{x-fspKtNh2.js → x-DxGUdYeK.js} +1 -1
  284. package/storybook-static/assets/zxing_reader-BxB2YfIY.wasm +0 -0
  285. package/storybook-static/iframe.html +2 -2
  286. package/storybook-static/index.json +1 -1
  287. package/storybook-static/project.json +1 -1
  288. package/dist/chunks/picker-DO9HFqJV.js.map +0 -1
  289. package/dist/chunks/select-3jk0ljU1.js.map +0 -1
  290. package/storybook-static/assets/FormattedTableCell-_E06deOh.js +0 -15
  291. package/storybook-static/assets/LayoutPicker-CbOMOuPf.js +0 -376
  292. package/storybook-static/assets/ModalManagerProvider-41HvR5kw.js +0 -1
  293. package/storybook-static/assets/Select-7gK0WOKA.js +0 -12
  294. package/storybook-static/assets/TreePickerBase-Cy2h0kPW.js +0 -76
  295. package/storybook-static/assets/TreeTable.stories-C2QEYgml.js +0 -138
  296. package/storybook-static/assets/iframe-C-PXkEVa.js +0 -1
  297. package/storybook-static/assets/react-CKPG354p.js +0 -9
  298. package/storybook-static/assets/usePickerQuery-DgtD9ozg.js +0 -1
  299. package/storybook-static/assets/usePickerTriggerController-CeQZVvq6.js +0 -6
  300. /package/storybook-static/assets/{ModalManagerProvider-CTRpBlaO.css → Modal-CTRpBlaO.css} +0 -0
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-DB62bexO.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./TagInput-CNuIR1Js.js";var s=t({Controlled:()=>d,ReadOnly:()=>f,__namedExportsOrder:()=>p,default:()=>u}),c,l,u,d,f,p;function m(){return(m=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:`UI/TagInput`,component:o,args:{value:[],onChange:()=>void 0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля тегов.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Подсказка для черновика нового тега.`,control:`text`},value:{description:`Controlled-набор добавленных тегов.`,control:`object`},onChange:{description:`Возвращает новый набор после добавления или удаления тега.`,control:!1},error:{description:"Текст ошибки, связанный с полем через `aria-describedby`.",control:`text`},onClearError:{description:`Вызывается после изменения черновика или набора тегов.`,control:!1},disabled:{description:`Блокирует ввод и изменение набора тегов.`,control:`boolean`},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},maxTags:{description:`Максимальное количество тегов.`,control:{type:`number`,min:0,step:1}},readOnly:{description:`Показывает теги без действий добавления и удаления, сохраняя возможность копирования.`,control:`boolean`},normalizeTag:{description:`Нормализует введенный тег до проверки дубликата и добавления.`,control:!1},getTagKey:{description:`Формирует ключ для сравнения тегов и поиска дубликатов.`,control:!1},addOnBlur:{description:`Добавляет непустой черновик при уходе фокуса с поля.`,control:`boolean`},getRemoveButtonAriaLabel:{description:`Формирует доступное имя кнопки удаления конкретного тега.`,control:!1},tokensAriaLabel:{description:`Доступное имя списка уже добавленных тегов.`,control:`text`},inputClassName:{description:`CSS-класс внутреннего поля черновика тега.`,control:`text`}}},d={render:l,args:{label:`Теги материала`,description:`Введите значение и нажмите Enter или запятую. Можно вставить сразу несколько строк.`,placeholder:`Добавить тег`,value:[`Новости`,`Колледж`],maxTags:10,getTagKey:e=>e.toLocaleLowerCase(`ru`)}},f={render:l,args:{label:`Теги материала`,value:[`Новости`,`Колледж`],readOnly:!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-DhaBiZWQ.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./TagInput-ClXASgV9.js";var s=t({Controlled:()=>d,ReadOnly:()=>f,__namedExportsOrder:()=>p,default:()=>u}),c,l,u,d,f,p;function m(){return(m=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:`UI/TagInput`,component:o,args:{value:[],onChange:()=>void 0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля тегов.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Подсказка для черновика нового тега.`,control:`text`},value:{description:`Controlled-набор добавленных тегов.`,control:`object`},onChange:{description:`Возвращает новый набор после добавления или удаления тега.`,control:!1},error:{description:"Текст ошибки, связанный с полем через `aria-describedby`.",control:`text`},onClearError:{description:`Вызывается после изменения черновика или набора тегов.`,control:!1},disabled:{description:`Блокирует ввод и изменение набора тегов.`,control:`boolean`},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},maxTags:{description:`Максимальное количество тегов.`,control:{type:`number`,min:0,step:1}},readOnly:{description:`Показывает теги без действий добавления и удаления, сохраняя возможность копирования.`,control:`boolean`},normalizeTag:{description:`Нормализует введенный тег до проверки дубликата и добавления.`,control:!1},getTagKey:{description:`Формирует ключ для сравнения тегов и поиска дубликатов.`,control:!1},addOnBlur:{description:`Добавляет непустой черновик при уходе фокуса с поля.`,control:`boolean`},getRemoveButtonAriaLabel:{description:`Формирует доступное имя кнопки удаления конкретного тега.`,control:!1},tokensAriaLabel:{description:`Доступное имя списка уже добавленных тегов.`,control:`text`},inputClassName:{description:`CSS-класс внутреннего поля черновика тега.`,control:`text`}}},d={render:l,args:{label:`Теги материала`,description:`Введите значение и нажмите Enter или запятую. Можно вставить сразу несколько строк.`,placeholder:`Добавить тег`,value:[`Новости`,`Колледж`],maxTags:10,getTagKey:e=>e.toLocaleLowerCase(`ru`)}},f={render:l,args:{label:`Теги материала`,value:[`Новости`,`Колледж`],readOnly:!0}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
2
2
  render: renderTagInputStory,
3
3
  args: {
4
4
  label: "Теги материала",
@@ -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-DB62bexO.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";function o({size:e,color:t,weight:n,italic:r,uppercase:a,wrap:o,className:s}){return(0,c.useMemo)(()=>{let c=[];return e&&c.push(d[e]),n&&c.push(f[n]),o&&c.push(p[o]),r&&c.push(`fontItalic`),a&&c.push(`textUppercase`),t&&c.push(u[t]),i(...c,s)},[e,n,t,r,a,o,s])}function s({children:e,as:t,style:n,role:r,...i}){let a=o(i);return(0,l.jsx)(t||`span`,{role:r,className:a,style:n,children:e})}var c,l,u,d,f,p;function m(){return(m=t((()=>{c=e(n(),1),a(),l=r(),u={primary:`content0`,secondary:`content1`,muted:`content2`,info:`statusInfo`,success:`statusSuccess`,warning:`statusWarning`,error:`statusError`,brand:`statusBrand`,accent:`contentAccent`},d={xs:`fontSizeXs`,sm:`fontSizeSm`,md:`fontSizeMd`,lg:`fontSizeLg`,xl:`fontSizeXl`},f={lighter:`fontLighter`,light:`fontLight`,regular:`fontRegular`,medium:`fontMedium`,bold:`fontBold`,bolder:`fontBolder`},p={wrap:`textWrap`,noWrap:`textNoWrap`},s.__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:``},role:{required:!1,tsType:{name:`AriaRole`},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,s 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-DhaBiZWQ.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";function o({size:e,color:t,weight:n,italic:r,uppercase:a,wrap:o,className:s}){return(0,c.useMemo)(()=>{let c=[];return e&&c.push(d[e]),n&&c.push(f[n]),o&&c.push(p[o]),r&&c.push(`fontItalic`),a&&c.push(`textUppercase`),t&&c.push(u[t]),i(...c,s)},[e,n,t,r,a,o,s])}function s({children:e,as:t,style:n,role:r,...i}){let a=o(i);return(0,l.jsx)(t||`span`,{role:r,className:a,style:n,children:e})}var c,l,u,d,f,p;function m(){return(m=t((()=>{c=e(n(),1),a(),l=r(),u={primary:`content0`,secondary:`content1`,muted:`content2`,info:`statusInfo`,success:`statusSuccess`,warning:`statusWarning`,error:`statusError`,brand:`statusBrand`,accent:`contentAccent`},d={xs:`fontSizeXs`,sm:`fontSizeSm`,md:`fontSizeMd`,lg:`fontSizeLg`,xl:`fontSizeXl`},f={lighter:`fontLighter`,light:`fontLight`,regular:`fontRegular`,medium:`fontMedium`,bold:`fontBold`,bolder:`fontBolder`},p={wrap:`textWrap`,noWrap:`textNoWrap`},s.__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:``},role:{required:!1,tsType:{name:`AriaRole`},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,s as t};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DB62bexO.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-Bc4j9MF9.js";import{a as p,i as m,n as h,r as g,t as _}from"./Textarea.stories-DKvABJTj.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-DhaBiZWQ.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-Cwytla0s.js";import{a as p,i as m,n as h,r as g,t as _}from"./Textarea.stories-CubRAISW.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-DB62bexO.js";import{a as n,i as r}from"./utils-tg3ibbzi.js";import{n as i,t as a}from"./ui.module-31LPbZGK.js";import{d as o,l as s,s as c,u as l}from"./Input-aN_k-nwG.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-DhaBiZWQ.js";import{a as n,i as r}from"./utils-tg3ibbzi.js";import{n as i,t as a}from"./ui.module-31LPbZGK.js";import{d as o,l as s,s as c,u as l}from"./Input-DX4_SiCQ.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-DB62bexO.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./Textarea-BE9dNCqI.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:`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-DhaBiZWQ.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./Textarea-z6NWx_Bh.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:`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-DB62bexO.js";import{a as r,i}from"./utils-tg3ibbzi.js";import{g as a,s as o}from"./odata-service-CWkHASdw-CXhFi03v.js";import{m as s,y as c}from"./formatters-D33Uh3si-Df97arf9.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-DhaBiZWQ.js";import{a as r,i}from"./utils-tg3ibbzi.js";import{g as a,s as o}from"./odata-service-CWkHASdw-CXhFi03v.js";import{m as s,y as c}from"./formatters-D33Uh3si-Df97arf9.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-DB62bexO.js";import{n,t as r}from"./createControlledStoryRender-BouhvX-R.js";import{n as i,t as a}from"./TimePanel-x3TlepfZ.js";var o,s,c,l,u,d,f;function p(){return(p=e((()=>{n(),i(),o=t(),{fn:s}=__STORYBOOK_MODULE_TEST__,c={title:`UI/Internal/DateTime/TimePanel`,component:a,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=r((e,t)=>{let n=e.value;return(0,o.jsx)(`div`,{style:{width:320,minHeight:280},children:(0,o.jsx)(a,{...e,value:n,onChange:(r,i)=>{e.onChange(r,i),t({value:new Date(n.getFullYear(),n.getMonth(),n.getDate(),r,i,0,0)})}})})}),u={render:l},d={render:l,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)}},u.parameters={...u.parameters,docs:{...u.parameters?.docs,source:{originalSource:`{
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DhaBiZWQ.js";import{n,t as r}from"./createControlledStoryRender-BouhvX-R.js";import{n as i,t as a}from"./TimePanel-BFAQJ1bI.js";var o,s,c,l,u,d,f;function p(){return(p=e((()=>{n(),i(),o=t(),{fn:s}=__STORYBOOK_MODULE_TEST__,c={title:`UI/Internal/DateTime/TimePanel`,component:a,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=r((e,t)=>{let n=e.value;return(0,o.jsx)(`div`,{style:{width:320,minHeight:280},children:(0,o.jsx)(a,{...e,value:n,onChange:(r,i)=>{e.onChange(r,i),t({value:new Date(n.getFullYear(),n.getMonth(),n.getDate(),r,i,0,0)})}})})}),u={render:l},d={render:l,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)}},u.parameters={...u.parameters,docs:{...u.parameters?.docs,source:{originalSource:`{
2
2
  render: renderTimePanelStory
3
3
  }`,...u.parameters?.docs?.source},description:{story:`Демонстрирует базовую wheel-панель времени.`,...u.parameters?.docs?.description}}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
4
4
  render: renderTimePanelStory,
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DB62bexO.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-Bc4j9MF9.js";import{a as p,i as m,n as h,r as g,t as _}from"./Toggle.stories-bBbcFQPg.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-DhaBiZWQ.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-Cwytla0s.js";import{a as p,i as m,n as h,r as g,t as _}from"./Toggle.stories-CovKjNNa.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-DB62bexO.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";import{n as o,t as s}from"./ui.module-31LPbZGK.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-DhaBiZWQ.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";import{n as o,t as s}from"./ui.module-31LPbZGK.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-DB62bexO.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./Toggle-FZ3jr9eC.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:`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-DhaBiZWQ.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./Toggle-DtSDY2EH.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:`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-DB62bexO.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-Bc4j9MF9.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-CuYZx8Ye.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-DhaBiZWQ.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-Cwytla0s.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-BlO667QL.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-DB62bexO.js";import{i as r,o as i,r as a,s as o}from"./defaultRenderers-Dinv2uRZ.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-Cy2h0kPW.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-DhaBiZWQ.js";import{i as r,o as i,r as a,s as o}from"./defaultRenderers-Dinv2uRZ.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-C-i24HIU.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-DB62bexO.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./TreeMultiSelect-BY0kKT3J.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:`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-DhaBiZWQ.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./TreeMultiSelect-C_-6fD0U.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:`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: {
@@ -0,0 +1,76 @@
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./chevron-right-e_i1Rck4.js";import{n as i,t as a}from"./CheckBox-DLjlV0re.js";import{n as o}from"./iframe-DhaBiZWQ.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-xVwyJ3j2.js";import{a as m,n as h,o as g,t as ee}from"./Option-I8HVUw9B.js";import{l as _,o as te}from"./Input-DX4_SiCQ.js";import{c as ne,i as re,l as ie,m as ae,n as oe,p as se,r as v,s as ce,t as le,u as ue}from"./usePickerTriggerController-CHg5GzEW.js";import{i as de,n as fe,r as pe,t as me}from"./usePickerQuery-_QGEmwCx.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 _e(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 x(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 S(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])S(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:S(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=_e(e,n),a=r!==void 0&&!D(t,n,r);if(!a&&E(t,i,n))return T(i,t,n),x(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 x(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(je,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(Ae,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<te&&(te=h,_={columnCount:i,rowCount:n,width:Math.min(d,a),minWidth:m,maxHeight:f,placements:r.placements})}return _??{columnCount:1,rowCount:o,width:m,minWidth:m,maxHeight:f,placements:L(e,o).placements}}var R,ke,z,B,V,Ae,je;function H(){return(H=e((()=>{R=16,ke=48,z=224,B=10,V=32,Ae=6,je=3})))()}var Me,U,W,Ne,G,Pe,Fe,Ie,Le,Re,ze,K;function q(){return(q=e((()=>{Me=`_6EH37F`,U=`UBll8Q`,W=`-y3RZP`,Ne=`ayLJ50`,G=`_430vL2`,Pe=`_2MFkGF`,Fe=`o5NWnX`,Ie=`ibSd-S`,Le=`lXezvv`,Re=`FMlLGX`,ze=`d2Zt7U`,K={treeNodeButton:Me,treePopupHeader:U,treeColumns:W,treeColumnRow:Ne,treeColumnsPopupLayout:G,treeColumnCheckBox:Pe,treeIndent:Fe,treeExpander:Ie,treeExpanderPlaceholder:Le,treeExpanderIcon:Re,treeExpanderIconExpanded:ze}})))()}function Be({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,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:K.treeIndent,style:{"--tree-level":t},"aria-hidden":`true`}),g&&i?(0,J.jsx)(`button`,{type:`button`,className:K.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,J.jsx)(r,{className:s(K.treeExpanderIcon,o&&K.treeExpanderIconExpanded)})}):g?(0,J.jsx)(`div`,{className:K.treeExpanderPlaceholder,"aria-hidden":`true`}):null,u===`multi`?(0,J.jsx)(`div`,{className:K.treeColumnCheckBox,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,J.jsx)(a,{value:c,indeterminate:l,disabled:e.disabled,"aria-label":`Выбрать ${e.label}`,onChange:()=>m?.()})}):null,(0,J.jsx)(p,{className:K.treeNodeButton,tabIndex:-1,disabled:e.disabled,text:e.label,code:e.code,searchText:n,emphasizeContent:ee,onMouseDown:e=>e.preventDefault(),onClick:h})]})}var J;function Ve(){return(Ve=e((()=>{c(),n(),i(),f(),q(),J=o(),Be.__docgenInfo={description:``,methods:[],displayName:`TreeNodeContent`,props:{node:{required:!0,tsType:{name:`signature`,type:`object`,raw:`{
2
+ id: string;
3
+ codeKey: string;
4
+ value: string;
5
+ label: string;
6
+ code?: string;
7
+ searchText: string;
8
+ children?: TreeSelectNode[];
9
+ disabled?: boolean;
10
+ selectionBehavior?: TreeMultiSelectNodeSelectionBehavior;
11
+ }`,signature:{properties:[{key:`id`,value:{name:`string`,required:!0}},{key:`codeKey`,value:{name:`string`,required:!0}},{key:`value`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`string`,required:!0}},{key:`code`,value:{name:`string`,required:!1}},{key:`searchText`,value:{name:`string`,required:!0}},{key:`children`,value:{name:`Array`,elements:[{name:`TreeSelectNode`}],raw:`TreeSelectNode[]`,required:!1}},{key:`disabled`,value:{name:`boolean`,required:!1}},{key:`selectionBehavior`,value:{name:`union`,raw:`"self" | "descendants"`,elements:[{name:`literal`,value:`"self"`},{name:`literal`,value:`"descendants"`}],required:!1}}]}},description:``},level:{required:!0,tsType:{name:`number`},description:``},highlight:{required:!1,tsType:{name:`string`},description:``},hasChildren:{required:!0,tsType:{name:`boolean`},description:``},isExpanded:{required:!0,tsType:{name:`boolean`},description:``},selected:{required:!0,tsType:{name:`boolean`},description:``},partial:{required:!0,tsType:{name:`boolean`},description:``},selectionMode:{required:!0,tsType:{name:`union`,raw:`"single" | "multi"`,elements:[{name:`literal`,value:`"single"`},{name:`literal`,value:`"multi"`}]},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}},onToggleExpand:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},onToggleSelection:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},onActivate:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}}}})))()}function Y({label:e,description:t,disabled:n,placeholder:r,size:i,nodes:a,selectedIds:o,partialIds:c,selectionMode:f,optionsLayout:p=`tree`,defaultExpandedCodeKeys:h,unavailableNodeIds:g,open:_,onOpenChange:ne,bulkActions:ae,triggerMode:v=`display`,selectedSummary:le,selectedSummaryText:ue,query:de,defaultQuery:me,onQuery:y,onNodeActivate:b,onNodeToggleSelection:ge,onClearSelection:_e,isLoading:x,error:S}){let C=(0,X.useRef)(null),w=(0,X.useRef)(null),ve=(0,X.useRef)([]),[ye,T]=(0,X.useState)(!1),[E,D]=(0,X.useState)(),O=_!==void 0,k=O?_:ye,[be,xe]=(0,X.useState)(()=>new Map),j=v===`search`?f===`multi`?`search-multi`:`search-single`:`display`,M=(0,X.useMemo)(()=>he(a),[a]),N=(0,X.useMemo)(()=>new Set(h),[h]),{query:P,setQuery:F,resetQueryOnClose:I}=fe({query:de,defaultQuery:me,onQuery:y,triggerMode:j}),De=e=>{k&&!e&&I&&F(``),e||D(void 0),O||T(e),ne?.(e)},{nodes:L,expandedIds:R}=(0,X.useMemo)(()=>we(a,P),[a,P]),ke=(0,X.useMemo)(()=>he(L),[L]),z=P.trim().length>0?ke:void 0,B=(0,X.useMemo)(()=>Se(o,M),[o,M]),V=(0,X.useMemo)(()=>Ce(M,N,be),[N,be,M]),Ae=(0,X.useMemo)(()=>new Set([...M.childrenById].filter(([,e])=>e.length>0).map(([e])=>e)),[M]),je=(0,X.useMemo)(()=>p===`columns`?Ae:new Set([...V,...R,...B]),[Ae,V,p,R,B]),H=(0,X.useMemo)(()=>Te(L,je),[L,je]),Me=(0,X.useMemo)(()=>H.findIndex(e=>o.has(e.node.id)),[o,H]),U=(0,X.useCallback)(e=>e.node.disabled===!0||g?.has(e.node.id)===!0,[g]),W=(0,X.useMemo)(()=>Ee(H),[H]),Ne=(0,X.useCallback)(e=>{let t=Oe({...e,descriptor:W}),n={};return t.placements.forEach((e,t)=>{n[`--tree-option-${t}-column`]=String(e.column),n[`--tree-option-${t}-row`]=String(e.row)}),{width:`${t.width}px`,minWidth:`${t.minWidth}px`,maxWidth:`${t.width}px`,maxHeight:`${t.maxHeight}px`,"--tree-column-count":String(t.columnCount),"--tree-row-count":String(t.rowCount),...n}},[W]),{activeIndex:G,context:Pe,floatingStyles:Fe,getFloatingProps:Ie,setReference:Le,setFloating:Re,setOptionRef:ze,close:q,openList:J,toggleOpen:Ve,selectOption:Y,handleReferenceKeyDown:He,handleFloatingKeyDown:Ue,getOptionId:We,getActiveOptionId:Ge}=re({options:H,selectedIndex:Me,open:k,onOpenChange:De,onSelect:e=>b(e.node,z),getOptionDisabled:U,disabled:n||x,closeOnSelect:!0,allowOpenWithoutOptions:!0,triggerMode:j,placementStrategy:p===`columns`?`auto`:`flip`,resolveFloatingSize:p===`columns`?Ne:void 0}),Ke=E?H.findIndex(e=>e.node.id===E):-1,qe=Ke>=0?Ke:G,Je=Pe.update,Ye=o.size>0,Xe=v===`search`&&(k||P.length>0),Ze=Xe?P:ue??``,Q=oe({mode:j,open:k,currentQuery:P,hasDisplayValue:!!ue,inputRef:C,setQuery:F,openList:J,close:q,toggleOpen:Ve}),Qe=p===`columns`&&f===`multi`&&ae,$e=v===`display`,et=Qe||$e?(0,Z.jsxs)(`div`,{className:K.treePopupHeader,children:[Qe?(0,Z.jsx)(m,{onSelectAll:ae.onSelectAll,onDeselectAll:ae.onDeselectAll,selectAllButtonRef:w}):null,$e?(0,Z.jsx)(te,{value:P,onChange:F,onClear:()=>F(``),placeholder:`Поиск по дереву`,onKeyDown:e=>{e.key!==`Escape`&&e.key!==`Tab`&&e.stopPropagation()},onClick:e=>{e.stopPropagation()}}):null]}):void 0;(0,X.useLayoutEffect)(()=>{k&&p===`columns`&&Je()},[W.signature,k,p,Je]);let tt=e=>{C.current=e},nt=()=>{_e?.(),F(``),f===`single`&&q()},rt=e=>{e.hasChildren&&xe(t=>{let n=new Map(t),r=t.get(e.node.id)??N.has(e.node.codeKey);return n.set(e.node.id,!r),n})},$=e=>{ve.current[e]?.focus()},it=(e,t,n)=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=e.key===`ArrowDown`?1:-1;$(d(H,n,t,U));return}if(e.key===`Home`||e.key===`End`){e.preventDefault();let t=e.key===`Home`?l(H,U):u(H,U);$(t);return}if(p===`tree`&&e.key===`ArrowRight`){if(e.preventDefault(),t.hasChildren&&!t.isExpanded){rt(t);return}let r=H[n+1];t.isExpanded&&r?.parentId===t.node.id&&$(n+1);return}if(p===`tree`&&e.key===`ArrowLeft`){if(e.preventDefault(),t.hasChildren&&t.isExpanded){rt(t);return}t.parentId&&$(H.findIndex(e=>e.node.id===t.parentId));return}if(e.key===` `&&f===`multi`&&!U(t)){e.preventDefault(),ge?.(t.node,z);return}e.key===`Enter`&&!U(t)&&(e.preventDefault(),Y(t))};return(0,Z.jsx)(se,{label:e,description:t,disabled:n,size:i,children:({controlId:t,labelId:i,describedBy:a})=>{let l=`${t}-listbox`,u=typeof e==`string`?e:r;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ce,{ref:tt,rootRef:Le,id:t,type:`text`,role:`combobox`,autoComplete:`off`,isLoading:x,disabled:n,open:k,optionCount:M.nodeById.size,label:e,placeholder:r,readOnly:v!==`search`,value:Ze,selectedValue:le??ue,hasSelection:Ye,showSelectedValue:Ye&&(j===`search-multi`?P.length===0:!Xe),clearable:_e!==void 0,onClear:nt,onToggleMouseDown:Q.handleToggleMouseDown,onToggleClick:Q.handleToggleClick,"aria-labelledby":i,"aria-label":i?void 0:r,"aria-describedby":a,"aria-haspopup":p===`columns`?`dialog`:`listbox`,"aria-expanded":k,"aria-controls":k?l:void 0,"aria-autocomplete":p!==`columns`&&v===`search`?`list`:`none`,"aria-activedescendant":p!==`columns`&&k&&H.length>0?Ge(l):void 0,onChange:e=>{v===`search`&&Q.handleTriggerInputChange(e.target.value)},onClick:Q.handleTriggerClick,onFocus:e=>{D(void 0),Q.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{if(p===`columns`&&k&&e.key===`Tab`&&!e.shiftKey&&w.current){e.preventDefault(),w.current.focus();return}He(e),!e.defaultPrevented&&Q.handleTriggerKeyDown({event:e,onActivateWhenOpen:()=>{let e=G>=0?H[G]:void 0;e&&Y(e)},enableSpaceActivation:v===`display`})}}),(0,Z.jsx)(ie,{open:k,context:Pe,floatingStyles:Fe,listId:l,labelId:i,popupAriaLabel:u,descriptionId:a,activeOptionId:p!==`columns`&&H.length>0?Ge(l):void 0,ariaMultiselectable:p!==`columns`&&f===`multi`,popupRole:p===`columns`?`dialog`:`listbox`,setFloating:Re,getFloatingProps:Ie,onKeyDown:Ue,layoutClassName:p===`columns`?K.treeColumnsPopupLayout:void 0,bodyClassName:`scrollable`,toolbar:et,children:(0,Z.jsx)(`div`,{className:s(p===`columns`&&K.treeColumns),children:H.length===0?(0,Z.jsx)(pe,{errorState:S,emptyState:!S&&!x?`Нет данных`:void 0}):H.map((e,t)=>{let n=f===`multi`?A(e.node.id,o,M):o.has(e.node.id),r=f===`multi`&&!n&&c.has(e.node.id),i=t===qe,a=e.node.disabled===!0||g?.has(e.node.id)===!0;return(0,Z.jsx)(ee,{"data-ui":`tree-select-option`,id:We(l,t),ref:e=>{ve.current[t]=e,ze(t,e)},tabIndex:-1,role:p===`columns`?void 0:`option`,"aria-selected":p===`columns`?void 0:n,disabled:a,active:i,selected:n,onFocus:()=>D(e.node.id),onKeyDown:n=>it(n,e,t),className:p===`columns`?K.treeColumnRow:void 0,style:p===`columns`?{"--tree-option-column":`var(--tree-option-${t}-column, auto)`,"--tree-option-row":`var(--tree-option-${t}-row, auto)`}:void 0,children:(0,Z.jsx)(Be,{node:a?{...e.node,disabled:!0}:e.node,level:e.level,highlight:P,hasChildren:e.hasChildren,isExpanded:e.isExpanded,selected:n,partial:r,selectionMode:f,optionsLayout:p,onToggleExpand:()=>rt(e),onToggleSelection:()=>ge?.(e.node,z),onActivate:()=>Y(e)})},e.node.id)})})})]})}})}var X,Z;function He(){return(He=e((()=>{X=t(),c(),_(),h(),ae(),ue(),g(),de(),ne(),v(),me(),le(),H(),Ve(),q(),Z=o(),Y.__docgenInfo={description:``,methods:[],displayName:`TreePickerBase`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},selectedIds:{required:!0,tsType:{name:`Set`,elements:[{name:`string`}],raw:`Set<string>`},description:``},partialIds:{required:!0,tsType:{name:`Set`,elements:[{name:`string`}],raw:`Set<string>`},description:``},selectionMode:{required:!0,tsType:{name:`union`,raw:`"single" | "multi"`,elements:[{name:`literal`,value:`"single"`},{name:`literal`,value:`"multi"`}]},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:``},unavailableNodeIds:{required:!1,tsType:{name:`ReadonlySet`,elements:[{name:`string`}],raw:`ReadonlySet<string>`},description:`Узлы, которые текущий multi-select contract не может безопасно сериализовать.`},open:{required:!1,tsType:{name:`boolean`},description:``},onOpenChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(open: boolean) => void`,signature:{arguments:[{type:{name:`boolean`},name:`open`}],return:{name:`void`}}},description:``},bulkActions:{required:!1,tsType:{name:`signature`,type:`object`,raw:`{
12
+ onSelectAll: () => void;
13
+ onDeselectAll: () => void;
14
+ }`,signature:{properties:[{key:`onSelectAll`,value:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}},required:!0}},{key:`onDeselectAll`,value:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}},required:!0}}]}},description:``},triggerMode:{required:!1,tsType:{name:`union`,raw:`"display" | "search"`,elements:[{name:`literal`,value:`"display"`},{name:`literal`,value:`"search"`}]},description:``,defaultValue:{value:`"display"`,computed:!1}},selectedSummary:{required:!1,tsType:{name:`ReactNode`},description:``},selectedSummaryText:{required:!1,tsType:{name:`string`},description:``},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},onNodeActivate:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(node: TreeSelectNode, selectionScopeIndex?: TreeNodeIndex) => void`,signature:{arguments:[{type:{name:`signature`,type:`object`,raw:`{
15
+ id: string;
16
+ codeKey: string;
17
+ value: string;
18
+ label: string;
19
+ code?: string;
20
+ searchText: string;
21
+ children?: TreeSelectNode[];
22
+ disabled?: boolean;
23
+ selectionBehavior?: TreeMultiSelectNodeSelectionBehavior;
24
+ }`,signature:{properties:[{key:`id`,value:{name:`string`,required:!0}},{key:`codeKey`,value:{name:`string`,required:!0}},{key:`value`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`string`,required:!0}},{key:`code`,value:{name:`string`,required:!1}},{key:`searchText`,value:{name:`string`,required:!0}},{key:`children`,value:{name:`Array`,elements:[{name:`TreeSelectNode`}],raw:`TreeSelectNode[]`,required:!1}},{key:`disabled`,value:{name:`boolean`,required:!1}},{key:`selectionBehavior`,value:{name:`union`,raw:`"self" | "descendants"`,elements:[{name:`literal`,value:`"self"`},{name:`literal`,value:`"descendants"`}],required:!1}}]}},name:`node`},{type:{name:`signature`,type:`object`,raw:`{
25
+ rootIds: string[];
26
+ nodeById: Map<string, TreeSelectNode>;
27
+ parentById: Map<string, string | undefined>;
28
+ childrenById: Map<string, string[]>;
29
+ preorderIndexById: Map<string, number>;
30
+ nodeIdByCodeValue: Map<string, string>;
31
+ /** Все визуальные узлы одного сериализуемого значения в порядке обхода дерева. */
32
+ nodeIdsByCodeValue: Map<string, string[]>;
33
+ /** Признак disabled-ограничения в узле или любом его потомке. */
34
+ subtreeContainsDisabledById: Map<string, boolean>;
35
+ }`,signature:{properties:[{key:`rootIds`,value:{name:`Array`,elements:[{name:`string`}],raw:`string[]`,required:!0}},{key:`nodeById`,value:{name:`Map`,elements:[{name:`string`},{name:`signature`,type:`object`,raw:`{
36
+ id: string;
37
+ codeKey: string;
38
+ value: string;
39
+ label: string;
40
+ code?: string;
41
+ searchText: string;
42
+ children?: TreeSelectNode[];
43
+ disabled?: boolean;
44
+ selectionBehavior?: TreeMultiSelectNodeSelectionBehavior;
45
+ }`,signature:{properties:[{key:`id`,value:{name:`string`,required:!0}},{key:`codeKey`,value:{name:`string`,required:!0}},{key:`value`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`string`,required:!0}},{key:`code`,value:{name:`string`,required:!1}},{key:`searchText`,value:{name:`string`,required:!0}},{key:`children`,value:{name:`Array`,elements:[{name:`TreeSelectNode`}],raw:`TreeSelectNode[]`,required:!1}},{key:`disabled`,value:{name:`boolean`,required:!1}},{key:`selectionBehavior`,value:{name:`union`,raw:`"self" | "descendants"`,elements:[{name:`literal`,value:`"self"`},{name:`literal`,value:`"descendants"`}],required:!1}}]}}],raw:`Map<string, TreeSelectNode>`,required:!0}},{key:`parentById`,value:{name:`Map`,elements:[{name:`string`},{name:`union`,raw:`string | undefined`,elements:[{name:`string`},{name:`undefined`}]}],raw:`Map<string, string | undefined>`,required:!0}},{key:`childrenById`,value:{name:`Map`,elements:[{name:`string`},{name:`Array`,elements:[{name:`string`}],raw:`string[]`}],raw:`Map<string, string[]>`,required:!0}},{key:`preorderIndexById`,value:{name:`Map`,elements:[{name:`string`},{name:`number`}],raw:`Map<string, number>`,required:!0}},{key:`nodeIdByCodeValue`,value:{name:`Map`,elements:[{name:`string`},{name:`string`}],raw:`Map<string, string>`,required:!0}},{key:`nodeIdsByCodeValue`,value:{name:`Map`,elements:[{name:`string`},{name:`Array`,elements:[{name:`string`}],raw:`string[]`}],raw:`Map<string, string[]>`,required:!0},description:`Все визуальные узлы одного сериализуемого значения в порядке обхода дерева.`},{key:`subtreeContainsDisabledById`,value:{name:`Map`,elements:[{name:`string`},{name:`boolean`}],raw:`Map<string, boolean>`,required:!0},description:`Признак disabled-ограничения в узле или любом его потомке.`}]}},name:`selectionScopeIndex`}],return:{name:`void`}}},description:`Основное действие OptionButton выбирает узел и завершает текущий выбор.`},onNodeToggleSelection:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(node: TreeSelectNode, selectionScopeIndex?: TreeNodeIndex) => void`,signature:{arguments:[{type:{name:`signature`,type:`object`,raw:`{
46
+ id: string;
47
+ codeKey: string;
48
+ value: string;
49
+ label: string;
50
+ code?: string;
51
+ searchText: string;
52
+ children?: TreeSelectNode[];
53
+ disabled?: boolean;
54
+ selectionBehavior?: TreeMultiSelectNodeSelectionBehavior;
55
+ }`,signature:{properties:[{key:`id`,value:{name:`string`,required:!0}},{key:`codeKey`,value:{name:`string`,required:!0}},{key:`value`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`string`,required:!0}},{key:`code`,value:{name:`string`,required:!1}},{key:`searchText`,value:{name:`string`,required:!0}},{key:`children`,value:{name:`Array`,elements:[{name:`TreeSelectNode`}],raw:`TreeSelectNode[]`,required:!1}},{key:`disabled`,value:{name:`boolean`,required:!1}},{key:`selectionBehavior`,value:{name:`union`,raw:`"self" | "descendants"`,elements:[{name:`literal`,value:`"self"`},{name:`literal`,value:`"descendants"`}],required:!1}}]}},name:`node`},{type:{name:`signature`,type:`object`,raw:`{
56
+ rootIds: string[];
57
+ nodeById: Map<string, TreeSelectNode>;
58
+ parentById: Map<string, string | undefined>;
59
+ childrenById: Map<string, string[]>;
60
+ preorderIndexById: Map<string, number>;
61
+ nodeIdByCodeValue: Map<string, string>;
62
+ /** Все визуальные узлы одного сериализуемого значения в порядке обхода дерева. */
63
+ nodeIdsByCodeValue: Map<string, string[]>;
64
+ /** Признак disabled-ограничения в узле или любом его потомке. */
65
+ subtreeContainsDisabledById: Map<string, boolean>;
66
+ }`,signature:{properties:[{key:`rootIds`,value:{name:`Array`,elements:[{name:`string`}],raw:`string[]`,required:!0}},{key:`nodeById`,value:{name:`Map`,elements:[{name:`string`},{name:`signature`,type:`object`,raw:`{
67
+ id: string;
68
+ codeKey: string;
69
+ value: string;
70
+ label: string;
71
+ code?: string;
72
+ searchText: string;
73
+ children?: TreeSelectNode[];
74
+ disabled?: boolean;
75
+ selectionBehavior?: TreeMultiSelectNodeSelectionBehavior;
76
+ }`,signature:{properties:[{key:`id`,value:{name:`string`,required:!0}},{key:`codeKey`,value:{name:`string`,required:!0}},{key:`value`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`string`,required:!0}},{key:`code`,value:{name:`string`,required:!1}},{key:`searchText`,value:{name:`string`,required:!0}},{key:`children`,value:{name:`Array`,elements:[{name:`TreeSelectNode`}],raw:`TreeSelectNode[]`,required:!1}},{key:`disabled`,value:{name:`boolean`,required:!1}},{key:`selectionBehavior`,value:{name:`union`,raw:`"self" | "descendants"`,elements:[{name:`literal`,value:`"self"`},{name:`literal`,value:`"descendants"`}],required:!1}}]}}],raw:`Map<string, TreeSelectNode>`,required:!0}},{key:`parentById`,value:{name:`Map`,elements:[{name:`string`},{name:`union`,raw:`string | undefined`,elements:[{name:`string`},{name:`undefined`}]}],raw:`Map<string, string | undefined>`,required:!0}},{key:`childrenById`,value:{name:`Map`,elements:[{name:`string`},{name:`Array`,elements:[{name:`string`}],raw:`string[]`}],raw:`Map<string, string[]>`,required:!0}},{key:`preorderIndexById`,value:{name:`Map`,elements:[{name:`string`},{name:`number`}],raw:`Map<string, number>`,required:!0}},{key:`nodeIdByCodeValue`,value:{name:`Map`,elements:[{name:`string`},{name:`string`}],raw:`Map<string, string>`,required:!0}},{key:`nodeIdsByCodeValue`,value:{name:`Map`,elements:[{name:`string`},{name:`Array`,elements:[{name:`string`}],raw:`string[]`}],raw:`Map<string, string[]>`,required:!0},description:`Все визуальные узлы одного сериализуемого значения в порядке обхода дерева.`},{key:`subtreeContainsDisabledById`,value:{name:`Map`,elements:[{name:`string`},{name:`boolean`}],raw:`Map<string, boolean>`,required:!0},description:`Признак disabled-ограничения в узле или любом его потомке.`}]}},name:`selectionScopeIndex`}],return:{name:`void`}}},description:`Независимый checkbox меняет черновик, не закрывая popup.`},onClearSelection:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``}}}})))()}export{xe as a,M as c,x as d,j as i,_e as l,He as n,F as o,he as r,A as s,Y as t,ge as u};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DB62bexO.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-Bc4j9MF9.js";import{a as p,i as m,n as h,o as g,r as _,t as v}from"./TreeSelect.stories-CWIRI6gz.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-DhaBiZWQ.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-Cwytla0s.js";import{a as p,i as m,n as h,o as g,r as _,t as v}from"./TreeSelect.stories-BxwiUwJ2.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 +1 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-DB62bexO.js";import{n as r,r as i,t as a,u as o}from"./TreePickerBase-Cy2h0kPW.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-DhaBiZWQ.js";import{n as r,r as i,t as a,u as o}from"./TreePickerBase-C-i24HIU.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,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-DB62bexO.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-CurHAVQd.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:`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-DhaBiZWQ.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-De7cNaat.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:`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-DB62bexO.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-Bc4j9MF9.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-C2QEYgml.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-DhaBiZWQ.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-Cwytla0s.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-DsYX5mJ-.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 должны выглядеть как дерево.