@ryuzaki13/react-foundation-ui 1.8.18 → 1.8.20

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 (298) hide show
  1. package/dist/picker/model/usePickerFloatingListbox.d.ts +1 -1
  2. package/package.json +3 -3
  3. package/storybook-static/assets/{Badge-BIHyYCo7.js → Badge-CtgCgcrE.js} +6 -6
  4. package/storybook-static/assets/{Badge.stories-DLTrI-x_.js → Badge.stories-Bde8GdpE.js} +1 -1
  5. package/storybook-static/assets/{BadgeList-CDdRxEFa.js → BadgeList-B354PiFh.js} +1 -1
  6. package/storybook-static/assets/{Button-Clgno5I9.js → Button-BC1vJeBh.js} +6 -6
  7. package/storybook-static/assets/{Button-XTBI9blK.js → Button-DdWXdL9L.js} +1 -1
  8. package/storybook-static/assets/{Button.stories-B-0_zqxk.js → Button.stories-CvsBKXsv.js} +1 -1
  9. package/storybook-static/assets/{CalendarView-5yfJ6Sx-.js → CalendarView-CJkJU4EC.js} +1 -1
  10. package/storybook-static/assets/{CheckBox-DZh7cCZZ.js → CheckBox-BaKD1lsb.js} +2 -2
  11. package/storybook-static/assets/{CheckBox-BNpn-ZBB.js → CheckBox-DlCG7Opb.js} +1 -1
  12. package/storybook-static/assets/{CheckBox.stories--dSzC2Mf.js → CheckBox.stories-noW5T-OA.js} +1 -1
  13. package/storybook-static/assets/Color-6AOWCN3U-DVSJ6tQm.js +1 -0
  14. package/storybook-static/assets/{ContextMenu-CTrTO0H7.js → ContextMenu-D79bky7p.js} +1 -1
  15. package/storybook-static/assets/{ContextMenu-24LNOr91.js → ContextMenu-DL12BLWo.js} +2 -2
  16. package/storybook-static/assets/{ContextMenu.stories-Cbq6B29u.js → ContextMenu.stories-BwyqG2jc.js} +1 -1
  17. package/storybook-static/assets/{CustomOptionButton-BHA-6inc.js → CustomOptionButton-oTNty8hW.js} +1 -1
  18. package/storybook-static/assets/{DateInput-Ceqy8_hm.js → DateInput-X20d2Q59.js} +1 -1
  19. package/storybook-static/assets/{DateInput-Bmwgwx_r.js → DateInput-YyZk0Ov_.js} +2 -2
  20. package/storybook-static/assets/{DateInput.stories-C0oDEW0V.js → DateInput.stories-DQoF9ZwI.js} +1 -1
  21. package/storybook-static/assets/{DateRangePresetSelect-EUO5ju87.js → DateRangePresetSelect-BauBnnPB.js} +1 -1
  22. package/storybook-static/assets/{DateRangePresetSelect-DrbWZdO7.js → DateRangePresetSelect-C-AvOpuX.js} +2 -2
  23. package/storybook-static/assets/DateRangePresetSelect.stories-XvgjFAh7.js +19 -0
  24. package/storybook-static/assets/{Detail-BdMA8W8a.js → Detail-BpXehD7_.js} +2 -2
  25. package/storybook-static/assets/{Detail.stories-kYjF0OE8.js → Detail.stories-BQWhtlp0.js} +1 -1
  26. package/storybook-static/assets/{Dialog-DGlxegJa.js → Dialog-D3hJTgwE.js} +2 -2
  27. package/storybook-static/assets/{Dialog-B__C03-Z.js → Dialog-DODbPv79.js} +1 -1
  28. package/storybook-static/assets/Dialog.stories-DcgpUIUP.js +22 -0
  29. package/storybook-static/assets/{Disclosure-BXUWkiag.js → Disclosure-5UdBgIbZ.js} +2 -2
  30. package/storybook-static/assets/Disclosure.stories-IYljEE4h.js +23 -0
  31. package/storybook-static/assets/{DisclosureGroup-C57FHp13.js → DisclosureGroup-Bbseg3US.js} +1 -1
  32. package/storybook-static/assets/{DocsRenderer-JROSPFPF-CiLWX8JT.js → DocsRenderer-JROSPFPF-CADpK3Xb.js} +1 -1
  33. package/storybook-static/assets/{DropZone-BPOCc8un.js → DropZone-BKncWUns.js} +2 -2
  34. package/storybook-static/assets/{DropZone-DCGBDcam.js → DropZone-CI5qAgz5.js} +1 -1
  35. package/storybook-static/assets/DropZone.stories-CmLlcGx0.js +26 -0
  36. package/storybook-static/assets/{DropdownMenu-DDHBuZt5.js → DropdownMenu-K7NYW8LX.js} +1 -1
  37. package/storybook-static/assets/{ExpandableActionPanel-mmlDn8ts.js → ExpandableActionPanel-DSHE6wTG.js} +1 -1
  38. package/storybook-static/assets/ExpandableActionPanel.stories-BN_qe4FR.js +9 -0
  39. package/storybook-static/assets/{Flex-DHMDn1uW.js → Flex-BP4dH1EM.js} +2 -2
  40. package/storybook-static/assets/{Flex.stories-BgYOys3T.js → Flex.stories-CG6MjVWv.js} +1 -1
  41. package/storybook-static/assets/{FloatingPopover-BL_nJJrL.js → FloatingPopover-CbuI645U.js} +1 -1
  42. package/storybook-static/assets/{FormattedTableCell-Od6SSoxO.js → FormattedTableCell-SiBfPwwP.js} +1 -1
  43. package/storybook-static/assets/{Grid-CS-mSNKX.js → Grid-CcYtG8qC.js} +2 -2
  44. package/storybook-static/assets/{Grid.stories-DWCKacQB.js → Grid.stories-D8AkQcoe.js} +1 -1
  45. package/storybook-static/assets/ImageCropper.stories-DgYml-BE.js +131 -0
  46. package/storybook-static/assets/{ImageRenderer-jDryL3Z9.js → ImageRenderer-DdnnseXq.js} +1 -1
  47. package/storybook-static/assets/ImageRenderer.stories-BN4QxhBf.js +34 -0
  48. package/storybook-static/assets/ImageView.stories-2LMwV4qh.js +14 -0
  49. package/storybook-static/assets/{ImageViewer.stories-CKUiWvv7.js → ImageViewer.stories-D6BcidoN.js} +3 -3
  50. package/storybook-static/assets/{ImageViewerRuntime-DUjkq3km.js → ImageViewerRuntime-DVUlXl_G.js} +1 -1
  51. package/storybook-static/assets/{Input-Q95tdikw.js → Input-Bb5uuJsd.js} +1 -1
  52. package/storybook-static/assets/{Input-C5eMHeOp.js → Input-CWQgYEr9.js} +2 -2
  53. package/storybook-static/assets/Input.stories-B0SSM1T_.js +52 -0
  54. package/storybook-static/assets/{InputDateTime-D8iFVC4N.js → InputDateTime-EefPx2jA.js} +2 -2
  55. package/storybook-static/assets/InputDateTime.stories-B71jcVWG.js +30 -0
  56. package/storybook-static/assets/{InputFile-CEMWMZ8W.js → InputFile-BqoeOsqC.js} +1 -1
  57. package/storybook-static/assets/{InputFile-CVgdFBc9.js → InputFile-CktSGEBF.js} +2 -2
  58. package/storybook-static/assets/InputFile.stories-Ce3mDoRs.js +27 -0
  59. package/storybook-static/assets/{InputFiles-AtxulUya.js → InputFiles-B5O1fLjO.js} +1 -1
  60. package/storybook-static/assets/{InputFiles-BWh55c4D.js → InputFiles-RrvJwhF3.js} +2 -2
  61. package/storybook-static/assets/InputFiles.stories-BwWItttY.js +26 -0
  62. package/storybook-static/assets/{InputFilesList-Dx0Dhms2.js → InputFilesList-DStssgki.js} +1 -1
  63. package/storybook-static/assets/{InputImage-wBNZRvrJ.js → InputImage-CPGNaW07.js} +2 -2
  64. package/storybook-static/assets/{InputImage-DKCC82SZ.js → InputImage-CvuIiNq_.js} +1 -1
  65. package/storybook-static/assets/InputImage.stories-CCG2g2Io.js +56 -0
  66. package/storybook-static/assets/{InteractiveComponents-CHTFQ4qL.js → InteractiveComponents-BgsmaSTZ.js} +1 -1
  67. package/storybook-static/assets/{InteractiveComponents.stories-DJxkbHUR.js → InteractiveComponents.stories-BwtQ8dqK.js} +1 -1
  68. package/storybook-static/assets/{LayoutPicker-Dv5O_Hy0.js → LayoutPicker-DRtnMCPh.js} +1 -1
  69. package/storybook-static/assets/{LayoutPicker-D887Y2XB.js → LayoutPicker-DsGelRcW.js} +3 -3
  70. package/storybook-static/assets/{LayoutPicker.stories-DbN3i5QL.js → LayoutPicker.stories-BWnRDODR.js} +1 -1
  71. package/storybook-static/assets/{Listbox-Cnzu7mYT.js → Listbox-DOUFsbK8.js} +2 -2
  72. package/storybook-static/assets/{Listbox-C4dx1h82.js → Listbox-IR21PF4n.js} +1 -1
  73. package/storybook-static/assets/{Listbox.stories-BO1Df9Mq.js → Listbox.stories-qC0AcRTK.js} +1 -1
  74. package/storybook-static/assets/{Modal-CMacWyay.js → Modal-D8Il31Wx.js} +3 -3
  75. package/storybook-static/assets/{Modal.stories-DMrYaonL.js → Modal.stories-Vb_wvC7j.js} +1 -1
  76. package/storybook-static/assets/{ModalManagerProvider-NbdotfpM.js → ModalManagerProvider-DW29PIGA.js} +1 -1
  77. package/storybook-static/assets/{MultiSelect-DEPuEcGb.js → MultiSelect-BTXEzEbr.js} +2 -2
  78. package/storybook-static/assets/{MultiSelect-N4vTBX-X.js → MultiSelect-Bi7awY_l.js} +1 -1
  79. package/storybook-static/assets/MultiSelect.stories-BHm7nyE0.js +55 -0
  80. package/storybook-static/assets/{NoData-BdrsNRw1.js → NoData-D2fqJN8_.js} +1 -1
  81. package/storybook-static/assets/{NotificationsHost-BmcIZZNC.js → NotificationsHost-CB4Caorz.js} +3 -3
  82. package/storybook-static/assets/NotificationsHost.stories-ClREN7GD.js +29 -0
  83. package/storybook-static/assets/{ODataMultiSelect-DVVDe1Yr.js → ODataMultiSelect-DVqtuVtf.js} +2 -2
  84. package/storybook-static/assets/{ODataMultiSelect.stories-DQDXXq_9.js → ODataMultiSelect.stories-BXspOSkv.js} +2 -2
  85. package/storybook-static/assets/{ODataSelect-B88g3t3l.js → ODataSelect-ODT2BTTx.js} +2 -2
  86. package/storybook-static/assets/{ODataSelect.stories-BPWp8xtb.js → ODataSelect.stories-Czh9ONwP.js} +2 -2
  87. package/storybook-static/assets/{ODataTreeMultiSelect-DN0hWqto.js → ODataTreeMultiSelect-D2CfiHud.js} +1 -1
  88. package/storybook-static/assets/{ODataTreeMultiSelect.stories-BDDEO9n2.js → ODataTreeMultiSelect.stories-C5CcMnCO.js} +2 -2
  89. package/storybook-static/assets/{ODataTreeSelect-BpuPkpt_.js → ODataTreeSelect-CtXGcTu6.js} +1 -1
  90. package/storybook-static/assets/{ODataTreeSelect.stories-Rgosfapi.js → ODataTreeSelect.stories-D9C0TW7E.js} +2 -2
  91. package/storybook-static/assets/{OneStepScroller-B8wmmQwf.js → OneStepScroller-DvNxIB4z.js} +1 -1
  92. package/storybook-static/assets/{Option-Bdu68XEe.js → Option-EvZAvPlO.js} +1 -1
  93. package/storybook-static/assets/{OptionButton-D0afktaf.js → OptionButton-ClHPJWSS.js} +1 -1
  94. package/storybook-static/assets/{PeriodSelect-D_NZ5ghQ.js → PeriodSelect-Cj4KFbL8.js} +1 -1
  95. package/storybook-static/assets/{PeriodSelect-C7DVNvsY.js → PeriodSelect-CopVqvke.js} +1 -1
  96. package/storybook-static/assets/PeriodSelect.stories-CdPRC5lO.js +50 -0
  97. package/storybook-static/assets/{PickerTriggerActions-ZNVb9eeZ.js → PickerTriggerActions-CChnIvDY.js} +1 -1
  98. package/storybook-static/assets/{Popover-CCGDNoKF.js → Popover-D84worS4.js} +2 -2
  99. package/storybook-static/assets/{Popover-CewYrQZr.js → Popover-GCefn4ZK.js} +1 -1
  100. package/storybook-static/assets/{Popover.stories-COIDcy4l.js → Popover.stories-Km8RZinG.js} +1 -1
  101. package/storybook-static/assets/{PresetRangeDateInput-DroAaDSa.js → PresetRangeDateInput-CKkA7evU.js} +2 -2
  102. package/storybook-static/assets/{PresetRangeDateInput-DclYoHcQ.js → PresetRangeDateInput-D8Nd8OKM.js} +1 -1
  103. package/storybook-static/assets/PresetRangeDateInput.stories-mEsDYDGg.js +3 -0
  104. package/storybook-static/assets/{PresetSelect-DCGdwz-H.js → PresetSelect-Bm-UK37m.js} +1 -1
  105. package/storybook-static/assets/{README-TpwnHOuM.js → README-9g3GgWWF.js} +4 -8
  106. package/storybook-static/assets/{README-CVydkudU.js → README-AVujzV-Q.js} +4 -8
  107. package/storybook-static/assets/{README-Bemrp1iw.js → README-B2M46KR7.js} +12 -12
  108. package/storybook-static/assets/{README-B5TiIjbQ.js → README-B2OZG04f.js} +1 -1
  109. package/storybook-static/assets/{README-Brb_uBB0.js → README-BAsxlcAX.js} +2 -2
  110. package/storybook-static/assets/{README-DWrWXc67.js → README-BPyrojLC.js} +3 -3
  111. package/storybook-static/assets/{README-Dq6K08x4.js → README-BQw3k-Ra.js} +4 -4
  112. package/storybook-static/assets/{README-BBDVhq-F.js → README-BYe60A3Z.js} +3 -3
  113. package/storybook-static/assets/{README-eKZfcYEw.js → README-BZOXtBHM.js} +1 -1
  114. package/storybook-static/assets/{README-C0tHxk9e.js → README-Bn52nDUU.js} +1 -1
  115. package/storybook-static/assets/{README-C6mK2jiz.js → README-Btc8dTTa.js} +1 -1
  116. package/storybook-static/assets/{README-CDO4U2L-.js → README-Bu8NSN83.js} +1 -1
  117. package/storybook-static/assets/{README-B8PHFNI6.js → README-ByU9WtnE.js} +1 -1
  118. package/storybook-static/assets/{README-B0LFAdG7.js → README-C-HfyZj6.js} +4 -8
  119. package/storybook-static/assets/{README-Cv6X1gyB.js → README-C19FjXEc.js} +6 -9
  120. package/storybook-static/assets/{README-BLXxOqWU.js → README-C3ootpC3.js} +5 -5
  121. package/storybook-static/assets/{README-CRdPVRby.js → README-C65NMR4N.js} +1 -1
  122. package/storybook-static/assets/{README-DXgQjmDb.js → README-C7uZcWP5.js} +1 -5
  123. package/storybook-static/assets/{README-CMRfMvBh.js → README-C9g6HTtO.js} +4 -4
  124. package/storybook-static/assets/{README-C9V17f1i.js → README-CGtXxNWL.js} +14 -14
  125. package/storybook-static/assets/{README-DQ3UG1-2.js → README-CJIysyPl.js} +1 -1
  126. package/storybook-static/assets/{README-Bq8Gw9ut.js → README-CU0nO91c.js} +3 -3
  127. package/storybook-static/assets/{README-HKNlRLs4.js → README-CV043M5l.js} +3 -3
  128. package/storybook-static/assets/{README-MUkRRO8C.js → README-CeVilD38.js} +1 -1
  129. package/storybook-static/assets/{README-DXAnOakM.js → README-Ch_Q8rfx.js} +3 -6
  130. package/storybook-static/assets/{README-BZh0P4dJ.js → README-CpJrFpd-.js} +1 -4
  131. package/storybook-static/assets/{README-CbQE6RqS.js → README-CzVaDwCa.js} +1 -1
  132. package/storybook-static/assets/{README-BnvGfIB_.js → README-D3ahQzwF.js} +1 -1
  133. package/storybook-static/assets/{README-DK77wEHj.js → README-DBedFn2k.js} +1 -1
  134. package/storybook-static/assets/{README-UY3fsLu_.js → README-DBgowiDe.js} +3 -5
  135. package/storybook-static/assets/{README-Gw_kdXei.js → README-DEZR-nsP.js} +4 -8
  136. package/storybook-static/assets/{README-CGv6MRmX.js → README-DIz7GaJX.js} +4 -4
  137. package/storybook-static/assets/{README-jnMsm42G.js → README-DOwtu6P8.js} +1 -1
  138. package/storybook-static/assets/{README-BQng9oML.js → README-DRlbzNwm.js} +4 -8
  139. package/storybook-static/assets/{README-BaupBcvr.js → README-DS9gKK_l.js} +1 -1
  140. package/storybook-static/assets/{README-B6bmU7Tq.js → README-DTM6S2tD.js} +3 -3
  141. package/storybook-static/assets/{README-CG7cgejD.js → README-DazyZywt.js} +4 -8
  142. package/storybook-static/assets/{README-BoojQHna.js → README-DgVBKXxO.js} +1 -1
  143. package/storybook-static/assets/{README-j6FF9vf5.js → README-Dga9VBXp.js} +9 -12
  144. package/storybook-static/assets/{README-CIS29z6p.js → README-DsG_VYny.js} +1 -1
  145. package/storybook-static/assets/{README-BqBKX_xQ.js → README-DsTcywLt.js} +4 -7
  146. package/storybook-static/assets/{README-BTM8wY-Q.js → README-Du_uNuzw.js} +3 -7
  147. package/storybook-static/assets/{README-B4FGWSHR.js → README-Dwu0rBCx.js} +4 -4
  148. package/storybook-static/assets/{README-BDEEI-me.js → README-EfW0h3H2.js} +5 -8
  149. package/storybook-static/assets/{README-SM_eIjlq.js → README-GPrnGZGg.js} +4 -4
  150. package/storybook-static/assets/{README-BqpsuZii.js → README-I-J1PF75.js} +3 -3
  151. package/storybook-static/assets/{README-j4oj7GSR.js → README-cHwz_DGu.js} +1 -1
  152. package/storybook-static/assets/{README-B2pks9-S.js → README-efyzb9zY.js} +1 -1
  153. package/storybook-static/assets/{README-DK-nosD8.js → README-foisdU5e.js} +1 -1
  154. package/storybook-static/assets/{README-QnKC46FO.js → README-na4Tvba4.js} +5 -9
  155. package/storybook-static/assets/{README-DFDO19TR.js → README-oFnWsuXd.js} +4 -4
  156. package/storybook-static/assets/{README-Db-VD9A-.js → README-pdJ6FjLG.js} +1 -1
  157. package/storybook-static/assets/{RadioButton-CN-1Bmu-.js → RadioButton-CFIAc4xz.js} +1 -1
  158. package/storybook-static/assets/{RadioButton-CioheQT6.js → RadioButton-Dk52KGyn.js} +2 -2
  159. package/storybook-static/assets/RadioButton.stories-B10De9DU.js +32 -0
  160. package/storybook-static/assets/{RadioGroup-CTZXoIcq.js → RadioGroup-B7X4Pr-l.js} +1 -1
  161. package/storybook-static/assets/{RadioGroup-CJzzJ3Fs.js → RadioGroup-DHpLxYGV.js} +2 -2
  162. package/storybook-static/assets/{RadioGroup.stories-C7N9yLcN.js → RadioGroup.stories-BAE8jGr_.js} +1 -1
  163. package/storybook-static/assets/{Scrollable-BOTJbzkH.js → Scrollable-vhQ02gPl.js} +1 -1
  164. package/storybook-static/assets/{Select-CNAFGsHq.js → Select-5pGJ-9Pp.js} +1 -1
  165. package/storybook-static/assets/{Select-D2yqrKAE.js → Select-wSFMQijV.js} +2 -2
  166. package/storybook-static/assets/Select.stories-D6_viZUX.js +69 -0
  167. package/storybook-static/assets/{SerializableSelect-BZBYLnHq.js → SerializableSelect-DDx9-Bur.js} +2 -2
  168. package/storybook-static/assets/{SerializableSelect.stories-PIYq8I5b.js → SerializableSelect.stories-lLHLEyB9.js} +2 -2
  169. package/storybook-static/assets/{SingleDateTimeInput-D2cDr1L5.js → SingleDateTimeInput-B4vUIB4m.js} +1 -1
  170. package/storybook-static/assets/{SingleDateTimeInput-B6M2oHtl.js → SingleDateTimeInput-DKleuzaX.js} +2 -2
  171. package/storybook-static/assets/{SingleDateTimeInput.stories-DqswDqo4.js → SingleDateTimeInput.stories-U_d98CIX.js} +1 -1
  172. package/storybook-static/assets/{Slider-C0fjZ3TE.js → Slider-C9EHsb-H.js} +3 -3
  173. package/storybook-static/assets/{Slider-Cu_mMfmP.js → Slider-Dfj4alv-.js} +1 -1
  174. package/storybook-static/assets/{Slider.stories-BcYnYgUs.js → Slider.stories-vZkWxSqT.js} +1 -1
  175. package/storybook-static/assets/{SliderInput-CaaSdoql.js → SliderInput-BdYHLdem.js} +1 -1
  176. package/storybook-static/assets/{SliderInput-D8pa0Cwh.js → SliderInput-CzlPZSO9.js} +3 -3
  177. package/storybook-static/assets/{SliderInput.stories-biJs3NtU.js → SliderInput.stories-C6tBSbPb.js} +1 -1
  178. package/storybook-static/assets/{Sortable-wyJd-LB7.js → Sortable-BGVo-kNH.js} +2 -2
  179. package/storybook-static/assets/Sortable.stories-vIFl2X-p.js +44 -0
  180. package/storybook-static/assets/{Splitter-D0L1B9tf.js → Splitter-BQWPhfku.js} +4 -4
  181. package/storybook-static/assets/{Splitter.stories-CDQGRB14.js → Splitter.stories-ICS_ZBHX.js} +1 -1
  182. package/storybook-static/assets/{StateSelect-BaThi-59.js → StateSelect-CyReXSM1.js} +2 -2
  183. package/storybook-static/assets/{StateSelect-hO1K2z4b.js → StateSelect-Dd6SpUUh.js} +1 -1
  184. package/storybook-static/assets/StateSelect.stories-D0-HsFXZ.js +59 -0
  185. package/storybook-static/assets/StringToggle.stories-pC48Sxqx.js +3 -0
  186. package/storybook-static/assets/{Switch-Ct9tsisu.js → Switch-BqR-1lxY.js} +2 -2
  187. package/storybook-static/assets/{Switch-DCV_mYJ2.js → Switch-Cj8-VcVg.js} +1 -1
  188. package/storybook-static/assets/Switch.stories-WiYjSzuW.js +15 -0
  189. package/storybook-static/assets/{Table-DaP6Qndv.js → Table-BxXretCJ.js} +4 -4
  190. package/storybook-static/assets/Table.stories-BNQvlsuf.js +178 -0
  191. package/storybook-static/assets/{Tabs-CC5Gzc7s.js → Tabs-Bfy1NJMT.js} +3 -3
  192. package/storybook-static/assets/{Tabs.stories-B_76Da9k.js → Tabs.stories-CPIuTwP2.js} +2 -2
  193. package/storybook-static/assets/{TabsBox-D52IZXj5.js → TabsBox-jMCEuOZ4.js} +1 -1
  194. package/storybook-static/assets/{TagInput-T9Lp1amS.js → TagInput-BUw0lagA.js} +1 -1
  195. package/storybook-static/assets/TagInput.stories-DFt-q5Jo.js +18 -0
  196. package/storybook-static/assets/{Text-CXcCu6R8.js → Text-qYKrK4eb.js} +1 -1
  197. package/storybook-static/assets/{Textarea-BlE2vGsV.js → Textarea-CHFjT8jC.js} +1 -1
  198. package/storybook-static/assets/{Textarea-CNl12Mkz.js → Textarea-evU43JN1.js} +2 -2
  199. package/storybook-static/assets/Textarea.stories-DEIYLgZF.js +17 -0
  200. package/storybook-static/assets/{TimePanel-DKD18ldm.js → TimePanel-DTiDfMFt.js} +1 -1
  201. package/storybook-static/assets/TimePanel.stories-Ct__ocID.js +10 -0
  202. package/storybook-static/assets/{Toggle-DKNuMtMW.js → Toggle-IPvbQmMD.js} +2 -2
  203. package/storybook-static/assets/{Toggle-fqZP5j32.js → Toggle-IdtrAW0T.js} +1 -1
  204. package/storybook-static/assets/Toggle.stories-BJ9VWYeG.js +25 -0
  205. package/storybook-static/assets/{TreeMultiSelect-b4PiPTEN.js → TreeMultiSelect-CH0Zc3KF.js} +1 -1
  206. package/storybook-static/assets/{TreeMultiSelect-B6et22Ea.js → TreeMultiSelect-CSd33bKQ.js} +1 -1
  207. package/storybook-static/assets/{TreeMultiSelect.stories-C_4ZpE9w.js → TreeMultiSelect.stories-BJwU3XBe.js} +1 -1
  208. package/storybook-static/assets/{TreePickerBase-BBwppLrT.js → TreePickerBase-CKnyu6AR.js} +1 -1
  209. package/storybook-static/assets/{TreeSelect-D4u7C0tA.js → TreeSelect-DYJm99Z2.js} +1 -1
  210. package/storybook-static/assets/{TreeSelect-BaCD5AjF.js → TreeSelect-DiiLtgN_.js} +1 -1
  211. package/storybook-static/assets/TreeSelect.stories-CEiN12BG.js +32 -0
  212. package/storybook-static/assets/{TreeTable-CbhUffZj.js → TreeTable-CInX-hLX.js} +3 -3
  213. package/storybook-static/assets/TreeTable.stories-DQsXSocU.js +138 -0
  214. package/storybook-static/assets/{WithTooltip-7X4HQR7L-DQ4Qthn2.js → WithTooltip-CDUNV5IS-mFMh6Qcu.js} +2 -2
  215. package/storybook-static/assets/{blocks-IjspN281.js → blocks-v2XPznvF.js} +3 -3
  216. package/storybook-static/assets/{check-ue9rVspp.js → check-Cw2uZkgi.js} +1 -1
  217. package/storybook-static/assets/{chevron-down-Dnk-3hJo.js → chevron-down-DCcoFYMu.js} +1 -1
  218. package/storybook-static/assets/{chevron-left-CaAFuWY0.js → chevron-left-DbTmcqTw.js} +1 -1
  219. package/storybook-static/assets/{chevron-right-CKnELL4E.js → chevron-right-BhBh36az.js} +1 -1
  220. package/storybook-static/assets/{chunk-W22LQPXL-jFAFLKOH.js → chunk-W22LQPXL-2pLErBcr.js} +1 -1
  221. package/storybook-static/assets/{circle-alert-miJVMeEa.js → circle-alert-DztOdOaG.js} +1 -1
  222. package/storybook-static/assets/circle-check-CAdrHnV2.js +1 -0
  223. package/storybook-static/assets/components-BTpiQE9n.js +241 -0
  224. package/storybook-static/assets/{contextMenu-D8NvB0La.js → contextMenu-DJ0HpnV6.js} +1 -1
  225. package/storybook-static/assets/{defaultRenderers-DfmnIuod.js → defaultRenderers-Dinv2uRZ.js} +1 -1
  226. package/storybook-static/assets/{download-Cq_lr01f.js → download-BT_zAyTC.js} +1 -1
  227. package/storybook-static/assets/floating-ui.react-Cvohd2Gw.js +1 -0
  228. package/storybook-static/assets/{formatters-D33Uh3si-CxrG0jsB.js → formatters-D33Uh3si-Df97arf9.js} +1 -1
  229. package/storybook-static/assets/{foundationApi-CLyEyFIu.js → foundationApi-DJeCu7Ht.js} +3 -6
  230. package/storybook-static/assets/{foundationLib-DH2mxNct.js → foundationLib-hGtcm5KL.js} +1 -1
  231. package/storybook-static/assets/{hooks-BwH7Yo1F.js → hooks-BCeL5FKt.js} +1 -1
  232. package/storybook-static/assets/iframe-B-Rqywce.js +1 -0
  233. package/storybook-static/assets/{iframe-B_6aAEqw.js → iframe-DlUmG4EA.js} +203 -203
  234. package/storybook-static/assets/{info-BgHKckDk.js → info-BkC2CBYX.js} +1 -1
  235. package/storybook-static/assets/odata-BMO7cuBZ.js +1 -0
  236. package/storybook-static/assets/odata-service-CWkHASdw-CXhFi03v.js +3 -0
  237. package/storybook-static/assets/odataStoryFixtures-CWldE9pM.js +25 -0
  238. package/storybook-static/assets/{react-18-D4o7zN8K.js → react-18-EmNFJX4V.js} +1 -1
  239. package/storybook-static/assets/react-C0u6t2Tr.js +9 -0
  240. package/storybook-static/assets/{refresh-cw-Cz1Mtnwr.js → refresh-cw-BA16_2Dg.js} +1 -1
  241. package/storybook-static/assets/{settings-2-BUY_jI1a.js → settings-2-C3fAar8h.js} +1 -1
  242. package/storybook-static/assets/{sortable-DfiDnDGH.js → sortable-4U2uS5RT.js} +1 -1
  243. package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-RwE_sP6g.js → syntaxhighlighter-QEQV7K2Y-e4tU0oKD.js} +1 -1
  244. package/storybook-static/assets/theming-BgT2grXK.js +39 -0
  245. package/storybook-static/assets/{trash-2-Da9E4hDy.js → trash-2-DIhA8-QF.js} +1 -1
  246. package/storybook-static/assets/{triangle-alert-D2CpTkxC.js → triangle-alert-CYOiH1yf.js} +1 -1
  247. package/storybook-static/assets/{useODataSelectBase-BTVM_2wU.js → useODataSelectBase-CcvoIMyY.js} +1 -1
  248. package/storybook-static/assets/{useODataTreeData-BwwhT42f.js → useODataTreeData-Vkqc6Vi_.js} +1 -1
  249. package/storybook-static/assets/{usePickerQuery-Cug-ZpN1.js → usePickerQuery-7mnpDV7K.js} +1 -1
  250. package/storybook-static/assets/{usePickerTriggerController-D3h4HqB9.js → usePickerTriggerController-fH-NsvWu.js} +1 -1
  251. package/storybook-static/assets/{x-ri5iHB3T.js → x-BJ8ArZif.js} +1 -1
  252. package/storybook-static/iframe.html +2 -2
  253. package/storybook-static/index.json +1 -1
  254. package/storybook-static/project.json +1 -1
  255. package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +1 -1
  256. package/storybook-static/sb-manager/globals-runtime.js +5 -2
  257. package/storybook-static/sb-manager/runtime.js +1 -0
  258. package/storybook-static/assets/Color-6AOWCN3U-C363KdaS.js +0 -1
  259. package/storybook-static/assets/DateRangePresetSelect.stories-BnnOI6oQ.js +0 -19
  260. package/storybook-static/assets/Dialog.stories-DPFNV_A3.js +0 -22
  261. package/storybook-static/assets/Disclosure.stories-C3MufHWp.js +0 -23
  262. package/storybook-static/assets/DropZone.stories-mB8JLlHw.js +0 -26
  263. package/storybook-static/assets/ExpandableActionPanel.stories-eChkcTa4.js +0 -9
  264. package/storybook-static/assets/ImageCropper.stories-BuwhJESS.js +0 -131
  265. package/storybook-static/assets/ImageRenderer.stories-BzyPfNyt.js +0 -34
  266. package/storybook-static/assets/ImageView.stories-FmQ_gxc7.js +0 -14
  267. package/storybook-static/assets/Input.stories-BbT8eOCH.js +0 -52
  268. package/storybook-static/assets/InputDateTime.stories-Cdz1C1X5.js +0 -38
  269. package/storybook-static/assets/InputFile.stories-B84afhOU.js +0 -27
  270. package/storybook-static/assets/InputFiles.stories-CgMk9QC9.js +0 -26
  271. package/storybook-static/assets/InputImage.stories-BD3x6S5Y.js +0 -56
  272. package/storybook-static/assets/MultiSelect.stories-CNNK5rRC.js +0 -55
  273. package/storybook-static/assets/NotificationsHost.stories-Bf-a-dC3.js +0 -29
  274. package/storybook-static/assets/PeriodSelect.stories-COeb_LJq.js +0 -50
  275. package/storybook-static/assets/PresetRangeDateInput.stories-BDmwSMwK.js +0 -3
  276. package/storybook-static/assets/README-oSHJDhIJ.js +0 -101
  277. package/storybook-static/assets/RadioButton.stories-GiewWDd0.js +0 -32
  278. package/storybook-static/assets/Select.stories-CYJpEv_P.js +0 -69
  279. package/storybook-static/assets/Sortable.stories-CNW8IhRv.js +0 -77
  280. package/storybook-static/assets/StateSelect.stories-DDviL5zf.js +0 -59
  281. package/storybook-static/assets/StringToggle.stories-CFAJvvxJ.js +0 -5
  282. package/storybook-static/assets/Switch.stories-COeP2eOi.js +0 -15
  283. package/storybook-static/assets/Table.stories-DDFcryTl.js +0 -207
  284. package/storybook-static/assets/TagInput.stories-DfH66OZc.js +0 -18
  285. package/storybook-static/assets/Textarea.stories-DVOJ06z_.js +0 -17
  286. package/storybook-static/assets/TimePanel.stories-Vn5OZdpQ.js +0 -14
  287. package/storybook-static/assets/Toggle.stories-BLolzyKP.js +0 -25
  288. package/storybook-static/assets/TreeSelect.stories-CDkOknim.js +0 -32
  289. package/storybook-static/assets/TreeTable.stories-D-x-lZkU.js +0 -168
  290. package/storybook-static/assets/circle-check-CNYBjmqs.js +0 -1
  291. package/storybook-static/assets/components-9iEtMVnM.js +0 -241
  292. package/storybook-static/assets/floating-ui.react-BoRzzZ17.js +0 -1
  293. package/storybook-static/assets/iframe-BxPT5t4V.js +0 -1
  294. package/storybook-static/assets/odata-D2I4jbKq.js +0 -1
  295. package/storybook-static/assets/odata-service-CWkHASdw-DlmSiioz.js +0 -3
  296. package/storybook-static/assets/odataStoryFixtures-BiN3x4k6.js +0 -25
  297. package/storybook-static/assets/react-BoM8yiX1.js +0 -9
  298. package/storybook-static/assets/theming-Cvtrnj7n.js +0 -39
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-IjspN281.js";function o(e){let t={a:`a`,blockquote:`blockquote`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/OData Service`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,blockquote:`blockquote`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/OData Service`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`odata-service`,children:`OData Service`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/odata-service`}),` — единая библиотечная точка входа для работы с техническими контрактами OData V2:`]}),`
4
4
  `,(0,c.jsxs)(t.ul,{children:[`
