@ryuzaki13/react-foundation-ui 3.1.9 → 3.1.11

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 (273) hide show
  1. package/dist/chunks/dialog-1Z1zCNCe.js +62 -0
  2. package/dist/chunks/dialog-1Z1zCNCe.js.map +1 -0
  3. package/dist/dialog/Dialog.d.ts +8 -3
  4. package/dist/dialog/Dialog.d.ts.map +1 -1
  5. package/dist/dialog/index.d.ts +1 -1
  6. package/dist/dialog/index.d.ts.map +1 -1
  7. package/dist/dialog/index.js +1 -1
  8. package/dist/notifications/index.js.map +1 -1
  9. package/dist/styles.css +1 -1
  10. package/dist/table-editor/index.js +1 -1
  11. package/package.json +1 -1
  12. package/storybook-static/assets/{Badge-cD8IF21z.js → Badge-DMeJysIv.js} +1 -1
  13. package/storybook-static/assets/{Badge.stories-ChIaIP7u.js → Badge.stories-DvNQ06lz.js} +1 -1
  14. package/storybook-static/assets/{BadgeList-iS-RUmI9.js → BadgeList-CO7wmhen.js} +1 -1
  15. package/storybook-static/assets/{BarcodeScannerDialog.stories-DlXDWqlt.js → BarcodeScannerDialog.stories-CNr1YHnH.js} +1 -1
  16. package/storybook-static/assets/{Button-CwkuEJRI.js → Button-BGDiDObX.js} +1 -1
  17. package/storybook-static/assets/{Button-1yd7C2rC.js → Button-BnbopVrx.js} +1 -1
  18. package/storybook-static/assets/{Button.stories-DRLZgAc-.js → Button.stories-B_vh9vWu.js} +1 -1
  19. package/storybook-static/assets/{CalendarView-C1fvABPO.js → CalendarView-D-AoscWR.js} +1 -1
  20. package/storybook-static/assets/{CheckBox-CXEY0VzR.js → CheckBox-CNwSS4x-.js} +1 -1
  21. package/storybook-static/assets/{CheckBox-t8TfgV3v.js → CheckBox-DFKl6X6O.js} +1 -1
  22. package/storybook-static/assets/{CheckBox.stories-B6PC48ma.js → CheckBox.stories-CQDmYOCE.js} +1 -1
  23. package/storybook-static/assets/{Color-6AOWCN3U-CqBazhKG.js → Color-6AOWCN3U-BHwSg3Ve.js} +1 -1
  24. package/storybook-static/assets/{ContextMenu-ZW9_VMgy.js → ContextMenu-B55zGMkr.js} +1 -1
  25. package/storybook-static/assets/{ContextMenu-Bbsspzh9.js → ContextMenu-BQyEArge.js} +1 -1
  26. package/storybook-static/assets/{ContextMenu.stories-DAwMbD95.js → ContextMenu.stories-DoB8T7qq.js} +1 -1
  27. package/storybook-static/assets/{CustomOptionButton-CRPk0jjj.js → CustomOptionButton-Bp-x3GjU.js} +1 -1
  28. package/storybook-static/assets/{DateInput-DlIpO1bS.js → DateInput-CEzZlA7a.js} +1 -1
  29. package/storybook-static/assets/{DateInput-BarPS0lf.js → DateInput-uKgrV_i2.js} +1 -1
  30. package/storybook-static/assets/{DateInput.stories-CP-OSU7c.js → DateInput.stories-BHGr75Za.js} +1 -1
  31. package/storybook-static/assets/{DateRangePresetSelect-CQfbnvF0.js → DateRangePresetSelect-D8loCgDP.js} +1 -1
  32. package/storybook-static/assets/{DateRangePresetSelect--9PqaSO3.js → DateRangePresetSelect-DpTqeahJ.js} +1 -1
  33. package/storybook-static/assets/{DateRangePresetSelect.stories-CutX8jfo.js → DateRangePresetSelect.stories-ByB8xYCo.js} +1 -1
  34. package/storybook-static/assets/{Detail-VdWVGH78.js → Detail-BVI0ZMCR.js} +1 -1
  35. package/storybook-static/assets/{Detail.stories-BwI0jxnH.js → Detail.stories-BESXPBRG.js} +1 -1
  36. package/storybook-static/assets/Dialog-7UYw11C-.js +49 -0
  37. package/storybook-static/assets/Dialog-Bib4h46_.css +1 -0
  38. package/storybook-static/assets/Dialog-DaBWR5lX.js +1 -0
  39. package/storybook-static/assets/Dialog.stories-DJfiBF2X.js +42 -0
  40. package/storybook-static/assets/{Disclosure-7mGo3lfl.js → Disclosure-BT3_2wim.js} +1 -1
  41. package/storybook-static/assets/{Disclosure.stories-4uNEgvwO.js → Disclosure.stories-CW14muXq.js} +1 -1
  42. package/storybook-static/assets/{DisclosureGroup-DzFgYXKG.js → DisclosureGroup-D4ywFTK1.js} +1 -1
  43. package/storybook-static/assets/{DocsRenderer-JROSPFPF-C7p5q3c5.js → DocsRenderer-JROSPFPF-BB7m694z.js} +1 -1
  44. package/storybook-static/assets/{DropZone-Cl9emJbX.js → DropZone-CkpPf2Ym.js} +1 -1
  45. package/storybook-static/assets/{DropZone-60u06WCE.js → DropZone-DroVMeFW.js} +1 -1
  46. package/storybook-static/assets/{DropZone.stories-Cdz1iWSH.js → DropZone.stories-H3oHPSgn.js} +1 -1
  47. package/storybook-static/assets/{DropdownMenu-Bt2bIKXK.js → DropdownMenu-CR-0aPFt.js} +1 -1
  48. package/storybook-static/assets/{ExpandableActionPanel-DeGknbmm.js → ExpandableActionPanel-C8gvedUk.js} +1 -1
  49. package/storybook-static/assets/{ExpandableActionPanel.stories-CMTpWJh0.js → ExpandableActionPanel.stories-4VZLqIJG.js} +1 -1
  50. package/storybook-static/assets/{Flex-BrHRbW3d.js → Flex-BVNxZ6Xi.js} +1 -1
  51. package/storybook-static/assets/{Flex.stories-DGQrIltr.js → Flex.stories-C0iLqBtf.js} +1 -1
  52. package/storybook-static/assets/{FloatingPopover-DClYkKZN.js → FloatingPopover-iQfpx33c.js} +1 -1
  53. package/storybook-static/assets/{FormattedTableCell-BWQ-r4_U.js → FormattedTableCell-DuOzSOq2.js} +1 -1
  54. package/storybook-static/assets/{Grid-hWhBWWmV.js → Grid-DjjVW_Zv.js} +1 -1
  55. package/storybook-static/assets/{Grid.stories-DsACUdaZ.js → Grid.stories-af60sApH.js} +1 -1
  56. package/storybook-static/assets/{ImageCropper.stories-D244J3Ja.js → ImageCropper.stories-CyTRwgsq.js} +1 -1
  57. package/storybook-static/assets/{ImageRenderer-D7i5SCvC.js → ImageRenderer-C1JrhJEh.js} +1 -1
  58. package/storybook-static/assets/{ImageRenderer.stories-B7HRNaKg.js → ImageRenderer.stories-0N2gZ7pW.js} +1 -1
  59. package/storybook-static/assets/{ImageView.stories-Dj2AVo4v.js → ImageView.stories-BUvVhEQi.js} +1 -1
  60. package/storybook-static/assets/{ImageViewer.stories-BJwhpVLQ.js → ImageViewer.stories-DQvp-8PA.js} +2 -2
  61. package/storybook-static/assets/{ImageViewerRuntime-Nf6uEU-3.js → ImageViewerRuntime-C1R7YJjb.js} +1 -1
  62. package/storybook-static/assets/{Input-BJurqF_e.js → Input-CCoRpQA-.js} +1 -1
  63. package/storybook-static/assets/{Input-CDgqmNqL.js → Input-PCnCDfCc.js} +1 -1
  64. package/storybook-static/assets/{Input.stories-CX69MuO9.js → Input.stories-B1BXs_Oi.js} +1 -1
  65. package/storybook-static/assets/{InputDateTime-BmrVy39q.js → InputDateTime-Lwlxam28.js} +1 -1
  66. package/storybook-static/assets/{InputDateTime.stories-CjPNjE-j.js → InputDateTime.stories-uen-OcdG.js} +1 -1
  67. package/storybook-static/assets/{InputFile-DZ5Y1tFo.js → InputFile-CLoJGype.js} +1 -1
  68. package/storybook-static/assets/{InputFile-yoXpCuas.js → InputFile-CWsd9AT5.js} +1 -1
  69. package/storybook-static/assets/{InputFile.stories-BxJO8XIo.js → InputFile.stories-CU2hQHzw.js} +1 -1
  70. package/storybook-static/assets/{InputFiles-BcOSB6Zh.js → InputFiles-DDvgo5_t.js} +1 -1
  71. package/storybook-static/assets/{InputFiles-Bl4vARDM.js → InputFiles-UsxU995Q.js} +1 -1
  72. package/storybook-static/assets/{InputFiles.stories-AnjhADoO.js → InputFiles.stories-Xybfwzym.js} +1 -1
  73. package/storybook-static/assets/{InputFilesList-C-s0YB-b.js → InputFilesList-uAKqNArY.js} +1 -1
  74. package/storybook-static/assets/{InputImage-CJ4DyeZ_.js → InputImage-CS9ySFBB.js} +1 -1
  75. package/storybook-static/assets/{InputImage-CxDisozx.js → InputImage-Qgk9M4kC.js} +1 -1
  76. package/storybook-static/assets/{InputImage.stories-CBZQvzsL.js → InputImage.stories-C6ruZA9G.js} +1 -1
  77. package/storybook-static/assets/{InteractiveComponents-USZSFDKU.js → InteractiveComponents-DzDaJWyA.js} +3 -3
  78. package/storybook-static/assets/{InteractiveComponents.stories-CQKoVvHQ.js → InteractiveComponents.stories-ElVCyI3k.js} +1 -1
  79. package/storybook-static/assets/{LayoutPicker-Ckht-F4t.js → LayoutPicker-C4AXII_3.js} +1 -1
  80. package/storybook-static/assets/{LayoutPicker-cwChjQBK.js → LayoutPicker-DjolQnoU.js} +1 -1
  81. package/storybook-static/assets/{LayoutPicker.stories-Cfe6qz2E.js → LayoutPicker.stories-dx03fSh0.js} +1 -1
  82. package/storybook-static/assets/{Listbox-DFF7wZ2w.js → Listbox-BOmRUACj.js} +1 -1
  83. package/storybook-static/assets/{Listbox-B1vBprsk.js → Listbox-CoskUebV.js} +1 -1
  84. package/storybook-static/assets/{Listbox.stories-CZVFAF33.js → Listbox.stories-C9ZQ-n46.js} +1 -1
  85. package/storybook-static/assets/{Modal--yQHPDaV.js → Modal-B0iwM39D.js} +1 -1
  86. package/storybook-static/assets/{Modal-DdICfkeu.js → Modal-BRWAjcim.js} +1 -1
  87. package/storybook-static/assets/{Modal.stories-ycR63jVk.js → Modal.stories-B2l2giba.js} +1 -1
  88. package/storybook-static/assets/{ModalManagerProvider-CR2nRIRb.js → ModalManagerProvider-CBSdkzkh.js} +1 -1
  89. package/storybook-static/assets/{MultiSelect-BEXzFoFl.js → MultiSelect-C22p2qFd.js} +1 -1
  90. package/storybook-static/assets/{MultiSelect-BWnr3sww.js → MultiSelect-UuMNjdIM.js} +1 -1
  91. package/storybook-static/assets/{MultiSelect.stories-_2cvw3LS.js → MultiSelect.stories-CfY-hEDN.js} +1 -1
  92. package/storybook-static/assets/{NoData-iTlhsjzm.js → NoData-DD1-TPJ8.js} +1 -1
  93. package/storybook-static/assets/{NotificationsHost-ma6z2Npq.js → NotificationsHost-Cph6Rv-P.js} +1 -1
  94. package/storybook-static/assets/{NotificationsHost-BIyd1XQ0.css → NotificationsHost-DCKHZfJv.css} +1 -1
  95. package/storybook-static/assets/{NotificationsHost.stories-DCMAll2N.js → NotificationsHost.stories-CTwxblPK.js} +1 -1
  96. package/storybook-static/assets/{ODataMultiSelect-o2P5WdI0.js → ODataMultiSelect-BHRi8PM3.js} +1 -1
  97. package/storybook-static/assets/{ODataMultiSelect.stories-C7ql3uUR.js → ODataMultiSelect.stories-DO4MwYqZ.js} +1 -1
  98. package/storybook-static/assets/{ODataSelect-BTgvHPL1.js → ODataSelect-BzowLQRW.js} +1 -1
  99. package/storybook-static/assets/{ODataSelect.stories-k-TptXe6.js → ODataSelect.stories-yiyUyvLW.js} +1 -1
  100. package/storybook-static/assets/{ODataTreeMultiSelect-BBU_XOB1.js → ODataTreeMultiSelect-DYEDHrJk.js} +1 -1
  101. package/storybook-static/assets/{ODataTreeMultiSelect.stories-CK6s2kAx.js → ODataTreeMultiSelect.stories-BTicwCLX.js} +1 -1
  102. package/storybook-static/assets/{ODataTreeSelect-BgksQhBW.js → ODataTreeSelect-D5k1Iff-.js} +1 -1
  103. package/storybook-static/assets/{ODataTreeSelect.stories-DkVBvdbz.js → ODataTreeSelect.stories-CCVP7I2I.js} +1 -1
  104. package/storybook-static/assets/{OneStepScroller-CZeEIQRr.js → OneStepScroller-Cz6xH1bE.js} +1 -1
  105. package/storybook-static/assets/{Option-DEgrC04Q.js → Option-BwIc-SxO.js} +1 -1
  106. package/storybook-static/assets/{OptionButton-CMX7xMiS.js → OptionButton-1bkL_ARz.js} +1 -1
  107. package/storybook-static/assets/{PeriodSelect-Bvb0a7VE.js → PeriodSelect-3cBfMenI.js} +1 -1
  108. package/storybook-static/assets/{PeriodSelect-CubgTCyh.js → PeriodSelect-DHDeruQ5.js} +1 -1
  109. package/storybook-static/assets/{PeriodSelect.stories-CrQMdtjt.js → PeriodSelect.stories-DClPnVuc.js} +1 -1
  110. package/storybook-static/assets/{PickerField-DmaPEE37.js → PickerField-BVM71JTp.js} +1 -1
  111. package/storybook-static/assets/{PickerTriggerActions-CT-vzHLo.js → PickerTriggerActions-DV6T2DSE.js} +1 -1
  112. package/storybook-static/assets/{Popover-DnS1fu-J.js → Popover-Cd2h2-HN.js} +1 -1
  113. package/storybook-static/assets/{Popover-BaIskgCH.js → Popover-Dgdym7C9.js} +1 -1
  114. package/storybook-static/assets/{Popover.stories-Br4QG6Qc.js → Popover.stories-DZY8b7B4.js} +1 -1
  115. package/storybook-static/assets/{PresetRangeDateInput-D3ep0j14.js → PresetRangeDateInput-BlDKWB8g.js} +1 -1
  116. package/storybook-static/assets/{PresetRangeDateInput-CLh8nWwI.js → PresetRangeDateInput-M7g0tNmF.js} +1 -1
  117. package/storybook-static/assets/{PresetRangeDateInput.stories-Drcwlbbd.js → PresetRangeDateInput.stories-DUlRx8Hm.js} +1 -1
  118. package/storybook-static/assets/{PresetSelect-CUUBmkH9.js → PresetSelect-BX0eCpVd.js} +1 -1
  119. package/storybook-static/assets/{README-DHIkbZig.js → README-0gkKItXp.js} +1 -1
  120. package/storybook-static/assets/{README-BavT_N0h.js → README-3UAsyZbR.js} +1 -1
  121. package/storybook-static/assets/{README-D15ZOm6o.js → README-BACv6QvN.js} +1 -1
  122. package/storybook-static/assets/{README-DPXelFLx.js → README-BB4AIZx4.js} +1 -1
  123. package/storybook-static/assets/{README-CwVWZvw8.js → README-BHkzEfPJ.js} +1 -1
  124. package/storybook-static/assets/{README-BZTGgZ4N.js → README-BIEcjQkL.js} +1 -1
  125. package/storybook-static/assets/{README-BmlOzcVB.js → README-BK1Z-v3p.js} +1 -1
  126. package/storybook-static/assets/{README-CBRGDSK3.js → README-BMD3jUe3.js} +1 -1
  127. package/storybook-static/assets/{README-Df73Vz0K.js → README-BOClmhwG.js} +1 -1
  128. package/storybook-static/assets/{README-D8L_x4ty.js → README-BTsdFVZT.js} +1 -1
  129. package/storybook-static/assets/{README-cpnfb1RN.js → README-BVgy3UNo.js} +1 -1
  130. package/storybook-static/assets/{README-BHTJnmUY.js → README-BYXXSCUq.js} +1 -1
  131. package/storybook-static/assets/{README-W3SkU5lE.js → README-BpUXnkc_.js} +1 -1
  132. package/storybook-static/assets/{README-C_A0E8h7.js → README-Bppk1lMH.js} +1 -1
  133. package/storybook-static/assets/{README-hod6n1FG.js → README-Bqu12v63.js} +1 -1
  134. package/storybook-static/assets/{README-BD1FjMQJ.js → README-BtA-sh7R.js} +1 -1
  135. package/storybook-static/assets/{README-DKeN0vn3.js → README-BtZJxRh9.js} +1 -1
  136. package/storybook-static/assets/{README-BOJyiN47.js → README-BvYIa23p.js} +1 -1
  137. package/storybook-static/assets/{README-C8MsS4-Q.js → README-BxqbgiGL.js} +1 -1
  138. package/storybook-static/assets/{README-COmJUcr2.js → README-C1gKZwYI.js} +1 -1
  139. package/storybook-static/assets/{README-CxbvEqKi.js → README-C56Pk295.js} +1 -1
  140. package/storybook-static/assets/{README-CjhQ6nID.js → README-C57tdNnd.js} +1 -1
  141. package/storybook-static/assets/{README-D4eR7Npj.js → README-CHevIXCB.js} +1 -1
  142. package/storybook-static/assets/{README-DjlXldzj.js → README-COom255N.js} +1 -1
  143. package/storybook-static/assets/{README-kE-pA524.js → README-CVYFrIk6.js} +1 -1
  144. package/storybook-static/assets/{README-QDDKQVUx.js → README-CbYkIIHQ.js} +1 -1
  145. package/storybook-static/assets/{README-CP2uvCiX.js → README-Ccs88yDD.js} +1 -1
  146. package/storybook-static/assets/{README-BpDwioAV.js → README-CjQxMGrK.js} +1 -1
  147. package/storybook-static/assets/{README-DHv9Dk8f.js → README-ClIksAGj.js} +1 -1
  148. package/storybook-static/assets/{README-CMyKIRdF.js → README-Cm3-DZcu.js} +1 -1
  149. package/storybook-static/assets/{README-wQqmD8AW.js → README-CueQgLpu.js} +1 -1
  150. package/storybook-static/assets/{README-Bi0AfxuN.js → README-Cvwidnmb.js} +1 -1
  151. package/storybook-static/assets/{README-DodyavXM.js → README-D8nwrTvb.js} +1 -1
  152. package/storybook-static/assets/{README-DXwKVRp1.js → README-D9v4z9v1.js} +1 -1
  153. package/storybook-static/assets/{README-Ch3diYbl.js → README-DIr-LZmu.js} +1 -1
  154. package/storybook-static/assets/{README-CvfMD-yX.js → README-DNC05YJB.js} +1 -1
  155. package/storybook-static/assets/{README-B8HzVkdG.js → README-DWp4mMDT.js} +1 -1
  156. package/storybook-static/assets/{README-CYL_Hb6U.js → README-DYigwbHC.js} +1 -1
  157. package/storybook-static/assets/{README-C1Lj2Cb8.js → README-DetgVpvA.js} +1 -1
  158. package/storybook-static/assets/{README-BiOiYeiW.js → README-Dntdyfw9.js} +1 -1
  159. package/storybook-static/assets/{README-BWPNblv6.js → README-Du37Xl3P.js} +1 -1
  160. package/storybook-static/assets/{README-PMWTK2SF.js → README-DvWtY7cD.js} +1 -1
  161. package/storybook-static/assets/{README-LkvdY68j.js → README-Hr6AhE0j.js} +1 -1
  162. package/storybook-static/assets/{README-CxEF1QRp.js → README-KYuSHqmC.js} +1 -1
  163. package/storybook-static/assets/{README-zbuaV3u5.js → README-QnABYk99.js} +1 -1
  164. package/storybook-static/assets/{README-D97fnWM_.js → README-UspzlcL6.js} +1 -1
  165. package/storybook-static/assets/{README-CtHazL9o.js → README-_q_WEwWm.js} +1 -1
  166. package/storybook-static/assets/{README-DysSSWiq.js → README-el0JuYkD.js} +1 -1
  167. package/storybook-static/assets/{README-DvXLNKpe.js → README-fIek3dXZ.js} +1 -1
  168. package/storybook-static/assets/{README-ljRJAU2U.js → README-hKk-aoSP.js} +1 -1
  169. package/storybook-static/assets/{README-BQmQciX_.js → README-q48GU6pG.js} +1 -1
  170. package/storybook-static/assets/{README-gU29w4X1.js → README-tqczNkKb.js} +1 -1
  171. package/storybook-static/assets/{README-YPUYya9i.js → README-zkI8EjI4.js} +1 -1
  172. package/storybook-static/assets/{RadioButton-Tljm-gx4.js → RadioButton-Mehizuhq.js} +1 -1
  173. package/storybook-static/assets/{RadioButton-D-u-ibJw.js → RadioButton-auLj4-zL.js} +1 -1
  174. package/storybook-static/assets/{RadioButton.stories-DlRGtMVf.js → RadioButton.stories-DUPHMC7R.js} +1 -1
  175. package/storybook-static/assets/{RadioGroup-G7BEQbtm.js → RadioGroup-CCBow4kQ.js} +1 -1
  176. package/storybook-static/assets/{RadioGroup-B6b-X1jB.js → RadioGroup-DQJJ6gPZ.js} +1 -1
  177. package/storybook-static/assets/{RadioGroup.stories-Bk1w4-Xc.js → RadioGroup.stories-DAD36GWN.js} +1 -1
  178. package/storybook-static/assets/{Scrollable-DC9i0mYW.js → Scrollable-BxISsXHD.js} +1 -1
  179. package/storybook-static/assets/{Select-BMqBCgE-.js → Select-CW1LEiv_.js} +1 -1
  180. package/storybook-static/assets/{Select-C0ZL6uUp.js → Select-d-fEnaa8.js} +1 -1
  181. package/storybook-static/assets/{Select.stories-DYE8bzE4.js → Select.stories-UnxQwrgw.js} +1 -1
  182. package/storybook-static/assets/{SerializableSelect-CG3zetyF.js → SerializableSelect-DD2_hWWj.js} +1 -1
  183. package/storybook-static/assets/{SerializableSelect.stories-DgeMGMGi.js → SerializableSelect.stories-B9tOS_kS.js} +1 -1
  184. package/storybook-static/assets/{SingleDateTimeInput-3_6weg8k.js → SingleDateTimeInput-BZHoMXPL.js} +1 -1
  185. package/storybook-static/assets/{SingleDateTimeInput-BXmFvQF5.js → SingleDateTimeInput-DbdBxnNL.js} +1 -1
  186. package/storybook-static/assets/{SingleDateTimeInput.stories-CHUnjUDG.js → SingleDateTimeInput.stories-DYrlQQK_.js} +1 -1
  187. package/storybook-static/assets/{Slider-w2yJesB6.js → Slider-B9n25YEj.js} +1 -1
  188. package/storybook-static/assets/{Slider-B8XknFoe.js → Slider-DUu2FS36.js} +1 -1
  189. package/storybook-static/assets/{Slider.stories-DVw84J73.js → Slider.stories-DhgTMJXk.js} +1 -1
  190. package/storybook-static/assets/{SliderInput-dwZvklce.js → SliderInput-BPDYabBm.js} +1 -1
  191. package/storybook-static/assets/{SliderInput-DSb0AuKk.js → SliderInput-Bv-wqB63.js} +1 -1
  192. package/storybook-static/assets/{SliderInput.stories-Bdpb0dFy.js → SliderInput.stories-B_tKQkjE.js} +1 -1
  193. package/storybook-static/assets/{Sortable-B2jRK-hs.js → Sortable-rVZSJ0MP.js} +1 -1
  194. package/storybook-static/assets/{Sortable.stories-CPhyZP7A.js → Sortable.stories-CRJnSkcQ.js} +1 -1
  195. package/storybook-static/assets/{Splitter-Du6xLn8R.js → Splitter-BxWa6cr0.js} +1 -1
  196. package/storybook-static/assets/{Splitter.stories-DGTZFFwx.js → Splitter.stories-BoAHtDqQ.js} +1 -1
  197. package/storybook-static/assets/{StateSelect-BG-UO5Eq.js → StateSelect-C-0IvRHS.js} +1 -1
  198. package/storybook-static/assets/{StateSelect-BOajtdq4.js → StateSelect-gOQ0XvSf.js} +1 -1
  199. package/storybook-static/assets/{StateSelect.stories-DVb_qjCW.js → StateSelect.stories-CIxhqpNM.js} +1 -1
  200. package/storybook-static/assets/{StatusIndicator-BYljJe48.js → StatusIndicator-CBIQrF9V.js} +1 -1
  201. package/storybook-static/assets/{StatusIndicator.stories-DgCsuevz.js → StatusIndicator.stories-BBU6jew8.js} +1 -1
  202. package/storybook-static/assets/{StringToggle.stories-D9Mgl79r.js → StringToggle.stories-CsRMTm3I.js} +1 -1
  203. package/storybook-static/assets/{Switch-UIcoDT_b.js → Switch-CVYrb-C8.js} +1 -1
  204. package/storybook-static/assets/{Switch-9_3tdZzh.js → Switch-DatgDVdK.js} +1 -1
  205. package/storybook-static/assets/{Switch.stories-DCblrg7K.js → Switch.stories-BPu1LZgU.js} +1 -1
  206. package/storybook-static/assets/{Table-DI5AmKzC.js → Table-imlpBfwX.js} +1 -1
  207. package/storybook-static/assets/{Table.stories-DtueWbab.js → Table.stories-Cvh1IQDl.js} +1 -1
  208. package/storybook-static/assets/{TableEditor.stories-C32GrFqZ.js → TableEditor.stories-LCjtLdiP.js} +1 -1
  209. package/storybook-static/assets/{Tabs-BkvkkxZi.js → Tabs-CRz6bWov.js} +1 -1
  210. package/storybook-static/assets/{Tabs.stories-CW3_6cyY.js → Tabs.stories-DPnAgLNJ.js} +1 -1
  211. package/storybook-static/assets/{TabsBox-BFt4jD0B.js → TabsBox-Nz7G3xEL.js} +1 -1
  212. package/storybook-static/assets/{TagInput-Aic7iZ-y.js → TagInput-BpcFBJfZ.js} +1 -1
  213. package/storybook-static/assets/{TagInput.stories-DsWVUSFJ.js → TagInput.stories-BfSaOSvw.js} +1 -1
  214. package/storybook-static/assets/{Text-STwJhH5H.js → Text-B3D2vMCW.js} +1 -1
  215. package/storybook-static/assets/{Textarea-Ba8vhwfR.js → Textarea-3jbBpgul.js} +1 -1
  216. package/storybook-static/assets/{Textarea-CKeoq23U.js → Textarea-xdvWOiup.js} +1 -1
  217. package/storybook-static/assets/{Textarea.stories-DoDIGoDg.js → Textarea.stories-CF4DNsNe.js} +1 -1
  218. package/storybook-static/assets/{TimePanel-BD90gNq1.js → TimePanel-Bv2GqewD.js} +1 -1
  219. package/storybook-static/assets/{TimePanel.stories-tLwJv68U.js → TimePanel.stories-BxlduVmr.js} +1 -1
  220. package/storybook-static/assets/{Toggle-wagPPfpy.js → Toggle-CZQF9SOX.js} +1 -1
  221. package/storybook-static/assets/{Toggle-BpjhNO96.js → Toggle-RzkOO8XU.js} +1 -1
  222. package/storybook-static/assets/{Toggle.stories-4pCCaAds.js → Toggle.stories-DLk-SFNM.js} +1 -1
  223. package/storybook-static/assets/{TreeMultiSelect-D2Qt0ZIh.js → TreeMultiSelect-DKkT-avt.js} +1 -1
  224. package/storybook-static/assets/{TreeMultiSelect-gBLLncde.js → TreeMultiSelect-Q83iIlgk.js} +1 -1
  225. package/storybook-static/assets/{TreeMultiSelect.stories-DzBHH5CW.js → TreeMultiSelect.stories-BZmGApb6.js} +1 -1
  226. package/storybook-static/assets/{TreePickerBase-BY4Cg0fo.js → TreePickerBase-BLj2YWml.js} +1 -1
  227. package/storybook-static/assets/{TreeSelect-DRrws6n7.js → TreeSelect-DWyC2NwF.js} +1 -1
  228. package/storybook-static/assets/{TreeSelect-CXs1Avbe.js → TreeSelect-aoVPbBgH.js} +1 -1
  229. package/storybook-static/assets/{TreeSelect.stories-BNQnsynu.js → TreeSelect.stories-CKsSdre0.js} +1 -1
  230. package/storybook-static/assets/{TreeTable-hw_ZOGUo.js → TreeTable-JNPEvZz4.js} +1 -1
  231. package/storybook-static/assets/{TreeTable.stories-D70Gx8ye.js → TreeTable.stories-BvNIzTgS.js} +1 -1
  232. package/storybook-static/assets/{blocks-D3JUer2A.js → blocks-BQbV8tvi.js} +3 -3
  233. package/storybook-static/assets/{check-B8rUpKkH.js → check-D8lsE3m8.js} +1 -1
  234. package/storybook-static/assets/{chevron-down-walqi17H.js → chevron-down-BUOphp2x.js} +1 -1
  235. package/storybook-static/assets/{chevron-left-gEnQEyKV.js → chevron-left-BEy7ghdm.js} +1 -1
  236. package/storybook-static/assets/{chevron-right-C35Q9_r0.js → chevron-right-DooOlrxc.js} +1 -1
  237. package/storybook-static/assets/{chunk-W22LQPXL-C5YiQcXT.js → chunk-W22LQPXL-IfzPJQYN.js} +1 -1
  238. package/storybook-static/assets/{circle-alert-s_ZiUdvd.js → circle-alert-D81odDTC.js} +1 -1
  239. package/storybook-static/assets/{circle-check-Dr2TRkga.js → circle-check-qf8iTA7G.js} +1 -1
  240. package/storybook-static/assets/{components-mKwy5UuZ.js → components-DZ74KJ1z.js} +3 -3
  241. package/storybook-static/assets/{contextMenu-DIXTPy8N.js → contextMenu-CVqxMXIo.js} +1 -1
  242. package/storybook-static/assets/{download-DcsgqgZ3.js → download-DHdaBay2.js} +1 -1
  243. package/storybook-static/assets/{floating-ui.react-CR3rb6W2.js → floating-ui.react-BNZYvpUN.js} +1 -1
  244. package/storybook-static/assets/{foundationApi-CyNTkkgT.js → foundationApi-CZ_3jdeC.js} +1 -1
  245. package/storybook-static/assets/{foundationLib-zU0-QZoU.js → foundationLib-DbJQ6xV6.js} +1 -1
  246. package/storybook-static/assets/{hooks-BXSlITjA.js → hooks-v5_dpZPQ.js} +1 -1
  247. package/storybook-static/assets/iframe-0Ohsk5kI.js +1 -0
  248. package/storybook-static/assets/{iframe-C7Kz5KQm.js → iframe-Dvo-sM6X.js} +3 -3
  249. package/storybook-static/assets/{info-BrejI783.js → info-bO3OPRxt.js} +1 -1
  250. package/storybook-static/assets/{odata-BvqDWAke.js → odata-qSl-tFRM.js} +1 -1
  251. package/storybook-static/assets/{odataStoryFixtures-DxjRFmdK.js → odataStoryFixtures-D1GWvgZm.js} +1 -1
  252. package/storybook-static/assets/{react-BYMcHP_H.js → react-_Ic2fGi_.js} +1 -1
  253. package/storybook-static/assets/{refresh-cw-C1HJCbfI.js → refresh-cw-208ktFgy.js} +1 -1
  254. package/storybook-static/assets/{settings-2-vVR3d5fZ.js → settings-2-Cvceha-j.js} +1 -1
  255. package/storybook-static/assets/{sortable-DqiufSwe.js → sortable-CwkKLxhm.js} +1 -1
  256. package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-Cbm6Hwpi.js → syntaxhighlighter-QEQV7K2Y-BXNKwdIE.js} +1 -1
  257. package/storybook-static/assets/{trash-2-DlwVSewJ.js → trash-2-B0tUyzY_.js} +1 -1
  258. package/storybook-static/assets/{triangle-alert-B6O7hGwO.js → triangle-alert-DVsUvFoI.js} +1 -1
  259. package/storybook-static/assets/{useODataSelectBase-Bb3WCZUa.js → useODataSelectBase-DSETV5ip.js} +1 -1
  260. package/storybook-static/assets/{useODataTreeData-CTmvDRCK.js → useODataTreeData-PxgMVfow.js} +1 -1
  261. package/storybook-static/assets/{usePickerQuery-CYbInhrJ.js → usePickerQuery-BujjL0G3.js} +1 -1
  262. package/storybook-static/assets/{usePickerTriggerController-B6yHzM_q.js → usePickerTriggerController-D-NPyaVF.js} +1 -1
  263. package/storybook-static/assets/{x-BmgkqY7j.js → x-BpYpjEHH.js} +1 -1
  264. package/storybook-static/iframe.html +2 -2
  265. package/storybook-static/index.json +1 -1
  266. package/storybook-static/project.json +1 -1
  267. package/dist/chunks/dialog-UwEmYlQ0.js +0 -54
  268. package/dist/chunks/dialog-UwEmYlQ0.js.map +0 -1
  269. package/storybook-static/assets/Dialog-7LtWvEGc.js +0 -44
  270. package/storybook-static/assets/Dialog-BJSZeEzK.css +0 -1
  271. package/storybook-static/assets/Dialog-CBUnMYDs.js +0 -1
  272. package/storybook-static/assets/Dialog.stories-st_xEXXE.js +0 -36
  273. package/storybook-static/assets/iframe-qGC25hE8.js +0 -1
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-C7Kz5KQm.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a,r as o}from"./blocks-D3JUer2A.js";import{n as ee,r as te,s as ne}from"./Badge.stories-ChIaIP7u.js";import{n as re,o as ie,t as ae}from"./Button.stories-DRLZgAc-.js";import{n as oe,o as s,t as c}from"./CheckBox.stories-B6PC48ma.js";import{a as l,i as u,n as d,t as f}from"./ContextMenu.stories-DAwMbD95.js";import{n as p,o as m,r as h,t as g}from"./DateInput.stories-CP-OSU7c.js";import{n as _,r as v,t as y}from"./DateRangePresetSelect.stories-CutX8jfo.js";import{r as b,s as x,t as S}from"./SingleDateTimeInput.stories-CHUnjUDG.js";import{a as C,n as w,t as T}from"./Dialog.stories-st_xEXXE.js";import{a as E,n as D,t as O}from"./Disclosure.stories-4uNEgvwO.js";import{a as k,r as A,t as j}from"./DropZone.stories-Cdz1iWSH.js";import{n as M,r as N,t as P}from"./ExpandableActionPanel.stories-CMTpWJh0.js";import{a as F,n as I,r as L}from"./InputFile.stories-BxJO8XIo.js";import{a as R,n as z,t as B}from"./InputFiles.stories-AnjhADoO.js";import{a as V,n as H,r as U}from"./InputImage.stories-CBZQvzsL.js";import{i as W,n as G,o as K,t as q}from"./Input.stories-CX69MuO9.js";import{c as se,o as ce,t as le}from"./LayoutPicker.stories-Cfe6qz2E.js";import{a as ue,r as de,s as J}from"./Listbox.stories-CZVFAF33.js";import{n as fe,s as pe,t as me}from"./Modal.stories-ycR63jVk.js";import{a as he,o as ge,t as _e}from"./MultiSelect.stories-_2cvw3LS.js";import{c as ve,i as ye,s as be}from"./PeriodSelect.stories-CrQMdtjt.js";import{i as xe,o as Se,r as Ce}from"./Popover.stories-Br4QG6Qc.js";import{n as we,r as Te,t as Ee}from"./PresetRangeDateInput.stories-Drcwlbbd.js";import{a as De,i as Oe,t as ke}from"./RadioButton.stories-DlRGtMVf.js";import{a as Ae,r as je,t as Me}from"./RadioGroup.stories-Bk1w4-Xc.js";import{c as Ne,s as Pe,t as Fe}from"./Select.stories-DYE8bzE4.js";import{l as Y,o as Ie,s as Le,u as Re}from"./Slider.stories-DVw84J73.js";import{c as ze,d as Be,t as Ve,u as X}from"./SliderInput.stories-Bdpb0dFy.js";import{a as He,r as Ue,t as We}from"./StateSelect.stories-DVb_qjCW.js";import{a as Ge,r as Ke,t as qe}from"./Switch.stories-DCblrg7K.js";import{l as Je,t as Ye,u as Xe}from"./Tabs.stories-CW3_6cyY.js";import{n as Ze,r as Qe,t as $e}from"./TagInput.stories-DsWVUSFJ.js";import{a as et,r as tt,t as nt}from"./Textarea.stories-DoDIGoDg.js";import{a as rt,i as it,t as at}from"./Toggle.stories-4pCCaAds.js";import{c as ot,l as st,n as ct}from"./TreeMultiSelect.stories-DzBHH5CW.js";function Z(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,p:`p`,...n(),...e.components};return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(i,{title:`Development/Interactive components/Catalog`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-Dvo-sM6X.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a,r as o}from"./blocks-BQbV8tvi.js";import{n as ee,r as te,s as ne}from"./Badge.stories-DvNQ06lz.js";import{n as re,o as ie,t as ae}from"./Button.stories-B_vh9vWu.js";import{n as oe,o as s,t as c}from"./CheckBox.stories-CQDmYOCE.js";import{a as l,i as u,n as d,t as f}from"./ContextMenu.stories-DoB8T7qq.js";import{n as p,o as m,r as h,t as g}from"./DateInput.stories-BHGr75Za.js";import{n as _,r as v,t as y}from"./DateRangePresetSelect.stories-ByB8xYCo.js";import{r as b,s as x,t as S}from"./SingleDateTimeInput.stories-DYrlQQK_.js";import{n as C,o as w,t as T}from"./Dialog.stories-DJfiBF2X.js";import{a as E,n as D,t as O}from"./Disclosure.stories-CW14muXq.js";import{a as k,r as A,t as j}from"./DropZone.stories-H3oHPSgn.js";import{n as M,r as N,t as P}from"./ExpandableActionPanel.stories-4VZLqIJG.js";import{a as F,n as I,r as L}from"./InputFile.stories-CU2hQHzw.js";import{a as R,n as z,t as B}from"./InputFiles.stories-Xybfwzym.js";import{a as V,n as H,r as U}from"./InputImage.stories-C6ruZA9G.js";import{i as W,n as G,o as K,t as q}from"./Input.stories-B1BXs_Oi.js";import{c as se,o as ce,t as le}from"./LayoutPicker.stories-dx03fSh0.js";import{a as ue,r as de,s as J}from"./Listbox.stories-C9ZQ-n46.js";import{n as fe,s as pe,t as me}from"./Modal.stories-B2l2giba.js";import{a as he,o as ge,t as _e}from"./MultiSelect.stories-CfY-hEDN.js";import{c as ve,i as ye,s as be}from"./PeriodSelect.stories-DClPnVuc.js";import{i as xe,o as Se,r as Ce}from"./Popover.stories-DZY8b7B4.js";import{n as we,r as Te,t as Ee}from"./PresetRangeDateInput.stories-DUlRx8Hm.js";import{a as De,i as Oe,t as ke}from"./RadioButton.stories-DUPHMC7R.js";import{a as Ae,r as je,t as Me}from"./RadioGroup.stories-DAD36GWN.js";import{c as Ne,s as Pe,t as Fe}from"./Select.stories-UnxQwrgw.js";import{l as Y,o as Ie,s as Le,u as Re}from"./Slider.stories-DhgTMJXk.js";import{c as ze,d as Be,t as Ve,u as X}from"./SliderInput.stories-B_tKQkjE.js";import{a as He,r as Ue,t as We}from"./StateSelect.stories-CIxhqpNM.js";import{a as Ge,r as Ke,t as qe}from"./Switch.stories-BPu1LZgU.js";import{l as Je,t as Ye,u as Xe}from"./Tabs.stories-DPnAgLNJ.js";import{n as Ze,r as Qe,t as $e}from"./TagInput.stories-BfSaOSvw.js";import{a as et,r as tt,t as nt}from"./Textarea.stories-CF4DNsNe.js";import{a as rt,i as it,t as at}from"./Toggle.stories-DLk-SFNM.js";import{c as ot,l as st,n as ct}from"./TreeMultiSelect.stories-BZmGApb6.js";function Z(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,p:`p`,...n(),...e.components};return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(i,{title:`Development/Interactive components/Catalog`}),`
2
2
  `,(0,Q.jsx)(t.h1,{id:`каталог-интерактивных-компонентов`,children:`Каталог интерактивных компонентов`}),`
3
3
  `,(0,Q.jsxs)(t.p,{children:[`Эта страница собирает существующие CSF-сторисы в одном месте. Каждый canvas использует канонический сценарий компонента, поэтому его состояние, `,(0,Q.jsx)(t.code,{children:`args`}),` и обработчики остаются в исходной story, а не дублируются в development-витрине.`]}),`
4
4
  `,(0,Q.jsx)(t.h2,{id:`поля-ввода-и-простые-переключатели`,children:`Поля ввода и простые переключатели`}),`
@@ -82,6 +82,6 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-C
82
82
  `,(0,Q.jsx)(t.h3,{id:`contextmenu`,children:`ContextMenu`}),`
83
83
  `,(0,Q.jsx)(o,{of:f,meta:d,sourceState:`none`,withToolbar:!1}),`
84
84
  `,(0,Q.jsx)(t.h3,{id:`dialog`,children:`Dialog`}),`
85
- `,(0,Q.jsx)(o,{of:T,meta:w,sourceState:`none`,withToolbar:!1}),`
85
+ `,(0,Q.jsx)(o,{of:T,meta:C,sourceState:`none`,withToolbar:!1}),`
86
86
  `,(0,Q.jsx)(t.h3,{id:`modal`,children:`Modal`}),`
87
- `,(0,Q.jsx)(o,{of:me,meta:fe,sourceState:`none`,withToolbar:!1})]})}function lt(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,Q.jsx)(t,{...e,children:(0,Q.jsx)(Z,{...e})}):Z(e)}var Q;function $(){return($=e((()=>{Q=t(),r(),a(),ne(),ie(),s(),l(),m(),v(),x(),C(),E(),k(),N(),F(),R(),V(),K(),se(),J(),pe(),ge(),ve(),Se(),Te(),De(),Ae(),Ne(),Re(),Be(),He(),Ge(),Xe(),Qe(),et(),rt(),st()})))()}$();export{lt as default};
87
+ `,(0,Q.jsx)(o,{of:me,meta:fe,sourceState:`none`,withToolbar:!1})]})}function lt(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,Q.jsx)(t,{...e,children:(0,Q.jsx)(Z,{...e})}):Z(e)}var Q;function $(){return($=e((()=>{Q=t(),r(),a(),ne(),ie(),s(),l(),m(),v(),x(),w(),E(),k(),N(),F(),R(),V(),K(),se(),J(),pe(),ge(),ve(),Se(),Te(),De(),Ae(),Ne(),Re(),Be(),He(),Ge(),Xe(),Qe(),et(),rt(),st()})))()}$();export{lt as default};
@@ -1,4 +1,4 @@
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,t as i}from"./Switch-9_3tdZzh.js";import{i as a,n as o,r as s,t as ee}from"./DisclosureGroup-DzFgYXKG.js";import{n as c,t as te}from"./ExpandableActionPanel-DeGknbmm.js";import{n as ne,t as l}from"./RadioButton-D-u-ibJw.js";import{n as u,t as re}from"./SingleDateTimeInput-3_6weg8k.js";import{n as d,t as f}from"./CheckBox-CXEY0VzR.js";import{n as p,t as ie}from"./DropZone-60u06WCE.js";import{n as m}from"./iframe-C7Kz5KQm.js";import{n as ae,t as h}from"./Text-STwJhH5H.js";import{n as g,t as _}from"./Popover-DnS1fu-J.js";import{i as oe,n as se,r as v,t as ce}from"./BadgeList-iS-RUmI9.js";import{n as y,t as b}from"./Button-CwkuEJRI.js";import{a as x,n as le,r as ue,t as de}from"./Modal-DdICfkeu.js";import{n as fe,t as pe}from"./GridContainer-fKYgDsLl.js";import{n as me,t as he}from"./ModalManagerProvider-CR2nRIRb.js";import{n as ge,t as S}from"./ContextMenu-Bbsspzh9.js";import{a as C,l as w,o as T,t as E}from"./Input-CDgqmNqL.js";import{n as D,t as O}from"./DropdownMenu-Bt2bIKXK.js";import{n as _e,r as ve}from"./DateInput-DlIpO1bS.js";import{n as ye,t as k}from"./RadioGroup-G7BEQbtm.js";import{n as A,t as j}from"./Select-BMqBCgE-.js";import{n as M,t as be}from"./DateRangePresetSelect--9PqaSO3.js";import{n as xe,t as Se}from"./Dialog-CBUnMYDs.js";import{n as Ce,t as we}from"./InputFiles-BcOSB6Zh.js";import{n as Te,t as Ee}from"./InputFile-yoXpCuas.js";import{n as De,t as Oe}from"./InputImage-CxDisozx.js";import{n as ke,t as Ae}from"./LayoutPicker-cwChjQBK.js";import{n as je,t as Me}from"./Listbox-DFF7wZ2w.js";import{n as Ne,t as Pe}from"./MultiSelect-BWnr3sww.js";import{n as Fe,t as Ie}from"./PeriodSelect-CubgTCyh.js";import{n as Le,t as Re}from"./PresetRangeDateInput-CLh8nWwI.js";import{i as ze,r as Be,t as Ve}from"./Slider-w2yJesB6.js";import{n as N,r as He,t as Ue}from"./SliderInput-DSb0AuKk.js";import{n as We,t as Ge}from"./StateSelect-BG-UO5Eq.js";import{n as Ke,t as P}from"./TabsBox-BFt4jD0B.js";import{n as qe,t as Je}from"./TagInput-Aic7iZ-y.js";import{n as F,t as Ye}from"./Textarea-CKeoq23U.js";import{n as I,t as Xe}from"./Toggle-wagPPfpy.js";import{n as Ze,t as L}from"./TreeMultiSelect-D2Qt0ZIh.js";import{n as Qe,t as $e}from"./treeStoryFixtures-DXHh9GL3.js";function et({onChange:e,...t}){let[n,r]=(0,R.useState)(()=>t.defaultValue??t.value??``),[i,a]=(0,R.useState)(()=>t.defaultValue??t.value??``),o=t=>{let n=t.trim();n!==i&&(a(n),e(n))},s=()=>{r(``),a(``),e(``)},ee=e=>{e.key===`Enter`&&(e.preventDefault(),o(n))},c=()=>{o(n)},te=e=>{r(e)};return(0,z.jsx)(E,{...t,value:n,onChange:te,onKeyDown:ee,onBlur:c,onClear:s})}var R,z;function B(){return(B=t((()=>{R=e(n(),1),w(),z=m(),et.__docgenInfo={description:``,methods:[],displayName:`InputSearch`,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:`T`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},onClear:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],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:``},defaultValue:{required:!1,tsType:{name:`string`},description:``},endAdornment:{required:!1,tsType:{name:`ReactNode`},description:``},endAdornmentClassName:{required:!1,tsType:{name:`string`},description:``},endAdornmentWidth:{required:!1,tsType:{name:`string`},description:``}},composes:[`Omit`]}})))()}function V({title:e,children:t}){return(0,W.jsxs)(`section`,{style:G,children:[(0,W.jsx)(`div`,{style:K,children:e}),t]})}function tt({initialValue:e={},label:t=`TreeMultiSelect`,description:n,optionsLayout:r=`tree`,nodes:i=$e,defaultExpandedCodeKeys:a}){let[o,s]=(0,U.useState)(e);return(0,W.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,W.jsx)(L,{label:t,description:n,nodes:i,value:o,onChange:s,optionsLayout:r,defaultExpandedCodeKeys:a}),(0,W.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,JSON.stringify(o)]})]})}function H(){let[e,t]=(0,U.useState)(`Значение`),[n,r]=(0,U.useState)(42),[a,o]=(0,U.useState)(``),[c,ne]=(0,U.useState)(`Комментарий`),[u,d]=(0,U.useState)(!0),[p,m]=(0,U.useState)(!1),[ae,g]=(0,U.useState)(`first`),[oe,se]=(0,U.useState)(!0),[y,x]=(0,U.useState)(!1),[fe,me]=(0,U.useState)(3),[ge,w]=(0,U.useState)(),[E,D]=(0,U.useState)([0,0]),[ve,ye]=(0,U.useState)(60),[A,M]=(0,U.useState)(J[0]),[xe,Ce]=(0,U.useState)([Y[0]]),[Te,De]=(0,U.useState)([`UI`,`Стили`]),[ke,je]=(0,U.useState)(`week`),[Ne,Fe]=(0,U.useState)(`information`),[Le,ze]=(0,U.useState)(`two-columns`),[He,We]=(0,U.useState)(new Date(2026,2,10)),[Ke,qe]=(0,U.useState)(new Date(2026,2,10,10,30)),[F,I]=(0,U.useState)(`today`),[Ze,L]=(0,U.useState)([new Date(2026,2,1),new Date(2026,2,10)]),[Qe,$e]=(0,U.useState)(`month`),[R,z]=(0,U.useState)(),[B,H]=(0,U.useState)([]),[G,K]=(0,U.useState)(),[X,Z]=(0,U.useState)([]),[at,Q]=(0,U.useState)(!1),[ot,$]=(0,U.useState)(!1),[st,ct]=(0,U.useState)();return(0,W.jsxs)(`div`,{style:nt,children:[(0,W.jsxs)(V,{title:`Text`,children:[(0,W.jsx)(h,{color:`primary`,children:`Основной`}),(0,W.jsx)(h,{color:`secondary`,children:`Дополнительный`}),(0,W.jsx)(h,{color:`muted`,children:`Приглушенный`}),(0,W.jsx)(h,{color:`accent`,children:`Акцентированный`}),(0,W.jsx)(h,{color:`brand`,children:`Брендовый`}),(0,W.jsx)(h,{color:`info`,children:`Информация`}),(0,W.jsx)(h,{color:`success`,children:`Успешно`}),(0,W.jsx)(h,{color:`warning`,children:`Предупреждение`}),(0,W.jsx)(h,{color:`error`,children:`Ошибка`})]}),(0,W.jsx)(V,{title:`Badge`,children:(0,W.jsxs)(ce,{children:[(0,W.jsx)(v,{tone:`neutral`,appearance:`outline`,children:`Neutral`}),(0,W.jsx)(v,{tone:`success`,appearance:`solid`,children:`Успешно`}),(0,W.jsx)(v,{tone:`warning`,appearance:`solid`,children:`Внимание`}),(0,W.jsx)(v,{tone:`error`,appearance:`solid`,children:`Ошибка`}),(0,W.jsx)(v,{tone:`info`,appearance:`solid`,children:`Информация`})]})}),(0,W.jsx)(V,{title:`Button`,children:(0,W.jsxs)(pe,{gap:`sm`,templateColumns:`1fr 1fr`,children:[(0,W.jsx)(b,{variant:`transparent`,children:`Действие`}),(0,W.jsx)(b,{variant:`ghost`,children:`Действие`}),(0,W.jsx)(b,{variant:`neutralOutline`,children:`Действие`}),(0,W.jsx)(b,{variant:`infoOutline`,children:`Действие`}),(0,W.jsx)(b,{variant:`successOutline`,children:`Действие`}),(0,W.jsx)(b,{variant:`warningOutline`,children:`Действие`}),(0,W.jsx)(b,{variant:`errorOutline`,children:`Действие`}),(0,W.jsx)(b,{variant:`neutral`,children:`Действие`}),(0,W.jsx)(b,{variant:`info`,children:`Действие`}),(0,W.jsx)(b,{variant:`success`,children:`Действие`}),(0,W.jsx)(b,{variant:`warning`,children:`Действие`}),(0,W.jsx)(b,{variant:`error`,children:`Действие`})]})}),(0,W.jsxs)(V,{title:`InputText`,children:[(0,W.jsx)(T,{label:`Текст`,description:`Поле ввода текста`,placeholder:`Введите текст`,disabled:!0,value:e,onChange:t}),(0,W.jsx)(T,{label:`Текст`,description:`Поле ввода текста`,placeholder:`Введите текст`,value:e,onChange:t}),(0,W.jsx)(T,{required:!0,label:`Текст`,description:`Поле ввода текста`,placeholder:`Введите текст`,value:e,onChange:t,onClear:()=>t(``)})]}),(0,W.jsxs)(V,{title:`InputNumber`,children:[(0,W.jsx)(C,{label:`Количество`,description:`Поле ввода числа`,placeholder:`Введите число`,value:n,min:0,onChange:r,disabled:!0}),(0,W.jsx)(C,{label:`Количество`,description:`Поле ввода числа`,placeholder:`Введите число`,value:n,min:0,onChange:r,required:!0}),(0,W.jsx)(C,{label:`Количество`,description:`Поле ввода числа`,placeholder:`Введите число`,value:n,min:0,onChange:r}),(0,W.jsx)(C,{label:`Количество`,description:`Поле ввода числа`,placeholder:`Введите число`,value:n,min:0,onChange:r,onClear:()=>r(void 0)})]}),(0,W.jsx)(V,{title:`InputSearch`,children:(0,W.jsx)(et,{label:`Поиск`,placeholder:`Найти`,value:a,onChange:o})}),(0,W.jsx)(V,{title:`Textarea`,children:(0,W.jsx)(Ye,{label:`Комментарий`,required:!0,placeholder:`Многострочный комментарий`,rows:6,value:c,onChange:ne})}),(0,W.jsxs)(V,{title:`CheckBox`,children:[(0,W.jsx)(f,{label:`Опция`,description:`Описание чекбокса`,disabled:!0,value:u,onChange:d}),(0,W.jsx)(f,{label:`Опция`,description:`Описание чекбокса`,value:u,onChange:d}),(0,W.jsx)(f,{label:`Опция`,description:`Описание чекбокса`,value:u,onChange:d,indeterminate:!0})]}),(0,W.jsxs)(V,{title:`RadioButton`,children:[(0,W.jsx)(l,{label:`Опция`,description:`Описание радиокнопки`,disabled:!0,value:p,onChange:m}),(0,W.jsx)(l,{label:`Опция`,description:`Описание радиокнопки`,name:`radio-1`,value:p,onChange:m}),(0,W.jsx)(l,{label:`Опция`,description:`Описание радиокнопки`,name:`radio-1`,value:p,onChange:m})]}),(0,W.jsxs)(V,{title:`RadioGroup`,children:[(0,W.jsxs)(k,{label:`Радио группа`,description:`Вертикальная группа`,value:ae,onChange:g,orientation:`vertical`,"aria-label":`Вариант`,children:[(0,W.jsx)(k.Option,{value:`first`,label:`Первый`}),(0,W.jsx)(k.Option,{value:`second`,label:`Второй`}),(0,W.jsx)(k.Option,{value:`third`,label:`Третий`,description:`Новая опциональная опция`})]}),(0,W.jsxs)(k,{label:`Радио группа`,description:`Горизонтальная группа`,value:ae,onChange:g,orientation:`horizontal`,"aria-label":`Вариант`,children:[(0,W.jsx)(k.Option,{value:`first`,label:`Первый`}),(0,W.jsx)(k.Option,{value:`second`,label:`Второй`}),(0,W.jsx)(k.Option,{value:`third`,label:`Третий`,description:`Новая опциональная опция`})]})]}),(0,W.jsx)(V,{title:`Switch`,children:(0,W.jsx)(i,{label:`Уведомления`,description:`Устаревный компонент`,value:oe,onChange:se})}),(0,W.jsxs)(V,{title:`Toggle`,children:[(0,W.jsx)(Xe,{label:`Режим`,description:`Переключатель состояния`,value:y,onChange:x,checkedText:`Вкл`,uncheckedText:`Выкл`}),(0,W.jsx)(Xe,{label:`Режим`,description:`Переключатель состояния`,labelPosition:`after`,value:y,onChange:x,checkedText:`Вкл`,uncheckedText:`Выкл`})]}),(0,W.jsxs)(V,{title:`Slider`,children:[(0,W.jsx)(Ve,{label:`Уровень`,description:`Простой слайдер`,value:fe,min:0,max:100,onChange:me}),(0,W.jsx)(Ve,{label:`Уровень`,description:`Простой слайдер`,disabled:!0,marks:[{value:1,label:`m1`},{value:2,label:`m2`},{value:3,label:`m3`},{value:4,label:`m4`},{value:5,label:`m5`},{value:6,label:`m6`}],marksPosition:`index`,value:fe,min:0,max:100,onChange:me}),(0,W.jsx)(Be,{label:`Уровень`,description:`Диапазон`,marks:[{value:0,label:`m1`},{value:1,label:`m2`},{value:2,label:`m3`},{value:3,label:`m4`}],marksPosition:`index`,value:ge,min:0,max:100,onChange:w})]}),(0,W.jsxs)(V,{title:`SliderInput`,children:[(0,W.jsx)(Ue,{label:`Порог`,value:ve,min:0,max:100,onChange:ye}),(0,W.jsx)(N,{label:`Порог`,value:E,onChange:D,min:0,max:100,marks:[{value:0,label:`0`},{value:20,label:`20`},{value:40,label:`40`},{value:60,label:`60`},{value:80,label:`80`},{value:100,label:`100`}]}),(0,W.jsx)(N,{label:`Срок: открытые границы и дни в фильтре`,description:"Крайние marks отдают null, обычные marks отдают дни через `outputValue`.",min:0,max:25,marks:[{value:0,label:`-`,outputValue:null},{value:1,label:`1м.`,outputValue:30},{value:3,label:`3м.`,outputValue:90},{value:6,label:`6м.`,outputValue:180},{value:12,label:`1г.`,outputValue:360},{value:18,label:`1.5г.`,outputValue:540},{value:24,label:`2г.`,outputValue:720},{value:25,label:`-`,outputValue:null}],value:E,onChange:D}),(0,W.jsx)(N,{label:`Срок текстом`,description:`В поле выводится готовый текст по marks, а изменение через popover коммитится при закрытии.`,placeholder:`Любой срок`,readonlyValueText:!0,min:0,max:25,marks:[{value:0,label:`-`,outputValue:null},{value:1,label:`1м.`,outputValue:30},{value:3,label:`3м.`,outputValue:90},{value:6,label:`6м.`,outputValue:180},{value:12,label:`1г.`,outputValue:360},{value:18,label:`1.5г.`,outputValue:540},{value:24,label:`2г.`,outputValue:720},{value:25,label:`-`,outputValue:null}],marksPosition:`index`,value:E,onChange:D})]}),(0,W.jsxs)(V,{title:`Select`,children:[(0,W.jsx)(j,{label:`Статус`,description:`searchable`,searchable:!0,options:J,value:A,onChange:M,getOptionKey:e=>e.id,getOptionLabel:e=>e.label}),(0,W.jsx)(j,{label:`Статус`,description:`disabled`,disabled:!0,options:J,value:A,onChange:M,getOptionKey:e=>e.id,getOptionLabel:e=>e.label}),(0,W.jsx)(j,{label:`Статус`,description:`Пример использования низкоуровневого Select со строковыми значениями.`,placeholder:`Выберите статус`,options:J,value:A,onChange:M,getOptionKey:e=>e.id,getOptionLabel:e=>e.label}),(0,W.jsx)(j,{label:`Подразделение`,description:`Выберите подразделение из списка.`,placeholder:`Не выбрано`,options:it,value:st,onChange:ct,getOptionKey:e=>e.id,getOptionLabel:e=>e.name,getOptionCode:e=>e.code,getOptionDisabled:e=>e.disabled??!1,getOptionGroup:e=>({key:e.direction,label:e.direction}),optionsMaxWidth:`40em`})]}),(0,W.jsx)(V,{title:`MultiSelect`,children:(0,W.jsx)(Pe,{label:`Города`,items:Y,value:xe,query:``,codeKey:`code`,textKey:`label`,onChange:Ce,onQuery:()=>void 0,onOpen:()=>void 0,onClose:()=>void 0})}),(0,W.jsx)(V,{title:`TreeMultiSelect`,children:(0,W.jsx)(tt,{})}),(0,W.jsx)(V,{title:`TagInput`,children:(0,W.jsx)(Je,{label:`Теги`,placeholder:`Добавить`,value:Te,onChange:De})}),(0,W.jsx)(V,{title:`Listbox`,children:(0,W.jsx)(Me,{options:rt,value:ke,onChange:e=>je(e)})}),(0,W.jsx)(V,{title:`StateSelect`,children:(0,W.jsx)(Ge,{label:`Состояние`,value:Ne,onChange:Fe})}),(0,W.jsx)(V,{title:`LayoutPicker`,children:(0,W.jsx)(Ae,{label:`Раскладка`,value:Le,onChange:ze,showPlaceholder:!0})}),(0,W.jsx)(V,{title:`SingleDateInput`,children:(0,W.jsx)(_e,{label:`Дата`,value:He,onChange:We,selectionMode:`week`})}),(0,W.jsx)(V,{title:`SingleDateTimeInput`,children:(0,W.jsx)(re,{label:`Дата и время`,value:Ke,onChange:qe})}),(0,W.jsx)(V,{title:`DateRangePresetSelect`,children:(0,W.jsx)(be,{label:`Период`,value:F??void 0,onChange:e=>I(e??null),onRangeChange:e=>L(e?.range??null),referenceDate:new Date(2026,2,10,12)})}),(0,W.jsx)(V,{title:`PresetRangeDateInput`,children:(0,W.jsx)(Re,{value:Ze,onChange:L,presetId:F??null,onPresetIdChange:e=>I(e??null),referenceDate:new Date(2026,2,10,12),presetLabel:`Быстрый диапазон`})}),(0,W.jsx)(V,{title:`PeriodSelect`,children:(0,W.jsx)(Ie,{label:`Группировка`,value:Qe,onChange:$e})}),(0,W.jsx)(V,{title:`InputFile`,children:(0,W.jsx)(Ee,{label:`Файл`,placeholder:`Выберите файл`,value:R,onChange:z,onClear:()=>z(void 0),readMode:`data-url`})}),(0,W.jsx)(V,{title:`InputFiles`,children:(0,W.jsx)(we,{label:`Файлы`,placeholder:`Выберите файлы`,value:B,onChange:H,readMode:`data-url`})}),(0,W.jsx)(V,{title:`InputImage`,children:(0,W.jsx)(Oe,{label:`Изображение`,value:G,onChange:K,onClear:()=>K(void 0)})}),(0,W.jsx)(V,{title:`DropZone`,children:(0,W.jsx)(ie,{value:X,multiple:!0,readMode:`data-url`,onChange:e=>Z(e),children:(0,W.jsx)(`div`,{style:{display:`grid`,placeItems:`center`,minHeight:`6em`,textAlign:`center`},children:X.length?`Файлов: ${X.length}`:`Перетащите файлы`})})}),(0,W.jsxs)(V,{title:`TabsBox`,children:[(0,W.jsx)(P,{defaultValue:`first`,items:[{id:`first`,title:`Первый`,content:`Содержимое`},{id:`second`,title:`Второй`,content:`Другая панель`},{id:`third`,title:`Ещё одна`,content:`Ещё одна панель`},{id:`quat`,title:`Четвертая`,content:`Четвертая панель`},{id:`five`,title:`Пятая`,content:`Пятая панель`}]}),(0,W.jsx)(P,{defaultValue:`first`,clean:!0,items:[{id:`first`,title:`Первый`,content:`Содержимое`},{id:`second`,title:`Второй`,content:`Другая панель`},{id:`third`,title:`Ещё одна`,content:`Ещё одна панель`},{id:`quat`,title:`Четвертая`,content:`Четвертая панель`},{id:`five`,title:`Пятая`,content:`Пятая панель`}]})]}),(0,W.jsxs)(V,{title:`TabsBox`,children:[(0,W.jsx)(P,{defaultValue:`first`,orientation:`vertical`,items:[{id:`first`,title:`Первый`,content:`Содержимое`},{id:`second`,title:`Второй`,content:`Другая панель`},{id:`third`,title:`Ещё одна`,content:`Другая панель`},{id:`quat`,title:`Четвертая`,content:`Другая панель`}]}),(0,W.jsx)(P,{defaultValue:`first`,orientation:`vertical`,clean:!0,items:[{id:`first`,title:`Первый`,content:`Содержимое`},{id:`second`,title:`Второй`,content:`Другая панель`},{id:`third`,title:`Ещё одна`,content:`Другая панель`},{id:`quat`,title:`Четвертая`,content:`Другая панель`}]})]}),(0,W.jsxs)(V,{title:`Disclosure`,children:[(0,W.jsxs)(ee,{children:[(0,W.jsx)(s,{label:`Раскрыть 1`,children:`Содержимое панели 1`}),(0,W.jsx)(s,{label:`Раскрыть 2`,children:`Содержимое панели 2`}),(0,W.jsx)(s,{label:`Раскрыть 3`,children:`Содержимое панели 3`}),(0,W.jsx)(s,{label:`Раскрыть 4`,children:`Содержимое панели 4`})]}),(0,W.jsx)(s,{label:`Раскрыть 1`,tone:`secondary`,children:`Содержимое панели 1`})]}),(0,W.jsx)(V,{title:`ExpandableActionPanel`,children:(0,W.jsx)(te,{children:(0,W.jsx)(b,{variant:`transparent`,children:`Действие`})})}),(0,W.jsx)(V,{title:`Popover`,children:(0,W.jsxs)(_,{children:[(0,W.jsx)(_.Trigger,{children:(0,W.jsx)(b,{style:q,children:`Открыть`})}),(0,W.jsx)(_.Content,{children:({setClose:e})=>(0,W.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`,padding:`1em`,maxWidth:`14em`},children:[(0,W.jsx)(`div`,{children:`Содержимое popover`}),(0,W.jsx)(b,{onClick:e,children:`Закрыть`})]})})]})}),(0,W.jsx)(V,{title:`DropdownMenu`,children:(0,W.jsxs)(O,{children:[(0,W.jsx)(O.Trigger,{children:(0,W.jsx)(b,{style:q,children:`Действия`})}),(0,W.jsxs)(O.Content,{children:[(0,W.jsx)(O.Item,{children:`Редактировать`}),(0,W.jsx)(O.Item,{children:`Удалить`})]})]})}),(0,W.jsx)(V,{title:`ContextMenu`,children:(0,W.jsxs)(S,{children:[(0,W.jsx)(S.Trigger,{children:(0,W.jsx)(`div`,{style:{display:`grid`,placeItems:`center`,minHeight:`6em`,padding:`0.75em`,border:`var(--border)`,borderRadius:`var(--radius-sm)`,textAlign:`center`},children:`Правая кнопка мыши`})}),(0,W.jsxs)(S.Content,{children:[(0,W.jsx)(S.Item,{children:`Переименовать`}),(0,W.jsx)(S.Item,{children:`Удалить`})]})]})}),(0,W.jsxs)(V,{title:`Dialog`,children:[(0,W.jsx)(b,{style:q,onClick:()=>Q(!0),children:`Открыть диалог`}),(0,W.jsx)(Se,{title:`Подтверждение`,description:`Подтвердите действие`,open:at,onClose:()=>Q(!1),children:(0,W.jsx)(b,{onClick:()=>Q(!1),children:`Закрыть`})})]}),(0,W.jsx)(V,{title:`Modal`,children:(0,W.jsxs)(he,{children:[(0,W.jsx)(b,{style:q,onClick:()=>$(!0),children:`Открыть модалку`}),(0,W.jsxs)(de,{title:`Параметры`,isOpen:ot,onClose:()=>$(!1),children:[(0,W.jsx)(le,{children:`Содержимое модального окна`}),(0,W.jsx)(ue,{children:(0,W.jsx)(b,{onClick:()=>$(!1),children:`Готово`})})]})]})})]})}var U,W,nt,G,K,q,J,Y,rt,it,X,Z,at;function Q(){return(Q=t((()=>{U=n(),oe(),se(),y(),d(),ge(),D(),ve(),M(),u(),xe(),a(),o(),p(),c(),fe(),w(),Te(),Ce(),De(),B(),ke(),je(),x(),me(),Ne(),Fe(),g(),Le(),ne(),ye(),A(),ze(),He(),We(),r(),Ke(),qe(),ae(),F(),I(),Ze(),Qe(),W=m(),nt={display:`grid`,gridTemplateColumns:`repeat(auto-fit, minmax(var(--ui-width-xl), 1fr))`,alignItems:`start`,gap:`2em`,padding:`2em`,background:`var(--surface-2)`},G={display:`grid`,alignContent:`start`,gridTemplateColumns:`100%`,gap:`0.5em`,padding:`1em`,overflow:`hidden`,borderRadius:`var(--radius-md)`,background:`var(--surface-1)`,boxShadow:`var(--shadow-lg)`},K={fontWeight:700,color:`var(--content-0)`},q={width:`100%`},J=[{id:`draft`,label:`Черновик`},{id:`review`,label:`На согласовании`},{id:`published`,label:`Опубликован`}],Y=[{code:`EKB`,label:`Екатеринбург`},{code:`KZN`,label:`Казань`},{code:`MOW`,label:`Москва`}],rt=[{value:`day`,label:`День`},{value:`week`,label:`Неделя`},{value:`month`,label:`Месяц`}],it=[{id:1,name:`Отдел продаж`,code:`SLS`,manager:`Елена Миронова`,direction:`Коммерческий блок`},{id:2,name:`Закупки`,code:`PRC`,manager:`Антон Мелихов`,direction:`Коммерческий блок`},{id:3,name:`Логистика`,code:`LGS`,manager:`Мария Климова`,direction:`Операционный блок`,disabled:!0},{id:4,name:`Поддержка клиентов`,code:`SUP`,manager:`Ирина Белова`,direction:`Операционный блок`}],X={title:`Development/Interactive components`,component:H,parameters:{layout:`fullscreen`,docs:{description:{component:`Быстрая витрина интерактивных UI-компонентов для разработки и проверки общих стилей.`}}}},Z={},H.__docgenInfo={description:``,methods:[],displayName:`InteractiveComponents`},H.parameters={...H.parameters,docs:{...H.parameters?.docs,source:{originalSource:`function InteractiveComponents() {
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,t as i}from"./Switch-DatgDVdK.js";import{i as a,n as o,r as s,t as ee}from"./DisclosureGroup-D4ywFTK1.js";import{n as c,t as te}from"./ExpandableActionPanel-C8gvedUk.js";import{n as ne,t as l}from"./RadioButton-auLj4-zL.js";import{n as u,t as re}from"./SingleDateTimeInput-BZHoMXPL.js";import{n as d,t as f}from"./CheckBox-CNwSS4x-.js";import{n as p,t as ie}from"./DropZone-DroVMeFW.js";import{n as m}from"./iframe-Dvo-sM6X.js";import{n as ae,t as h}from"./Text-B3D2vMCW.js";import{n as g,t as _}from"./Popover-Cd2h2-HN.js";import{i as oe,n as se,r as v,t as ce}from"./BadgeList-CO7wmhen.js";import{n as y,t as b}from"./Button-BGDiDObX.js";import{a as x,n as le,r as ue,t as de}from"./Modal-BRWAjcim.js";import{n as fe,t as pe}from"./GridContainer-fKYgDsLl.js";import{n as me,t as he}from"./ModalManagerProvider-CBSdkzkh.js";import{n as ge,t as S}from"./ContextMenu-BQyEArge.js";import{a as C,l as w,o as T,t as E}from"./Input-PCnCDfCc.js";import{n as D,t as O}from"./DropdownMenu-CR-0aPFt.js";import{n as _e,r as ve}from"./DateInput-CEzZlA7a.js";import{n as ye,t as k}from"./RadioGroup-CCBow4kQ.js";import{n as A,t as j}from"./Select-CW1LEiv_.js";import{n as M,t as be}from"./DateRangePresetSelect-DpTqeahJ.js";import{n as xe,t as Se}from"./Dialog-DaBWR5lX.js";import{n as Ce,t as we}from"./InputFiles-DDvgo5_t.js";import{n as Te,t as Ee}from"./InputFile-CWsd9AT5.js";import{n as De,t as Oe}from"./InputImage-Qgk9M4kC.js";import{n as ke,t as Ae}from"./LayoutPicker-DjolQnoU.js";import{n as je,t as Me}from"./Listbox-BOmRUACj.js";import{n as Ne,t as Pe}from"./MultiSelect-UuMNjdIM.js";import{n as Fe,t as Ie}from"./PeriodSelect-DHDeruQ5.js";import{n as Le,t as Re}from"./PresetRangeDateInput-M7g0tNmF.js";import{i as ze,r as Be,t as Ve}from"./Slider-B9n25YEj.js";import{n as N,r as He,t as Ue}from"./SliderInput-Bv-wqB63.js";import{n as We,t as Ge}from"./StateSelect-C-0IvRHS.js";import{n as Ke,t as P}from"./TabsBox-Nz7G3xEL.js";import{n as qe,t as Je}from"./TagInput-BpcFBJfZ.js";import{n as F,t as Ye}from"./Textarea-xdvWOiup.js";import{n as I,t as Xe}from"./Toggle-CZQF9SOX.js";import{n as Ze,t as L}from"./TreeMultiSelect-DKkT-avt.js";import{n as Qe,t as $e}from"./treeStoryFixtures-DXHh9GL3.js";function et({onChange:e,...t}){let[n,r]=(0,R.useState)(()=>t.defaultValue??t.value??``),[i,a]=(0,R.useState)(()=>t.defaultValue??t.value??``),o=t=>{let n=t.trim();n!==i&&(a(n),e(n))},s=()=>{r(``),a(``),e(``)},ee=e=>{e.key===`Enter`&&(e.preventDefault(),o(n))},c=()=>{o(n)},te=e=>{r(e)};return(0,z.jsx)(E,{...t,value:n,onChange:te,onKeyDown:ee,onBlur:c,onClear:s})}var R,z;function B(){return(B=t((()=>{R=e(n(),1),w(),z=m(),et.__docgenInfo={description:``,methods:[],displayName:`InputSearch`,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:`T`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},onClear:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],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:``},defaultValue:{required:!1,tsType:{name:`string`},description:``},endAdornment:{required:!1,tsType:{name:`ReactNode`},description:``},endAdornmentClassName:{required:!1,tsType:{name:`string`},description:``},endAdornmentWidth:{required:!1,tsType:{name:`string`},description:``}},composes:[`Omit`]}})))()}function V({title:e,children:t}){return(0,W.jsxs)(`section`,{style:G,children:[(0,W.jsx)(`div`,{style:K,children:e}),t]})}function tt({initialValue:e={},label:t=`TreeMultiSelect`,description:n,optionsLayout:r=`tree`,nodes:i=$e,defaultExpandedCodeKeys:a}){let[o,s]=(0,U.useState)(e);return(0,W.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,W.jsx)(L,{label:t,description:n,nodes:i,value:o,onChange:s,optionsLayout:r,defaultExpandedCodeKeys:a}),(0,W.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,JSON.stringify(o)]})]})}function H(){let[e,t]=(0,U.useState)(`Значение`),[n,r]=(0,U.useState)(42),[a,o]=(0,U.useState)(``),[c,ne]=(0,U.useState)(`Комментарий`),[u,d]=(0,U.useState)(!0),[p,m]=(0,U.useState)(!1),[ae,g]=(0,U.useState)(`first`),[oe,se]=(0,U.useState)(!0),[y,x]=(0,U.useState)(!1),[fe,me]=(0,U.useState)(3),[ge,w]=(0,U.useState)(),[E,D]=(0,U.useState)([0,0]),[ve,ye]=(0,U.useState)(60),[A,M]=(0,U.useState)(J[0]),[xe,Ce]=(0,U.useState)([Y[0]]),[Te,De]=(0,U.useState)([`UI`,`Стили`]),[ke,je]=(0,U.useState)(`week`),[Ne,Fe]=(0,U.useState)(`information`),[Le,ze]=(0,U.useState)(`two-columns`),[He,We]=(0,U.useState)(new Date(2026,2,10)),[Ke,qe]=(0,U.useState)(new Date(2026,2,10,10,30)),[F,I]=(0,U.useState)(`today`),[Ze,L]=(0,U.useState)([new Date(2026,2,1),new Date(2026,2,10)]),[Qe,$e]=(0,U.useState)(`month`),[R,z]=(0,U.useState)(),[B,H]=(0,U.useState)([]),[G,K]=(0,U.useState)(),[X,Z]=(0,U.useState)([]),[at,Q]=(0,U.useState)(!1),[ot,$]=(0,U.useState)(!1),[st,ct]=(0,U.useState)();return(0,W.jsxs)(`div`,{style:nt,children:[(0,W.jsxs)(V,{title:`Text`,children:[(0,W.jsx)(h,{color:`primary`,children:`Основной`}),(0,W.jsx)(h,{color:`secondary`,children:`Дополнительный`}),(0,W.jsx)(h,{color:`muted`,children:`Приглушенный`}),(0,W.jsx)(h,{color:`accent`,children:`Акцентированный`}),(0,W.jsx)(h,{color:`brand`,children:`Брендовый`}),(0,W.jsx)(h,{color:`info`,children:`Информация`}),(0,W.jsx)(h,{color:`success`,children:`Успешно`}),(0,W.jsx)(h,{color:`warning`,children:`Предупреждение`}),(0,W.jsx)(h,{color:`error`,children:`Ошибка`})]}),(0,W.jsx)(V,{title:`Badge`,children:(0,W.jsxs)(ce,{children:[(0,W.jsx)(v,{tone:`neutral`,appearance:`outline`,children:`Neutral`}),(0,W.jsx)(v,{tone:`success`,appearance:`solid`,children:`Успешно`}),(0,W.jsx)(v,{tone:`warning`,appearance:`solid`,children:`Внимание`}),(0,W.jsx)(v,{tone:`error`,appearance:`solid`,children:`Ошибка`}),(0,W.jsx)(v,{tone:`info`,appearance:`solid`,children:`Информация`})]})}),(0,W.jsx)(V,{title:`Button`,children:(0,W.jsxs)(pe,{gap:`sm`,templateColumns:`1fr 1fr`,children:[(0,W.jsx)(b,{variant:`transparent`,children:`Действие`}),(0,W.jsx)(b,{variant:`ghost`,children:`Действие`}),(0,W.jsx)(b,{variant:`neutralOutline`,children:`Действие`}),(0,W.jsx)(b,{variant:`infoOutline`,children:`Действие`}),(0,W.jsx)(b,{variant:`successOutline`,children:`Действие`}),(0,W.jsx)(b,{variant:`warningOutline`,children:`Действие`}),(0,W.jsx)(b,{variant:`errorOutline`,children:`Действие`}),(0,W.jsx)(b,{variant:`neutral`,children:`Действие`}),(0,W.jsx)(b,{variant:`info`,children:`Действие`}),(0,W.jsx)(b,{variant:`success`,children:`Действие`}),(0,W.jsx)(b,{variant:`warning`,children:`Действие`}),(0,W.jsx)(b,{variant:`error`,children:`Действие`})]})}),(0,W.jsxs)(V,{title:`InputText`,children:[(0,W.jsx)(T,{label:`Текст`,description:`Поле ввода текста`,placeholder:`Введите текст`,disabled:!0,value:e,onChange:t}),(0,W.jsx)(T,{label:`Текст`,description:`Поле ввода текста`,placeholder:`Введите текст`,value:e,onChange:t}),(0,W.jsx)(T,{required:!0,label:`Текст`,description:`Поле ввода текста`,placeholder:`Введите текст`,value:e,onChange:t,onClear:()=>t(``)})]}),(0,W.jsxs)(V,{title:`InputNumber`,children:[(0,W.jsx)(C,{label:`Количество`,description:`Поле ввода числа`,placeholder:`Введите число`,value:n,min:0,onChange:r,disabled:!0}),(0,W.jsx)(C,{label:`Количество`,description:`Поле ввода числа`,placeholder:`Введите число`,value:n,min:0,onChange:r,required:!0}),(0,W.jsx)(C,{label:`Количество`,description:`Поле ввода числа`,placeholder:`Введите число`,value:n,min:0,onChange:r}),(0,W.jsx)(C,{label:`Количество`,description:`Поле ввода числа`,placeholder:`Введите число`,value:n,min:0,onChange:r,onClear:()=>r(void 0)})]}),(0,W.jsx)(V,{title:`InputSearch`,children:(0,W.jsx)(et,{label:`Поиск`,placeholder:`Найти`,value:a,onChange:o})}),(0,W.jsx)(V,{title:`Textarea`,children:(0,W.jsx)(Ye,{label:`Комментарий`,required:!0,placeholder:`Многострочный комментарий`,rows:6,value:c,onChange:ne})}),(0,W.jsxs)(V,{title:`CheckBox`,children:[(0,W.jsx)(f,{label:`Опция`,description:`Описание чекбокса`,disabled:!0,value:u,onChange:d}),(0,W.jsx)(f,{label:`Опция`,description:`Описание чекбокса`,value:u,onChange:d}),(0,W.jsx)(f,{label:`Опция`,description:`Описание чекбокса`,value:u,onChange:d,indeterminate:!0})]}),(0,W.jsxs)(V,{title:`RadioButton`,children:[(0,W.jsx)(l,{label:`Опция`,description:`Описание радиокнопки`,disabled:!0,value:p,onChange:m}),(0,W.jsx)(l,{label:`Опция`,description:`Описание радиокнопки`,name:`radio-1`,value:p,onChange:m}),(0,W.jsx)(l,{label:`Опция`,description:`Описание радиокнопки`,name:`radio-1`,value:p,onChange:m})]}),(0,W.jsxs)(V,{title:`RadioGroup`,children:[(0,W.jsxs)(k,{label:`Радио группа`,description:`Вертикальная группа`,value:ae,onChange:g,orientation:`vertical`,"aria-label":`Вариант`,children:[(0,W.jsx)(k.Option,{value:`first`,label:`Первый`}),(0,W.jsx)(k.Option,{value:`second`,label:`Второй`}),(0,W.jsx)(k.Option,{value:`third`,label:`Третий`,description:`Новая опциональная опция`})]}),(0,W.jsxs)(k,{label:`Радио группа`,description:`Горизонтальная группа`,value:ae,onChange:g,orientation:`horizontal`,"aria-label":`Вариант`,children:[(0,W.jsx)(k.Option,{value:`first`,label:`Первый`}),(0,W.jsx)(k.Option,{value:`second`,label:`Второй`}),(0,W.jsx)(k.Option,{value:`third`,label:`Третий`,description:`Новая опциональная опция`})]})]}),(0,W.jsx)(V,{title:`Switch`,children:(0,W.jsx)(i,{label:`Уведомления`,description:`Устаревный компонент`,value:oe,onChange:se})}),(0,W.jsxs)(V,{title:`Toggle`,children:[(0,W.jsx)(Xe,{label:`Режим`,description:`Переключатель состояния`,value:y,onChange:x,checkedText:`Вкл`,uncheckedText:`Выкл`}),(0,W.jsx)(Xe,{label:`Режим`,description:`Переключатель состояния`,labelPosition:`after`,value:y,onChange:x,checkedText:`Вкл`,uncheckedText:`Выкл`})]}),(0,W.jsxs)(V,{title:`Slider`,children:[(0,W.jsx)(Ve,{label:`Уровень`,description:`Простой слайдер`,value:fe,min:0,max:100,onChange:me}),(0,W.jsx)(Ve,{label:`Уровень`,description:`Простой слайдер`,disabled:!0,marks:[{value:1,label:`m1`},{value:2,label:`m2`},{value:3,label:`m3`},{value:4,label:`m4`},{value:5,label:`m5`},{value:6,label:`m6`}],marksPosition:`index`,value:fe,min:0,max:100,onChange:me}),(0,W.jsx)(Be,{label:`Уровень`,description:`Диапазон`,marks:[{value:0,label:`m1`},{value:1,label:`m2`},{value:2,label:`m3`},{value:3,label:`m4`}],marksPosition:`index`,value:ge,min:0,max:100,onChange:w})]}),(0,W.jsxs)(V,{title:`SliderInput`,children:[(0,W.jsx)(Ue,{label:`Порог`,value:ve,min:0,max:100,onChange:ye}),(0,W.jsx)(N,{label:`Порог`,value:E,onChange:D,min:0,max:100,marks:[{value:0,label:`0`},{value:20,label:`20`},{value:40,label:`40`},{value:60,label:`60`},{value:80,label:`80`},{value:100,label:`100`}]}),(0,W.jsx)(N,{label:`Срок: открытые границы и дни в фильтре`,description:"Крайние marks отдают null, обычные marks отдают дни через `outputValue`.",min:0,max:25,marks:[{value:0,label:`-`,outputValue:null},{value:1,label:`1м.`,outputValue:30},{value:3,label:`3м.`,outputValue:90},{value:6,label:`6м.`,outputValue:180},{value:12,label:`1г.`,outputValue:360},{value:18,label:`1.5г.`,outputValue:540},{value:24,label:`2г.`,outputValue:720},{value:25,label:`-`,outputValue:null}],value:E,onChange:D}),(0,W.jsx)(N,{label:`Срок текстом`,description:`В поле выводится готовый текст по marks, а изменение через popover коммитится при закрытии.`,placeholder:`Любой срок`,readonlyValueText:!0,min:0,max:25,marks:[{value:0,label:`-`,outputValue:null},{value:1,label:`1м.`,outputValue:30},{value:3,label:`3м.`,outputValue:90},{value:6,label:`6м.`,outputValue:180},{value:12,label:`1г.`,outputValue:360},{value:18,label:`1.5г.`,outputValue:540},{value:24,label:`2г.`,outputValue:720},{value:25,label:`-`,outputValue:null}],marksPosition:`index`,value:E,onChange:D})]}),(0,W.jsxs)(V,{title:`Select`,children:[(0,W.jsx)(j,{label:`Статус`,description:`searchable`,searchable:!0,options:J,value:A,onChange:M,getOptionKey:e=>e.id,getOptionLabel:e=>e.label}),(0,W.jsx)(j,{label:`Статус`,description:`disabled`,disabled:!0,options:J,value:A,onChange:M,getOptionKey:e=>e.id,getOptionLabel:e=>e.label}),(0,W.jsx)(j,{label:`Статус`,description:`Пример использования низкоуровневого Select со строковыми значениями.`,placeholder:`Выберите статус`,options:J,value:A,onChange:M,getOptionKey:e=>e.id,getOptionLabel:e=>e.label}),(0,W.jsx)(j,{label:`Подразделение`,description:`Выберите подразделение из списка.`,placeholder:`Не выбрано`,options:it,value:st,onChange:ct,getOptionKey:e=>e.id,getOptionLabel:e=>e.name,getOptionCode:e=>e.code,getOptionDisabled:e=>e.disabled??!1,getOptionGroup:e=>({key:e.direction,label:e.direction}),optionsMaxWidth:`40em`})]}),(0,W.jsx)(V,{title:`MultiSelect`,children:(0,W.jsx)(Pe,{label:`Города`,items:Y,value:xe,query:``,codeKey:`code`,textKey:`label`,onChange:Ce,onQuery:()=>void 0,onOpen:()=>void 0,onClose:()=>void 0})}),(0,W.jsx)(V,{title:`TreeMultiSelect`,children:(0,W.jsx)(tt,{})}),(0,W.jsx)(V,{title:`TagInput`,children:(0,W.jsx)(Je,{label:`Теги`,placeholder:`Добавить`,value:Te,onChange:De})}),(0,W.jsx)(V,{title:`Listbox`,children:(0,W.jsx)(Me,{options:rt,value:ke,onChange:e=>je(e)})}),(0,W.jsx)(V,{title:`StateSelect`,children:(0,W.jsx)(Ge,{label:`Состояние`,value:Ne,onChange:Fe})}),(0,W.jsx)(V,{title:`LayoutPicker`,children:(0,W.jsx)(Ae,{label:`Раскладка`,value:Le,onChange:ze,showPlaceholder:!0})}),(0,W.jsx)(V,{title:`SingleDateInput`,children:(0,W.jsx)(_e,{label:`Дата`,value:He,onChange:We,selectionMode:`week`})}),(0,W.jsx)(V,{title:`SingleDateTimeInput`,children:(0,W.jsx)(re,{label:`Дата и время`,value:Ke,onChange:qe})}),(0,W.jsx)(V,{title:`DateRangePresetSelect`,children:(0,W.jsx)(be,{label:`Период`,value:F??void 0,onChange:e=>I(e??null),onRangeChange:e=>L(e?.range??null),referenceDate:new Date(2026,2,10,12)})}),(0,W.jsx)(V,{title:`PresetRangeDateInput`,children:(0,W.jsx)(Re,{value:Ze,onChange:L,presetId:F??null,onPresetIdChange:e=>I(e??null),referenceDate:new Date(2026,2,10,12),presetLabel:`Быстрый диапазон`})}),(0,W.jsx)(V,{title:`PeriodSelect`,children:(0,W.jsx)(Ie,{label:`Группировка`,value:Qe,onChange:$e})}),(0,W.jsx)(V,{title:`InputFile`,children:(0,W.jsx)(Ee,{label:`Файл`,placeholder:`Выберите файл`,value:R,onChange:z,onClear:()=>z(void 0),readMode:`data-url`})}),(0,W.jsx)(V,{title:`InputFiles`,children:(0,W.jsx)(we,{label:`Файлы`,placeholder:`Выберите файлы`,value:B,onChange:H,readMode:`data-url`})}),(0,W.jsx)(V,{title:`InputImage`,children:(0,W.jsx)(Oe,{label:`Изображение`,value:G,onChange:K,onClear:()=>K(void 0)})}),(0,W.jsx)(V,{title:`DropZone`,children:(0,W.jsx)(ie,{value:X,multiple:!0,readMode:`data-url`,onChange:e=>Z(e),children:(0,W.jsx)(`div`,{style:{display:`grid`,placeItems:`center`,minHeight:`6em`,textAlign:`center`},children:X.length?`Файлов: ${X.length}`:`Перетащите файлы`})})}),(0,W.jsxs)(V,{title:`TabsBox`,children:[(0,W.jsx)(P,{defaultValue:`first`,items:[{id:`first`,title:`Первый`,content:`Содержимое`},{id:`second`,title:`Второй`,content:`Другая панель`},{id:`third`,title:`Ещё одна`,content:`Ещё одна панель`},{id:`quat`,title:`Четвертая`,content:`Четвертая панель`},{id:`five`,title:`Пятая`,content:`Пятая панель`}]}),(0,W.jsx)(P,{defaultValue:`first`,clean:!0,items:[{id:`first`,title:`Первый`,content:`Содержимое`},{id:`second`,title:`Второй`,content:`Другая панель`},{id:`third`,title:`Ещё одна`,content:`Ещё одна панель`},{id:`quat`,title:`Четвертая`,content:`Четвертая панель`},{id:`five`,title:`Пятая`,content:`Пятая панель`}]})]}),(0,W.jsxs)(V,{title:`TabsBox`,children:[(0,W.jsx)(P,{defaultValue:`first`,orientation:`vertical`,items:[{id:`first`,title:`Первый`,content:`Содержимое`},{id:`second`,title:`Второй`,content:`Другая панель`},{id:`third`,title:`Ещё одна`,content:`Другая панель`},{id:`quat`,title:`Четвертая`,content:`Другая панель`}]}),(0,W.jsx)(P,{defaultValue:`first`,orientation:`vertical`,clean:!0,items:[{id:`first`,title:`Первый`,content:`Содержимое`},{id:`second`,title:`Второй`,content:`Другая панель`},{id:`third`,title:`Ещё одна`,content:`Другая панель`},{id:`quat`,title:`Четвертая`,content:`Другая панель`}]})]}),(0,W.jsxs)(V,{title:`Disclosure`,children:[(0,W.jsxs)(ee,{children:[(0,W.jsx)(s,{label:`Раскрыть 1`,children:`Содержимое панели 1`}),(0,W.jsx)(s,{label:`Раскрыть 2`,children:`Содержимое панели 2`}),(0,W.jsx)(s,{label:`Раскрыть 3`,children:`Содержимое панели 3`}),(0,W.jsx)(s,{label:`Раскрыть 4`,children:`Содержимое панели 4`})]}),(0,W.jsx)(s,{label:`Раскрыть 1`,tone:`secondary`,children:`Содержимое панели 1`})]}),(0,W.jsx)(V,{title:`ExpandableActionPanel`,children:(0,W.jsx)(te,{children:(0,W.jsx)(b,{variant:`transparent`,children:`Действие`})})}),(0,W.jsx)(V,{title:`Popover`,children:(0,W.jsxs)(_,{children:[(0,W.jsx)(_.Trigger,{children:(0,W.jsx)(b,{style:q,children:`Открыть`})}),(0,W.jsx)(_.Content,{children:({setClose:e})=>(0,W.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`,padding:`1em`,maxWidth:`14em`},children:[(0,W.jsx)(`div`,{children:`Содержимое popover`}),(0,W.jsx)(b,{onClick:e,children:`Закрыть`})]})})]})}),(0,W.jsx)(V,{title:`DropdownMenu`,children:(0,W.jsxs)(O,{children:[(0,W.jsx)(O.Trigger,{children:(0,W.jsx)(b,{style:q,children:`Действия`})}),(0,W.jsxs)(O.Content,{children:[(0,W.jsx)(O.Item,{children:`Редактировать`}),(0,W.jsx)(O.Item,{children:`Удалить`})]})]})}),(0,W.jsx)(V,{title:`ContextMenu`,children:(0,W.jsxs)(S,{children:[(0,W.jsx)(S.Trigger,{children:(0,W.jsx)(`div`,{style:{display:`grid`,placeItems:`center`,minHeight:`6em`,padding:`0.75em`,border:`var(--border)`,borderRadius:`var(--radius-sm)`,textAlign:`center`},children:`Правая кнопка мыши`})}),(0,W.jsxs)(S.Content,{children:[(0,W.jsx)(S.Item,{children:`Переименовать`}),(0,W.jsx)(S.Item,{children:`Удалить`})]})]})}),(0,W.jsxs)(V,{title:`Dialog`,children:[(0,W.jsx)(b,{style:q,onClick:()=>Q(!0),children:`Открыть диалог`}),(0,W.jsx)(Se,{title:`Подтверждение`,description:`Подтвердите действие`,open:at,onClose:()=>Q(!1),children:(0,W.jsx)(b,{onClick:()=>Q(!1),children:`Закрыть`})})]}),(0,W.jsx)(V,{title:`Modal`,children:(0,W.jsxs)(he,{children:[(0,W.jsx)(b,{style:q,onClick:()=>$(!0),children:`Открыть модалку`}),(0,W.jsxs)(de,{title:`Параметры`,isOpen:ot,onClose:()=>$(!1),children:[(0,W.jsx)(le,{children:`Содержимое модального окна`}),(0,W.jsx)(ue,{children:(0,W.jsx)(b,{onClick:()=>$(!1),children:`Готово`})})]})]})})]})}var U,W,nt,G,K,q,J,Y,rt,it,X,Z,at;function Q(){return(Q=t((()=>{U=n(),oe(),se(),y(),d(),ge(),D(),ve(),M(),u(),xe(),a(),o(),p(),c(),fe(),w(),Te(),Ce(),De(),B(),ke(),je(),x(),me(),Ne(),Fe(),g(),Le(),ne(),ye(),A(),ze(),He(),We(),r(),Ke(),qe(),ae(),F(),I(),Ze(),Qe(),W=m(),nt={display:`grid`,gridTemplateColumns:`repeat(auto-fit, minmax(var(--ui-width-xl), 1fr))`,alignItems:`start`,gap:`2em`,padding:`2em`,background:`var(--surface-2)`},G={display:`grid`,alignContent:`start`,gridTemplateColumns:`100%`,gap:`0.5em`,padding:`1em`,overflow:`hidden`,borderRadius:`var(--radius-md)`,background:`var(--surface-1)`,boxShadow:`var(--shadow-lg)`},K={fontWeight:700,color:`var(--content-0)`},q={width:`100%`},J=[{id:`draft`,label:`Черновик`},{id:`review`,label:`На согласовании`},{id:`published`,label:`Опубликован`}],Y=[{code:`EKB`,label:`Екатеринбург`},{code:`KZN`,label:`Казань`},{code:`MOW`,label:`Москва`}],rt=[{value:`day`,label:`День`},{value:`week`,label:`Неделя`},{value:`month`,label:`Месяц`}],it=[{id:1,name:`Отдел продаж`,code:`SLS`,manager:`Елена Миронова`,direction:`Коммерческий блок`},{id:2,name:`Закупки`,code:`PRC`,manager:`Антон Мелихов`,direction:`Коммерческий блок`},{id:3,name:`Логистика`,code:`LGS`,manager:`Мария Климова`,direction:`Операционный блок`,disabled:!0},{id:4,name:`Поддержка клиентов`,code:`SUP`,manager:`Ирина Белова`,direction:`Операционный блок`}],X={title:`Development/Interactive components`,component:H,parameters:{layout:`fullscreen`,docs:{description:{component:`Быстрая витрина интерактивных UI-компонентов для разработки и проверки общих стилей.`}}}},Z={},H.__docgenInfo={description:``,methods:[],displayName:`InteractiveComponents`},H.parameters={...H.parameters,docs:{...H.parameters?.docs,source:{originalSource:`function InteractiveComponents() {
2
2
  const [text, setText] = useState("Значение");
3
3
  const [number, setNumber] = useState<number | undefined>(42);
4
4
  const [search, setSearch] = useState("");
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-C7Kz5KQm.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-D3JUer2A.js";import{a as p,c as m,i as h,n as g,o as _,r as v,s as y,t as b}from"./LayoutPicker.stories-Cfe6qz2E.js";function x(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(s,{of:_,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-Dvo-sM6X.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-BQbV8tvi.js";import{a as p,c as m,i as h,n as g,o as _,r as v,s as y,t as b}from"./LayoutPicker.stories-dx03fSh0.js";function x(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(s,{of:_,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,C.jsx)(u,{children:`LayoutPicker`}),`
3
3
  `,(0,C.jsx)(o,{children:`Контролируемый выбор layout-пресета со схематичным превью`}),`
4
4
  `,(0,C.jsxs)(t.p,{children:[(0,C.jsx)(t.code,{children:`LayoutPicker`}),` нужен для выбора схемы размещения независимых областей: графиков, панелей, секций дашборда или другого UI, где сама раскладка хранится во внешней модели.
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-C7Kz5KQm.js";import{a as r,i}from"./utils-tg3ibbzi.js";import{n as a,t as o}from"./Option-DEgrC04Q.js";import{n as s,t as c}from"./PickerField-DmaPEE37.js";import{c as l,i as u,l as d,n as f,r as p,s as m,t as h,u as g}from"./usePickerTriggerController-B6yHzM_q.js";import{n as _,t as v}from"./CustomOptionButton-CRPk0jjj.js";function y(e,t){return{gridTemplateColumns:`repeat(${e.columns}, minmax(0, 1fr))`,gridTemplateRows:`repeat(${e.rows}, minmax(${t??0}em, 1fr))`}}function b(e){return{gridColumn:`${e.column} / span ${e.columnSpan??1}`,gridRow:`${e.row} / span ${e.rowSpan??1}`}}var x;function S(){return(S=e((()=>{x=[{id:`1x1`,label:`1x1`,columns:1,rows:1,cells:[{id:`c11`,row:1,column:1}]},{id:`1x2`,label:`1x2`,columns:2,rows:1,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2}]},{id:`1x3`,label:`1x3`,columns:3,rows:1,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3}]},{id:`2x1`,label:`2x1`,columns:1,rows:2,cells:[{id:`c11`,row:1,column:1},{id:`c21`,row:2,column:1}]},{id:`2x2`,label:`2x2`,columns:2,rows:2,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2}]},{id:`2x3`,label:`2x3`,columns:3,rows:2,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3}]},{id:`3x1`,label:`3x1`,columns:1,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c21`,row:2,column:1},{id:`c31`,row:3,column:1}]},{id:`3x2`,label:`3x2`,columns:2,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2}]},{id:`3x3`,label:`3x3`,columns:3,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3}]},{id:`4x1`,label:`4x1`,columns:1,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c21`,row:2,column:1},{id:`c31`,row:3,column:1},{id:`c41`,row:4,column:1}]},{id:`4x2`,label:`4x2`,columns:2,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c41`,row:4,column:1},{id:`c42`,row:4,column:2}]},{id:`4x3`,label:`4x3`,columns:3,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3},{id:`c41`,row:4,column:1},{id:`c42`,row:4,column:2},{id:`c43`,row:4,column:3}]},{id:`2x2-l`,label:`Большая слева + две справа`,columns:2,rows:2,cells:[{id:`left`,row:1,column:1,rowSpan:2},{id:`rt`,row:1,column:2},{id:`rb`,row:2,column:2}]},{id:`2x2-r`,label:`Две слева + большая справа`,columns:2,rows:2,cells:[{id:`lt`,row:1,column:1},{id:`lb`,row:2,column:1},{id:`right`,row:1,column:2,rowSpan:2}]},{id:`2x2-t`,label:`Широкая сверху + две снизу`,columns:2,rows:2,cells:[{id:`top`,row:1,column:1,columnSpan:2},{id:`bl`,row:2,column:1},{id:`br`,row:2,column:2}]},{id:`2x2-b`,label:`Две сверху + широкая снизу`,columns:2,rows:2,cells:[{id:`tl`,row:1,column:1},{id:`tr`,row:1,column:2},{id:`bottom`,row:2,column:1,columnSpan:2}]},{id:`3x2-t`,label:`Широкая сверху + 2x2`,columns:2,rows:3,cells:[{id:`top`,row:1,column:1,columnSpan:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2}]},{id:`3x2-b`,label:`2x2 + широкая снизу`,columns:2,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`bottom`,row:3,column:1,columnSpan:2}]},{id:`3x2-m`,label:`Широкая по центру`,columns:2,rows:3,cells:[{id:`tl`,row:1,column:1},{id:`tr`,row:1,column:2},{id:`middle`,row:2,column:1,columnSpan:2},{id:`bl`,row:3,column:1},{id:`br`,row:3,column:2}]},{id:`3x3-l`,label:`Большая слева + 2x3 справа`,columns:3,rows:3,cells:[{id:`left`,row:1,column:1,rowSpan:3},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3}]},{id:`3x3-r`,label:`2x3 слева + большая справа`,columns:3,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`right`,row:1,column:3,rowSpan:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2}]},{id:`3x3-t`,label:`Широкая сверху + 2x3`,columns:3,rows:3,cells:[{id:`top`,row:1,column:1,columnSpan:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3}]},{id:`3x3-b`,label:`2x3 + широкая снизу`,columns:3,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`bottom`,row:3,column:1,columnSpan:3}]},{id:`4x2-t`,label:`Широкая сверху + 3x2`,columns:2,rows:4,cells:[{id:`top`,row:1,column:1,columnSpan:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c41`,row:4,column:1},{id:`c42`,row:4,column:2}]},{id:`4x2-b`,label:`3x2 + широкая снизу`,columns:2,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`bottom`,row:4,column:1,columnSpan:2}]},{id:`4x3-t`,label:`Широкая сверху + 3x3`,columns:3,rows:4,cells:[{id:`top`,row:1,column:1,columnSpan:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3},{id:`c41`,row:4,column:1},{id:`c42`,row:4,column:2},{id:`c43`,row:4,column:3}]},{id:`4x3-b`,label:`3x3 + широкая снизу`,columns:3,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3},{id:`bottom`,row:4,column:1,columnSpan:3}]}]})))()}var C,w,T,E,D,O,k,A,j,M,N,P;function F(){return(F=e((()=>{C=`SmdPit`,w=`giOtGs`,T=`_57Tr0T`,E=`Tkhulr`,D=`VQlniu`,O=`wb39Kf`,k=`VrHnjN`,A=`vNV6Q2`,j=`koxYU-`,M=`k8xLa2`,N=`_5pd3Bb`,P={triggerText:C,popup:w,popupLayout:T,popupBody:E,options:D,option:O,previewCell:k,optionPreviewWrap:A,preview:j,previewPlaceholder:M,previewCompact:N}})))()}function I({preset:e,compact:t=!1}){return(0,z.jsx)(`span`,{className:r(P.preview,t&&P.previewCompact),style:y(e),"aria-hidden":`true`,"data-ui":`layout-picker-preview`,children:e.cells.map(t=>(0,z.jsx)(`span`,{className:P.previewCell,style:b(t)},`${e.id}:${t.id}`))})}function L({id:e,label:t,description:n,value:i,onChange:a,presets:s=x,disabled:l,getPresetDisabled:p,placeholder:h=B,showPlaceholder:g=!1,size:_,ariaLabel:y,className:b,triggerClassName:S,popupClassName:C,placement:w=`bottom-start`}){let T=(0,R.useRef)(null),[E,D]=(0,R.useState)(!1),O=s.findIndex(e=>e.id===i),k=O>=0?s[O]:void 0,A=k?.label??h,{activeIndex:j,context:M,floatingStyles:N,getFloatingProps:F,setReference:L,setFloating:V,setOptionRef:H,close:U,openList:W,toggleOpen:G,selectOption:K,selectActiveOption:q,handleReferenceKeyDown:J,handleFloatingKeyDown:Y,getOptionId:X,getActiveOptionId:Z}=u({options:s,selectedIndex:O,open:E,onOpenChange:D,getOptionDisabled:p,onSelect:e=>a(e.id),disabled:l,placement:w,triggerMode:`display`}),Q=f({mode:`display`,open:E,currentQuery:``,hasDisplayValue:k!==void 0,inputRef:T,openList:W,close:U,toggleOpen:G}),$=e=>{T.current=e};return(0,z.jsx)(c,{id:e,label:t,description:n,disabled:l,size:_,className:b,children:({controlId:e,labelId:n,describedBy:i})=>{let a=`${e}-listbox`;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(m,{ref:$,rootRef:L,id:e,type:`button`,disabled:l,open:E,optionCount:s.length,label:t,placeholder:h,readOnly:!0,autoComplete:`off`,role:`combobox`,value:A,selectedValue:k?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(I,{preset:k,compact:!0}),g?(0,z.jsx)(`span`,{className:P.triggerText,"data-ui":`layout-picker-selected-label`,children:k.label}):null]}):void 0,hasSelection:k!==void 0,showSelectedValue:k!==void 0,onToggleMouseDown:Q.handleToggleMouseDown,onToggleClick:Q.handleToggleClick,openAriaLabel:`Открыть список layout`,closeAriaLabel:`Закрыть список layout`,"aria-haspopup":`listbox`,"aria-expanded":E,"aria-controls":E?a:void 0,"aria-labelledby":n,"aria-describedby":i,"aria-autocomplete":`none`,"aria-activedescendant":E?Z(a):void 0,"aria-label":n?void 0:y??`Выбрать layout. Текущее значение: ${A}`,"data-ui":`layout-picker-trigger`,rootClassName:S,onClick:Q.handleTriggerClick,onFocus:e=>{Q.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{J(e),!e.defaultPrevented&&Q.handleTriggerKeyDown({event:e,onActivateWhenOpen:q,enableSpaceActivation:!0})}}),(0,z.jsx)(d,{open:E,context:M,floatingStyles:N,listId:a,labelId:n,descriptionId:i,activeOptionId:Z(a),setFloating:V,getFloatingProps:F,onKeyDown:Y,className:r(P.popup,C),layoutClassName:P.popupLayout,bodyClassName:P.popupBody,children:(0,z.jsx)(`div`,{className:P.options,children:s.map((e,t)=>{let n=t===O,r=t===j,i=p?.(e)??!1,s=X(a,t);return(0,z.jsx)(o,{id:s,ref:e=>H(t,e),role:`option`,"aria-selected":n,"aria-disabled":i||void 0,"aria-label":e.description?`${e.label}. ${e.description}`:e.label,className:P.option,active:r,selected:n,disabled:i,"data-ui":`layout-picker-option`,"data-selected":n||void 0,children:(0,z.jsx)(v,{tabIndex:-1,disabled:i,onMouseDown:e=>e.preventDefault(),onClick:()=>K(e),children:(0,z.jsx)(`span`,{className:P.optionPreviewWrap,children:(0,z.jsx)(I,{preset:e})})})},e.id)})})})]})}})}var R,z,B;function V(){return(V=e((()=>{R=t(),i(),_(),a(),s(),g(),l(),p(),h(),S(),F(),z=n(),B=`Выберите раскладку`,L.__docgenInfo={description:`Контрол выбора layout-пресета. Не хранит бизнес-логику содержимого ячеек.`,methods:[],displayName:`LayoutPicker`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите раскладку"`,computed:!1}},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:``},id:{required:!1,tsType:{name:`string`},description:``},presets:{required:!1,tsType:{name:`unknown`},description:``,defaultValue:{value:`[
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-Dvo-sM6X.js";import{a as r,i}from"./utils-tg3ibbzi.js";import{n as a,t as o}from"./Option-BwIc-SxO.js";import{n as s,t as c}from"./PickerField-BVM71JTp.js";import{c as l,i as u,l as d,n as f,r as p,s as m,t as h,u as g}from"./usePickerTriggerController-D-NPyaVF.js";import{n as _,t as v}from"./CustomOptionButton-Bp-x3GjU.js";function y(e,t){return{gridTemplateColumns:`repeat(${e.columns}, minmax(0, 1fr))`,gridTemplateRows:`repeat(${e.rows}, minmax(${t??0}em, 1fr))`}}function b(e){return{gridColumn:`${e.column} / span ${e.columnSpan??1}`,gridRow:`${e.row} / span ${e.rowSpan??1}`}}var x;function S(){return(S=e((()=>{x=[{id:`1x1`,label:`1x1`,columns:1,rows:1,cells:[{id:`c11`,row:1,column:1}]},{id:`1x2`,label:`1x2`,columns:2,rows:1,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2}]},{id:`1x3`,label:`1x3`,columns:3,rows:1,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3}]},{id:`2x1`,label:`2x1`,columns:1,rows:2,cells:[{id:`c11`,row:1,column:1},{id:`c21`,row:2,column:1}]},{id:`2x2`,label:`2x2`,columns:2,rows:2,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2}]},{id:`2x3`,label:`2x3`,columns:3,rows:2,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3}]},{id:`3x1`,label:`3x1`,columns:1,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c21`,row:2,column:1},{id:`c31`,row:3,column:1}]},{id:`3x2`,label:`3x2`,columns:2,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2}]},{id:`3x3`,label:`3x3`,columns:3,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3}]},{id:`4x1`,label:`4x1`,columns:1,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c21`,row:2,column:1},{id:`c31`,row:3,column:1},{id:`c41`,row:4,column:1}]},{id:`4x2`,label:`4x2`,columns:2,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c41`,row:4,column:1},{id:`c42`,row:4,column:2}]},{id:`4x3`,label:`4x3`,columns:3,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3},{id:`c41`,row:4,column:1},{id:`c42`,row:4,column:2},{id:`c43`,row:4,column:3}]},{id:`2x2-l`,label:`Большая слева + две справа`,columns:2,rows:2,cells:[{id:`left`,row:1,column:1,rowSpan:2},{id:`rt`,row:1,column:2},{id:`rb`,row:2,column:2}]},{id:`2x2-r`,label:`Две слева + большая справа`,columns:2,rows:2,cells:[{id:`lt`,row:1,column:1},{id:`lb`,row:2,column:1},{id:`right`,row:1,column:2,rowSpan:2}]},{id:`2x2-t`,label:`Широкая сверху + две снизу`,columns:2,rows:2,cells:[{id:`top`,row:1,column:1,columnSpan:2},{id:`bl`,row:2,column:1},{id:`br`,row:2,column:2}]},{id:`2x2-b`,label:`Две сверху + широкая снизу`,columns:2,rows:2,cells:[{id:`tl`,row:1,column:1},{id:`tr`,row:1,column:2},{id:`bottom`,row:2,column:1,columnSpan:2}]},{id:`3x2-t`,label:`Широкая сверху + 2x2`,columns:2,rows:3,cells:[{id:`top`,row:1,column:1,columnSpan:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2}]},{id:`3x2-b`,label:`2x2 + широкая снизу`,columns:2,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`bottom`,row:3,column:1,columnSpan:2}]},{id:`3x2-m`,label:`Широкая по центру`,columns:2,rows:3,cells:[{id:`tl`,row:1,column:1},{id:`tr`,row:1,column:2},{id:`middle`,row:2,column:1,columnSpan:2},{id:`bl`,row:3,column:1},{id:`br`,row:3,column:2}]},{id:`3x3-l`,label:`Большая слева + 2x3 справа`,columns:3,rows:3,cells:[{id:`left`,row:1,column:1,rowSpan:3},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3}]},{id:`3x3-r`,label:`2x3 слева + большая справа`,columns:3,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`right`,row:1,column:3,rowSpan:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2}]},{id:`3x3-t`,label:`Широкая сверху + 2x3`,columns:3,rows:3,cells:[{id:`top`,row:1,column:1,columnSpan:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3}]},{id:`3x3-b`,label:`2x3 + широкая снизу`,columns:3,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`bottom`,row:3,column:1,columnSpan:3}]},{id:`4x2-t`,label:`Широкая сверху + 3x2`,columns:2,rows:4,cells:[{id:`top`,row:1,column:1,columnSpan:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c41`,row:4,column:1},{id:`c42`,row:4,column:2}]},{id:`4x2-b`,label:`3x2 + широкая снизу`,columns:2,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`bottom`,row:4,column:1,columnSpan:2}]},{id:`4x3-t`,label:`Широкая сверху + 3x3`,columns:3,rows:4,cells:[{id:`top`,row:1,column:1,columnSpan:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3},{id:`c41`,row:4,column:1},{id:`c42`,row:4,column:2},{id:`c43`,row:4,column:3}]},{id:`4x3-b`,label:`3x3 + широкая снизу`,columns:3,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3},{id:`bottom`,row:4,column:1,columnSpan:3}]}]})))()}var C,w,T,E,D,O,k,A,j,M,N,P;function F(){return(F=e((()=>{C=`SmdPit`,w=`giOtGs`,T=`_57Tr0T`,E=`Tkhulr`,D=`VQlniu`,O=`wb39Kf`,k=`VrHnjN`,A=`vNV6Q2`,j=`koxYU-`,M=`k8xLa2`,N=`_5pd3Bb`,P={triggerText:C,popup:w,popupLayout:T,popupBody:E,options:D,option:O,previewCell:k,optionPreviewWrap:A,preview:j,previewPlaceholder:M,previewCompact:N}})))()}function I({preset:e,compact:t=!1}){return(0,z.jsx)(`span`,{className:r(P.preview,t&&P.previewCompact),style:y(e),"aria-hidden":`true`,"data-ui":`layout-picker-preview`,children:e.cells.map(t=>(0,z.jsx)(`span`,{className:P.previewCell,style:b(t)},`${e.id}:${t.id}`))})}function L({id:e,label:t,description:n,value:i,onChange:a,presets:s=x,disabled:l,getPresetDisabled:p,placeholder:h=B,showPlaceholder:g=!1,size:_,ariaLabel:y,className:b,triggerClassName:S,popupClassName:C,placement:w=`bottom-start`}){let T=(0,R.useRef)(null),[E,D]=(0,R.useState)(!1),O=s.findIndex(e=>e.id===i),k=O>=0?s[O]:void 0,A=k?.label??h,{activeIndex:j,context:M,floatingStyles:N,getFloatingProps:F,setReference:L,setFloating:V,setOptionRef:H,close:U,openList:W,toggleOpen:G,selectOption:K,selectActiveOption:q,handleReferenceKeyDown:J,handleFloatingKeyDown:Y,getOptionId:X,getActiveOptionId:Z}=u({options:s,selectedIndex:O,open:E,onOpenChange:D,getOptionDisabled:p,onSelect:e=>a(e.id),disabled:l,placement:w,triggerMode:`display`}),Q=f({mode:`display`,open:E,currentQuery:``,hasDisplayValue:k!==void 0,inputRef:T,openList:W,close:U,toggleOpen:G}),$=e=>{T.current=e};return(0,z.jsx)(c,{id:e,label:t,description:n,disabled:l,size:_,className:b,children:({controlId:e,labelId:n,describedBy:i})=>{let a=`${e}-listbox`;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(m,{ref:$,rootRef:L,id:e,type:`button`,disabled:l,open:E,optionCount:s.length,label:t,placeholder:h,readOnly:!0,autoComplete:`off`,role:`combobox`,value:A,selectedValue:k?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(I,{preset:k,compact:!0}),g?(0,z.jsx)(`span`,{className:P.triggerText,"data-ui":`layout-picker-selected-label`,children:k.label}):null]}):void 0,hasSelection:k!==void 0,showSelectedValue:k!==void 0,onToggleMouseDown:Q.handleToggleMouseDown,onToggleClick:Q.handleToggleClick,openAriaLabel:`Открыть список layout`,closeAriaLabel:`Закрыть список layout`,"aria-haspopup":`listbox`,"aria-expanded":E,"aria-controls":E?a:void 0,"aria-labelledby":n,"aria-describedby":i,"aria-autocomplete":`none`,"aria-activedescendant":E?Z(a):void 0,"aria-label":n?void 0:y??`Выбрать layout. Текущее значение: ${A}`,"data-ui":`layout-picker-trigger`,rootClassName:S,onClick:Q.handleTriggerClick,onFocus:e=>{Q.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{J(e),!e.defaultPrevented&&Q.handleTriggerKeyDown({event:e,onActivateWhenOpen:q,enableSpaceActivation:!0})}}),(0,z.jsx)(d,{open:E,context:M,floatingStyles:N,listId:a,labelId:n,descriptionId:i,activeOptionId:Z(a),setFloating:V,getFloatingProps:F,onKeyDown:Y,className:r(P.popup,C),layoutClassName:P.popupLayout,bodyClassName:P.popupBody,children:(0,z.jsx)(`div`,{className:P.options,children:s.map((e,t)=>{let n=t===O,r=t===j,i=p?.(e)??!1,s=X(a,t);return(0,z.jsx)(o,{id:s,ref:e=>H(t,e),role:`option`,"aria-selected":n,"aria-disabled":i||void 0,"aria-label":e.description?`${e.label}. ${e.description}`:e.label,className:P.option,active:r,selected:n,disabled:i,"data-ui":`layout-picker-option`,"data-selected":n||void 0,children:(0,z.jsx)(v,{tabIndex:-1,disabled:i,onMouseDown:e=>e.preventDefault(),onClick:()=>K(e),children:(0,z.jsx)(`span`,{className:P.optionPreviewWrap,children:(0,z.jsx)(I,{preset:e})})})},e.id)})})})]})}})}var R,z,B;function V(){return(V=e((()=>{R=t(),i(),_(),a(),s(),g(),l(),p(),h(),S(),F(),z=n(),B=`Выберите раскладку`,L.__docgenInfo={description:`Контрол выбора layout-пресета. Не хранит бизнес-логику содержимого ячеек.`,methods:[],displayName:`LayoutPicker`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите раскладку"`,computed:!1}},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:``},id:{required:!1,tsType:{name:`string`},description:``},presets:{required:!1,tsType:{name:`unknown`},description:``,defaultValue:{value:`[
2
2
  {
3
3
  id: "1x1",
4
4
  label: "1x1",
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-C7Kz5KQm.js";import{i,n as a,r as o,t as s}from"./LayoutPicker-cwChjQBK.js";var c,l,u,d,f,p,m,h,g,_;function v(){return(v=e((()=>{c=`buT8ds`,l=`vDpJVR`,u=`-GMI1h`,d=`Xgkzn9`,f=`X--lo-`,p=`W5rEjx`,m=`BgilL7`,h=`ALGrVl`,g=`IrqK1d`,_={canvas:c,toolbar:l,summary:u,summaryItem:d,summaryValue:f,muted:p,layoutPreview:m,layoutCell:h,layoutCellTitle:g}})))()}var y=t({Controlled:()=>A,CustomPresets:()=>M,Disabled:()=>F,DisabledPresets:()=>N,InToolbar:()=>P,Placeholder:()=>j,__namedExportsOrder:()=>I,default:()=>k});function b(e,t){return t.find(t=>t.id===e)}function x({value:e,presets:t}){let n=b(e,t);return(0,T.jsxs)(`div`,{className:_.summary,"aria-live":`polite`,children:[(0,T.jsxs)(`div`,{className:_.summaryItem,children:[(0,T.jsx)(`span`,{children:`ID`}),(0,T.jsx)(`span`,{className:_.summaryValue,children:e||`не выбрано`})]}),(0,T.jsxs)(`div`,{className:_.summaryItem,children:[(0,T.jsx)(`span`,{children:`Название`}),(0,T.jsx)(`span`,{className:_.summaryValue,children:n?.label??`Layout не выбран`})]}),(0,T.jsxs)(`div`,{className:_.summaryItem,children:[(0,T.jsx)(`span`,{children:`Сетка`}),(0,T.jsx)(`span`,{className:_.summaryValue,children:n?`${n.columns} x ${n.rows}`:`нет данных`})]}),(0,T.jsxs)(`div`,{className:_.summaryItem,children:[(0,T.jsx)(`span`,{children:`Ячеек`}),(0,T.jsx)(`span`,{className:_.summaryValue,children:n?.cells.length??0})]})]})}function S({value:e,presets:t}){let n=b(e,t);if(!n)return null;let r=n.columns,i=n.rows,a=n.cells;return(0,T.jsx)(`div`,{className:_.layoutPreview,style:{gridTemplateColumns:`repeat(${r}, minmax(0, 1fr))`,gridTemplateRows:`repeat(${i}, minmax(0, 1fr))`},children:a.map((e,t)=>(0,T.jsxs)(`div`,{className:_.layoutCell,style:{gridColumn:`${e.column} / span ${e.columnSpan}`,gridRow:`${e.row} / span ${e.rowSpan}`},children:[(0,T.jsxs)(`span`,{className:_.layoutCellTitle,children:[`Область `,t+1]}),(0,T.jsxs)(`span`,{className:_.muted,children:[`Колонка `,e.column,`, строка `,e.row,`; span `,e.columnSpan,` x `,e.rowSpan]})]},e.id))})}function C(){let[e,t]=(0,w.useState)(`1x2`);return(0,T.jsxs)(`div`,{className:_.canvas,children:[(0,T.jsx)(`div`,{className:_.toolbar,children:(0,T.jsx)(s,{label:`Layout панели`,value:e,onChange:t,ariaLabel:`Выбрать layout панели`})}),(0,T.jsx)(x,{value:e,presets:o}),(0,T.jsx)(S,{value:e,presets:o})]})}var w,T,E,D,O,k,A,j,M,N,P,F,I;function L(){return(L=e((()=>{w=n(),i(),a(),v(),T=r(),{useArgs:E}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:D}=__STORYBOOK_MODULE_TEST__,O=[{id:`dashboard-summary`,label:`Сводка + детали`,description:`Один широкий блок сверху и две области детализации снизу.`,columns:2,rows:2,cells:[{id:`summary`,column:1,columnSpan:2,row:1,rowSpan:1},{id:`left-detail`,column:1,columnSpan:1,row:2,rowSpan:1},{id:`right-detail`,column:2,columnSpan:1,row:2,rowSpan:1}]},{id:`dashboard-main-aside`,label:`Основной блок + сайдбар`,description:`Большая рабочая область слева и вертикальная колонка справа.`,columns:3,rows:2,cells:[{id:`main`,column:1,columnSpan:2,row:1,rowSpan:2},{id:`aside-top`,column:3,columnSpan:1,row:1,rowSpan:1},{id:`aside-bottom`,column:3,columnSpan:1,row:2,rowSpan:1}]},{id:`dashboard-quad`,label:`Четыре равных блока`,description:`Плотная сетка для сравнения нескольких независимых виджетов.`,columns:2,rows:2,cells:[{id:`top-left`,column:1,columnSpan:1,row:1,rowSpan:1},{id:`top-right`,column:2,columnSpan:1,row:1,rowSpan:1},{id:`bottom-left`,column:1,columnSpan:1,row:2,rowSpan:1},{id:`bottom-right`,column:2,columnSpan:1,row:2,rowSpan:1}]}],k={title:`UI/LayoutPicker`,component:s,args:{label:`Layout панели`,description:`Выберите схему размещения областей.`,value:o[0].id,onChange:D(),presets:o,disabled:!1,placeholder:`Выберите layout`,showPlaceholder:!1,ariaLabel:`Выбрать layout`,placement:`bottom-start`},parameters:{atomicCanvas:!0,layout:`padded`,docs:{description:{component:`Контролируемый выбор layout-пресета со схематичным превью. Компонент хранит только UI-состояние popup и возвращает наружу ID выбранного пресета.`}}},argTypes:{id:{description:"ID кнопки выбора. Если не передан, компонент создаёт стабильный `useId`.",control:`text`},label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},value:{description:`ID текущего выбранного layout-пресета.`,control:`text`},onChange:{description:`Вызывается с ID выбранного layout-пресета.`,control:!1},presets:{description:"Список layout-пресетов. По умолчанию используется `DEFAULT_LAYOUT_PICKER_PRESETS`.",control:!1},disabled:{description:`Блокирует кнопку выбора и открытие popup.`,control:`boolean`},getPresetDisabled:{description:`Позволяет заблокировать отдельные пресеты внутри popup.`,control:!1},placeholder:{description:"Текст, который можно явно показать рядом с превью через `showPlaceholder`.",control:`text`},showPlaceholder:{description:"Показывает рядом с превью именно строку `placeholder`. По умолчанию trigger содержит только иконку.",control:`boolean`},ariaLabel:{description:`Доступное имя trigger-кнопки. Если не передано, строится из текущего значения.`,control:`text`},size:{description:"Размер поля из общего `UiBaseProps`.",control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},className:{description:`Дополнительный CSS-класс корневого контейнера.`,control:`text`},triggerClassName:{description:`Дополнительный CSS-класс trigger-кнопки.`,control:`text`},popupClassName:{description:`Дополнительный CSS-класс popup.`,control:`text`},placement:{description:`Позиционирование popup относительно trigger.`,control:`select`,options:[`bottom-start`,`bottom-end`,`top-start`,`top-end`,`right-start`,`left-start`]}}},A={args:{value:`2x1`},name:`Контролируемый выбор`,render:function(e){let[,t]=E(),n=e.presets??o;return(0,T.jsxs)(`div`,{className:_.canvas,children:[(0,T.jsx)(s,{...e,presets:n,onChange:n=>{e.onChange(n),t({value:n})}}),(0,T.jsx)(x,{value:e.value??``,presets:n})]})}},j={name:`Без выбранного значения`,render:e=>{let[t,n]=(0,w.useState)(``),r=e.presets??o;return(0,T.jsxs)(`div`,{className:_.canvas,children:[(0,T.jsx)(s,{...e,value:t,presets:r,placeholder:`Layout ещё не выбран`,showPlaceholder:!0,onChange:t=>{n(t),e.onChange(t)}}),(0,T.jsx)(x,{value:t,presets:r})]})},args:{value:``}},M={name:`Кастомные пресеты`,render:e=>{let[t,n]=(0,w.useState)(O[0].id);return(0,T.jsxs)(`div`,{className:_.canvas,children:[(0,T.jsx)(s,{...e,value:t,presets:O,ariaLabel:`Выбрать layout дашборда`,onChange:t=>{n(t),e.onChange(t)}}),(0,T.jsx)(x,{value:t,presets:O}),(0,T.jsx)(S,{value:t,presets:O})]})},args:{value:O[0].id,presets:O}},N={name:`Заблокированные пресеты`,render:e=>{let[t,n]=(0,w.useState)(`1x1`);return(0,T.jsxs)(`div`,{className:_.canvas,children:[(0,T.jsx)(s,{...e,value:t,getPresetDisabled:e=>e.id===`1x2`||e.id===`2x2-l`,onChange:t=>{n(t),e.onChange(t)}}),(0,T.jsx)(`div`,{className:_.muted,children:`Пресеты с двумя колонками в этом сценарии недоступны.`}),(0,T.jsx)(x,{value:t,presets:o})]})}},P={name:`В панели настройки`,render:()=>(0,T.jsx)(C,{})},F={name:`Заблокированный контрол`,args:{disabled:!0,value:`1x2`}},A.parameters={...A.parameters,docs:{...A.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-Dvo-sM6X.js";import{i,n as a,r as o,t as s}from"./LayoutPicker-DjolQnoU.js";var c,l,u,d,f,p,m,h,g,_;function v(){return(v=e((()=>{c=`buT8ds`,l=`vDpJVR`,u=`-GMI1h`,d=`Xgkzn9`,f=`X--lo-`,p=`W5rEjx`,m=`BgilL7`,h=`ALGrVl`,g=`IrqK1d`,_={canvas:c,toolbar:l,summary:u,summaryItem:d,summaryValue:f,muted:p,layoutPreview:m,layoutCell:h,layoutCellTitle:g}})))()}var y=t({Controlled:()=>A,CustomPresets:()=>M,Disabled:()=>F,DisabledPresets:()=>N,InToolbar:()=>P,Placeholder:()=>j,__namedExportsOrder:()=>I,default:()=>k});function b(e,t){return t.find(t=>t.id===e)}function x({value:e,presets:t}){let n=b(e,t);return(0,T.jsxs)(`div`,{className:_.summary,"aria-live":`polite`,children:[(0,T.jsxs)(`div`,{className:_.summaryItem,children:[(0,T.jsx)(`span`,{children:`ID`}),(0,T.jsx)(`span`,{className:_.summaryValue,children:e||`не выбрано`})]}),(0,T.jsxs)(`div`,{className:_.summaryItem,children:[(0,T.jsx)(`span`,{children:`Название`}),(0,T.jsx)(`span`,{className:_.summaryValue,children:n?.label??`Layout не выбран`})]}),(0,T.jsxs)(`div`,{className:_.summaryItem,children:[(0,T.jsx)(`span`,{children:`Сетка`}),(0,T.jsx)(`span`,{className:_.summaryValue,children:n?`${n.columns} x ${n.rows}`:`нет данных`})]}),(0,T.jsxs)(`div`,{className:_.summaryItem,children:[(0,T.jsx)(`span`,{children:`Ячеек`}),(0,T.jsx)(`span`,{className:_.summaryValue,children:n?.cells.length??0})]})]})}function S({value:e,presets:t}){let n=b(e,t);if(!n)return null;let r=n.columns,i=n.rows,a=n.cells;return(0,T.jsx)(`div`,{className:_.layoutPreview,style:{gridTemplateColumns:`repeat(${r}, minmax(0, 1fr))`,gridTemplateRows:`repeat(${i}, minmax(0, 1fr))`},children:a.map((e,t)=>(0,T.jsxs)(`div`,{className:_.layoutCell,style:{gridColumn:`${e.column} / span ${e.columnSpan}`,gridRow:`${e.row} / span ${e.rowSpan}`},children:[(0,T.jsxs)(`span`,{className:_.layoutCellTitle,children:[`Область `,t+1]}),(0,T.jsxs)(`span`,{className:_.muted,children:[`Колонка `,e.column,`, строка `,e.row,`; span `,e.columnSpan,` x `,e.rowSpan]})]},e.id))})}function C(){let[e,t]=(0,w.useState)(`1x2`);return(0,T.jsxs)(`div`,{className:_.canvas,children:[(0,T.jsx)(`div`,{className:_.toolbar,children:(0,T.jsx)(s,{label:`Layout панели`,value:e,onChange:t,ariaLabel:`Выбрать layout панели`})}),(0,T.jsx)(x,{value:e,presets:o}),(0,T.jsx)(S,{value:e,presets:o})]})}var w,T,E,D,O,k,A,j,M,N,P,F,I;function L(){return(L=e((()=>{w=n(),i(),a(),v(),T=r(),{useArgs:E}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:D}=__STORYBOOK_MODULE_TEST__,O=[{id:`dashboard-summary`,label:`Сводка + детали`,description:`Один широкий блок сверху и две области детализации снизу.`,columns:2,rows:2,cells:[{id:`summary`,column:1,columnSpan:2,row:1,rowSpan:1},{id:`left-detail`,column:1,columnSpan:1,row:2,rowSpan:1},{id:`right-detail`,column:2,columnSpan:1,row:2,rowSpan:1}]},{id:`dashboard-main-aside`,label:`Основной блок + сайдбар`,description:`Большая рабочая область слева и вертикальная колонка справа.`,columns:3,rows:2,cells:[{id:`main`,column:1,columnSpan:2,row:1,rowSpan:2},{id:`aside-top`,column:3,columnSpan:1,row:1,rowSpan:1},{id:`aside-bottom`,column:3,columnSpan:1,row:2,rowSpan:1}]},{id:`dashboard-quad`,label:`Четыре равных блока`,description:`Плотная сетка для сравнения нескольких независимых виджетов.`,columns:2,rows:2,cells:[{id:`top-left`,column:1,columnSpan:1,row:1,rowSpan:1},{id:`top-right`,column:2,columnSpan:1,row:1,rowSpan:1},{id:`bottom-left`,column:1,columnSpan:1,row:2,rowSpan:1},{id:`bottom-right`,column:2,columnSpan:1,row:2,rowSpan:1}]}],k={title:`UI/LayoutPicker`,component:s,args:{label:`Layout панели`,description:`Выберите схему размещения областей.`,value:o[0].id,onChange:D(),presets:o,disabled:!1,placeholder:`Выберите layout`,showPlaceholder:!1,ariaLabel:`Выбрать layout`,placement:`bottom-start`},parameters:{atomicCanvas:!0,layout:`padded`,docs:{description:{component:`Контролируемый выбор layout-пресета со схематичным превью. Компонент хранит только UI-состояние popup и возвращает наружу ID выбранного пресета.`}}},argTypes:{id:{description:"ID кнопки выбора. Если не передан, компонент создаёт стабильный `useId`.",control:`text`},label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},value:{description:`ID текущего выбранного layout-пресета.`,control:`text`},onChange:{description:`Вызывается с ID выбранного layout-пресета.`,control:!1},presets:{description:"Список layout-пресетов. По умолчанию используется `DEFAULT_LAYOUT_PICKER_PRESETS`.",control:!1},disabled:{description:`Блокирует кнопку выбора и открытие popup.`,control:`boolean`},getPresetDisabled:{description:`Позволяет заблокировать отдельные пресеты внутри popup.`,control:!1},placeholder:{description:"Текст, который можно явно показать рядом с превью через `showPlaceholder`.",control:`text`},showPlaceholder:{description:"Показывает рядом с превью именно строку `placeholder`. По умолчанию trigger содержит только иконку.",control:`boolean`},ariaLabel:{description:`Доступное имя trigger-кнопки. Если не передано, строится из текущего значения.`,control:`text`},size:{description:"Размер поля из общего `UiBaseProps`.",control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},className:{description:`Дополнительный CSS-класс корневого контейнера.`,control:`text`},triggerClassName:{description:`Дополнительный CSS-класс trigger-кнопки.`,control:`text`},popupClassName:{description:`Дополнительный CSS-класс popup.`,control:`text`},placement:{description:`Позиционирование popup относительно trigger.`,control:`select`,options:[`bottom-start`,`bottom-end`,`top-start`,`top-end`,`right-start`,`left-start`]}}},A={args:{value:`2x1`},name:`Контролируемый выбор`,render:function(e){let[,t]=E(),n=e.presets??o;return(0,T.jsxs)(`div`,{className:_.canvas,children:[(0,T.jsx)(s,{...e,presets:n,onChange:n=>{e.onChange(n),t({value:n})}}),(0,T.jsx)(x,{value:e.value??``,presets:n})]})}},j={name:`Без выбранного значения`,render:e=>{let[t,n]=(0,w.useState)(``),r=e.presets??o;return(0,T.jsxs)(`div`,{className:_.canvas,children:[(0,T.jsx)(s,{...e,value:t,presets:r,placeholder:`Layout ещё не выбран`,showPlaceholder:!0,onChange:t=>{n(t),e.onChange(t)}}),(0,T.jsx)(x,{value:t,presets:r})]})},args:{value:``}},M={name:`Кастомные пресеты`,render:e=>{let[t,n]=(0,w.useState)(O[0].id);return(0,T.jsxs)(`div`,{className:_.canvas,children:[(0,T.jsx)(s,{...e,value:t,presets:O,ariaLabel:`Выбрать layout дашборда`,onChange:t=>{n(t),e.onChange(t)}}),(0,T.jsx)(x,{value:t,presets:O}),(0,T.jsx)(S,{value:t,presets:O})]})},args:{value:O[0].id,presets:O}},N={name:`Заблокированные пресеты`,render:e=>{let[t,n]=(0,w.useState)(`1x1`);return(0,T.jsxs)(`div`,{className:_.canvas,children:[(0,T.jsx)(s,{...e,value:t,getPresetDisabled:e=>e.id===`1x2`||e.id===`2x2-l`,onChange:t=>{n(t),e.onChange(t)}}),(0,T.jsx)(`div`,{className:_.muted,children:`Пресеты с двумя колонками в этом сценарии недоступны.`}),(0,T.jsx)(x,{value:t,presets:o})]})}},P={name:`В панели настройки`,render:()=>(0,T.jsx)(C,{})},F={name:`Заблокированный контрол`,args:{disabled:!0,value:`1x2`}},A.parameters={...A.parameters,docs:{...A.parameters?.docs,source:{originalSource:`{
2
2
  args: {
3
3
  value: "2x1"
4
4
  },
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./check-B8rUpKkH.js";import{n as i}from"./iframe-C7Kz5KQm.js";import{i as a,n as o,r as s,s as c,t as l}from"./utils-tg3ibbzi.js";import{n as u,t as d}from"./OptionButton-CMX7xMiS.js";import{i as f,n as p,r as m,t as h}from"./Option-DEgrC04Q.js";import{n as g,t as _}from"./PickerField-DmaPEE37.js";import{n as v,t as y}from"./CustomOptionButton-CRPk0jjj.js";function b(e,t,n){if(n){if(Array.isArray(t)&&t.length>0){let n=e.findIndex(e=>t.includes(e.value)&&!e.disabled);if(n>=0)return n}return s(e,w)}if(t!==void 0){let n=e.findIndex(e=>e.value===t&&!e.disabled);if(n>=0)return n}return s(e,w)}function x(e){let{value:t,defaultValue:n,multiple:i,label:a,description:u,disabled:f,size:p,focusOnMount:g,renderItem:v,getKey:x,options:T,onChange:E,id:D,...O}=e,k=t!==void 0,[A,j]=(0,S.useState)(n),M=(0,S.useRef)(null),[N,P]=(0,S.useState)(()=>b(T,t??n,i)),F=(0,S.useRef)(!1),I=(0,S.useMemo)(()=>(k?t:A)??(i?[]:null),[A,k,i,t]),L=N,R=e=>{if(!(f||e.disabled)){if(i){let t=Array.isArray(I)?I:[],n=t.includes(e.value)?t.filter(t=>t!==e.value):[...t,e.value];E?.(n,e),k||j(n);return}E?.(e.value,e),k||j(e.value)}},z=e=>{if(!f){if(e.key===`ArrowDown`)e.preventDefault(),F.current=!0,P(e=>l(T,e,1,w));else if(e.key===`ArrowUp`)e.preventDefault(),F.current=!0,P(e=>l(T,e,-1,w));else if(e.key===`Home`)e.preventDefault(),F.current=!0,P(s(T,w));else if(e.key===`End`)e.preventDefault(),F.current=!0,P(c(T,w));else if(o(e,()=>{let e=T[L];e&&R(e)}))return}};return(0,S.useEffect)(()=>{if(!F.current)return;F.current=!1;let e=M.current?.querySelectorAll(`[role="option"]`)[L];e&&e.scrollIntoView({block:`nearest`})},[L]),(0,S.useLayoutEffect)(()=>{g&&M.current?.focus()},[g]),(0,C.jsx)(_,{id:D,label:a,description:u,disabled:f,size:p,children:({controlId:e,labelId:t,describedBy:n})=>(0,C.jsx)(m,{rootRef:M,id:e,role:`listbox`,"aria-multiselectable":i||void 0,"aria-activedescendant":L>=0?`${e}-option-${L}`:void 0,onKeyDown:z,...O,"aria-labelledby":t??O[`aria-labelledby`],"aria-describedby":n??O[`aria-describedby`],"aria-disabled":f||void 0,tabIndex:f?-1:0,className:O.className,children:T.map((t,n)=>{let a=i?Array.isArray(I)&&I.includes(t.value):I===t.value,o=n===L,s=f||t.disabled||void 0,c=e=>{e.preventDefault(),!s&&(P(n),R(t))};return(0,C.jsx)(h,{id:`${e}-option-${n}`,role:`option`,"aria-selected":a,"aria-disabled":s,disabled:s,active:o,selected:a,children:v?(0,C.jsx)(y,{tabIndex:-1,disabled:s,onMouseDown:c,children:v(t,a,o)}):(0,C.jsx)(d,{tabIndex:-1,disabled:s,onMouseDown:c,icon:a?(0,C.jsx)(r,{}):(0,C.jsx)(`span`,{}),text:t.label??String(t.value)})},x?x(t,n):n)})})})}var S,C,w;function T(){return(T=e((()=>{S=t(),a(),n(),v(),p(),u(),g(),f(),C=i(),w=e=>e.disabled===!0,x.__docgenInfo={description:``,methods:[],displayName:`Listbox`}})))()}export{T as n,x as t};
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./check-D8lsE3m8.js";import{n as i}from"./iframe-Dvo-sM6X.js";import{i as a,n as o,r as s,s as c,t as l}from"./utils-tg3ibbzi.js";import{n as u,t as d}from"./OptionButton-1bkL_ARz.js";import{i as f,n as p,r as m,t as h}from"./Option-BwIc-SxO.js";import{n as g,t as _}from"./PickerField-BVM71JTp.js";import{n as v,t as y}from"./CustomOptionButton-Bp-x3GjU.js";function b(e,t,n){if(n){if(Array.isArray(t)&&t.length>0){let n=e.findIndex(e=>t.includes(e.value)&&!e.disabled);if(n>=0)return n}return s(e,w)}if(t!==void 0){let n=e.findIndex(e=>e.value===t&&!e.disabled);if(n>=0)return n}return s(e,w)}function x(e){let{value:t,defaultValue:n,multiple:i,label:a,description:u,disabled:f,size:p,focusOnMount:g,renderItem:v,getKey:x,options:T,onChange:E,id:D,...O}=e,k=t!==void 0,[A,j]=(0,S.useState)(n),M=(0,S.useRef)(null),[N,P]=(0,S.useState)(()=>b(T,t??n,i)),F=(0,S.useRef)(!1),I=(0,S.useMemo)(()=>(k?t:A)??(i?[]:null),[A,k,i,t]),L=N,R=e=>{if(!(f||e.disabled)){if(i){let t=Array.isArray(I)?I:[],n=t.includes(e.value)?t.filter(t=>t!==e.value):[...t,e.value];E?.(n,e),k||j(n);return}E?.(e.value,e),k||j(e.value)}},z=e=>{if(!f){if(e.key===`ArrowDown`)e.preventDefault(),F.current=!0,P(e=>l(T,e,1,w));else if(e.key===`ArrowUp`)e.preventDefault(),F.current=!0,P(e=>l(T,e,-1,w));else if(e.key===`Home`)e.preventDefault(),F.current=!0,P(s(T,w));else if(e.key===`End`)e.preventDefault(),F.current=!0,P(c(T,w));else if(o(e,()=>{let e=T[L];e&&R(e)}))return}};return(0,S.useEffect)(()=>{if(!F.current)return;F.current=!1;let e=M.current?.querySelectorAll(`[role="option"]`)[L];e&&e.scrollIntoView({block:`nearest`})},[L]),(0,S.useLayoutEffect)(()=>{g&&M.current?.focus()},[g]),(0,C.jsx)(_,{id:D,label:a,description:u,disabled:f,size:p,children:({controlId:e,labelId:t,describedBy:n})=>(0,C.jsx)(m,{rootRef:M,id:e,role:`listbox`,"aria-multiselectable":i||void 0,"aria-activedescendant":L>=0?`${e}-option-${L}`:void 0,onKeyDown:z,...O,"aria-labelledby":t??O[`aria-labelledby`],"aria-describedby":n??O[`aria-describedby`],"aria-disabled":f||void 0,tabIndex:f?-1:0,className:O.className,children:T.map((t,n)=>{let a=i?Array.isArray(I)&&I.includes(t.value):I===t.value,o=n===L,s=f||t.disabled||void 0,c=e=>{e.preventDefault(),!s&&(P(n),R(t))};return(0,C.jsx)(h,{id:`${e}-option-${n}`,role:`option`,"aria-selected":a,"aria-disabled":s,disabled:s,active:o,selected:a,children:v?(0,C.jsx)(y,{tabIndex:-1,disabled:s,onMouseDown:c,children:v(t,a,o)}):(0,C.jsx)(d,{tabIndex:-1,disabled:s,onMouseDown:c,icon:a?(0,C.jsx)(r,{}):(0,C.jsx)(`span`,{}),text:t.label??String(t.value)})},x?x(t,n):n)})})})}var S,C,w;function T(){return(T=e((()=>{S=t(),a(),n(),v(),p(),u(),g(),f(),C=i(),w=e=>e.disabled===!0,x.__docgenInfo={description:``,methods:[],displayName:`Listbox`}})))()}export{T as n,x as t};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-C7Kz5KQm.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-D3JUer2A.js";import{a as p,i as m,n as h,o as g,r as _,s as v,t as y}from"./Listbox.stories-CZVFAF33.js";function b(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{of:_,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-Dvo-sM6X.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-BQbV8tvi.js";import{a as p,i as m,n as h,o as g,r as _,s as v,t as y}from"./Listbox.stories-C9ZQ-n46.js";function b(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{of:_,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,S.jsx)(u,{children:`Listbox`}),`
3
3
  `,(0,S.jsx)(o,{children:`Список выбора для single- и multi-select сценариев, кастомного рендера элементов и блокированного состояния`}),`
4
4
  `,(0,S.jsx)(t.p,{children:`Listbox уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-C7Kz5KQm.js";import{n as r,t as i}from"./Listbox-DFF7wZ2w.js";var a=t({CustomRender:()=>p,Disabled:()=>m,MultiSelect:()=>f,SingleSelect:()=>d,Sizes:()=>h,__namedExportsOrder:()=>g,default:()=>u});function o(e){return e.multiple?(0,s.jsx)(i,{...e,multiple:!0}):(0,s.jsx)(i,{...e})}var s,c,l,u,d,f,p,m,h,g;function _(){return(_=e((()=>{r(),s=n(),{useArgs:c}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:l}=__STORYBOOK_MODULE_TEST__,u={title:`UI/Listbox`,component:o,args:{options:[{value:`low`,label:`Низкий`},{value:`medium`,label:`Средний`},{value:`high`,label:`Высокий`},{value:`critical`,label:`Критический`,disabled:!0}],multiple:!1,label:`Приоритет`,description:`Выберите приоритет задачи.`,value:`medium`,onChange:l()},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля, оформленный так же, как у Input.`},description:{description:`Описание под заголовком, связанное со списком через ARIA.`},options:{description:`Массив доступных опций списка.`,control:!1},multiple:{description:`Режим множественного выбора.`,control:`boolean`},value:{description:`Текущее выбранное значение (или массив значений).`,control:!1},defaultValue:{description:`Начальное значение для uncontrolled-режима.`,control:!1},disabled:{description:`Блокирует фокусировку, навигацию и изменение выбора.`,control:`boolean`},size:{description:`Ширина Listbox из общего контракта UiBaseProps.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},onChange:{description:`Вызывается при выборе опции.`,control:!1},focusOnMount:{description:`Автофокус списка при монтировании.`,control:`boolean`},renderItem:{description:`Кастомный рендер строки списка.`,control:!1},getKey:{description:`Функция генерации ключа для опции.`,control:!1}}},d={render:function(e){let[,t]=c(),n=typeof e.value==`string`?e.value:`medium`;return(0,s.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:280},children:[(0,s.jsx)(o,{...e,multiple:!1,value:n,onChange:(n,r)=>{typeof n==`string`&&(e.onChange?.(n,r),t({value:n}))}}),(0,s.jsxs)(`div`,{children:[`Выбрано: `,n]})]})}},f={render:function(e){let[,t]=c(),n=Array.isArray(e.value)?e.value:[`low`,`high`];return(0,s.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:320},children:[(0,s.jsx)(o,{...e,multiple:!0,value:n,onChange:(n,r)=>{Array.isArray(n)&&(e.onChange?.(n,r),t({value:n}))}}),(0,s.jsxs)(`div`,{children:[`Выбрано: `,n.join(`, `)||`пусто`]})]})},args:{multiple:!0}},p={render:function(e){let[,t]=c(),n=typeof e.value==`string`?e.value:`low`;return(0,s.jsx)(o,{...e,value:n,onChange:(n,r)=>{typeof n==`string`&&(e.onChange?.(n,r),t({value:n}))},renderItem:(e,t,n)=>(0,s.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,width:`100%`,opacity:e.disabled?.5:1},children:[(0,s.jsx)(`span`,{children:e.label}),(0,s.jsx)(`span`,{children:t?`Выбрано`:n?`Фокус`:``})]})})}},m={args:{disabled:!0,value:`medium`},render:e=>(0,s.jsx)(o,{...e})},h={args:{label:void 0,description:void 0},render:e=>(0,s.jsx)(`div`,{style:{display:`grid`,gap:12},children:[`xs`,`sm`,`md`,`lg`,`xl`].map(t=>(0,s.jsx)(o,{...e,size:t,label:t},t))})},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-Dvo-sM6X.js";import{n as r,t as i}from"./Listbox-BOmRUACj.js";var a=t({CustomRender:()=>p,Disabled:()=>m,MultiSelect:()=>f,SingleSelect:()=>d,Sizes:()=>h,__namedExportsOrder:()=>g,default:()=>u});function o(e){return e.multiple?(0,s.jsx)(i,{...e,multiple:!0}):(0,s.jsx)(i,{...e})}var s,c,l,u,d,f,p,m,h,g;function _(){return(_=e((()=>{r(),s=n(),{useArgs:c}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:l}=__STORYBOOK_MODULE_TEST__,u={title:`UI/Listbox`,component:o,args:{options:[{value:`low`,label:`Низкий`},{value:`medium`,label:`Средний`},{value:`high`,label:`Высокий`},{value:`critical`,label:`Критический`,disabled:!0}],multiple:!1,label:`Приоритет`,description:`Выберите приоритет задачи.`,value:`medium`,onChange:l()},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля, оформленный так же, как у Input.`},description:{description:`Описание под заголовком, связанное со списком через ARIA.`},options:{description:`Массив доступных опций списка.`,control:!1},multiple:{description:`Режим множественного выбора.`,control:`boolean`},value:{description:`Текущее выбранное значение (или массив значений).`,control:!1},defaultValue:{description:`Начальное значение для uncontrolled-режима.`,control:!1},disabled:{description:`Блокирует фокусировку, навигацию и изменение выбора.`,control:`boolean`},size:{description:`Ширина Listbox из общего контракта UiBaseProps.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},onChange:{description:`Вызывается при выборе опции.`,control:!1},focusOnMount:{description:`Автофокус списка при монтировании.`,control:`boolean`},renderItem:{description:`Кастомный рендер строки списка.`,control:!1},getKey:{description:`Функция генерации ключа для опции.`,control:!1}}},d={render:function(e){let[,t]=c(),n=typeof e.value==`string`?e.value:`medium`;return(0,s.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:280},children:[(0,s.jsx)(o,{...e,multiple:!1,value:n,onChange:(n,r)=>{typeof n==`string`&&(e.onChange?.(n,r),t({value:n}))}}),(0,s.jsxs)(`div`,{children:[`Выбрано: `,n]})]})}},f={render:function(e){let[,t]=c(),n=Array.isArray(e.value)?e.value:[`low`,`high`];return(0,s.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:320},children:[(0,s.jsx)(o,{...e,multiple:!0,value:n,onChange:(n,r)=>{Array.isArray(n)&&(e.onChange?.(n,r),t({value:n}))}}),(0,s.jsxs)(`div`,{children:[`Выбрано: `,n.join(`, `)||`пусто`]})]})},args:{multiple:!0}},p={render:function(e){let[,t]=c(),n=typeof e.value==`string`?e.value:`low`;return(0,s.jsx)(o,{...e,value:n,onChange:(n,r)=>{typeof n==`string`&&(e.onChange?.(n,r),t({value:n}))},renderItem:(e,t,n)=>(0,s.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,width:`100%`,opacity:e.disabled?.5:1},children:[(0,s.jsx)(`span`,{children:e.label}),(0,s.jsx)(`span`,{children:t?`Выбрано`:n?`Фокус`:``})]})})}},m={args:{disabled:!0,value:`medium`},render:e=>(0,s.jsx)(o,{...e})},h={args:{label:void 0,description:void 0},render:e=>(0,s.jsx)(`div`,{style:{display:`grid`,gap:12},children:[`xs`,`sm`,`md`,`lg`,`xl`].map(t=>(0,s.jsx)(o,{...e,size:t,label:t},t))})},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
2
2
  render: function Render(args) {
3
3
  const [, updateArgs] = useArgs<ComponentProps<typeof StringListbox>>();
4
4
  const value = typeof args.value === "string" ? args.value : "medium";
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-C7Kz5KQm.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-D3JUer2A.js";import{a as p,i as m,n as h,o as g,r as _,s as v,t as y}from"./Modal.stories-ycR63jVk.js";function b(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{of:h,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-Dvo-sM6X.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-BQbV8tvi.js";import{a as p,i as m,n as h,o as g,r as _,s as v,t as y}from"./Modal.stories-B2l2giba.js";function b(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{of:h,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,S.jsx)(u,{children:`Modal`}),`
3
3
  `,(0,S.jsx)(o,{children:`Составная модалка с контентом, toolbar и footer для пользовательских диалоговых сценариев`}),`
4
4
  `,(0,S.jsx)(t.p,{children:`Modal уже имеет живые 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,t as i}from"./x-BmgkqY7j.js";import{n as a}from"./iframe-C7Kz5KQm.js";import{t as o}from"./react-dom-BzEl8usk.js";import{a as s,i as c}from"./utils-tg3ibbzi.js";import{a as ee,n as te,r as l,t as ne}from"./dom-DBd_DWF8.js";import{n as u,t as d}from"./FlexContainer-BWyPlTMB.js";import{n as f,t as re}from"./Button-CwkuEJRI.js";import{a as p,c as m,l as h,n as ie,o as g,r as _,s as v,t as y}from"./react-BYMcHP_H.js";import{n as b,t as ae}from"./GridContainer-fKYgDsLl.js";import{n as x,t as S}from"./Scrollable-DC9i0mYW.js";function oe(){!v.current&&p();let[e]=(0,C.useState)(h.current);return e}var C;function w(){return(w=t((()=>{m(),g(),C=n()})))()}var T,E,D,O,k,A,j,M,N,P,F,I;function L(){return(L=t((()=>{T=`vGPUKV`,E=`WhUkxm`,D=`JDlse5`,O=`FaDKSt`,k=`NDgdMi`,A=`O7gb7P`,j=`RVq8v3`,M=`PCSUAL`,N=`XDCHzq`,P=`t1kl8L`,F=`o3PEEB`,I={modal:T,header:E,headerText:D,headerButton:O,body:k,sm:A,md:j,lg:M,xl:N,xxl:P,inside:F}})))()}var R,z,B;function V(){return(V=t((()=>{R={hidden:{opacity:0,scale:.96,y:12},visible:{opacity:1,scale:1,y:0}},z={duration:.18,ease:[.22,1,.36,1]},B={duration:0}})))()}var H,U,W;function G(){return(G=t((()=>{H=n(),U=(0,H.createContext)({modals:[],openModal:()=>{},closeModal:()=>{},isTopModal:()=>!1}),W=()=>(0,H.useContext)(U)})))()}var K,q,J,Y,X,Z,Q;function $(){return($=t((()=>{K=e(n(),1),l(),c(),r(),y(),q=o(),f(),u(),b(),x(),L(),V(),G(),J=a(),Y=({children:e,className:t})=>(0,J.jsx)(`div`,{className:s(`surface2 paddingMd borderBottom`,t),children:e}),Y.displayName=`Modal.Toolbar`,X=({children:e,className:t,scrollable:n})=>(0,J.jsx)(`div`,{className:s(`paddingMd h100 overflowHidden`,t),children:n?(0,J.jsx)(S,{className:`h100`,children:e}):e}),X.displayName=`Modal.Content`,Z=({children:e,className:t})=>(0,J.jsx)(`div`,{className:s(`surface2 borderTop paddingMd`,t),children:(0,J.jsx)(d,{gap:`sm`,align:`center`,justify:`end`,children:e})}),Z.displayName=`Modal.Footer`,Q=({isOpen:e,title:t,size:n=`sm`,height:r,onClose:a,children:o})=>{let c=(0,K.useId)(),l=(0,K.useId)(),{modals:u,openModal:d,closeModal:f,isTopModal:p}=W(),m=oe(),h=(0,K.useRef)(null),g=(0,K.useRef)(0),v={"--modal-height":r},y=e&&(u.length===0||p(c));(0,K.useEffect)(()=>{e&&(h.current=document.activeElement instanceof HTMLElement?document.activeElement:null)},[e]);let b=ee({active:e||!1,trapFocus:!0,restoreFocus:!1});te({active:y||!1,onDismiss:a,containerRef:b}),(0,K.useEffect)(()=>{e&&d(c)},[e,c,d]),(0,K.useEffect)(()=>()=>{window.cancelAnimationFrame(g.current),f(c)},[f,c]);function x(){f(c);let e=h.current;g.current=window.requestAnimationFrame(()=>{e?.isConnected&&e.focus(),h.current=null})}let S=ne(`modal-root`);if(!S)return null;let C=null,w=null,T=null,E=K.Children.toArray(o);for(let e of E)switch(e.type.displayName){case Y.displayName:if(C)throw Error(`Modal: duplicate <Toolbar> found`);C=e;break;case Z.displayName:if(T)throw Error(`Modal: duplicate <Footer> found`);T=e;break;case X.displayName:if(w)throw Error(`Modal: duplicate <Content> found`);w=e}return(0,q.createPortal)((0,J.jsx)(_,{onExitComplete:x,children:e?(0,J.jsxs)(ie.div,{ref:b,className:s(I.modal,I[n]),style:v,role:`dialog`,"aria-modal":`true`,"aria-labelledby":l,"aria-describedby":`${l}-content`,initial:`hidden`,animate:`visible`,exit:`hidden`,variants:R,transition:m?B:z,children:[(0,J.jsxs)(`div`,{className:s(I.header,C?``:`borderBottom`),children:[(0,J.jsx)(`h3`,{className:I.headerText,id:l,children:t}),(0,J.jsx)(re,{icon:(0,J.jsx)(i,{}),className:I.headerButton,variant:`ghost`,"aria-label":`Закрыть модальное окно`,onClick:a})]}),(0,J.jsxs)(ae,{id:`${l}-content`,templateRows:`${C?`auto`:``} 1fr ${T?`auto`:``}`.trim(),className:I.body,children:[C,w,T]})]}):null}),S)},Y.__docgenInfo={description:``,methods:[],displayName:`Modal.Toolbar`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},className:{required:!1,tsType:{name:`string`},description:``}}},X.__docgenInfo={description:``,methods:[],displayName:`Modal.Content`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},className:{required:!1,tsType:{name:`string`},description:``},scrollable:{required:!1,tsType:{name:`boolean`},description:``}}},Z.__docgenInfo={description:``,methods:[],displayName:`Modal.Footer`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},className:{required:!1,tsType:{name:`string`},description:``}}}})))()}export{$ as a,w as c,Y as i,X as n,U as o,Z as r,G as s,Q 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,t as i}from"./x-BpYpjEHH.js";import{n as a}from"./iframe-Dvo-sM6X.js";import{t as o}from"./react-dom-BzEl8usk.js";import{a as s,i as c}from"./utils-tg3ibbzi.js";import{a as ee,n as te,r as l,t as ne}from"./dom-DBd_DWF8.js";import{n as u,t as d}from"./FlexContainer-BWyPlTMB.js";import{n as f,t as re}from"./Button-BGDiDObX.js";import{a as p,c as m,l as h,n as ie,o as g,r as _,s as v,t as y}from"./react-_Ic2fGi_.js";import{n as b,t as ae}from"./GridContainer-fKYgDsLl.js";import{n as x,t as S}from"./Scrollable-BxISsXHD.js";function oe(){!v.current&&p();let[e]=(0,C.useState)(h.current);return e}var C;function w(){return(w=t((()=>{m(),g(),C=n()})))()}var T,E,D,O,k,A,j,M,N,P,F,I;function L(){return(L=t((()=>{T=`vGPUKV`,E=`WhUkxm`,D=`JDlse5`,O=`FaDKSt`,k=`NDgdMi`,A=`O7gb7P`,j=`RVq8v3`,M=`PCSUAL`,N=`XDCHzq`,P=`t1kl8L`,F=`o3PEEB`,I={modal:T,header:E,headerText:D,headerButton:O,body:k,sm:A,md:j,lg:M,xl:N,xxl:P,inside:F}})))()}var R,z,B;function V(){return(V=t((()=>{R={hidden:{opacity:0,scale:.96,y:12},visible:{opacity:1,scale:1,y:0}},z={duration:.18,ease:[.22,1,.36,1]},B={duration:0}})))()}var H,U,W;function G(){return(G=t((()=>{H=n(),U=(0,H.createContext)({modals:[],openModal:()=>{},closeModal:()=>{},isTopModal:()=>!1}),W=()=>(0,H.useContext)(U)})))()}var K,q,J,Y,X,Z,Q;function $(){return($=t((()=>{K=e(n(),1),l(),c(),r(),y(),q=o(),f(),u(),b(),x(),L(),V(),G(),J=a(),Y=({children:e,className:t})=>(0,J.jsx)(`div`,{className:s(`surface2 paddingMd borderBottom`,t),children:e}),Y.displayName=`Modal.Toolbar`,X=({children:e,className:t,scrollable:n})=>(0,J.jsx)(`div`,{className:s(`paddingMd h100 overflowHidden`,t),children:n?(0,J.jsx)(S,{className:`h100`,children:e}):e}),X.displayName=`Modal.Content`,Z=({children:e,className:t})=>(0,J.jsx)(`div`,{className:s(`surface2 borderTop paddingMd`,t),children:(0,J.jsx)(d,{gap:`sm`,align:`center`,justify:`end`,children:e})}),Z.displayName=`Modal.Footer`,Q=({isOpen:e,title:t,size:n=`sm`,height:r,onClose:a,children:o})=>{let c=(0,K.useId)(),l=(0,K.useId)(),{modals:u,openModal:d,closeModal:f,isTopModal:p}=W(),m=oe(),h=(0,K.useRef)(null),g=(0,K.useRef)(0),v={"--modal-height":r},y=e&&(u.length===0||p(c));(0,K.useEffect)(()=>{e&&(h.current=document.activeElement instanceof HTMLElement?document.activeElement:null)},[e]);let b=ee({active:e||!1,trapFocus:!0,restoreFocus:!1});te({active:y||!1,onDismiss:a,containerRef:b}),(0,K.useEffect)(()=>{e&&d(c)},[e,c,d]),(0,K.useEffect)(()=>()=>{window.cancelAnimationFrame(g.current),f(c)},[f,c]);function x(){f(c);let e=h.current;g.current=window.requestAnimationFrame(()=>{e?.isConnected&&e.focus(),h.current=null})}let S=ne(`modal-root`);if(!S)return null;let C=null,w=null,T=null,E=K.Children.toArray(o);for(let e of E)switch(e.type.displayName){case Y.displayName:if(C)throw Error(`Modal: duplicate <Toolbar> found`);C=e;break;case Z.displayName:if(T)throw Error(`Modal: duplicate <Footer> found`);T=e;break;case X.displayName:if(w)throw Error(`Modal: duplicate <Content> found`);w=e}return(0,q.createPortal)((0,J.jsx)(_,{onExitComplete:x,children:e?(0,J.jsxs)(ie.div,{ref:b,className:s(I.modal,I[n]),style:v,role:`dialog`,"aria-modal":`true`,"aria-labelledby":l,"aria-describedby":`${l}-content`,initial:`hidden`,animate:`visible`,exit:`hidden`,variants:R,transition:m?B:z,children:[(0,J.jsxs)(`div`,{className:s(I.header,C?``:`borderBottom`),children:[(0,J.jsx)(`h3`,{className:I.headerText,id:l,children:t}),(0,J.jsx)(re,{icon:(0,J.jsx)(i,{}),className:I.headerButton,variant:`ghost`,"aria-label":`Закрыть модальное окно`,onClick:a})]}),(0,J.jsxs)(ae,{id:`${l}-content`,templateRows:`${C?`auto`:``} 1fr ${T?`auto`:``}`.trim(),className:I.body,children:[C,w,T]})]}):null}),S)},Y.__docgenInfo={description:``,methods:[],displayName:`Modal.Toolbar`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},className:{required:!1,tsType:{name:`string`},description:``}}},X.__docgenInfo={description:``,methods:[],displayName:`Modal.Content`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},className:{required:!1,tsType:{name:`string`},description:``},scrollable:{required:!1,tsType:{name:`boolean`},description:``}}},Z.__docgenInfo={description:``,methods:[],displayName:`Modal.Footer`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},className:{required:!1,tsType:{name:`string`},description:``}}}})))()}export{$ as a,w as c,Y as i,X as n,U as o,Z as r,G as s,Q as t};
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-C7Kz5KQm.js";import{n as i,t as a}from"./Button-CwkuEJRI.js";import{a as o,i as s,n as c,r as l,t as u}from"./Modal-DdICfkeu.js";import{n as d,t as f}from"./ModalManagerProvider-CR2nRIRb.js";import{l as p,t as m}from"./Input-CDgqmNqL.js";var h=t({Controlled:()=>w,ScrollableContent:()=>E,Sizes:()=>D,StackedModals:()=>O,WithToolbarAndFooter:()=>T,__namedExportsOrder:()=>k,default:()=>C});function g({children:e}){return(0,b.jsx)(`div`,{style:{minHeight:`60dvh`,padding:24,display:`flex`,alignItems:`center`,justifyContent:`center`},children:e})}function _(){let[e,t]=(0,y.useState)(`Алексей`),[n,r]=(0,y.useState)(`Департамент автоматизации бизнеса`);return(0,b.jsxs)(`div`,{style:{display:`grid`,gap:16},children:[(0,b.jsx)(m,{label:`Имя`,value:e,onChange:t,placeholder:`Введите имя`}),(0,b.jsx)(m,{label:`Подразделение`,value:n,onChange:r,placeholder:`Введите подразделение`}),(0,b.jsxs)(`div`,{style:{padding:12,borderRadius:8,background:`var(--surface-1)`,border:`1px solid var(--border-1)`},children:[`Текущие значения: `,e||`не указано`,`, `,n||`не указано`]})]})}function v(){let[e,t]=x();return{args:e,updateArgs:t,close:()=>{e.onClose(),t({isOpen:!1})}}}var y,b,x,S,C,w,T,E,D,O,k;function A(){return(A=e((()=>{y=n(),i(),p(),o(),d(),b=r(),{useArgs:x}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:S}=__STORYBOOK_MODULE_TEST__,C={title:`UI/Modal`,component:u,parameters:{atomicCanvas:!0,layout:`fullscreen`,docs:{description:{component:"Композиционная модалка с `Toolbar`, `Content` и `Footer`, поддержкой focus trap, возврата фокуса, закрытия по `Escape` и менеджером стека через `ModalManagerProvider`."}}},decorators:[e=>(0,b.jsx)(f,{children:(0,b.jsx)(g,{children:e()})})],args:{isOpen:!1,title:`Редактирование профиля`,size:`md`,height:void 0,onClose:S(),children:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(c,{children:(0,b.jsx)(_,{})}),(0,b.jsxs)(l,{children:[(0,b.jsx)(a,{variant:`transparent`,children:`Отмена`}),(0,b.jsx)(a,{children:`Сохранить`})]})]})},argTypes:{isOpen:{description:`Управляет видимостью модального окна.`,control:`boolean`},title:{description:`Заголовок модального окна.`,control:`text`},size:{description:`Предустановленный размер модального окна.`,control:`inline-radio`,options:[`sm`,`md`,`lg`,`xl`,`xxl`,`inside`]},height:{description:`Явная высота модалки выше мобильного breakpoint. На мобильном модалка всегда занимает весь экран.`,control:`text`},onClose:{description:"Вызывается при закрытии по кнопке, `Escape` или пользовательскому действию.",control:!1},children:{description:"Композиция из `ModalToolbar`, `ModalContent`, `ModalFooter`.",control:!1}}},w={name:`Управляемая модалка`,render:function(){let{args:e,close:t,updateArgs:n}=v();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{onClick:()=>n({isOpen:!0}),children:`Открыть модалку`}),(0,b.jsxs)(u,{...e,isOpen:e.isOpen,onClose:t,children:[(0,b.jsx)(c,{children:(0,b.jsx)(_,{})}),(0,b.jsxs)(l,{children:[(0,b.jsx)(a,{variant:`transparent`,onClick:t,children:`Отмена`}),(0,b.jsx)(a,{onClick:t,children:`Сохранить`})]})]})]})}},T={name:`Полная композиция`,args:{title:`Редактирование профиля`,height:`min(34rem, 70dvh)`},render:function(){let{args:e,close:t,updateArgs:n}=v();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{onClick:()=>n({isOpen:!0}),children:`Открыть сценарий редактирования`}),(0,b.jsxs)(u,{...e,isOpen:e.isOpen,onClose:t,children:[(0,b.jsx)(s,{children:(0,b.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:12,padding:12,borderRadius:8,background:`var(--surface-1)`,border:`1px solid var(--border-1)`},children:[(0,b.jsxs)(`div`,{children:[(0,b.jsx)(`div`,{style:{fontWeight:600},children:`Черновик обновлён автоматически`}),(0,b.jsx)(`div`,{style:{opacity:.72},children:`Последнее сохранение: 2 минуты назад`})]}),(0,b.jsx)(a,{variant:`transparent`,children:`Сбросить`})]})}),(0,b.jsx)(c,{children:(0,b.jsx)(_,{})}),(0,b.jsxs)(l,{children:[(0,b.jsx)(a,{variant:`transparent`,onClick:t,children:`Отмена`}),(0,b.jsx)(a,{variant:`success`,onClick:t,children:`Применить`})]})]})]})}},E={name:`Длинный контент`,args:{size:`lg`,title:`Журнал изменений`},render:function(){let{args:e,close:t,updateArgs:n}=v();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{onClick:()=>n({isOpen:!0}),children:`Открыть длинный контент`}),(0,b.jsxs)(u,{...e,isOpen:e.isOpen,onClose:t,children:[(0,b.jsx)(c,{scrollable:!0,children:(0,b.jsx)(`div`,{style:{display:`grid`,gap:12},children:Array.from({length:18},(e,t)=>(0,b.jsxs)(`div`,{style:{padding:12,borderRadius:8,border:`1px solid var(--border-1)`,background:`var(--surface-1)`},children:[(0,b.jsxs)(`div`,{style:{fontWeight:600},children:[`Событие #`,t+1]}),(0,b.jsx)(`div`,{style:{opacity:.72},children:`Пользователь обновил настройки карточки, изменил состав полей и подтвердил сохранение конфигурации.`})]},t))})}),(0,b.jsx)(l,{children:(0,b.jsx)(a,{onClick:t,children:`Закрыть`})})]})]})}},D={name:`Размеры`,args:{size:`sm`,title:`Размер SM`},render:function(){let{args:e,close:t,updateArgs:n}=v();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`div`,{style:{display:`flex`,flexWrap:`wrap`,gap:12,justifyContent:`center`},children:[`sm`,`md`,`lg`,`xl`,`xxl`,`inside`].map(e=>(0,b.jsx)(a,{variant:`transparent`,onClick:()=>n({isOpen:!0,size:e,title:`Размер ${e.toUpperCase()}`}),children:e.toUpperCase()},e))}),(0,b.jsxs)(u,{...e,isOpen:e.isOpen,onClose:t,children:[(0,b.jsx)(c,{children:(0,b.jsxs)(`div`,{style:{display:`grid`,gap:12},children:[(0,b.jsx)(`div`,{children:`Этот сценарий помогает быстро сравнить ширину и поведение модалки для разных размеров.`}),(0,b.jsx)(`div`,{style:{opacity:.72},children:"Проверьте отступы, читабельность и поведение при `Escape`."})]})}),(0,b.jsx)(l,{children:(0,b.jsx)(a,{onClick:t,children:`Понятно`})})]})]})}},O={name:`Стек модалок`,args:{size:`lg`,title:`Первая модалка`},render:function(){let{args:e,updateArgs:t}=v(),[n,r]=(0,y.useState)(!1),i=()=>{r(!1),e.onClose(),t({isOpen:!1})};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{onClick:()=>t({isOpen:!0}),children:`Открыть первую модалку`}),(0,b.jsxs)(u,{...e,isOpen:e.isOpen,onClose:i,children:[(0,b.jsx)(c,{children:(0,b.jsxs)(`div`,{style:{display:`grid`,gap:16},children:[(0,b.jsx)(`div`,{children:"Откройте вторую модалку и проверьте, что `Escape` закрывает только верхний слой."}),(0,b.jsx)(a,{variant:`transparent`,onClick:()=>r(!0),children:`Открыть вторую модалку`})]})}),(0,b.jsx)(l,{children:(0,b.jsx)(a,{variant:`transparent`,onClick:i,children:`Закрыть первую`})})]}),(0,b.jsxs)(u,{isOpen:n,onClose:()=>r(!1),size:`sm`,title:`Вторая модалка`,children:[(0,b.jsx)(c,{children:(0,b.jsxs)(`div`,{style:{display:`grid`,gap:12},children:[(0,b.jsx)(`div`,{children:`Эта модалка должна считаться верхней в стеке.`}),(0,b.jsx)(m,{label:`Короткое поле`,value:`Фокус внутри`,onChange:()=>{}})]})}),(0,b.jsx)(l,{children:(0,b.jsx)(a,{onClick:()=>r(!1),children:`Закрыть вторую`})})]})]})}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-Dvo-sM6X.js";import{n as i,t as a}from"./Button-BGDiDObX.js";import{a as o,i as s,n as c,r as l,t as u}from"./Modal-BRWAjcim.js";import{n as d,t as f}from"./ModalManagerProvider-CBSdkzkh.js";import{l as p,t as m}from"./Input-PCnCDfCc.js";var h=t({Controlled:()=>w,ScrollableContent:()=>E,Sizes:()=>D,StackedModals:()=>O,WithToolbarAndFooter:()=>T,__namedExportsOrder:()=>k,default:()=>C});function g({children:e}){return(0,b.jsx)(`div`,{style:{minHeight:`60dvh`,padding:24,display:`flex`,alignItems:`center`,justifyContent:`center`},children:e})}function _(){let[e,t]=(0,y.useState)(`Алексей`),[n,r]=(0,y.useState)(`Департамент автоматизации бизнеса`);return(0,b.jsxs)(`div`,{style:{display:`grid`,gap:16},children:[(0,b.jsx)(m,{label:`Имя`,value:e,onChange:t,placeholder:`Введите имя`}),(0,b.jsx)(m,{label:`Подразделение`,value:n,onChange:r,placeholder:`Введите подразделение`}),(0,b.jsxs)(`div`,{style:{padding:12,borderRadius:8,background:`var(--surface-1)`,border:`1px solid var(--border-1)`},children:[`Текущие значения: `,e||`не указано`,`, `,n||`не указано`]})]})}function v(){let[e,t]=x();return{args:e,updateArgs:t,close:()=>{e.onClose(),t({isOpen:!1})}}}var y,b,x,S,C,w,T,E,D,O,k;function A(){return(A=e((()=>{y=n(),i(),p(),o(),d(),b=r(),{useArgs:x}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:S}=__STORYBOOK_MODULE_TEST__,C={title:`UI/Modal`,component:u,parameters:{atomicCanvas:!0,layout:`fullscreen`,docs:{description:{component:"Композиционная модалка с `Toolbar`, `Content` и `Footer`, поддержкой focus trap, возврата фокуса, закрытия по `Escape` и менеджером стека через `ModalManagerProvider`."}}},decorators:[e=>(0,b.jsx)(f,{children:(0,b.jsx)(g,{children:e()})})],args:{isOpen:!1,title:`Редактирование профиля`,size:`md`,height:void 0,onClose:S(),children:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(c,{children:(0,b.jsx)(_,{})}),(0,b.jsxs)(l,{children:[(0,b.jsx)(a,{variant:`transparent`,children:`Отмена`}),(0,b.jsx)(a,{children:`Сохранить`})]})]})},argTypes:{isOpen:{description:`Управляет видимостью модального окна.`,control:`boolean`},title:{description:`Заголовок модального окна.`,control:`text`},size:{description:`Предустановленный размер модального окна.`,control:`inline-radio`,options:[`sm`,`md`,`lg`,`xl`,`xxl`,`inside`]},height:{description:`Явная высота модалки выше мобильного breakpoint. На мобильном модалка всегда занимает весь экран.`,control:`text`},onClose:{description:"Вызывается при закрытии по кнопке, `Escape` или пользовательскому действию.",control:!1},children:{description:"Композиция из `ModalToolbar`, `ModalContent`, `ModalFooter`.",control:!1}}},w={name:`Управляемая модалка`,render:function(){let{args:e,close:t,updateArgs:n}=v();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{onClick:()=>n({isOpen:!0}),children:`Открыть модалку`}),(0,b.jsxs)(u,{...e,isOpen:e.isOpen,onClose:t,children:[(0,b.jsx)(c,{children:(0,b.jsx)(_,{})}),(0,b.jsxs)(l,{children:[(0,b.jsx)(a,{variant:`transparent`,onClick:t,children:`Отмена`}),(0,b.jsx)(a,{onClick:t,children:`Сохранить`})]})]})]})}},T={name:`Полная композиция`,args:{title:`Редактирование профиля`,height:`min(34rem, 70dvh)`},render:function(){let{args:e,close:t,updateArgs:n}=v();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{onClick:()=>n({isOpen:!0}),children:`Открыть сценарий редактирования`}),(0,b.jsxs)(u,{...e,isOpen:e.isOpen,onClose:t,children:[(0,b.jsx)(s,{children:(0,b.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:12,padding:12,borderRadius:8,background:`var(--surface-1)`,border:`1px solid var(--border-1)`},children:[(0,b.jsxs)(`div`,{children:[(0,b.jsx)(`div`,{style:{fontWeight:600},children:`Черновик обновлён автоматически`}),(0,b.jsx)(`div`,{style:{opacity:.72},children:`Последнее сохранение: 2 минуты назад`})]}),(0,b.jsx)(a,{variant:`transparent`,children:`Сбросить`})]})}),(0,b.jsx)(c,{children:(0,b.jsx)(_,{})}),(0,b.jsxs)(l,{children:[(0,b.jsx)(a,{variant:`transparent`,onClick:t,children:`Отмена`}),(0,b.jsx)(a,{variant:`success`,onClick:t,children:`Применить`})]})]})]})}},E={name:`Длинный контент`,args:{size:`lg`,title:`Журнал изменений`},render:function(){let{args:e,close:t,updateArgs:n}=v();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{onClick:()=>n({isOpen:!0}),children:`Открыть длинный контент`}),(0,b.jsxs)(u,{...e,isOpen:e.isOpen,onClose:t,children:[(0,b.jsx)(c,{scrollable:!0,children:(0,b.jsx)(`div`,{style:{display:`grid`,gap:12},children:Array.from({length:18},(e,t)=>(0,b.jsxs)(`div`,{style:{padding:12,borderRadius:8,border:`1px solid var(--border-1)`,background:`var(--surface-1)`},children:[(0,b.jsxs)(`div`,{style:{fontWeight:600},children:[`Событие #`,t+1]}),(0,b.jsx)(`div`,{style:{opacity:.72},children:`Пользователь обновил настройки карточки, изменил состав полей и подтвердил сохранение конфигурации.`})]},t))})}),(0,b.jsx)(l,{children:(0,b.jsx)(a,{onClick:t,children:`Закрыть`})})]})]})}},D={name:`Размеры`,args:{size:`sm`,title:`Размер SM`},render:function(){let{args:e,close:t,updateArgs:n}=v();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`div`,{style:{display:`flex`,flexWrap:`wrap`,gap:12,justifyContent:`center`},children:[`sm`,`md`,`lg`,`xl`,`xxl`,`inside`].map(e=>(0,b.jsx)(a,{variant:`transparent`,onClick:()=>n({isOpen:!0,size:e,title:`Размер ${e.toUpperCase()}`}),children:e.toUpperCase()},e))}),(0,b.jsxs)(u,{...e,isOpen:e.isOpen,onClose:t,children:[(0,b.jsx)(c,{children:(0,b.jsxs)(`div`,{style:{display:`grid`,gap:12},children:[(0,b.jsx)(`div`,{children:`Этот сценарий помогает быстро сравнить ширину и поведение модалки для разных размеров.`}),(0,b.jsx)(`div`,{style:{opacity:.72},children:"Проверьте отступы, читабельность и поведение при `Escape`."})]})}),(0,b.jsx)(l,{children:(0,b.jsx)(a,{onClick:t,children:`Понятно`})})]})]})}},O={name:`Стек модалок`,args:{size:`lg`,title:`Первая модалка`},render:function(){let{args:e,updateArgs:t}=v(),[n,r]=(0,y.useState)(!1),i=()=>{r(!1),e.onClose(),t({isOpen:!1})};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{onClick:()=>t({isOpen:!0}),children:`Открыть первую модалку`}),(0,b.jsxs)(u,{...e,isOpen:e.isOpen,onClose:i,children:[(0,b.jsx)(c,{children:(0,b.jsxs)(`div`,{style:{display:`grid`,gap:16},children:[(0,b.jsx)(`div`,{children:"Откройте вторую модалку и проверьте, что `Escape` закрывает только верхний слой."}),(0,b.jsx)(a,{variant:`transparent`,onClick:()=>r(!0),children:`Открыть вторую модалку`})]})}),(0,b.jsx)(l,{children:(0,b.jsx)(a,{variant:`transparent`,onClick:i,children:`Закрыть первую`})})]}),(0,b.jsxs)(u,{isOpen:n,onClose:()=>r(!1),size:`sm`,title:`Вторая модалка`,children:[(0,b.jsx)(c,{children:(0,b.jsxs)(`div`,{style:{display:`grid`,gap:12},children:[(0,b.jsx)(`div`,{children:`Эта модалка должна считаться верхней в стеке.`}),(0,b.jsx)(m,{label:`Короткое поле`,value:`Фокус внутри`,onChange:()=>{}})]})}),(0,b.jsx)(l,{children:(0,b.jsx)(a,{onClick:()=>r(!1),children:`Закрыть вторую`})})]})]})}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
2
2
  name: "Управляемая модалка",
3
3
  render: function Render() {
4
4
  const {
@@ -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-C7Kz5KQm.js";import{o as i,s as a}from"./Modal-DdICfkeu.js";function o({children:e,compensateScrollbar:t=!1}){let[n,r]=(0,s.useState)([]),a=(0,s.useRef)(0),o=(0,s.useRef)(0),l=(0,s.useRef)(``),u=(0,s.useRef)(!1),d=(0,s.useCallback)(e=>{r(t=>[...t,e])},[]),f=(0,s.useCallback)(e=>{r(t=>t.filter(t=>t!==e))},[]),p=(0,s.useCallback)(e=>n[n.length-1]===e,[n]);return(0,s.useEffect)(()=>{let e=a.current===0;if(e&&n.length>0){let e=window.scrollY,r=document.querySelector(`#app-root`);o.current=Math.max(0,window.innerWidth-document.documentElement.clientWidth),l.current=document.body.style.paddingRight,document.body.style.position=`fixed`,document.body.style.top=`-${e}px`,document.body.style.width=`100%`,t&&(document.body.style.paddingRight=`${o.current}px`,u.current=!0),r?.setAttribute(`inert`,`true`),a.current=n.length;return}if(!e&&n.length>0&&t!==u.current&&(document.body.style.paddingRight=t?`${o.current}px`:l.current,u.current=t),!e&&n.length===0){let e=document.querySelector(`#app-root`),t=parseInt(document.body.style.top||`0`)*-1;document.body.style.position=``,document.body.style.top=``,document.body.style.width=``,u.current&&=(document.body.style.paddingRight=l.current,!1),e?.removeAttribute(`inert`),window.scrollTo({top:t,left:0,behavior:`instant`})}a.current=n.length},[t,n.length]),(0,c.jsx)(i.Provider,{value:{modals:n,openModal:d,closeModal:f,isTopModal:p},children:e})}var s,c;function l(){return(l=t((()=>{s=e(n(),1),a(),c=r(),o.__docgenInfo={description:`Провайдер для централизованного управления стеком модальных окон. Дает вложенным компонентам доступ к открытию и закрытию модалок через контекст.`,methods:[],displayName:`ModalManagerProvider`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},compensateScrollbar:{required:!1,tsType:{name:`boolean`},description:`Компенсирует исчезновение скроллбара правым padding у body.`,defaultValue:{value:`false`,computed:!1}}}}})))()}export{l as n,o 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-Dvo-sM6X.js";import{o as i,s as a}from"./Modal-BRWAjcim.js";function o({children:e,compensateScrollbar:t=!1}){let[n,r]=(0,s.useState)([]),a=(0,s.useRef)(0),o=(0,s.useRef)(0),l=(0,s.useRef)(``),u=(0,s.useRef)(!1),d=(0,s.useCallback)(e=>{r(t=>[...t,e])},[]),f=(0,s.useCallback)(e=>{r(t=>t.filter(t=>t!==e))},[]),p=(0,s.useCallback)(e=>n[n.length-1]===e,[n]);return(0,s.useEffect)(()=>{let e=a.current===0;if(e&&n.length>0){let e=window.scrollY,r=document.querySelector(`#app-root`);o.current=Math.max(0,window.innerWidth-document.documentElement.clientWidth),l.current=document.body.style.paddingRight,document.body.style.position=`fixed`,document.body.style.top=`-${e}px`,document.body.style.width=`100%`,t&&(document.body.style.paddingRight=`${o.current}px`,u.current=!0),r?.setAttribute(`inert`,`true`),a.current=n.length;return}if(!e&&n.length>0&&t!==u.current&&(document.body.style.paddingRight=t?`${o.current}px`:l.current,u.current=t),!e&&n.length===0){let e=document.querySelector(`#app-root`),t=parseInt(document.body.style.top||`0`)*-1;document.body.style.position=``,document.body.style.top=``,document.body.style.width=``,u.current&&=(document.body.style.paddingRight=l.current,!1),e?.removeAttribute(`inert`),window.scrollTo({top:t,left:0,behavior:`instant`})}a.current=n.length},[t,n.length]),(0,c.jsx)(i.Provider,{value:{modals:n,openModal:d,closeModal:f,isTopModal:p},children:e})}var s,c;function l(){return(l=t((()=>{s=e(n(),1),a(),c=r(),o.__docgenInfo={description:`Провайдер для централизованного управления стеком модальных окон. Дает вложенным компонентам доступ к открытию и закрытию модалок через контекст.`,methods:[],displayName:`ModalManagerProvider`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},compensateScrollbar:{required:!1,tsType:{name:`boolean`},description:`Компенсирует исчезновение скроллбара правым padding у body.`,defaultValue:{value:`false`,computed:!1}}}}})))()}export{l as n,o as t};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-C7Kz5KQm.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-D3JUer2A.js";import{a as p,i as m,n as h,o as g,r as _,t as v}from"./MultiSelect.stories-_2cvw3LS.js";function y(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...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-Dvo-sM6X.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-BQbV8tvi.js";import{a as p,i as m,n as h,o as g,r as _,t as v}from"./MultiSelect.stories-CfY-hEDN.js";function y(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...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:`MultiSelect`}),`
3
3
  `,(0,x.jsx)(o,{children:`Мультиселект для локальных коллекций с токенами, поиском и состояниями загрузки`}),`
4
4
  `,(0,x.jsx)(t.p,{children:`MultiSelect уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -1,2 +1,2 @@
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,t as i}from"./CheckBox-CXEY0VzR.js";import{n as a}from"./iframe-C7Kz5KQm.js";import{n as o,t as ee}from"./OptionButton-CMX7xMiS.js";import{n as s,t as c}from"./Text-STwJhH5H.js";import{n as l,t as u}from"./ui.module-Ci4WdQwm.js";import{l as te,n as d,t as f,u as p}from"./Option-DEgrC04Q.js";import{n as m,t as h}from"./PickerField-DmaPEE37.js";import{c as g,i as _,l as v,n as y,r as b,s as ne,t as x,u as S}from"./usePickerTriggerController-B6yHzM_q.js";import{i as C,n as re,r as w,t as T}from"./usePickerQuery-CYbInhrJ.js";import{n as ie,t as ae}from"./usePickerDefaultFilter-ien2ZY7g.js";import{a as oe,i as E,n as se,o as D,s as ce,t as le}from"./defaultRenderers-UxEpV_2H.js";var O,k,A;function j(){return(j=t((()=>{O=`_9oSdQi`,k=`d9SDKQ`,A={multiSelect:O,optionCheckBox:k}})))()}function M({text:e,isError:t}){return(0,N.jsxs)(`div`,{className:l.uiPopupOption,children:[(0,N.jsx)(`span`,{className:l.uiPopupOptionIcon}),(0,N.jsx)(c,{color:t?`error`:`primary`,children:e})]})}var N;function P(){return(P=t((()=>{s(),u(),N=a(),M.__docgenInfo={description:"Скелетон строки опции для `MultiSelect`. Используется во время загрузки или при отображении ошибок получения списка.",methods:[],displayName:`MultiSelectOptionSkeleton`,props:{text:{required:!0,tsType:{name:`string`},description:``},isError:{required:!1,tsType:{name:`boolean`},description:``}}}})))()}function ue({isNoData:e,error:t,children:n}){return e?(0,L.jsx)(w,{emptyState:(0,L.jsx)(M,{text:`Нет данных`})}):t?(0,L.jsx)(w,{errorState:(0,L.jsx)(M,{isError:!0,text:`Ошибка загрузки`})}):(0,L.jsx)(L.Fragment,{children:n})}function F(e,t){return e[t]}function de(e,t,n){return Array.from(new Set([e[n],e[t],...Object.values(e)]))}function fe(e,t,n){if(e.length!==t.length)return!1;let r=new Set(t.map(e=>F(e,n)));return e.every(e=>r.has(F(e,n)))}function pe({entries:e,listId:t,activeIndex:n,selectedKeys:r,codeKey:a,query:o,highlightQuery:s,getOptionDisabled:c,getOptionId:l,setOptionRef:u,toggleOption:te,selectOnlyOption:d,renderItem:p}){return e.map(({item:e,index:m})=>{let h=m===n,g=F(e,a),_=r.has(g),v=c?.(e)??!1,y=p(e,{selected:_,active:h,disabled:v,query:o,highlightQuery:s});return(0,L.jsxs)(f,{id:l(t,m),ref:e=>u(m,e),role:`option`,"aria-selected":_,"aria-disabled":v||void 0,selected:_,active:h,disabled:v,children:[(0,L.jsx)(`div`,{className:A.optionCheckBox,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,L.jsx)(i,{value:_,disabled:v,"aria-label":`Выбрать ${s??g}`,onChange:()=>te(e)})}),(0,L.jsx)(ee,{tabIndex:-1,disabled:v,text:y.text,code:y.code,searchText:s,onMouseDown:e=>e.preventDefault(),onClick:()=>d(e)})]},`${g}-${m}`)})}var I,L,R,z;function B(){return(B=t((()=>{I=e(n(),1),r(),d(),o(),m(),S(),C(),g(),ae(),b(),T(),D(),x(),p(),E(),j(),P(),L=a(),R=[],z=(0,I.forwardRef)(({codeKey:e,textKey:t,hideCode:n,items:r,value:i,onChange:a,label:o,description:ee,placeholder:s,size:c,query:l,defaultQuery:u,highlightQuery:d,onQuery:f,defaultFilter:p=!0,onOpen:m,onClose:g,getOptionDisabled:b,disabled:x,error:S,isLoading:C,renderToken:w,renderToolbar:T,renderItem:ae},E)=>{let D=(0,I.useRef)(null),[O,k]=(0,I.useState)(!1),j=`search-multi`,M=i??R,N=(0,I.useMemo)(()=>new Set(M.map(t=>F(t,e))),[e,M]),P=(0,I.useMemo)(()=>r.filter(t=>!N.has(F(t,e))),[e,N,r]),z=(0,I.useMemo)(()=>oe([...M,...r],e,t),[e,M,r,t]),{query:B,setQuery:V,resetQueryOnClose:me}=re({query:l,defaultQuery:u,onQuery:f,triggerMode:j}),he=e=>{O&&!e&&me&&V(``),k(e)},H=ie({options:M,query:B,enabled:p,getSearchText:t=>de(t,e,z)}),U=ie({options:P,query:B,enabled:p,getSearchText:t=>de(t,e,z)}),W=(0,I.useMemo)(()=>[...H,...U],[U,H]),ge=H.length>0?0:-1,{draftValue:G,setDraftValue:K,prepareOpen:_e}=ce({value:M,open:O,onCommit:a,onOpen:m,onClose:g,isEqual:(t,n)=>fe(t,n,e)}),q=(0,I.useMemo)(()=>new Set(G.map(t=>F(t,e))),[e,G]),ve=(0,I.useMemo)(()=>({selectedItems:G,committedSelectedItems:M,selectedKeys:q,open:O}),[M,G,O,q]),J=(0,I.useCallback)(e=>b?.(e,ve)??!1,[b,ve]),{activeIndex:Y,context:ye,floatingStyles:be,getFloatingProps:xe,setReference:Se,setFloating:Ce,setOptionRef:we,close:Te,openList:Ee,toggleOpen:De,selectActiveOption:Oe,handleReferenceKeyDown:ke,handleFloatingKeyDown:Ae,getOptionId:je,getActiveOptionId:Me}=_({options:W,selectedIndex:ge,open:O,onOpenChange:he,onSelect:void 0,disabled:x,getOptionDisabled:J,closeOnSelect:!1,allowOpenWithoutOptions:!0,triggerMode:j}),Ne=d??B,X=t=>{let n=F(t,e);K(r=>r.some(t=>F(t,e)===n)?r.filter(t=>F(t,e)!==n):J(t)?r:[...r,t])},Pe=e=>{if(D.current=e,typeof E==`function`){E(e);return}E&&(E.current=e)},Fe=()=>{K([]),O||a([])},Ie=()=>{K(t=>{let n=[...t],r=new Set(t.map(t=>F(t,e)));for(let t of W){let i=F(t,e);!r.has(i)&&!J(t)&&(r.add(i),n.push(t))}return n})},Le=()=>{K([])},Re=e=>{J(e)||(K([e]),Te())},ze=O?G:M,Z=ze.length>0,Be={selectedItems:ze,committedSelectedItems:M,availableItems:U,query:B,open:O,clearSelection:Fe,selectAll:Ie,deselectAll:Le},Ve=w===void 0?se({codeKey:e,textKey:z}):w,He=ae??le({codeKey:e,textKey:z,hideCode:n}),Ue=typeof Ve==`function`?Ve(Be):null,We=typeof T==`function`?T(Be):T,Q=H.map((e,t)=>({item:e,index:t})),Ge=U.map((e,t)=>({item:e,index:t+Q.length})),Ke=!C&&!S&&W.length===0,$=y({mode:j,open:O,currentQuery:B,hasDisplayValue:!1,inputRef:D,setQuery:V,openList:Ee,close:Te,toggleOpen:De,onBeforeOpen:()=>{O||_e()}});return(0,L.jsx)(h,{label:o,description:ee,disabled:x,size:c,className:A.multiSelect,children:({controlId:t,labelId:n,describedBy:i})=>{let a=`${t}-listbox`;return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(ne,{ref:Pe,rootRef:Se,id:t,type:`text`,role:`combobox`,autoComplete:`off`,isLoading:C,disabled:x,open:O,optionCount:r.length,label:o,placeholder:s,placeholderFallback:`Выберите значения`,value:B,selectedValue:Ue,hasSelection:Z,showSelectedValue:Z&&B.length===0,clearable:!0,onClear:Fe,clearAriaLabel:`Очистить все`,onToggleMouseDown:$.handleToggleMouseDown,onToggleClick:$.handleToggleClick,"aria-labelledby":n,"aria-describedby":i,"aria-haspopup":`listbox`,"aria-expanded":O,"aria-controls":O?a:void 0,"aria-autocomplete":`list`,"aria-activedescendant":O?Me(a):void 0,rootClassName:`flex alignItemsCenter`,onChange:e=>{$.handleTriggerInputChange(e.target.value)},onClick:$.handleTriggerClick,onFocus:e=>{$.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{ke(e),!e.defaultPrevented&&$.handleTriggerKeyDown({event:e,onActivateWhenOpen:()=>{if(Y>=0){let e=W[Y];if(e){X(e);return}}Oe()},enableClosedArrowDownOpen:!0,suppressClosedArrowUp:!0})}}),(0,L.jsx)(v,{open:O,context:ye,floatingStyles:be,listId:a,labelId:n,descriptionId:i,activeOptionId:O?Me(a):void 0,setFloating:Ce,getFloatingProps:xe,onKeyDown:Ae,initialFocus:-1,returnFocus:!1,tabIndex:-1,toolbar:We,selectionActions:T===void 0?{onSelectAll:Ie,onDeselectAll:Le}:void 0,children:(0,L.jsx)(ue,{isNoData:Ke,error:S,children:(0,L.jsxs)(`div`,{className:`scrollable overscroll h100`,children:[(0,L.jsx)(pe,{entries:Q,listId:a,activeIndex:Y,selectedKeys:q,codeKey:e,query:B,highlightQuery:Ne,getOptionDisabled:J,getOptionId:je,setOptionRef:we,toggleOption:X,selectOnlyOption:Re,renderItem:He}),Q.length>0&&P.length>0&&(0,L.jsx)(te,{className:`marginBlockSm`}),(0,L.jsx)(pe,{entries:Ge,listId:a,activeIndex:Y,selectedKeys:q,codeKey:e,query:B,highlightQuery:Ne,getOptionDisabled:J,getOptionId:je,setOptionRef:we,toggleOption:X,selectOnlyOption:Re,renderItem:He})]})})})]})}})}),z.displayName=`MultiSelect`,z.__docgenInfo={description:`Поле множественного выбора с внутренним черновиком значений и подтверждением выбора при закрытии списка.
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,t as i}from"./CheckBox-CNwSS4x-.js";import{n as a}from"./iframe-Dvo-sM6X.js";import{n as o,t as ee}from"./OptionButton-1bkL_ARz.js";import{n as s,t as c}from"./Text-B3D2vMCW.js";import{n as l,t as u}from"./ui.module-Ci4WdQwm.js";import{l as te,n as d,t as f,u as p}from"./Option-BwIc-SxO.js";import{n as m,t as h}from"./PickerField-BVM71JTp.js";import{c as g,i as _,l as v,n as y,r as b,s as ne,t as x,u as S}from"./usePickerTriggerController-D-NPyaVF.js";import{i as C,n as re,r as w,t as T}from"./usePickerQuery-BujjL0G3.js";import{n as ie,t as ae}from"./usePickerDefaultFilter-ien2ZY7g.js";import{a as oe,i as E,n as se,o as D,s as ce,t as le}from"./defaultRenderers-UxEpV_2H.js";var O,k,A;function j(){return(j=t((()=>{O=`_9oSdQi`,k=`d9SDKQ`,A={multiSelect:O,optionCheckBox:k}})))()}function M({text:e,isError:t}){return(0,N.jsxs)(`div`,{className:l.uiPopupOption,children:[(0,N.jsx)(`span`,{className:l.uiPopupOptionIcon}),(0,N.jsx)(c,{color:t?`error`:`primary`,children:e})]})}var N;function P(){return(P=t((()=>{s(),u(),N=a(),M.__docgenInfo={description:"Скелетон строки опции для `MultiSelect`. Используется во время загрузки или при отображении ошибок получения списка.",methods:[],displayName:`MultiSelectOptionSkeleton`,props:{text:{required:!0,tsType:{name:`string`},description:``},isError:{required:!1,tsType:{name:`boolean`},description:``}}}})))()}function ue({isNoData:e,error:t,children:n}){return e?(0,L.jsx)(w,{emptyState:(0,L.jsx)(M,{text:`Нет данных`})}):t?(0,L.jsx)(w,{errorState:(0,L.jsx)(M,{isError:!0,text:`Ошибка загрузки`})}):(0,L.jsx)(L.Fragment,{children:n})}function F(e,t){return e[t]}function de(e,t,n){return Array.from(new Set([e[n],e[t],...Object.values(e)]))}function fe(e,t,n){if(e.length!==t.length)return!1;let r=new Set(t.map(e=>F(e,n)));return e.every(e=>r.has(F(e,n)))}function pe({entries:e,listId:t,activeIndex:n,selectedKeys:r,codeKey:a,query:o,highlightQuery:s,getOptionDisabled:c,getOptionId:l,setOptionRef:u,toggleOption:te,selectOnlyOption:d,renderItem:p}){return e.map(({item:e,index:m})=>{let h=m===n,g=F(e,a),_=r.has(g),v=c?.(e)??!1,y=p(e,{selected:_,active:h,disabled:v,query:o,highlightQuery:s});return(0,L.jsxs)(f,{id:l(t,m),ref:e=>u(m,e),role:`option`,"aria-selected":_,"aria-disabled":v||void 0,selected:_,active:h,disabled:v,children:[(0,L.jsx)(`div`,{className:A.optionCheckBox,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,L.jsx)(i,{value:_,disabled:v,"aria-label":`Выбрать ${s??g}`,onChange:()=>te(e)})}),(0,L.jsx)(ee,{tabIndex:-1,disabled:v,text:y.text,code:y.code,searchText:s,onMouseDown:e=>e.preventDefault(),onClick:()=>d(e)})]},`${g}-${m}`)})}var I,L,R,z;function B(){return(B=t((()=>{I=e(n(),1),r(),d(),o(),m(),S(),C(),g(),ae(),b(),T(),D(),x(),p(),E(),j(),P(),L=a(),R=[],z=(0,I.forwardRef)(({codeKey:e,textKey:t,hideCode:n,items:r,value:i,onChange:a,label:o,description:ee,placeholder:s,size:c,query:l,defaultQuery:u,highlightQuery:d,onQuery:f,defaultFilter:p=!0,onOpen:m,onClose:g,getOptionDisabled:b,disabled:x,error:S,isLoading:C,renderToken:w,renderToolbar:T,renderItem:ae},E)=>{let D=(0,I.useRef)(null),[O,k]=(0,I.useState)(!1),j=`search-multi`,M=i??R,N=(0,I.useMemo)(()=>new Set(M.map(t=>F(t,e))),[e,M]),P=(0,I.useMemo)(()=>r.filter(t=>!N.has(F(t,e))),[e,N,r]),z=(0,I.useMemo)(()=>oe([...M,...r],e,t),[e,M,r,t]),{query:B,setQuery:V,resetQueryOnClose:me}=re({query:l,defaultQuery:u,onQuery:f,triggerMode:j}),he=e=>{O&&!e&&me&&V(``),k(e)},H=ie({options:M,query:B,enabled:p,getSearchText:t=>de(t,e,z)}),U=ie({options:P,query:B,enabled:p,getSearchText:t=>de(t,e,z)}),W=(0,I.useMemo)(()=>[...H,...U],[U,H]),ge=H.length>0?0:-1,{draftValue:G,setDraftValue:K,prepareOpen:_e}=ce({value:M,open:O,onCommit:a,onOpen:m,onClose:g,isEqual:(t,n)=>fe(t,n,e)}),q=(0,I.useMemo)(()=>new Set(G.map(t=>F(t,e))),[e,G]),ve=(0,I.useMemo)(()=>({selectedItems:G,committedSelectedItems:M,selectedKeys:q,open:O}),[M,G,O,q]),J=(0,I.useCallback)(e=>b?.(e,ve)??!1,[b,ve]),{activeIndex:Y,context:ye,floatingStyles:be,getFloatingProps:xe,setReference:Se,setFloating:Ce,setOptionRef:we,close:Te,openList:Ee,toggleOpen:De,selectActiveOption:Oe,handleReferenceKeyDown:ke,handleFloatingKeyDown:Ae,getOptionId:je,getActiveOptionId:Me}=_({options:W,selectedIndex:ge,open:O,onOpenChange:he,onSelect:void 0,disabled:x,getOptionDisabled:J,closeOnSelect:!1,allowOpenWithoutOptions:!0,triggerMode:j}),Ne=d??B,X=t=>{let n=F(t,e);K(r=>r.some(t=>F(t,e)===n)?r.filter(t=>F(t,e)!==n):J(t)?r:[...r,t])},Pe=e=>{if(D.current=e,typeof E==`function`){E(e);return}E&&(E.current=e)},Fe=()=>{K([]),O||a([])},Ie=()=>{K(t=>{let n=[...t],r=new Set(t.map(t=>F(t,e)));for(let t of W){let i=F(t,e);!r.has(i)&&!J(t)&&(r.add(i),n.push(t))}return n})},Le=()=>{K([])},Re=e=>{J(e)||(K([e]),Te())},ze=O?G:M,Z=ze.length>0,Be={selectedItems:ze,committedSelectedItems:M,availableItems:U,query:B,open:O,clearSelection:Fe,selectAll:Ie,deselectAll:Le},Ve=w===void 0?se({codeKey:e,textKey:z}):w,He=ae??le({codeKey:e,textKey:z,hideCode:n}),Ue=typeof Ve==`function`?Ve(Be):null,We=typeof T==`function`?T(Be):T,Q=H.map((e,t)=>({item:e,index:t})),Ge=U.map((e,t)=>({item:e,index:t+Q.length})),Ke=!C&&!S&&W.length===0,$=y({mode:j,open:O,currentQuery:B,hasDisplayValue:!1,inputRef:D,setQuery:V,openList:Ee,close:Te,toggleOpen:De,onBeforeOpen:()=>{O||_e()}});return(0,L.jsx)(h,{label:o,description:ee,disabled:x,size:c,className:A.multiSelect,children:({controlId:t,labelId:n,describedBy:i})=>{let a=`${t}-listbox`;return(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(ne,{ref:Pe,rootRef:Se,id:t,type:`text`,role:`combobox`,autoComplete:`off`,isLoading:C,disabled:x,open:O,optionCount:r.length,label:o,placeholder:s,placeholderFallback:`Выберите значения`,value:B,selectedValue:Ue,hasSelection:Z,showSelectedValue:Z&&B.length===0,clearable:!0,onClear:Fe,clearAriaLabel:`Очистить все`,onToggleMouseDown:$.handleToggleMouseDown,onToggleClick:$.handleToggleClick,"aria-labelledby":n,"aria-describedby":i,"aria-haspopup":`listbox`,"aria-expanded":O,"aria-controls":O?a:void 0,"aria-autocomplete":`list`,"aria-activedescendant":O?Me(a):void 0,rootClassName:`flex alignItemsCenter`,onChange:e=>{$.handleTriggerInputChange(e.target.value)},onClick:$.handleTriggerClick,onFocus:e=>{$.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{ke(e),!e.defaultPrevented&&$.handleTriggerKeyDown({event:e,onActivateWhenOpen:()=>{if(Y>=0){let e=W[Y];if(e){X(e);return}}Oe()},enableClosedArrowDownOpen:!0,suppressClosedArrowUp:!0})}}),(0,L.jsx)(v,{open:O,context:ye,floatingStyles:be,listId:a,labelId:n,descriptionId:i,activeOptionId:O?Me(a):void 0,setFloating:Ce,getFloatingProps:xe,onKeyDown:Ae,initialFocus:-1,returnFocus:!1,tabIndex:-1,toolbar:We,selectionActions:T===void 0?{onSelectAll:Ie,onDeselectAll:Le}:void 0,children:(0,L.jsx)(ue,{isNoData:Ke,error:S,children:(0,L.jsxs)(`div`,{className:`scrollable overscroll h100`,children:[(0,L.jsx)(pe,{entries:Q,listId:a,activeIndex:Y,selectedKeys:q,codeKey:e,query:B,highlightQuery:Ne,getOptionDisabled:J,getOptionId:je,setOptionRef:we,toggleOption:X,selectOnlyOption:Re,renderItem:He}),Q.length>0&&P.length>0&&(0,L.jsx)(te,{className:`marginBlockSm`}),(0,L.jsx)(pe,{entries:Ge,listId:a,activeIndex:Y,selectedKeys:q,codeKey:e,query:B,highlightQuery:Ne,getOptionDisabled:J,getOptionId:je,setOptionRef:we,toggleOption:X,selectOnlyOption:Re,renderItem:He})]})})})]})}})}),z.displayName=`MultiSelect`,z.__docgenInfo={description:`Поле множественного выбора с внутренним черновиком значений и подтверждением выбора при закрытии списка.
2
2
  Подходит как для самостоятельного использования, так и как базовый слой для OData-оберток.`,methods:[],displayName:`MultiSelect`,props:{renderToken:{required:!1,tsType:{name:`union`,raw:`((context: TContext) => React.ReactNode) | null | false`,elements:[{name:`unknown`},{name:`null`},{name:`literal`,value:`false`}]},description:``},renderToolbar:{required:!1,tsType:{name:`union`,raw:`((context: TContext) => React.ReactNode) | null | false`,elements:[{name:`unknown`},{name:`null`},{name:`literal`,value:`false`}]},description:``},renderItem:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(item: CollectionItem, state: MultiSelectItemState) => MultiSelectOptionContent`,signature:{arguments:[{type:{name:`CollectionItem`},name:`item`},{type:{name:`MultiSelectItemState`},name:`state`}],return:{name:`MultiSelectOptionContent`}}},description:``},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:``},codeKey:{required:!0,tsType:{name:`string`},description:``},textKey:{required:!1,tsType:{name:`string`},description:``},hideCode:{required:!1,tsType:{name:`boolean`},description:``},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},highlightQuery:{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:``},defaultFilter:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},items:{required:!0,tsType:{name:`Array`,elements:[{name:`TOption`}],raw:`TOption[]`},description:``},getOptionDisabled:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(item: TOption, context: MultiSelectOptionDisableContext) => boolean`,signature:{arguments:[{type:{name:`TOption`},name:`item`},{type:{name:`MultiSelectOptionDisableContext`},name:`context`}],return:{name:`boolean`}}},description:``},onOpen:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},onClose:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: TOption[]) => void`,signature:{arguments:[{type:{name:`Array`,elements:[{name:`TOption`}],raw:`TOption[]`},name:`value`}],return:{name:`void`}}},description:``},error:{required:!1,tsType:{name:`string`},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``}}}})))()}export{B as n,z as t};
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-C7Kz5KQm.js";import{n as i,t as a}from"./MultiSelect-BWnr3sww.js";var o=t({Basic:()=>p,Empty:()=>g,ErrorState:()=>h,Loading:()=>m,__namedExportsOrder:()=>_,default:()=>f}),s,c,l,u,d,f,p,m,h,g,_;function v(){return(v=e((()=>{s=n(),i(),c=r(),{useArgs:l}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:u}=__STORYBOOK_MODULE_TEST__,d=[{code:`MOW`,label:`Москва`},{code:`SPB`,label:`Санкт-Петербург`},{code:`EKB`,label:`Екатеринбург`},{code:`KZN`,label:`Казань`},{code:`NSK`,label:`Новосибирск`}],f={title:`UI/MultiSelect`,component:a,args:{label:`Города`,description:`Выберите несколько значений.`,placeholder:`Начните вводить`,value:[],onChange:u(),codeKey:`code`,textKey:`label`,items:d,query:``,onQuery:u(),onOpen:()=>{},onClose:u(),size:`md`,disabled:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под полем.`,control:`text`},placeholder:{description:`Текст пустого поля.`,control:`text`},value:{description:`Контролируемый набор выбранных option.`,control:!1},onChange:{description:`Вызывается после подтверждения набора option.`,control:!1},codeKey:{description:`Имя поля option с уникальным ключом.`,control:`text`},textKey:{description:`Имя поля option с отображаемым текстом.`,control:`text`},hideCode:{description:`Скрывает код option в токенах и списке.`,control:`boolean`},items:{description:`Набор доступных option.`,control:!1},query:{description:`Контролируемый текст поиска.`,control:`text`},defaultQuery:{description:`Начальный текст поиска в uncontrolled-режиме.`,control:`text`},highlightQuery:{description:`Текст, который подсвечивается в option.`,control:`text`},onQuery:{description:`Вызывается при вводе поисковой строки.`,control:!1},defaultFilter:{description:`Включает встроенную фильтрацию option.`,control:`boolean`},getOptionDisabled:{description:`Блокирует отдельные option с учетом текущего выбора.`,control:!1},onOpen:{description:`Вызывается при открытии списка.`,control:!1},onClose:{description:`Вызывается при закрытии списка после commit.`,control:!1},error:{description:`Текст ошибки загрузки option.`,control:`text`},isLoading:{description:`Показывает состояние загрузки option.`,control:`boolean`},renderToken:{description:`Кастомный рендер выбранных токенов.`,control:!1},renderToolbar:{description:`Кастомный рендер toolbar popup.`,control:!1},renderItem:{description:`Возвращает text, code и searchText для общей композиции OptionButton.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},p={render:function(e){let[,t]=l(),n=e.value??[d[1]],r=e.query??``,i=(0,s.useMemo)(()=>{let e=r.trim().toLowerCase();return e?d.filter(t=>t.label.toLowerCase().includes(e)||t.code.toLowerCase().includes(e)):d},[r]);return(0,c.jsx)(a,{...e,value:n,items:i,query:r,onQuery:n=>{e.onQuery?.(n),t({query:n})},onChange:n=>{e.onChange(n),t({value:n})}})}},m={render:function(e){let[,t]=l();return(0,c.jsx)(a,{...e,value:e.value??[],items:[],isLoading:!0,onChange:n=>{e.onChange(n),t({value:n})}})}},h={render:function(e){let[,t]=l();return(0,c.jsx)(a,{...e,value:e.value??[],items:[],error:`Ошибка загрузки`,onChange:n=>{e.onChange(n),t({value:n})}})}},g={render:function(e){let[,t]=l();return(0,c.jsx)(a,{...e,value:e.value??[],items:[],onChange:n=>{e.onChange(n),t({value:n})}})}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-Dvo-sM6X.js";import{n as i,t as a}from"./MultiSelect-UuMNjdIM.js";var o=t({Basic:()=>p,Empty:()=>g,ErrorState:()=>h,Loading:()=>m,__namedExportsOrder:()=>_,default:()=>f}),s,c,l,u,d,f,p,m,h,g,_;function v(){return(v=e((()=>{s=n(),i(),c=r(),{useArgs:l}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:u}=__STORYBOOK_MODULE_TEST__,d=[{code:`MOW`,label:`Москва`},{code:`SPB`,label:`Санкт-Петербург`},{code:`EKB`,label:`Екатеринбург`},{code:`KZN`,label:`Казань`},{code:`NSK`,label:`Новосибирск`}],f={title:`UI/MultiSelect`,component:a,args:{label:`Города`,description:`Выберите несколько значений.`,placeholder:`Начните вводить`,value:[],onChange:u(),codeKey:`code`,textKey:`label`,items:d,query:``,onQuery:u(),onOpen:()=>{},onClose:u(),size:`md`,disabled:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под полем.`,control:`text`},placeholder:{description:`Текст пустого поля.`,control:`text`},value:{description:`Контролируемый набор выбранных option.`,control:!1},onChange:{description:`Вызывается после подтверждения набора option.`,control:!1},codeKey:{description:`Имя поля option с уникальным ключом.`,control:`text`},textKey:{description:`Имя поля option с отображаемым текстом.`,control:`text`},hideCode:{description:`Скрывает код option в токенах и списке.`,control:`boolean`},items:{description:`Набор доступных option.`,control:!1},query:{description:`Контролируемый текст поиска.`,control:`text`},defaultQuery:{description:`Начальный текст поиска в uncontrolled-режиме.`,control:`text`},highlightQuery:{description:`Текст, который подсвечивается в option.`,control:`text`},onQuery:{description:`Вызывается при вводе поисковой строки.`,control:!1},defaultFilter:{description:`Включает встроенную фильтрацию option.`,control:`boolean`},getOptionDisabled:{description:`Блокирует отдельные option с учетом текущего выбора.`,control:!1},onOpen:{description:`Вызывается при открытии списка.`,control:!1},onClose:{description:`Вызывается при закрытии списка после commit.`,control:!1},error:{description:`Текст ошибки загрузки option.`,control:`text`},isLoading:{description:`Показывает состояние загрузки option.`,control:`boolean`},renderToken:{description:`Кастомный рендер выбранных токенов.`,control:!1},renderToolbar:{description:`Кастомный рендер toolbar popup.`,control:!1},renderItem:{description:`Возвращает text, code и searchText для общей композиции OptionButton.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},p={render:function(e){let[,t]=l(),n=e.value??[d[1]],r=e.query??``,i=(0,s.useMemo)(()=>{let e=r.trim().toLowerCase();return e?d.filter(t=>t.label.toLowerCase().includes(e)||t.code.toLowerCase().includes(e)):d},[r]);return(0,c.jsx)(a,{...e,value:n,items:i,query:r,onQuery:n=>{e.onQuery?.(n),t({query:n})},onChange:n=>{e.onChange(n),t({value:n})}})}},m={render:function(e){let[,t]=l();return(0,c.jsx)(a,{...e,value:e.value??[],items:[],isLoading:!0,onChange:n=>{e.onChange(n),t({value:n})}})}},h={render:function(e){let[,t]=l();return(0,c.jsx)(a,{...e,value:e.value??[],items:[],error:`Ошибка загрузки`,onChange:n=>{e.onChange(n),t({value:n})}})}},g={render:function(e){let[,t]=l();return(0,c.jsx)(a,{...e,value:e.value??[],items:[],onChange:n=>{e.onChange(n),t({value:n})}})}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
2
2
  render: function Render(args) {
3
3
  const [, updateArgs] = useArgs<React.ComponentProps<typeof MultiSelect>>();
4
4
  const value = args.value ?? [catalog[1]!];
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-C7Kz5KQm.js";import{a as n,i as r}from"./utils-tg3ibbzi.js";import{n as i,t as a}from"./Text-STwJhH5H.js";var o,s;function c(){return(c=e((()=>{r(),o=t(),s=({className:e,minHeight:t,children:r,style:i,...a})=>{let s=t===void 0?i:{...i,minHeight:t};return(0,o.jsx)(`div`,{...a,className:n(`flexCenter h100`,e),style:s,children:r})},s.__docgenInfo={description:``,methods:[],displayName:`FlexCenter`,props:{children:{required:!1,tsType:{name:`ReactNode`},description:``},minHeight:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``}},composes:[`Omit`]}})))()}var l,u;function d(){return(d=e((()=>{l=`qgIKVo`,u={componentLoader:l}})))()}function f({className:e,children:t,color:r=`muted`,role:i,minHeight:o,uppercase:c=!0}){return(0,p.jsx)(s,{className:n(`paddingMd textCenter`,e),minHeight:o,children:(0,p.jsx)(a,{as:`p`,weight:`bold`,color:r,uppercase:c,role:i,children:t})})}var p;function m(){return(m=e((()=>{r(),c(),i(),p=t(),f.__docgenInfo={description:``,methods:[],displayName:`Message`,props:{className:{required:!1,tsType:{name:`string`},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:``,defaultValue:{value:`"muted"`,computed:!1}},minHeight:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``},uppercase:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},role:{required:!1,tsType:{name:`AriaRole`},description:``}},composes:[`PropsWithChildren`]}})))()}function h({className:e,logo:t,text:r}){return(0,g.jsxs)(f,{className:n(u.componentLoader,t?void 0:`skeletonLine`,e),children:[t,r||`Загрузка...`]})}var g;function _(){return(_=e((()=>{r(),d(),m(),g=t(),h.__docgenInfo={description:``,methods:[],displayName:`LoadingMessage`,props:{className:{required:!1,tsType:{name:`string`},description:``},logo:{required:!1,tsType:{name:`ReactNode`},description:`Готовый брендовый знак, которым host-проект при необходимости дополняет сообщение о загрузке.`},text:{required:!1,tsType:{name:`string`},description:``}}}})))()}function v({className:e,text:t,role:n,minHeight:r=`5em`}){return(0,y.jsx)(f,{className:e,color:`muted`,minHeight:r,role:n,children:t||`Нет данных`})}var y;function b(){return(b=e((()=>{m(),y=t(),v.__docgenInfo={description:``,methods:[],displayName:`NoData`,props:{className:{required:!1,tsType:{name:`string`},description:``},text:{required:!1,tsType:{name:`string`},description:``},minHeight:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``,defaultValue:{value:`"5em"`,computed:!1}},role:{required:!1,tsType:{name:`AriaRole`},description:``}}}})))()}export{_ as i,b as n,h as r,v as t};
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-Dvo-sM6X.js";import{a as n,i as r}from"./utils-tg3ibbzi.js";import{n as i,t as a}from"./Text-B3D2vMCW.js";var o,s;function c(){return(c=e((()=>{r(),o=t(),s=({className:e,minHeight:t,children:r,style:i,...a})=>{let s=t===void 0?i:{...i,minHeight:t};return(0,o.jsx)(`div`,{...a,className:n(`flexCenter h100`,e),style:s,children:r})},s.__docgenInfo={description:``,methods:[],displayName:`FlexCenter`,props:{children:{required:!1,tsType:{name:`ReactNode`},description:``},minHeight:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``}},composes:[`Omit`]}})))()}var l,u;function d(){return(d=e((()=>{l=`qgIKVo`,u={componentLoader:l}})))()}function f({className:e,children:t,color:r=`muted`,role:i,minHeight:o,uppercase:c=!0}){return(0,p.jsx)(s,{className:n(`paddingMd textCenter`,e),minHeight:o,children:(0,p.jsx)(a,{as:`p`,weight:`bold`,color:r,uppercase:c,role:i,children:t})})}var p;function m(){return(m=e((()=>{r(),c(),i(),p=t(),f.__docgenInfo={description:``,methods:[],displayName:`Message`,props:{className:{required:!1,tsType:{name:`string`},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:``,defaultValue:{value:`"muted"`,computed:!1}},minHeight:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``},uppercase:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},role:{required:!1,tsType:{name:`AriaRole`},description:``}},composes:[`PropsWithChildren`]}})))()}function h({className:e,logo:t,text:r}){return(0,g.jsxs)(f,{className:n(u.componentLoader,t?void 0:`skeletonLine`,e),children:[t,r||`Загрузка...`]})}var g;function _(){return(_=e((()=>{r(),d(),m(),g=t(),h.__docgenInfo={description:``,methods:[],displayName:`LoadingMessage`,props:{className:{required:!1,tsType:{name:`string`},description:``},logo:{required:!1,tsType:{name:`ReactNode`},description:`Готовый брендовый знак, которым host-проект при необходимости дополняет сообщение о загрузке.`},text:{required:!1,tsType:{name:`string`},description:``}}}})))()}function v({className:e,text:t,role:n,minHeight:r=`5em`}){return(0,y.jsx)(f,{className:e,color:`muted`,minHeight:r,role:n,children:t||`Нет данных`})}var y;function b(){return(b=e((()=>{m(),y=t(),v.__docgenInfo={description:``,methods:[],displayName:`NoData`,props:{className:{required:!1,tsType:{name:`string`},description:``},text:{required:!1,tsType:{name:`string`},description:``},minHeight:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``,defaultValue:{value:`"5em"`,computed:!1}},role:{required:!1,tsType:{name:`AriaRole`},description:``}}}})))()}export{_ as i,b as n,h as r,v as t};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{i as t,n,r,t as i}from"./NotificationsHost.stories-DCMAll2N.js";import{n as a}from"./iframe-C7Kz5KQm.js";import{i as o,r as s}from"./react-Bl2r1tuC.js";import{a as c,d as l,f as u,l as d,m as f,n as p,p as m,r as h,u as g}from"./blocks-D3JUer2A.js";function _(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...o(),...e.components};return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(d,{of:n,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{i as t,n,r,t as i}from"./NotificationsHost.stories-CTwxblPK.js";import{n as a}from"./iframe-Dvo-sM6X.js";import{i as o,r as s}from"./react-Bl2r1tuC.js";import{a as c,d as l,f as u,l as d,m as f,n as p,p as m,r as h,u as g}from"./blocks-BQbV8tvi.js";function _(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...o(),...e.components};return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(d,{of:n,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,y.jsx)(m,{children:`NotificationsHost`}),`
3
3
  `,(0,y.jsx)(u,{children:`Хост глобальных уведомлений для очереди toast-сообщений и длинных пользовательских операций`}),`
4
4
  `,(0,y.jsx)(t.p,{children:`NotificationsHost уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -1 +1 @@
1
- .STGQ3g{z-index:var(--z-notify);gap:var(--space-sm);padding:var(--space-lg);width:min(28em, 100dvw - var(--space-lg) * 2);pointer-events:none;display:grid;position:fixed;bottom:0;left:0}.RaiISE{--notify-accent:var(--border-1);--notify-accent-surface:var(--surface-1);--notify-accent-text:var(--accent-text);pointer-events:auto;width:100%;padding:var(--space-md);border-left:.3125em solid var(--notify-accent);border-radius:var(--radius-md);background:linear-gradient(37deg, var(--notify-accent-surface), var(--surface-0));color:var(--content-0);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.cM81wO{--notify-accent:var(--info-border);--notify-accent-surface:color-mix(in srgb, var(--info-fill) 12%, var(--surface-0));--notify-accent-text:var(--info-text)}.nH2cuZ{--notify-accent:var(--success-border);--notify-accent-surface:color-mix(in srgb, var(--success-fill) 12%, var(--surface-0));--notify-accent-text:var(--success-text)}.A2glD7{--notify-accent:var(--warning-border);--notify-accent-surface:color-mix(in srgb, var(--warning-fill) 12%, var(--surface-0));--notify-accent-text:var(--warning-text)}.yWjijS{--notify-accent:var(--error-border);--notify-accent-surface:color-mix(in srgb, var(--error-fill) 12%, var(--surface-0));--notify-accent-text:var(--error-text)}._1HO2ne,.OyRJpj,.vrCrow{min-width:0}.OyRJpj{flex:1;min-width:0}.A0X-ma{width:var(--control-height);height:var(--control-height);background-color:var(--notify-accent-surface);color:var(--notify-accent-text);border:var(--border-width) solid color-mix(in srgb, var(--notify-accent) 22%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.A0X-ma svg{width:1.125em;height:1.125em}.AkHvPV{margin-bottom:var(--space-xs);color:var(--notify-accent-text);font-size:var(--font-size-xs);font-variation-settings:"wght" 600;letter-spacing:.04em;text-transform:uppercase;font-weight:600}._4YDLB5{color:var(--notify-accent-text);font-variation-settings:"wght" 600;font-weight:600}.CK3Bqv{margin-top:var(--space-xs);color:var(--content-0);white-space:pre-wrap;word-break:break-word}.nLmQut{gap:var(--space-xs);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}@media (max-width:47.9988em){.STGQ3g{padding:var(--space-md);width:min(100dvw, 100dvw - var(--space-md) * 2)}}
1
+ .STGQ3g{z-index:var(--z-notify);gap:var(--space-sm);padding:var(--space-lg);width:min(28em, 100dvw - var(--space-lg) * 2);pointer-events:none;display:grid;position:fixed;bottom:0;left:0}.RaiISE{--notify-accent:var(--border-1);--notify-accent-surface:var(--surface-1);--notify-accent-text:var(--accent-text);pointer-events:auto;width:100%;padding:var(--space-md);border-left:.3125em solid var(--notify-accent);border-radius:var(--radius-md);background:linear-gradient(37deg, var(--notify-accent-surface), var(--surface-0));color:var(--content-0);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.cM81wO{--notify-accent:var(--info-border);--notify-accent-surface:color-mix(in srgb, var(--info-fill) 12%, var(--surface-0));--notify-accent-text:var(--info-text)}.nH2cuZ{--notify-accent:var(--success-border);--notify-accent-surface:color-mix(in srgb, var(--success-fill) 12%, var(--surface-0));--notify-accent-text:var(--success-text)}.A2glD7{--notify-accent:var(--warning-border);--notify-accent-surface:color-mix(in srgb, var(--warning-fill) 12%, var(--surface-0));--notify-accent-text:var(--warning-text)}.yWjijS{--notify-accent:var(--error-border);--notify-accent-surface:color-mix(in srgb, var(--error-fill) 12%, var(--surface-0));--notify-accent-text:var(--error-text)}._1HO2ne,.OyRJpj,.vrCrow{min-width:0}.OyRJpj{flex:1;min-width:0}.A0X-ma{width:var(--control-height);height:var(--control-height);background-color:var(--notify-accent-surface);color:var(--notify-accent-text);border:var(--border-width) solid color-mix(in srgb, var(--notify-accent) 22%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.A0X-ma svg{width:1.125em;height:1.125em}.AkHvPV{margin-bottom:var(--space-xs);color:var(--notify-accent-text);font-size:var(--font-size-xs);font-variation-settings:"wght" 600;letter-spacing:.04em;text-transform:uppercase;font-weight:600}._4YDLB5{color:var(--notify-accent-text);font-variation-settings:"wght" 600;font-weight:600}.CK3Bqv{margin-top:var(--space-xs);color:var(--content-0);white-space:pre-wrap;word-break:break-word}.nLmQut{gap:var(--space-xs);margin-top:var(--space-sm);flex-wrap:wrap;display:flex}@media (max-width:47.9988em){.STGQ3g{padding:var(--space-md);width:100dvw}}