@@ -11,14 +11,14 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
11
11
  `,(0,c.jsx)(t.li,{children:`поиска пар «код + текст» в справочных коллекциях;`}),`
12
12
  `,(0,c.jsx)(t.li,{children:`хранения общих настроек OData-справочников.`}),`
13
13
  `]}),`
14
- `,(0,c.jsx)(t.p,{children:`README рассчитан на разработчика без доступа к исходному коду и с минимальным знанием JavaScript/TypeScript. В примерах объясняется не только вызов функции, но и смысл входных данных, результат, ограничения и типичные ошибки.`}),`
14
+ `,(0,c.jsx)(t.p,{children:`В примерах объясняется не только вызов функции, но и смысл входных данных, результат, ограничения и типичные ошибки.`}),`
15
15
  `,(0,c.jsxs)(t.blockquote,{children:[`
16
16
  `,(0,c.jsxs)(t.p,{children:[`Ранее helpers справочных коллекций публиковались через отдельный subpath `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/odata`}),`. Теперь этот код входит в `,(0,c.jsx)(t.code,{children:`odata-service`}),`. Старый subpath удалён без compatibility alias.`]}),`
17
17
  `]}),`
18
18
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
19
19
  `,(0,c.jsxs)(t.ul,{children:[`
20
20
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%87%D1%82%D0%BE-%D0%B4%D0%B5%D0%BB%D0%B0%D0%B5%D1%82-%D0%B8-%D1%87%D0%B5%D0%B3%D0%BE-%D0%BD%D0%B5-%D0%B4%D0%B5%D0%BB%D0%B0%D0%B5%D1%82-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C`,children:`Что делает и чего не делает модуль`})}),`
21
- `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
21
+ `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Импорт`})}),`
22
22
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8-%D0%B8-%D1%81%D1%80%D0%B5%D0%B4%D0%B0-%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F`,children:`Зависимости и среда выполнения`})}),`
23
23
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#odata-v2-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%BC%D0%B8-%D1%81%D0%BB%D0%BE%D0%B2%D0%B0%D0%BC%D0%B8`,children:`OData V2 простыми словами`})}),`
24
24
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82`,children:`Быстрый старт`})}),`
@@ -82,10 +82,7 @@ react-foundation-api/odata
82
82
  host entity / feature / widget
83
83
  бизнес-правила, экран, пользовательский сценарий
84
84
  `})}),`
85
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
86
- `,(0,c.jsx)(t.p,{children:`Установите пакет:`}),`
87
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib
88
- `})}),`
85
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
89
86
  `,(0,c.jsx)(t.p,{children:`Для полного entrypoint также разрешите совместимые peer dependencies, если package manager не сделал этого автоматически:`}),`
90
87
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install zod zustand immer @tanstack/react-query
91
88
  `})}),`
@@ -1,18 +1,17 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-IjspN281.js";function o(e){let t={a:`a`,blockquote:`blockquote`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,h4:`h4`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,strong:`strong`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Data/Table and Tree Table`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,blockquote:`blockquote`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,h4:`h4`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,strong:`strong`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Data/Table and Tree Table`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`table-и-tree-table`,children:`Table и Tree Table`}),`
3
3
  `,(0,c.jsx)(t.p,{children:`Эта страница описывает два связанных публичных модуля:`}),`
4
4
  `,(0,c.jsxs)(t.ul,{children:[`
5
5
  `,(0,c.jsxs)(t.li,{children:[(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/table`}),` — типы и helpers для TanStack Table v9, колонок, layout, выбора строк и ячеек, а также OData metadata;`]}),`
6
6
  `,(0,c.jsxs)(t.li,{children:[(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/tree-table`}),` — построение древовидных строк и преобразование плоских аналитических данных в иерархию.`]}),`
7
7
  `]}),`
8
- `,(0,c.jsx)(t.p,{children:`Документ рассчитан на разработчика без доступа к исходному коду пакета и с минимальным знанием JavaScript, TypeScript, React и TanStack Table. В нём объясняются не только названия функций, но и смысл каждого состояния, правила идентификаторов, результат вызова, ограничения и типичные ошибки.`}),`
9
8
  `,(0,c.jsxs)(t.blockquote,{children:[`
10
9
  `,(0,c.jsxs)(t.p,{children:[`Документ один, потому что плоская и древовидная таблицы используют общие понятия строк, колонок, идентификаторов и selection. Публичных import path при этом два: API `,(0,c.jsx)(t.code,{children:`tree-table`}),` не реэкспортируется из `,(0,c.jsx)(t.code,{children:`table`}),`, а API `,(0,c.jsx)(t.code,{children:`table`}),` не реэкспортируется из `,(0,c.jsx)(t.code,{children:`tree-table`}),`.`]}),`
11
10
  `]}),`
12
11
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
13
12
  `,(0,c.jsxs)(t.ul,{children:[`
14
13
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B`,children:`Назначение и границы`})}),`
15
- `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
14
+ `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Импорт`})}),`
16
15
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%87%D1%82%D0%BE-%D0%BD%D1%83%D0%B6%D0%BD%D0%BE-%D0%B7%D0%BD%D0%B0%D1%82%D1%8C-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4-%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D0%BE%D0%BC`,children:`Что нужно знать перед началом`})}),`
17
16
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BA%D0%B0%D0%BA-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D0%BD%D1%83%D0%B6%D0%BD%D1%83%D1%8E-%D1%87%D0%B0%D1%81%D1%82%D1%8C-api`,children:`Как выбрать нужную часть API`})}),`
18
17
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82-%D0%BF%D0%BB%D0%BE%D1%81%D0%BA%D0%B0%D1%8F-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0`,children:`Быстрый старт: плоская таблица`})}),`
@@ -108,10 +107,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
108
107
  ▼
109
108
  table helpers очищают только локальный UI state
110
109
  `})}),`
111
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
112
- `,(0,c.jsx)(t.p,{children:`Установите пакет:`}),`
113
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib
114
- `})}),`
110
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
115
111
  `,(0,c.jsxs)(t.p,{children:[`Для `,(0,c.jsx)(t.code,{children:`table`}),` host должен разрешить совместимые peer dependencies React и TanStack Table:`]}),`
116
112
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install react @tanstack/react-table
117
113
  `})}),`
@@ -1,11 +1,11 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-IjspN281.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Date/Segments`}),`
2
- `,(0,c.jsxs)(t.h1,{id:`сегменты-даты-и-времени-через-ryuzaki13react-foundation-libdate-segments`,children:[`Сегменты даты и времени через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/date-segments`})]}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Date/Segments`}),`
2
+ `,(0,c.jsx)(t.h1,{id:`сегменты-даты-и-времени`,children:`Сегменты даты и времени`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль разбирает строковую маску на редактируемые сегменты и литералы, преобразует `,(0,c.jsx)(t.code,{children:`Date`}),` в значения полей и строго собирает `,(0,c.jsx)(t.code,{children:`Date`}),` обратно. Он предназначен для segment-based date/time inputs.`]}),`
4
4
  `,(0,c.jsx)(t.p,{children:`Документ объясняет маски, индексы, local time, двухзначный год, неполный ввод и все публичные типы.`}),`
5
5
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
6
6
  `,(0,c.jsxs)(t.ul,{children:[`
7
7
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B`,children:`Назначение и границы`})}),`
8
- `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
8
+ `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Импорт`})}),`
9
9
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%B8%D1%8F`,children:`Базовые понятия`})}),`
10
10
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%B8%D0%B2%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5-tokens`,children:`Поддерживаемые tokens`})}),`
11
11
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#parsedatesegmentmask`,children:(0,c.jsx)(t.code,{children:`parseDateSegmentMask`})})}),`
@@ -30,7 +30,7 @@ Map { 0:"03", 2:"03", 4:"2026", 6:"18", 8:"03" }
30
30
  new Date(2026, 2, 3, 18, 3)
31
31
  `})}),`
32
32
  `,(0,c.jsxs)(t.p,{children:[`Модуль не рендерит input, не управляет focus/caret, не форматирует итоговую дату для UI/backend и не парсит ISO/OData строку. Для общего парсинга/форматирования используйте `,(0,c.jsx)(t.code,{children:`/formatters`}),`.`]}),`
33
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
33
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
34
34
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import {
35
35
  areAllDateSegmentsEmpty,
36
36
  dateToIndexedSegmentValues,
@@ -1,5 +1,5 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-IjspN281.js";function o(e){let t={a:`a`,blockquote:`blockquote`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/Utils`}),`
2
- `,(0,c.jsxs)(t.h1,{id:`общие-утилиты-ryuzaki13react-foundation-libutils`,children:[`Общие утилиты `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/utils`})]}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,blockquote:`blockquote`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/Utils`}),`
2
+ `,(0,c.jsx)(t.h1,{id:`общие-утилиты`,children:`Общие утилиты`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`utils`}),` объединяет небольшие технические функции, которые нужны в разных частях React- и TypeScript-приложения:`]}),`
4
4
  `,(0,c.jsxs)(t.ul,{children:[`
5
5
  `,(0,c.jsxs)(t.li,{children:[`сборка строки `,(0,c.jsx)(t.code,{children:`className`}),`;`]}),`
@@ -12,14 +12,14 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
12
12
  `,(0,c.jsx)(t.li,{children:`копирование древовидной структуры;`}),`
13
13
  `,(0,c.jsxs)(t.li,{children:[`единая точка вывода ошибок в `,(0,c.jsx)(t.code,{children:`console.error`}),`.`]}),`
14
14
  `]}),`
15
- `,(0,c.jsx)(t.p,{children:`Документ рассчитан на разработчика без доступа к исходному коду пакета и с минимальным знанием JavaScript, TypeScript и React. Поэтому ниже объясняются назначение каждого аргумента, точный результат, побочные эффекты, различия похожих функций и ограничения.`}),`
15
+ `,(0,c.jsx)(t.p,{children:`Ниже объясняются назначение каждого аргумента, точный результат, побочные эффекты, различия похожих функций и ограничения.`}),`
16
16
  `,(0,c.jsxs)(t.blockquote,{children:[`
17
17
  `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`utils`}),` — это опубликованный entrypoint, а не приглашение складывать сюда любую бизнес-логику. В модуле нет HTTP-запросов, UI-компонентов, доменных правил, нормализации пользовательского ввода и криптографии.`]}),`
18
18
  `]}),`
19
19
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
20
20
  `,(0,c.jsxs)(t.ul,{children:[`
21
21
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B`,children:`Назначение и границы`})}),`
22
- `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
22
+ `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Импорт`})}),`
23
23
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%81%D1%80%D0%B5%D0%B4%D0%B0-%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F`,children:`Среда выполнения`})}),`
24
24
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%B8%D1%8F`,children:`Минимальные понятия`})}),`
25
25
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BA%D0%B0%D0%BA-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8E`,children:`Как выбрать функцию`})}),`
@@ -73,10 +73,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
73
73
  `]}),`
74
74
  `,(0,c.jsx)(t.h3,{id:`соседние-владельцы`,children:`Соседние владельцы`}),`
75
75
  `,(0,c.jsxs)(t.table,{children:[(0,c.jsx)(t.thead,{children:(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.th,{children:`Задача`}),(0,c.jsx)(t.th,{children:`Предпочтительный модуль`})]})}),(0,c.jsxs)(t.tbody,{children:[(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Массивы, группировка, дедупликация и reorder`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/array`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsxs)(t.td,{children:[`Runtime-проверки `,(0,c.jsx)(t.code,{children:`unknown`})]}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/validators`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Hash, UUID и стабильный DOM id`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/crypto`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsxs)(t.td,{children:[`Base64/Binary в `,(0,c.jsx)(t.code,{children:`Blob`})]}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/binary`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Clipboard`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/copy`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`DOM, portal, focus и browser download`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/dom`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Debounce, throttle и React hooks`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/hooks`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Форматирование дат, чисел, строк и value state`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/formatters`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Сериализуемый error report и его доставка`}),(0,c.jsxs)(t.td,{children:[(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/error-report`}),` и API-пакет`]})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`UI primitives`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-ui/<module>`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Бизнес-преобразование сущности`}),(0,c.jsx)(t.td,{children:`entity/feature/widget host-приложения`})]})]})]}),`
76
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
77
- `,(0,c.jsx)(t.p,{children:`Установите пакет:`}),`
78
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib
79
- `})}),`
76
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
80
77
  `,(0,c.jsxs)(t.p,{children:[`Entrypoint `,(0,c.jsx)(t.code,{children:`/utils`}),` также экспортирует React-функции `,(0,c.jsx)(t.code,{children:`childrenCount`}),` и `,(0,c.jsx)(t.code,{children:`createLazyComponent`}),`. Поэтому host-приложение должно разрешить совместимую peer dependency React:`]}),`
81
78
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install react
82
79
  `})}),`
@@ -1,8 +1,8 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-IjspN281.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Browser/Client Fingerprint`}),`
2
- `,(0,c.jsxs)(t.h1,{id:`client-fingerprint-через-ryuzaki13react-foundation-libfingerprint`,children:[`Client fingerprint через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/fingerprint`})]}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Browser/Client Fingerprint`}),`
2
+ `,(0,c.jsx)(t.h1,{id:`client-fingerprint`,children:`Client fingerprint`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`getClientFingerprint`}),` лениво загружает FingerprintJS, получает `,(0,c.jsx)(t.code,{children:`visitorId`}),` и кеширует Promise на всё время жизни JavaScript-модуля.`]}),`
4
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
5
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib @fingerprintjs/fingerprintjs
4
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
5
+ `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @fingerprintjs/fingerprintjs
6
6
  `})}),`
7
7
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { getClientFingerprint } from "@ryuzaki13/react-foundation-lib/fingerprint";
8
8
  `})}),`
@@ -1,7 +1,7 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-IjspN281.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,li:`li`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Data/Presets`}),`
2
- `,(0,c.jsxs)(t.h1,{id:`общие-preset-helpers-через-ryuzaki13react-foundation-libpresets`,children:[`Общие preset helpers через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/presets`})]}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,li:`li`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Data/Presets`}),`
2
+ `,(0,c.jsx)(t.h1,{id:`общие-preset-helpers`,children:`Общие preset helpers`}),`
3
3
  `,(0,c.jsx)(t.p,{children:`Модуль проверяет восстановленные preset ids, сопоставляет их с option objects и ищет одну option по id.`}),`
4
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
4
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
5
5
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { getPresetOption, normalizePresetIds, resolvePresetOptionsByIds } from "@ryuzaki13/react-foundation-lib/presets";
6
6
 
7
7
  import type { PresetOption } from "@ryuzaki13/react-foundation-lib/presets";
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-IjspN281.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation API/Orchestration/Async Tasks`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation API/Orchestration/Async Tasks`}),`
2
2
  `,(0,c.jsxs)(t.h1,{id:`асинхронные-задачи-через-ryuzaki13react-foundation-apiasync`,children:[`Асинхронные задачи через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-api/async`})]}),`
3
3
  `,(0,c.jsx)(t.p,{children:`Модуль запускает независимые Promise-задачи, сохраняет связь результата с исходным элементом и формирует удобную сводку для UI/логов.`}),`
4
4
  `,(0,c.jsx)(t.h2,{id:`какой-runner-выбрать`,children:`Какой runner выбрать`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-IjspN281.js";function o(e){let t={a:`a`,blockquote:`blockquote`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/Hooks`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,blockquote:`blockquote`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/Hooks`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`react-и-browser-hooks`,children:`React и browser hooks`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/hooks`}),` содержит общие React hooks для задач, которые повторяются в разных приложениях:`]}),`
4
4
  `,(0,c.jsxs)(t.ul,{children:[`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-IjspN281.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/Formatters/Date`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/Formatters/Date`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`даты-время-и-календарные-диапазоны`,children:`Даты, время и календарные диапазоны`}),`
3
3
  `,(0,c.jsx)(t.p,{children:`Модуль решает четыре связанные задачи:`}),`
4
4
  `,(0,c.jsxs)(t.ul,{children:[`
@@ -1,5 +1,5 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-IjspN281.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,h4:`h4`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/Array`}),`
2
- `,(0,c.jsxs)(t.h1,{id:`работа-с-массивами-через-ryuzaki13react-foundation-libarray`,children:[`Работа с массивами через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/array`})]}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,h4:`h4`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/Array`}),`
2
+ `,(0,c.jsx)(t.h1,{id:`работа-с-массивами`,children:`Работа с массивами`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`array`}),` содержит небольшие типизированные функции для типовых операций с массивами:`]}),`
4
4
  `,(0,c.jsxs)(t.ul,{children:[`
5
5
  `,(0,c.jsx)(t.li,{children:`группировки элементов;`}),`
@@ -11,10 +11,9 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
11
11
  `,(0,c.jsx)(t.li,{children:`нормализации строковых идентификаторов и объектов.`}),`
12
12
  `]}),`
13
13
  `,(0,c.jsx)(t.p,{children:`Функции не зависят от React, браузерного DOM, TanStack или других внешних runtime-библиотек. Их можно использовать в обычном TypeScript/JavaScript-коде, React-компонентах, store, mapper, validator и на границах сохранения или восстановления конфигурации.`}),`
14
- `,(0,c.jsx)(t.p,{children:`README рассчитан на разработчика, который использует опубликованный пакет и не читает его исходный код. Здесь отдельно объясняются базовые понятия JavaScript/TypeScript, точное поведение каждой функции, ограничения и типовые ошибки.`}),`
15
14
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
16
15
  `,(0,c.jsxs)(t.ul,{children:[`
17
- `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
16
+ `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Импорт`})}),`
18
17
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%B8%D1%8F-javascript-%D0%B8-typescript`,children:`Минимальные понятия JavaScript и TypeScript`})}),`
19
18
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BA%D0%B0%D0%BA-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8E`,children:`Как выбрать функцию`})}),`
20
19
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82`,children:`Быстрый старт`})}),`
@@ -31,14 +30,11 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
31
30
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BA%D1%80%D0%B0%D1%82%D0%BA%D0%B8%D0%B9-%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA-api`,children:`Краткий справочник API`})}),`
32
31
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B-%D0%B8-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%8B`,children:`Вопросы и ответы`})}),`
33
32
  `]}),`
34
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
35
- `,(0,c.jsx)(t.p,{children:`Установите пакет в приложении:`}),`
36
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib
37
- `})}),`
33
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
38
34
  `,(0,c.jsxs)(t.p,{children:[`Импортируйте функции только из точечного entrypoint `,(0,c.jsx)(t.code,{children:`/array`}),`:`]}),`
39
35
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { arrayGroupBy, arrayToMap, arrayUniqueBy, moveArrayItem } from "@ryuzaki13/react-foundation-lib/array";
40
36
 
41
- import type { ReorderAction } from "@ryuzaki13/react-foundation-lib/array";
37
+ import { type ReorderAction } from "@ryuzaki13/react-foundation-lib/array";
42
38
  `})}),`
43
39
  `,(0,c.jsx)(t.p,{children:`Корневой импорт пакета не поддерживается:`}),`
44
40
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`// Неправильно: у пакета нет корневого export.
@@ -1,12 +1,12 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-IjspN281.js";function o(e){let t={a:`a`,blockquote:`blockquote`,code:`code`,h1:`h1`,h2:`h2`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Validation/Runtime Guards`}),`
2
- `,(0,c.jsxs)(t.h1,{id:`runtime-guards-и-validators-через-ryuzaki13react-foundation-libvalidators`,children:[`Runtime guards и validators через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/validators`})]}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,blockquote:`blockquote`,code:`code`,h1:`h1`,h2:`h2`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Validation/Runtime Guards`}),`
2
+ `,(0,c.jsx)(t.h1,{id:`runtime-guards-и-validators`,children:`Runtime guards и validators`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль содержит небольшие проверки для `,(0,c.jsx)(t.code,{children:`unknown`}),`, object-like значений, image extensions, positive integer, URL и Floating UI DOM reference.`]}),`
4
4
  `,(0,c.jsxs)(t.blockquote,{children:[`
5
5
  `,(0,c.jsxs)(t.p,{children:[`Название функции не расширяет её контракт. Например, `,(0,c.jsx)(t.code,{children:`isSafe`}),` проверяет только отсутствие `,(0,c.jsx)(t.code,{children:`null`}),`/`,(0,c.jsx)(t.code,{children:`undefined`}),`, а `,(0,c.jsx)(t.code,{children:`isRecord`}),` допускает `,(0,c.jsx)(t.code,{children:`Date`}),` и `,(0,c.jsx)(t.code,{children:`Map`}),`. Ниже указано точное поведение каждой проверки.`]}),`
6
6
  `]}),`
7
7
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
8
8
  `,(0,c.jsxs)(t.ul,{children:[`
9
- `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
9
+ `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Импорт`})}),`
10
10
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BA%D0%B0%D0%BA-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%8E%D1%82-type-guards`,children:`Как работают type guards`})}),`
11
11
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#issafe`,children:(0,c.jsx)(t.code,{children:`isSafe`})})}),`
12
12
  `,(0,c.jsx)(t.li,{children:(0,c.jsxs)(t.a,{href:`#isobject-isrecord-asrecord`,children:[(0,c.jsx)(t.code,{children:`isObject`}),`, `,(0,c.jsx)(t.code,{children:`isRecord`}),`, `,(0,c.jsx)(t.code,{children:`asRecord`})]})}),`
@@ -18,7 +18,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
18
18
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#security-boundary`,children:`Security boundary`})}),`
19
19
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BF%D0%BE%D0%BB%D0%BD%D1%8B%D0%B9-api`,children:`Полный API`})}),`
20
20
  `]}),`
21
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
21
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
22
22
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import {
23
23
  asRecord,
24
24
  IMAGE_EXTENSIONS,
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-IjspN281.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/HTTP/SEO`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/HTTP/SEO`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`seo`,children:`SEO`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/seo`}),` собирает единый набор SEO-описаний страницы:`]}),`
4
4
  `,(0,c.jsxs)(t.ul,{children:[`
@@ -1 +1 @@
1
- import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{i as r,n as i,r as a}from"./iframe-B_6aAEqw.js";import{a as o,i as s}from"./utils-tg3ibbzi.js";import{n as c,t as l}from"./ui.module-BDnTp43_.js";import{i as u,r as d}from"./uiClasses-Cmg8Dx0X.js";import{n as f,t as p}from"./CheckBox.module-BOAVN-Ny.js";var m,h;function g(){return(g=t((()=>{r(),m=[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]],h=a(`circle`,m)})))()}var _,v;function y(){return(y=t((()=>{_=`gu8UMB`,v={radioInput:_}})))()}var b,x,S;function C(){return(C=t((()=>{b=e(n(),1),s(),g(),f(),l(),u(),y(),x=i(),S=({label:e,description:t,placeholder:n,disabled:r,size:i,className:a,onChange:s,value:l,id:u,tone:f=`neutral`,...m})=>{let g=(0,b.useId)(),_=u??g,y=t?`${_}-description`:void 0,S=e??n,C=l??!1;return(0,x.jsxs)(`div`,{className:o(c.uiElement,i&&c.uiSizable,i&&c[i],r&&c.disabled,a),children:[(0,x.jsxs)(`div`,{className:p.row,children:[(0,x.jsxs)(`div`,{className:o(p.wrapper,d(f)),children:[(0,x.jsx)(`input`,{...m,id:_,type:`radio`,checked:C,disabled:r,"aria-disabled":r,"aria-describedby":y,className:o(c.uiSelectionControl,p.input,v.radioInput),onChange:e=>s?.(e.currentTarget.checked)}),(0,x.jsx)(`div`,{className:o(c.uiSelectionIcon,p.icon),"aria-hidden":`true`,children:(0,x.jsx)(h,{fill:`currentColor`})})]}),S&&(0,x.jsx)(`label`,{htmlFor:_,className:c.uiLabel,children:S})]}),t&&(0,x.jsx)(`p`,{id:y,className:c.uiDescription,children:t})]})},S.__docgenInfo={description:'Компонент радиокнопки для выбора одного варианта.\nНативный `input[type="radio"]` обеспечивает взаимоисключение элементов с\nобщим `name`, а controlled API продолжает публиковать булево состояние.\nПоддерживает tone + appearance и использует общие selection utility-классы из ui.module.scss.',methods:[],displayName:`RadioButton`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},tone:{required:!1,tsType:{name:`union`,raw:`"neutral" | "brand" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"neutral"`},{name:`literal`,value:`"brand"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`}]},description:``,defaultValue:{value:`"neutral"`,computed:!1}}},composes:[`Omit`]}})))()}export{C as n,S as t};
1
+ import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{i as r,n as i,r as a}from"./iframe-DlUmG4EA.js";import{a as o,i as s}from"./utils-tg3ibbzi.js";import{n as c,t as l}from"./ui.module-BDnTp43_.js";import{i as u,r as d}from"./uiClasses-Cmg8Dx0X.js";import{n as f,t as p}from"./CheckBox.module-BOAVN-Ny.js";var m,h;function g(){return(g=t((()=>{r(),m=[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]],h=a(`circle`,m)})))()}var _,v;function y(){return(y=t((()=>{_=`gu8UMB`,v={radioInput:_}})))()}var b,x,S;function C(){return(C=t((()=>{b=e(n(),1),s(),g(),f(),l(),u(),y(),x=i(),S=({label:e,description:t,placeholder:n,disabled:r,size:i,className:a,onChange:s,value:l,id:u,tone:f=`neutral`,...m})=>{let g=(0,b.useId)(),_=u??g,y=t?`${_}-description`:void 0,S=e??n,C=l??!1;return(0,x.jsxs)(`div`,{className:o(c.uiElement,i&&c.uiSizable,i&&c[i],r&&c.disabled,a),children:[(0,x.jsxs)(`div`,{className:p.row,children:[(0,x.jsxs)(`div`,{className:o(p.wrapper,d(f)),children:[(0,x.jsx)(`input`,{...m,id:_,type:`radio`,checked:C,disabled:r,"aria-disabled":r,"aria-describedby":y,className:o(c.uiSelectionControl,p.input,v.radioInput),onChange:e=>s?.(e.currentTarget.checked)}),(0,x.jsx)(`div`,{className:o(c.uiSelectionIcon,p.icon),"aria-hidden":`true`,children:(0,x.jsx)(h,{fill:`currentColor`})})]}),S&&(0,x.jsx)(`label`,{htmlFor:_,className:c.uiLabel,children:S})]}),t&&(0,x.jsx)(`p`,{id:y,className:c.uiDescription,children:t})]})},S.__docgenInfo={description:'Компонент радиокнопки для выбора одного варианта.\nНативный `input[type="radio"]` обеспечивает взаимоисключение элементов с\nобщим `name`, а controlled API продолжает публиковать булево состояние.\nПоддерживает tone + appearance и использует общие selection utility-классы из ui.module.scss.',methods:[],displayName:`RadioButton`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},tone:{required:!1,tsType:{name:`union`,raw:`"neutral" | "brand" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"neutral"`},{name:`literal`,value:`"brand"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`}]},description:``,defaultValue:{value:`"neutral"`,computed:!1}}},composes:[`Omit`]}})))()}export{C as n,S as t};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.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-IjspN281.js";import{a as p,i as m,n as h,r as g,t as _}from"./RadioButton.stories-GiewWDd0.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:m,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.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-v2XPznvF.js";import{a as p,i as m,n as h,r as g,t as _}from"./RadioButton.stories-B10De9DU.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:m,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,b.jsx)(u,{children:`RadioButton`}),`
3
3
  `,(0,b.jsx)(o,{children:`Одиночная radio-кнопка для ручной сборки наборов выбора и специальных компоновок`}),`
4
4
  `,(0,b.jsx)(t.p,{children:`RadioButton уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -8,7 +8,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
8
8
  `,(0,b.jsx)(i,{of:_}),`
9
9
  `,(0,b.jsx)(t.pre,{children:(0,b.jsx)(t.code,{className:`language-tsx`,children:`import { useState } from "react";
10
10
 
11
- import { RadioButton } from "@/shared/ui";
11
+ import { RadioButton } from "@ryuzaki13/react-foundation-ui";
12
12
 
13
13
  export function Example() {
14
14
  const [checked, setChecked] = useState(true);
@@ -0,0 +1,32 @@
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r,t as i}from"./RadioButton-CFIAc4xz.js";import{n as a}from"./iframe-DlUmG4EA.js";import{n as o,t as s}from"./createControlledStoryRender-BouhvX-R.js";var c=t({Controlled:()=>p,Disabled:()=>h,Group:()=>m,__namedExportsOrder:()=>g,default:()=>f}),l,u,d,f,p,m,h,g;function _(){return(_=e((()=>{l=n(),o(),r(),u=a(),d=s((e,t)=>(0,u.jsx)(i,{...e,value:e.value??!1,onChange:n=>{e.onChange?.(n),t({value:n})}})),f={title:`UI/RadioButton`,component:i,args:{value:!1,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст подписи радиокнопки.`,control:`text`},description:{description:`Дополнительное описание под элементом.`,control:`text`},placeholder:{description:"Резервная подпись, если `label` не задан.",control:`text`},value:{description:`Признак выбранного состояния.`,control:`boolean`},onChange:{description:`Вызывается при изменении выбранности.`,control:!1},disabled:{description:`Блокирует взаимодействие.`,control:`boolean`},size:{description:`Размер визуального контрола и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},tone:{description:`Цветовой тон радиокнопки.`,control:`inline-radio`,options:[`neutral`,`brand`,`error`,`warning`,`success`,`info`]}}},p={render:d,args:{label:`Выбрать опцию`,description:`Одиночная радиокнопка в controlled-режиме.`,value:!1,tone:`neutral`}},m={render:()=>{let[e,t]=(0,l.useState)(`email`);return(0,u.jsxs)(`div`,{role:`radiogroup`,"aria-label":`Канал уведомлений`,style:{display:`grid`,gap:12},children:[(0,u.jsx)(i,{name:`notification-channel`,label:`Email`,value:e===`email`,onChange:e=>e&&t(`email`),tone:`info`}),(0,u.jsx)(i,{name:`notification-channel`,label:`SMS`,value:e===`sms`,onChange:e=>e&&t(`sms`),tone:`info`})]})},args:{value:void 0}},h={render:d,args:{label:`Недоступная опция`,description:`Заблокировано политикой конфигурации.`,value:!0,disabled:!0,tone:`neutral`}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
2
+ render: renderRadioButtonStory,
3
+ args: {
4
+ label: "Выбрать опцию",
5
+ description: "Одиночная радиокнопка в controlled-режиме.",
6
+ value: false,
7
+ tone: "neutral"
8
+ }
9
+ }`,...p.parameters?.docs?.source}}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
10
+ render: () => {
11
+ const [selected, setSelected] = useState<"email" | "sms">("email");
12
+ return <div role="radiogroup" aria-label="Канал уведомлений" style={{
13
+ display: "grid",
14
+ gap: 12
15
+ }}>
16
+ <RadioButton name="notification-channel" label="Email" value={selected === "email"} onChange={checked => checked && setSelected("email")} tone="info" />
17
+ <RadioButton name="notification-channel" label="SMS" value={selected === "sms"} onChange={checked => checked && setSelected("sms")} tone="info" />
18
+ </div>;
19
+ },
20
+ args: {
21
+ value: undefined
22
+ }
23
+ }`,...m.parameters?.docs?.source}}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
24
+ render: renderRadioButtonStory,
25
+ args: {
26
+ label: "Недоступная опция",
27
+ description: "Заблокировано политикой конфигурации.",
28
+ value: true,
29
+ disabled: true,
30
+ tone: "neutral"
31
+ }
32
+ }`,...h.parameters?.docs?.source}}},g=[`Controlled`,`Group`,`Disabled`]})))()}export{_ as a,c as i,h as n,m as r,p as t};
@@ -1 +1 @@
1
- import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{i as r,n as i,r as a}from"./iframe-B_6aAEqw.js";import{a as o,i as s,n as c,o as l}from"./utils-tg3ibbzi.js";import{n as u,t as d}from"./ui.module-BDnTp43_.js";var f,p;function m(){return(m=t((()=>{r(),f=[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]],p=a(`circle-check-big`,f)})))()}var h,g,_,v,y,b,x,S,C;function w(){return(w=t((()=>{h=`nINbA6`,g=`GL-UWx`,_=`_6PeF-i`,v=`_5wP4aR`,y=`S3MnZI`,b=`KHJ0ja`,x=`oGmcQH`,S=`k2z8AN`,C={radioGroup:h,noWrap:g,horizontal:_,vertical:v,radioItem:y,checked:b,radioItemContent:x,radioItemIcon:S}})))()}function T({value:e,onChange:t,label:n,description:r,disabled:i,className:a,noWrap:s,orientation:c=`horizontal`,"aria-label":l,children:d}){let f=(0,D.useId)(),p=n?`${f}-label`:void 0,m=r?`${f}-description`:void 0,[h,g]=(0,D.useState)([]),_=(0,D.useCallback)(e=>t?.(e),[t]),v=(0,D.useCallback)(e=>(g(t=>t.includes(e)?t:[...t,e]),()=>{g(t=>t.filter(t=>t!==e))}),[]),y=(0,D.useMemo)(()=>({value:e,onChange:_,disabled:i,orientation:c,groupId:f,labelId:p,descriptionId:m,firstOptionId:h[0],registerOption:v}),[m,i,f,_,p,c,v,h,e]);return(0,O.jsxs)(`div`,{className:o(u.uiElement,i&&u.disabled,a),children:[n&&(0,O.jsx)(`div`,{id:p,className:u.uiLabel,children:n}),r&&(0,O.jsx)(`div`,{id:m,className:u.uiDescription,children:r}),(0,O.jsx)(k.Provider,{value:y,children:(0,O.jsx)(`div`,{role:`radiogroup`,"aria-labelledby":p,"aria-label":p?void 0:l,"aria-describedby":m,"aria-disabled":i||void 0,"data-disabled":i||void 0,className:o(u.uiInputControl,C.radioGroup,s&&C.noWrap,C[c]),children:d})})]})}function E({value:e,label:t,description:n,className:r}){let i=(0,D.useContext)(k),a=(0,D.useId)(),s=i?.registerOption;if((0,D.useLayoutEffect)(()=>{if(s)return s(a)},[s,a]),!i)return(0,O.jsxs)(`div`,{className:o(C.radioItem,r),children:[(0,O.jsx)(`p`,{className:`textNoWrap`,children:t}),n&&(0,O.jsx)(`div`,{className:`fontSizeSm content2`,children:n})]});let u=Object.is(i.value,e),d=i.disabled===!0,f=i.value===void 0&&i.firstOptionId===a,m=()=>{d||u||i.onChange?.(e)};return(0,O.jsxs)(`button`,{id:`${i.groupId}-option-${a}`,type:`button`,role:`radio`,"aria-checked":u,disabled:d,tabIndex:u||f?0:-1,className:o(C.radioItem,u&&C.checked,r),"data-ui":`radio-option`,"data-action":`select-radio-option`,onClick:m,onKeyDown:e=>{if(d||c(e,m))return;let t=e.currentTarget,n=t.closest(`[role="radiogroup"]`),r=Array.from(n?.querySelectorAll(`[role="radio"]:not([disabled])`)??[]);if(!r.length)return;let a=r.indexOf(t);if(a===-1)return;let o=l({currentIndex:a,itemCount:r.length,key:e.key,orientation:i.orientation});o!==null&&(e.preventDefault(),r[o]?.focus(),r[o]?.click())},children:[(0,O.jsxs)(`span`,{className:C.radioItemContent,children:[(0,O.jsx)(`span`,{className:`textNoWrap`,children:t}),n&&(0,O.jsx)(`span`,{className:`fontSizeSm`,children:n})]}),(0,O.jsx)(`span`,{className:C.radioItemIcon,children:(0,O.jsx)(p,{style:{display:`block`,visibility:u?`visible`:`hidden`}})})]})}var D,O,k;function A(){return(A=t((()=>{D=e(n(),1),s(),m(),d(),w(),O=i(),k=(0,D.createContext)(null),T.Option=E,T.__docgenInfo={description:`Группа радиокнопок с общим состоянием выбранного значения. Обеспечивает единый API выбора и контекст для дочерних опций.`,methods:[{name:`Option`,docblock:null,modifiers:[`static`],params:[{name:`{ value, label, description, className }: OptionProps<T>`,optional:!1,type:{name:`OptionProps`,elements:[{name:`T`}],raw:`OptionProps<T>`,alias:`OptionProps`}}],returns:null}],displayName:`RadioGroup`,props:{value:{required:!1,tsType:{name:`T`},description:``},onChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`T`},name:`value`}],return:{name:`void`}}},description:``},label:{required:!1,tsType:{name:`string`},description:``},description:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},noWrap:{required:!1,tsType:{name:`literal`,value:`true`},description:``},orientation:{required:!1,tsType:{name:`union`,raw:`"vertical" | "horizontal"`,elements:[{name:`literal`,value:`"vertical"`},{name:`literal`,value:`"horizontal"`}]},description:``,defaultValue:{value:`"horizontal"`,computed:!1}},"aria-label":{required:!1,tsType:{name:`string`},description:``},children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``}}},E.__docgenInfo={description:"Опция внутри `RadioGroup`, представляющая одно выбираемое значение. Отрисовывает подпись, описание и состояние выбора.",methods:[],displayName:`Option`,props:{value:{required:!0,tsType:{name:`T`},description:``},label:{required:!0,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`ReactNode`},description:``},className:{required:!1,tsType:{name:`string`},description:``}}}})))()}export{A as n,T as t};
1
+ import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{i as r,n as i,r as a}from"./iframe-DlUmG4EA.js";import{a as o,i as s,n as c,o as l}from"./utils-tg3ibbzi.js";import{n as u,t as d}from"./ui.module-BDnTp43_.js";var f,p;function m(){return(m=t((()=>{r(),f=[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]],p=a(`circle-check-big`,f)})))()}var h,g,_,v,y,b,x,S,C;function w(){return(w=t((()=>{h=`nINbA6`,g=`GL-UWx`,_=`_6PeF-i`,v=`_5wP4aR`,y=`S3MnZI`,b=`KHJ0ja`,x=`oGmcQH`,S=`k2z8AN`,C={radioGroup:h,noWrap:g,horizontal:_,vertical:v,radioItem:y,checked:b,radioItemContent:x,radioItemIcon:S}})))()}function T({value:e,onChange:t,label:n,description:r,disabled:i,className:a,noWrap:s,orientation:c=`horizontal`,"aria-label":l,children:d}){let f=(0,D.useId)(),p=n?`${f}-label`:void 0,m=r?`${f}-description`:void 0,[h,g]=(0,D.useState)([]),_=(0,D.useCallback)(e=>t?.(e),[t]),v=(0,D.useCallback)(e=>(g(t=>t.includes(e)?t:[...t,e]),()=>{g(t=>t.filter(t=>t!==e))}),[]),y=(0,D.useMemo)(()=>({value:e,onChange:_,disabled:i,orientation:c,groupId:f,labelId:p,descriptionId:m,firstOptionId:h[0],registerOption:v}),[m,i,f,_,p,c,v,h,e]);return(0,O.jsxs)(`div`,{className:o(u.uiElement,i&&u.disabled,a),children:[n&&(0,O.jsx)(`div`,{id:p,className:u.uiLabel,children:n}),r&&(0,O.jsx)(`div`,{id:m,className:u.uiDescription,children:r}),(0,O.jsx)(k.Provider,{value:y,children:(0,O.jsx)(`div`,{role:`radiogroup`,"aria-labelledby":p,"aria-label":p?void 0:l,"aria-describedby":m,"aria-disabled":i||void 0,"data-disabled":i||void 0,className:o(u.uiInputControl,C.radioGroup,s&&C.noWrap,C[c]),children:d})})]})}function E({value:e,label:t,description:n,className:r}){let i=(0,D.useContext)(k),a=(0,D.useId)(),s=i?.registerOption;if((0,D.useLayoutEffect)(()=>{if(s)return s(a)},[s,a]),!i)return(0,O.jsxs)(`div`,{className:o(C.radioItem,r),children:[(0,O.jsx)(`p`,{className:`textNoWrap`,children:t}),n&&(0,O.jsx)(`div`,{className:`fontSizeSm content2`,children:n})]});let u=Object.is(i.value,e),d=i.disabled===!0,f=i.value===void 0&&i.firstOptionId===a,m=()=>{d||u||i.onChange?.(e)};return(0,O.jsxs)(`button`,{id:`${i.groupId}-option-${a}`,type:`button`,role:`radio`,"aria-checked":u,disabled:d,tabIndex:u||f?0:-1,className:o(C.radioItem,u&&C.checked,r),"data-ui":`radio-option`,"data-action":`select-radio-option`,onClick:m,onKeyDown:e=>{if(d||c(e,m))return;let t=e.currentTarget,n=t.closest(`[role="radiogroup"]`),r=Array.from(n?.querySelectorAll(`[role="radio"]:not([disabled])`)??[]);if(!r.length)return;let a=r.indexOf(t);if(a===-1)return;let o=l({currentIndex:a,itemCount:r.length,key:e.key,orientation:i.orientation});o!==null&&(e.preventDefault(),r[o]?.focus(),r[o]?.click())},children:[(0,O.jsxs)(`span`,{className:C.radioItemContent,children:[(0,O.jsx)(`span`,{className:`textNoWrap`,children:t}),n&&(0,O.jsx)(`span`,{className:`fontSizeSm`,children:n})]}),(0,O.jsx)(`span`,{className:C.radioItemIcon,children:(0,O.jsx)(p,{style:{display:`block`,visibility:u?`visible`:`hidden`}})})]})}var D,O,k;function A(){return(A=t((()=>{D=e(n(),1),s(),m(),d(),w(),O=i(),k=(0,D.createContext)(null),T.Option=E,T.__docgenInfo={description:`Группа радиокнопок с общим состоянием выбранного значения. Обеспечивает единый API выбора и контекст для дочерних опций.`,methods:[{name:`Option`,docblock:null,modifiers:[`static`],params:[{name:`{ value, label, description, className }: OptionProps<T>`,optional:!1,type:{name:`OptionProps`,elements:[{name:`T`}],raw:`OptionProps<T>`,alias:`OptionProps`}}],returns:null}],displayName:`RadioGroup`,props:{value:{required:!1,tsType:{name:`T`},description:``},onChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`T`},name:`value`}],return:{name:`void`}}},description:``},label:{required:!1,tsType:{name:`string`},description:``},description:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},noWrap:{required:!1,tsType:{name:`literal`,value:`true`},description:``},orientation:{required:!1,tsType:{name:`union`,raw:`"vertical" | "horizontal"`,elements:[{name:`literal`,value:`"vertical"`},{name:`literal`,value:`"horizontal"`}]},description:``,defaultValue:{value:`"horizontal"`,computed:!1}},"aria-label":{required:!1,tsType:{name:`string`},description:``},children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``}}},E.__docgenInfo={description:"Опция внутри `RadioGroup`, представляющая одно выбираемое значение. Отрисовывает подпись, описание и состояние выбора.",methods:[],displayName:`Option`,props:{value:{required:!0,tsType:{name:`T`},description:``},label:{required:!0,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`ReactNode`},description:``},className:{required:!1,tsType:{name:`string`},description:``}}}})))()}export{A as n,T as t};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.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-IjspN281.js";import{a as p,i as m,n as h,r as g,t as _}from"./RadioGroup.stories-C7N9yLcN.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.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-v2XPznvF.js";import{a as p,i as m,n as h,r as g,t as _}from"./RadioGroup.stories-BAE8jGr_.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,b.jsx)(u,{children:`RadioGroup`}),`
3
3
  `,(0,b.jsx)(o,{children:`Группа взаимоисключающих опций с поддержкой горизонтальной и вертикальной раскладки`}),`
4
4
  `,(0,b.jsx)(t.p,{children:`RadioGroup уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -8,7 +8,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
8
8
  `,(0,b.jsx)(i,{of:_}),`
9
9
  `,(0,b.jsx)(t.pre,{children:(0,b.jsx)(t.code,{className:`language-tsx`,children:`import { useState } from "react";
10
10
 
11
- import { RadioGroup } from "@/shared/ui";
11
+ import { RadioGroup } from "@ryuzaki13/react-foundation-ui";
12
12
 
13
13
  export function Example() {
14
14
  const [value, setValue] = useState("email");
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n,t as r}from"./RadioGroup-CTZXoIcq.js";import{n as i}from"./iframe-B_6aAEqw.js";import{n as a,t as o}from"./createControlledStoryRender-BouhvX-R.js";var s=t({Controlled:()=>g,Disabled:()=>v,Vertical:()=>_,__namedExportsOrder:()=>y,default:()=>h});function c(e){return(0,d.jsx)(r,{...e})}function l({args:e,updateArgs:t,options:n,showValue:i=!1}){return(0,d.jsxs)(`div`,{style:{display:`grid`,gap:10},children:[(0,d.jsx)(c,{...e,onChange:n=>{e.onChange?.(n),t({value:n})},children:n.map(e=>(0,d.jsx)(r.Option,{value:e.value,label:e.label,description:e.description},e.value))}),i&&(0,d.jsxs)(`div`,{children:[`Выбрано: `,e.value??`не выбрано`]})]})}function u(e,t=!1){return o((n,r)=>(0,d.jsx)(l,{args:n,updateArgs:r,options:e,showValue:t}))}var d,f,p,m,h,g,_,v,y;function b(){return(b=e((()=>{a(),n(),d=i(),f=[{value:`email`,label:`Email`,description:`Письма на корпоративную почту`},{value:`sms`,label:`SMS`,description:`Сообщения на телефон`},{value:`push`,label:`Push`,description:`Уведомления в приложении`}],p=[{value:`draft`,label:`Черновик`},{value:`review`,label:`На согласовании`},{value:`approved`,label:`Утвержден`}],m=[{value:`yes`,label:`Да`},{value:`no`,label:`Нет`}],h={title:`Shared/UI/RadioGroup`,component:c,args:{value:`email`,onChange:()=>{},orientation:`horizontal`,label:`Канал уведомлений`,description:`Выберите основной канал доставки`,disabled:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{value:{description:`Текущее выбранное значение.`,control:`text`},onChange:{description:`Вызывается при смене выбранной опции.`,control:!1},label:{description:`Заголовок группы опций.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},disabled:{description:`Блокирует выбор опций.`,control:`boolean`},noWrap:{description:`Запрещает перенос опций на новую строку.`,control:`boolean`},orientation:{description:`Ориентация расположения опций.`,control:`inline-radio`,options:[`horizontal`,`vertical`]},children:{description:"Элементы `RadioGroup.Option` внутри группы.",control:!1}}},g={render:u(f,!0),args:{}},_={render:u(p),args:{orientation:`vertical`,label:`Статус документа`,value:`draft`}},v={render:u(m),args:{disabled:!0,value:`yes`}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n,t as r}from"./RadioGroup-B7X4Pr-l.js";import{n as i}from"./iframe-DlUmG4EA.js";import{n as a,t as o}from"./createControlledStoryRender-BouhvX-R.js";var s=t({Controlled:()=>g,Disabled:()=>v,Vertical:()=>_,__namedExportsOrder:()=>y,default:()=>h});function c(e){return(0,d.jsx)(r,{...e})}function l({args:e,updateArgs:t,options:n,showValue:i=!1}){return(0,d.jsxs)(`div`,{style:{display:`grid`,gap:10},children:[(0,d.jsx)(c,{...e,onChange:n=>{e.onChange?.(n),t({value:n})},children:n.map(e=>(0,d.jsx)(r.Option,{value:e.value,label:e.label,description:e.description},e.value))}),i&&(0,d.jsxs)(`div`,{children:[`Выбрано: `,e.value??`не выбрано`]})]})}function u(e,t=!1){return o((n,r)=>(0,d.jsx)(l,{args:n,updateArgs:r,options:e,showValue:t}))}var d,f,p,m,h,g,_,v,y;function b(){return(b=e((()=>{a(),n(),d=i(),f=[{value:`email`,label:`Email`,description:`Письма на корпоративную почту`},{value:`sms`,label:`SMS`,description:`Сообщения на телефон`},{value:`push`,label:`Push`,description:`Уведомления в приложении`}],p=[{value:`draft`,label:`Черновик`},{value:`review`,label:`На согласовании`},{value:`approved`,label:`Утвержден`}],m=[{value:`yes`,label:`Да`},{value:`no`,label:`Нет`}],h={title:`UI/RadioGroup`,component:c,args:{value:`email`,onChange:()=>{},orientation:`horizontal`,label:`Канал уведомлений`,description:`Выберите основной канал доставки`,disabled:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{value:{description:`Текущее выбранное значение.`,control:`text`},onChange:{description:`Вызывается при смене выбранной опции.`,control:!1},label:{description:`Заголовок группы опций.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},disabled:{description:`Блокирует выбор опций.`,control:`boolean`},noWrap:{description:`Запрещает перенос опций на новую строку.`,control:`boolean`},orientation:{description:`Ориентация расположения опций.`,control:`inline-radio`,options:[`horizontal`,`vertical`]},children:{description:"Элементы `RadioGroup.Option` внутри группы.",control:!1}}},g={render:u(f,!0),args:{}},_={render:u(p),args:{orientation:`vertical`,label:`Статус документа`,value:`draft`}},v={render:u(m),args:{disabled:!0,value:`yes`}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
2
2
  render: createRadioGroupStoryRender(notificationOptions, true),
3
3
  args: {}
4
4
  }`,...g.parameters?.docs?.source}}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-B_6aAEqw.js";import{a as r,i}from"./utils-tg3ibbzi.js";var a,o,s,c;function l(){return(l=e((()=>{a=t(),i(),o=n(),s=(0,a.forwardRef)(({children:e,height:t,stable:n,overscroll:i,className:a},s)=>(0,o.jsx)(`div`,{ref:s,className:r(`scrollable`,n&&`stable`,i&&`overscroll`,a),style:{height:t},children:e})),c=(0,a.forwardRef)(({blockClassName:e,...t},n)=>(0,o.jsx)(`div`,{className:r(e,`overflowHidden w100 h100`),children:(0,o.jsx)(s,{ref:n,...t})})),s.__docgenInfo={description:``,methods:[],displayName:`Scrollable`,props:{className:{required:!1,tsType:{name:`string`},description:``},height:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``},stable:{required:!1,tsType:{name:`boolean`},description:``},overscroll:{required:!1,tsType:{name:`boolean`},description:``}},composes:[`PropsWithChildren`]},c.__docgenInfo={description:``,methods:[],displayName:`ScrollableBlock`,props:{className:{required:!1,tsType:{name:`string`},description:``},height:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``},stable:{required:!1,tsType:{name:`boolean`},description:``},overscroll:{required:!1,tsType:{name:`boolean`},description:``},blockClassName:{required:!1,tsType:{name:`string`},description:``}},composes:[`PropsWithChildren`]}})))()}export{l as n,s as t};
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-DlUmG4EA.js";import{a as r,i}from"./utils-tg3ibbzi.js";var a,o,s,c;function l(){return(l=e((()=>{a=t(),i(),o=n(),s=(0,a.forwardRef)(({children:e,height:t,stable:n,overscroll:i,className:a},s)=>(0,o.jsx)(`div`,{ref:s,className:r(`scrollable`,n&&`stable`,i&&`overscroll`,a),style:{height:t},children:e})),c=(0,a.forwardRef)(({blockClassName:e,...t},n)=>(0,o.jsx)(`div`,{className:r(e,`overflowHidden w100 h100`),children:(0,o.jsx)(s,{ref:n,...t})})),s.__docgenInfo={description:``,methods:[],displayName:`Scrollable`,props:{className:{required:!1,tsType:{name:`string`},description:``},height:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``},stable:{required:!1,tsType:{name:`boolean`},description:``},overscroll:{required:!1,tsType:{name:`boolean`},description:``}},composes:[`PropsWithChildren`]},c.__docgenInfo={description:``,methods:[],displayName:`ScrollableBlock`,props:{className:{required:!1,tsType:{name:`string`},description:``},height:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``},stable:{required:!1,tsType:{name:`boolean`},description:``},overscroll:{required:!1,tsType:{name:`boolean`},description:``},blockClassName:{required:!1,tsType:{name:`string`},description:``}},composes:[`PropsWithChildren`]}})))()}export{l as n,s as t};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./check-ue9rVspp.js";import{n as i}from"./iframe-B_6aAEqw.js";import{a,i as o}from"./utils-tg3ibbzi.js";import{n as s,t as ee}from"./OptionButton-D0afktaf.js";import{n as c,t as l}from"./ui.module-BDnTp43_.js";import{c as u,d,f,i as p,l as te,m,n as ne,p as re,r as h,s as ie,t as g,u as _}from"./usePickerTriggerController-D3h4HqB9.js";import{n as v,t as ae}from"./Option-Bdu68XEe.js";import{i as y,n as oe,r as se,t as b}from"./usePickerQuery-Cug-ZpN1.js";import{n as x,t as S}from"./usePickerDefaultFilter-5Q1pAV4d.js";import{n as C,t as ce}from"./CustomOptionButton-BHA-6inc.js";function le({option:e,getOptionLabel:t,getOptionCode:n,getOptionGroup:r}){return[d(t(e)),d(n?.(e)),d(r?.(e)?.label)].filter(e=>!!e).join(` `).toLowerCase()}function w(){return(w=e((()=>{f()})))()}function ue(e,t){let n=[];return e.forEach((e,r)=>{let i=t(e),a=n.at(-1),o=a?.group?.key===i?.key;if(a&&o){a.items.push({option:e,index:r});return}n.push({group:i,items:[{option:e,index:r}]})}),n}function T(e){let{label:t,description:n,disabled:i,placeholder:o,size:s,options:l,value:u,onChange:f,getOptionKey:m,getOptionLabel:h,getOptionCode:g,getOptionSearchText:_,getOptionDisabled:v,getOptionAriaLabel:y,getOptionGroup:b,getOptionClassName:S,renderOption:C,renderValue:w,className:T,buttonClassName:O,optionsClassName:de,optionsMaxWidth:fe,optionsContentClassName:pe,searchable:k=!1,defaultFilter:me=!0,query:he,defaultQuery:ge,onQuery:_e,renderPopupHeader:ve,emptyState:ye,isLoading:A,errorState:j,placement:M=`bottom-start`,clearable:N=!1}=e,P=f,F=(0,E.useRef)(null),[I,be]=(0,E.useState)(!1),L=k?`search-single`:`display`,R=u===void 0?void 0:m(u),z=R===void 0?void 0:l.find(e=>m(e)===R)??u,{query:B,setQuery:V,resetQueryOnClose:xe}=oe({query:he,defaultQuery:ge,onQuery:_e,triggerMode:L}),Se=e=>{I&&!e&&xe&&V(``),be(e)},Ce=(0,E.useCallback)(e=>_?.(e)??le({option:e,getOptionLabel:h,getOptionCode:g,getOptionGroup:b}),[_,g,b,h]),H=x({options:l,query:B,enabled:k&&me,getSearchText:Ce}),U=(0,E.useMemo)(()=>b?ue(H,b):void 0,[b,H]),we=R===void 0?-1:H.findIndex(e=>m(e)===R),{activeIndex:Te,context:Ee,floatingStyles:De,getFloatingProps:Oe,setReference:ke,setFloating:Ae,setOptionRef:je,close:W,openList:Me,toggleOpen:Ne,selectOption:G,selectActiveOption:Pe,handleReferenceKeyDown:Fe,handleFloatingKeyDown:Ie,getOptionId:Le,getActiveOptionId:K}=p({options:H,selectedIndex:we,open:I,onOpenChange:Se,getOptionDisabled:v,onSelect:P,disabled:i,placement:M,triggerMode:L}),q=H.length>0,J=z===void 0?void 0:h(z),Y=z===void 0?void 0:w?w(z):J,Re=d(J),ze=z===void 0?void 0:d(g?.(z)),X=d(Y)??Re??ze??(R===void 0?``:String(R)),Z=k&&(I||B.length>0)?B:z===void 0?``:X,Q=ne({mode:L,open:I,currentQuery:B,hasDisplayValue:z!==void 0,inputRef:F,setQuery:V,openList:Me,close:W,toggleOpen:Ne}),Be=e=>{F.current=e},Ve=()=>{N&&P(void 0),V(``),W()},$=(e,t,n)=>{let i=m(t),a=R!==void 0&&i===R,o=n===Te,s=v?.(t)??!1,c={active:o,selected:a,disabled:s};return(0,D.jsx)(ae,{id:Le(e,n),ref:e=>je(n,e),role:`option`,"aria-selected":a,"aria-disabled":s||void 0,"aria-label":y?.(t),active:o,selected:a,disabled:s,className:S?.(t,c),children:C?(0,D.jsx)(ce,{tabIndex:-1,disabled:s,onMouseDown:e=>e.preventDefault(),onClick:()=>G(t),children:C(t,c)}):(0,D.jsx)(ee,{tabIndex:-1,disabled:s,icon:a?(0,D.jsx)(r,{}):(0,D.jsx)(`span`,{}),text:h(t),code:g?.(t),onMouseDown:e=>e.preventDefault(),onClick:()=>G(t)})},i)};return(0,D.jsx)(re,{label:t,description:n,disabled:i,size:s,className:T,children:({controlId:e,labelId:n,describedBy:r})=>{let s=`${e}-listbox`;return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(ie,{ref:Be,rootRef:ke,id:e,type:`text`,disabled:i,readOnly:!k,autoComplete:`off`,role:`combobox`,isLoading:A,open:I,optionCount:l.length,label:t,placeholder:o,value:Z,selectedValue:Y??X,hasSelection:z!==void 0,showSelectedValue:!1,clearable:!!N,onClear:Ve,onToggleMouseDown:Q.handleToggleMouseDown,onToggleClick:Q.handleToggleClick,"aria-labelledby":n,"aria-describedby":r,"aria-haspopup":`listbox`,"aria-expanded":I,"aria-controls":I?s:void 0,"aria-autocomplete":k?`list`:`none`,"aria-activedescendant":I?K(s):void 0,inputClassName:a(O,`textOverflow`),onChange:e=>{k&&Q.handleTriggerInputChange(e.target.value)},onClick:Q.handleTriggerClick,onFocus:e=>{Q.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{Fe(e),!e.defaultPrevented&&Q.handleTriggerKeyDown({event:e,onActivateWhenOpen:Pe,enableSpaceActivation:!k})}}),(0,D.jsx)(te,{open:I,context:Ee,floatingStyles:De,listId:s,labelId:n,descriptionId:r,activeOptionId:q?K(s):void 0,setFloating:Ae,getFloatingProps:Oe,onKeyDown:Ie,className:de,maxWidth:fe,toolbar:ve,children:(0,D.jsx)(`div`,{className:a(pe,`h100 scrollable`),children:q?U?U.map((e,t)=>{let n=e.group?`${s}-group-${t}`:void 0,r=e.items.map(({option:e,index:t})=>$(s,e,t));return e.group?(0,D.jsxs)(`div`,{role:`group`,"aria-labelledby":n,children:[(0,D.jsx)(`div`,{id:n,className:c.uiPopupGroupLabel,children:e.group.label}),r]},`group-${String(e.group.key)}-${t}`):(0,D.jsx)(E.Fragment,{children:r},`options-${t}`)}):H.map((e,t)=>$(s,e,t)):(0,D.jsx)(se,{emptyState:ye,errorState:j})})})]})}})}var E,D;function O(){return(O=e((()=>{E=t(),o(),n(),C(),v(),s(),f(),m(),_(),y(),u(),S(),h(),b(),g(),l(),w(),D=i(),T.__docgenInfo={description:`Выпадающий список выбора значения из набора опций. Подходит для форм, фильтров и простых справочников.`,methods:[],displayName:`Select`,props:{options:{required:!0,tsType:{name:`unknown`},description:``},getOptionKey:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => SelectOptionKey`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`string`}}},description:``},getOptionLabel:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => string`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`string`}}},description:``},getOptionCode:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => string`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`string`}}},description:``},getOptionSearchText:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => string | readonly string[]`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`union`,raw:`string | readonly string[]`,elements:[{name:`string`},{name:`unknown`}]}}},description:`Явный поисковый текст для опции с произвольным ReactNode-render.`},getOptionDisabled:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => boolean`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`boolean`}}},description:``},getOptionAriaLabel:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => string`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`string`}}},description:``},getOptionGroup:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => SelectOptionGroup | undefined`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`union`,raw:`SelectOptionGroup | undefined`,elements:[{name:`signature`,type:`object`,raw:`{
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./check-Cw2uZkgi.js";import{n as i}from"./iframe-DlUmG4EA.js";import{a,i as o}from"./utils-tg3ibbzi.js";import{n as s,t as ee}from"./OptionButton-ClHPJWSS.js";import{n as c,t as l}from"./ui.module-BDnTp43_.js";import{c as u,d,f,i as p,l as te,m,n as ne,p as re,r as h,s as ie,t as g,u as _}from"./usePickerTriggerController-fH-NsvWu.js";import{n as v,t as ae}from"./Option-EvZAvPlO.js";import{i as y,n as oe,r as se,t as b}from"./usePickerQuery-7mnpDV7K.js";import{n as x,t as S}from"./usePickerDefaultFilter-5Q1pAV4d.js";import{n as C,t as ce}from"./CustomOptionButton-oTNty8hW.js";function le({option:e,getOptionLabel:t,getOptionCode:n,getOptionGroup:r}){return[d(t(e)),d(n?.(e)),d(r?.(e)?.label)].filter(e=>!!e).join(` `).toLowerCase()}function w(){return(w=e((()=>{f()})))()}function ue(e,t){let n=[];return e.forEach((e,r)=>{let i=t(e),a=n.at(-1),o=a?.group?.key===i?.key;if(a&&o){a.items.push({option:e,index:r});return}n.push({group:i,items:[{option:e,index:r}]})}),n}function T(e){let{label:t,description:n,disabled:i,placeholder:o,size:s,options:l,value:u,onChange:f,getOptionKey:m,getOptionLabel:h,getOptionCode:g,getOptionSearchText:_,getOptionDisabled:v,getOptionAriaLabel:y,getOptionGroup:b,getOptionClassName:S,renderOption:C,renderValue:w,className:T,buttonClassName:O,optionsClassName:de,optionsMaxWidth:fe,optionsContentClassName:pe,searchable:k=!1,defaultFilter:me=!0,query:he,defaultQuery:ge,onQuery:_e,renderPopupHeader:ve,emptyState:ye,isLoading:A,errorState:j,placement:M=`bottom-start`,clearable:N=!1}=e,P=f,F=(0,E.useRef)(null),[I,be]=(0,E.useState)(!1),L=k?`search-single`:`display`,R=u===void 0?void 0:m(u),z=R===void 0?void 0:l.find(e=>m(e)===R)??u,{query:B,setQuery:V,resetQueryOnClose:xe}=oe({query:he,defaultQuery:ge,onQuery:_e,triggerMode:L}),Se=e=>{I&&!e&&xe&&V(``),be(e)},Ce=(0,E.useCallback)(e=>_?.(e)??le({option:e,getOptionLabel:h,getOptionCode:g,getOptionGroup:b}),[_,g,b,h]),H=x({options:l,query:B,enabled:k&&me,getSearchText:Ce}),U=(0,E.useMemo)(()=>b?ue(H,b):void 0,[b,H]),we=R===void 0?-1:H.findIndex(e=>m(e)===R),{activeIndex:Te,context:Ee,floatingStyles:De,getFloatingProps:Oe,setReference:ke,setFloating:Ae,setOptionRef:je,close:W,openList:Me,toggleOpen:Ne,selectOption:G,selectActiveOption:Pe,handleReferenceKeyDown:Fe,handleFloatingKeyDown:Ie,getOptionId:Le,getActiveOptionId:K}=p({options:H,selectedIndex:we,open:I,onOpenChange:Se,getOptionDisabled:v,onSelect:P,disabled:i,placement:M,triggerMode:L}),q=H.length>0,J=z===void 0?void 0:h(z),Y=z===void 0?void 0:w?w(z):J,Re=d(J),ze=z===void 0?void 0:d(g?.(z)),X=d(Y)??Re??ze??(R===void 0?``:String(R)),Z=k&&(I||B.length>0)?B:z===void 0?``:X,Q=ne({mode:L,open:I,currentQuery:B,hasDisplayValue:z!==void 0,inputRef:F,setQuery:V,openList:Me,close:W,toggleOpen:Ne}),Be=e=>{F.current=e},Ve=()=>{N&&P(void 0),V(``),W()},$=(e,t,n)=>{let i=m(t),a=R!==void 0&&i===R,o=n===Te,s=v?.(t)??!1,c={active:o,selected:a,disabled:s};return(0,D.jsx)(ae,{id:Le(e,n),ref:e=>je(n,e),role:`option`,"aria-selected":a,"aria-disabled":s||void 0,"aria-label":y?.(t),active:o,selected:a,disabled:s,className:S?.(t,c),children:C?(0,D.jsx)(ce,{tabIndex:-1,disabled:s,onMouseDown:e=>e.preventDefault(),onClick:()=>G(t),children:C(t,c)}):(0,D.jsx)(ee,{tabIndex:-1,disabled:s,icon:a?(0,D.jsx)(r,{}):(0,D.jsx)(`span`,{}),text:h(t),code:g?.(t),onMouseDown:e=>e.preventDefault(),onClick:()=>G(t)})},i)};return(0,D.jsx)(re,{label:t,description:n,disabled:i,size:s,className:T,children:({controlId:e,labelId:n,describedBy:r})=>{let s=`${e}-listbox`;return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(ie,{ref:Be,rootRef:ke,id:e,type:`text`,disabled:i,readOnly:!k,autoComplete:`off`,role:`combobox`,isLoading:A,open:I,optionCount:l.length,label:t,placeholder:o,value:Z,selectedValue:Y??X,hasSelection:z!==void 0,showSelectedValue:!1,clearable:!!N,onClear:Ve,onToggleMouseDown:Q.handleToggleMouseDown,onToggleClick:Q.handleToggleClick,"aria-labelledby":n,"aria-describedby":r,"aria-haspopup":`listbox`,"aria-expanded":I,"aria-controls":I?s:void 0,"aria-autocomplete":k?`list`:`none`,"aria-activedescendant":I?K(s):void 0,inputClassName:a(O,`textOverflow`),onChange:e=>{k&&Q.handleTriggerInputChange(e.target.value)},onClick:Q.handleTriggerClick,onFocus:e=>{Q.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{Fe(e),!e.defaultPrevented&&Q.handleTriggerKeyDown({event:e,onActivateWhenOpen:Pe,enableSpaceActivation:!k})}}),(0,D.jsx)(te,{open:I,context:Ee,floatingStyles:De,listId:s,labelId:n,descriptionId:r,activeOptionId:q?K(s):void 0,setFloating:Ae,getFloatingProps:Oe,onKeyDown:Ie,className:de,maxWidth:fe,toolbar:ve,children:(0,D.jsx)(`div`,{className:a(pe,`h100 scrollable`),children:q?U?U.map((e,t)=>{let n=e.group?`${s}-group-${t}`:void 0,r=e.items.map(({option:e,index:t})=>$(s,e,t));return e.group?(0,D.jsxs)(`div`,{role:`group`,"aria-labelledby":n,children:[(0,D.jsx)(`div`,{id:n,className:c.uiPopupGroupLabel,children:e.group.label}),r]},`group-${String(e.group.key)}-${t}`):(0,D.jsx)(E.Fragment,{children:r},`options-${t}`)}):H.map((e,t)=>$(s,e,t)):(0,D.jsx)(se,{emptyState:ye,errorState:j})})})]})}})}var E,D;function O(){return(O=e((()=>{E=t(),o(),n(),C(),v(),s(),f(),m(),_(),y(),u(),S(),h(),b(),g(),l(),w(),D=i(),T.__docgenInfo={description:`Выпадающий список выбора значения из набора опций. Подходит для форм, фильтров и простых справочников.`,methods:[],displayName:`Select`,props:{options:{required:!0,tsType:{name:`unknown`},description:``},getOptionKey:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => SelectOptionKey`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`string`}}},description:``},getOptionLabel:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => string`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`string`}}},description:``},getOptionCode:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => string`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`string`}}},description:``},getOptionSearchText:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => string | readonly string[]`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`union`,raw:`string | readonly string[]`,elements:[{name:`string`},{name:`unknown`}]}}},description:`Явный поисковый текст для опции с произвольным ReactNode-render.`},getOptionDisabled:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => boolean`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`boolean`}}},description:``},getOptionAriaLabel:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => string`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`string`}}},description:``},getOptionGroup:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => SelectOptionGroup | undefined`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`union`,raw:`SelectOptionGroup | undefined`,elements:[{name:`signature`,type:`object`,raw:`{
2
2
  readonly key: SelectOptionKey;
3
3
  readonly label: ReactNode;
4
4
  }`,signature:{properties:[{key:`key`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`ReactNode`,required:!0}}]}},{name:`undefined`}]}}},description:``},getOptionClassName:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption, state: SelectOptionState) => string | undefined`,signature:{arguments:[{type:{name:`TOption`},name:`option`},{type:{name:`signature`,type:`object`,raw:`{
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.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-IjspN281.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"./Select.stories-CYJpEv_P.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:y,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.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-v2XPznvF.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"./Select.stories-D6_viZUX.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:y,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,C.jsx)(u,{children:`Select`}),`
3
3
  `,(0,C.jsx)(o,{children:`Getter-based select для примитивов и сложных объектных option`}),`
4
4
  `,(0,C.jsx)(t.p,{children:`Select уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -8,7 +8,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
8
8
  `,(0,C.jsx)(i,{of:b}),`
9
9
  `,(0,C.jsx)(t.pre,{children:(0,C.jsx)(t.code,{className:`language-tsx`,children:`import { useState } from "react";
10
10
 
11
- import { Select } from "@/shared/ui";
11
+ import { Select } from "@ryuzaki13/react-foundation-ui";
12
12
 
13
13
  const options = [
14
14
  { id: 1, name: "Отдел продаж", code: "SLS" },