@ryuzaki13/react-foundation-ui 3.1.0 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/COLOR_TOKENS_MIGRATION.md +8 -8
  2. package/README.md +2 -2
  3. package/dist/chunks/{TextEditorLexicalClient-D46Zed55.js → TextEditorLexicalClient-ORsHWY1s.js} +185 -152
  4. package/dist/chunks/TextEditorLexicalClient-ORsHWY1s.js.map +1 -0
  5. package/dist/chunks/ui.module-oRwY3Zli.js.map +1 -1
  6. package/dist/styles.css +1 -1
  7. package/dist/text-editor/index.js +1 -1
  8. package/dist/text-editor/lib/selection/restoreLinkDialogSelection.d.ts +9 -0
  9. package/dist/text-editor/lib/selection/restoreLinkDialogSelection.d.ts.map +1 -0
  10. package/dist/text-editor/model/hooks/useTextEditorLexicalActions.d.ts.map +1 -1
  11. package/dist/text-editor/toolbar/ToolbarControl.d.ts.map +1 -1
  12. package/package.json +1 -1
  13. package/src/styles/_tone-derived.scss +28 -10
  14. package/src/styles/themes/_interactive-surface.scss +6 -6
  15. package/src/styles/themes/_theme.scss +42 -24
  16. package/src/styles/themes/theme.test.ts +59 -18
  17. package/storybook-static/assets/{Badge-Esh85lzw.js → Badge-DZyhbbM8.js} +1 -1
  18. package/storybook-static/assets/{Badge.stories-DnU4Aj8m.js → Badge.stories-NTzzKHJp.js} +1 -1
  19. package/storybook-static/assets/{BadgeList-BxlBVt--.js → BadgeList-CyZwXD1B.js} +1 -1
  20. package/storybook-static/assets/{BarcodeScannerDialog.stories-B_KpAvZI.js → BarcodeScannerDialog.stories-DgsYBggs.js} +1 -1
  21. package/storybook-static/assets/{Button-dvkBzy21.js → Button-CH_Z6sO1.js} +1 -1
  22. package/storybook-static/assets/{Button-ZXxiD9P_.js → Button-CljTMz3I.js} +1 -1
  23. package/storybook-static/assets/{Button.stories-J4sJtC3v.js → Button.stories-BewKK-DS.js} +1 -1
  24. package/storybook-static/assets/{CalendarView-DGp2C40d.js → CalendarView--x2hpT2q.js} +1 -1
  25. package/storybook-static/assets/{CheckBox-CGIztaSc.js → CheckBox-DXh75fAR.js} +1 -1
  26. package/storybook-static/assets/{CheckBox-IWsEVvwo.js → CheckBox-LimJi0UQ.js} +1 -1
  27. package/storybook-static/assets/{CheckBox.stories-PatAgJNg.js → CheckBox.stories-o6rpfweF.js} +1 -1
  28. package/storybook-static/assets/{Color-6AOWCN3U-CObFhsdH.js → Color-6AOWCN3U-8n8FCLyC.js} +1 -1
  29. package/storybook-static/assets/{ContextMenu-PtQCIWby.js → ContextMenu-6TfxDPWB.js} +1 -1
  30. package/storybook-static/assets/{ContextMenu-BpMNIGaS.js → ContextMenu-Ck4m7ukO.js} +1 -1
  31. package/storybook-static/assets/{ContextMenu.stories-DRN3y3fq.js → ContextMenu.stories-C0bTUdLv.js} +1 -1
  32. package/storybook-static/assets/{CustomOptionButton-BypRyNBF.js → CustomOptionButton-dg-hYBoR.js} +1 -1
  33. package/storybook-static/assets/{DateInput-CtEsHpVC.js → DateInput-B_V47xx7.js} +1 -1
  34. package/storybook-static/assets/{DateInput-DMRmP2mq.js → DateInput-jn0KyIGr.js} +1 -1
  35. package/storybook-static/assets/{DateInput.stories-kwV29Z7O.js → DateInput.stories-v7jSkTQz.js} +1 -1
  36. package/storybook-static/assets/{DateRangePresetSelect-BBppsGIA.js → DateRangePresetSelect-B2r12dtb.js} +1 -1
  37. package/storybook-static/assets/{DateRangePresetSelect-BSZ8AV5V.js → DateRangePresetSelect-CSJ_ADhT.js} +1 -1
  38. package/storybook-static/assets/{DateRangePresetSelect.stories-Brt_WHDa.js → DateRangePresetSelect.stories-BkIZ7BYP.js} +1 -1
  39. package/storybook-static/assets/{Detail-DgopeQrm.js → Detail-CGNKKZy_.js} +1 -1
  40. package/storybook-static/assets/{Detail.stories-9gNYQ6_t.js → Detail.stories-C9LpPn0-.js} +1 -1
  41. package/storybook-static/assets/{Dialog-BmgaXy1U.js → Dialog-ChVT8EA-.js} +1 -1
  42. package/storybook-static/assets/{Dialog-BIMDgQGd.js → Dialog-DOZ6KRDZ.js} +1 -1
  43. package/storybook-static/assets/{Dialog.stories-gQNF3xNZ.js → Dialog.stories-_ir2h3DS.js} +1 -1
  44. package/storybook-static/assets/{Disclosure-DYkWCvOB.js → Disclosure-DhYXxm-s.js} +1 -1
  45. package/storybook-static/assets/{Disclosure.stories-BkgXZx5X.js → Disclosure.stories-d5gH0j1X.js} +1 -1
  46. package/storybook-static/assets/{DisclosureGroup-CTkOG9uF.js → DisclosureGroup-CJzrTBA5.js} +1 -1
  47. package/storybook-static/assets/{DocsRenderer-JROSPFPF-CGYd7juA.js → DocsRenderer-JROSPFPF-4c9XFCUP.js} +1 -1
  48. package/storybook-static/assets/{DropZone-BwnzxS_O.js → DropZone-CAlPFkgO.js} +1 -1
  49. package/storybook-static/assets/{DropZone-C_QHZrKt.js → DropZone-C_ONrNnf.js} +1 -1
  50. package/storybook-static/assets/{DropZone.stories-Boz52u36.js → DropZone.stories-CIa7HYSk.js} +1 -1
  51. package/storybook-static/assets/{DropdownMenu-CSMB10lt.js → DropdownMenu-DWPIbyYd.js} +1 -1
  52. package/storybook-static/assets/{ExpandableActionPanel-Bs__dpSI.js → ExpandableActionPanel-Dpv7Ogiv.js} +1 -1
  53. package/storybook-static/assets/{ExpandableActionPanel.stories-dz1gGOjf.js → ExpandableActionPanel.stories-DO_6Ariv.js} +1 -1
  54. package/storybook-static/assets/{Flex-B1k5JrkX.js → Flex-DeOiILWd.js} +1 -1
  55. package/storybook-static/assets/{Flex.stories-DCEdIXaL.js → Flex.stories-Dhs5mlVY.js} +1 -1
  56. package/storybook-static/assets/{FloatingPopover-Bcol5irF.js → FloatingPopover-0Dprr5jf.js} +1 -1
  57. package/storybook-static/assets/{FormattedTableCell-BrUuqaAr.js → FormattedTableCell-qL4-wkCE.js} +1 -1
  58. package/storybook-static/assets/{Grid-BP-ULpSq.js → Grid-C8DgxK3U.js} +1 -1
  59. package/storybook-static/assets/{Grid.stories-xZTqePJe.js → Grid.stories-BrapZKvO.js} +1 -1
  60. package/storybook-static/assets/{ImageCropper.stories-9VlHvauM.js → ImageCropper.stories-CHYm4PqH.js} +1 -1
  61. package/storybook-static/assets/{ImageRenderer-CZUio12Y.js → ImageRenderer-CbHQ_5di.js} +1 -1
  62. package/storybook-static/assets/{ImageRenderer.stories-BMJ8rG5Y.js → ImageRenderer.stories-CgFX5vX1.js} +1 -1
  63. package/storybook-static/assets/{ImageView.stories-DwbVXc_9.js → ImageView.stories-B66Y0y8Z.js} +1 -1
  64. package/storybook-static/assets/{ImageViewer.stories-N79zIcYB.js → ImageViewer.stories-Dr8hSJB4.js} +2 -2
  65. package/storybook-static/assets/{ImageViewerRuntime-eFkLooZd.js → ImageViewerRuntime-ChNDRkbL.js} +1 -1
  66. package/storybook-static/assets/{Input-fyfY8tUJ.js → Input-7Olx6bGm.js} +1 -1
  67. package/storybook-static/assets/{Input-C_pApI-f.js → Input-C3tV6aOt.js} +1 -1
  68. package/storybook-static/assets/{Input.stories-DPx50f_P.js → Input.stories-Bp7kBh2f.js} +1 -1
  69. package/storybook-static/assets/{InputDateTime-BKOW723d.js → InputDateTime-DFMMt-mf.js} +1 -1
  70. package/storybook-static/assets/{InputDateTime.stories-DJpICa-C.js → InputDateTime.stories-Dds2W8yW.js} +1 -1
  71. package/storybook-static/assets/{InputFile-BIFMqbBI.js → InputFile-Ba-RwZsI.js} +1 -1
  72. package/storybook-static/assets/{InputFile-CX8kMBfN.js → InputFile-DSu8gm8A.js} +1 -1
  73. package/storybook-static/assets/{InputFile.stories-Dpiz4AE-.js → InputFile.stories-YGXOc3DO.js} +1 -1
  74. package/storybook-static/assets/{InputFiles-B-uYeAwK.js → InputFiles-CIPsyfH5.js} +1 -1
  75. package/storybook-static/assets/{InputFiles-g6BxqKY1.js → InputFiles-DqlQJsmm.js} +1 -1
  76. package/storybook-static/assets/{InputFiles.stories-CIeEtuge.js → InputFiles.stories-BH_gwOug.js} +1 -1
  77. package/storybook-static/assets/{InputFilesList-EUw0PgRa.js → InputFilesList-BEDe42dK.js} +1 -1
  78. package/storybook-static/assets/{InputImage-G56Xrlxa.js → InputImage-BdcxBj6J.js} +1 -1
  79. package/storybook-static/assets/{InputImage-BHhhQ_DL.js → InputImage-D4D-X8Ys.js} +1 -1
  80. package/storybook-static/assets/{InputImage.stories-CzcxWNCg.js → InputImage.stories-BOW5PRM7.js} +1 -1
  81. package/storybook-static/assets/{InteractiveComponents-BwuEU-Jx.js → InteractiveComponents-hi2rc0Cm.js} +1 -1
  82. package/storybook-static/assets/{InteractiveComponents.stories-BFz-Wro0.js → InteractiveComponents.stories-5hPeC7R2.js} +1 -1
  83. package/storybook-static/assets/{LayoutPicker-XV5w8WPa.js → LayoutPicker-BO18SpK7.js} +1 -1
  84. package/storybook-static/assets/{LayoutPicker-dIhabh1s.js → LayoutPicker-BqGACXDe.js} +1 -1
  85. package/storybook-static/assets/{LayoutPicker.stories-CDt2569o.js → LayoutPicker.stories-BlN_ODG4.js} +1 -1
  86. package/storybook-static/assets/{Listbox-DaW_mGeW.js → Listbox-4PvVEZRh.js} +1 -1
  87. package/storybook-static/assets/{Listbox-Bgo-nQ9Y.js → Listbox-Bta1Rvnl.js} +1 -1
  88. package/storybook-static/assets/{Listbox.stories-CP6wE_7K.js → Listbox.stories-DtEb9pou.js} +1 -1
  89. package/storybook-static/assets/{Modal-DDvcZVCM.js → Modal-Bmxp4mLU.js} +1 -1
  90. package/storybook-static/assets/{Modal-Bqw7AE8B.js → Modal-BwdW99av.js} +1 -1
  91. package/storybook-static/assets/{Modal.stories-BX600McN.js → Modal.stories-DuNdaLN2.js} +1 -1
  92. package/storybook-static/assets/{ModalManagerProvider-CxtoDU9F.js → ModalManagerProvider-CGmNKOlv.js} +1 -1
  93. package/storybook-static/assets/{MultiSelect-BJIs_9bc.js → MultiSelect-BrHYXgvm.js} +1 -1
  94. package/storybook-static/assets/{MultiSelect-yUk0g6i1.js → MultiSelect-enRkbUVu.js} +1 -1
  95. package/storybook-static/assets/{MultiSelect.stories-DK5hmxUc.js → MultiSelect.stories-4SSQVsBu.js} +1 -1
  96. package/storybook-static/assets/{NoData-hc4EFPB8.js → NoData-Bdkk4qX-.js} +1 -1
  97. package/storybook-static/assets/{NotificationsHost-DJrgoJC_.js → NotificationsHost-epLriMYO.js} +1 -1
  98. package/storybook-static/assets/{NotificationsHost.stories-D7mi4TqE.js → NotificationsHost.stories-DvF1HMJp.js} +1 -1
  99. package/storybook-static/assets/{ODataMultiSelect-DNrfwZV0.js → ODataMultiSelect-DYrfAdLn.js} +1 -1
  100. package/storybook-static/assets/{ODataMultiSelect.stories-kL4DXKxt.js → ODataMultiSelect.stories-DVkerQKn.js} +1 -1
  101. package/storybook-static/assets/{ODataSelect-DCDQ6QDE.js → ODataSelect-DWJYlxQc.js} +1 -1
  102. package/storybook-static/assets/{ODataSelect.stories-C6kKriiF.js → ODataSelect.stories-CywUlhAN.js} +1 -1
  103. package/storybook-static/assets/{ODataTreeMultiSelect-CHVUlk_U.js → ODataTreeMultiSelect-D90IEf3K.js} +1 -1
  104. package/storybook-static/assets/{ODataTreeMultiSelect.stories-B9FhGd09.js → ODataTreeMultiSelect.stories-CadVRCl9.js} +1 -1
  105. package/storybook-static/assets/{ODataTreeSelect-BtOXQoID.js → ODataTreeSelect-DSAGCoD4.js} +1 -1
  106. package/storybook-static/assets/{ODataTreeSelect.stories-Chqlab-8.js → ODataTreeSelect.stories-BEA_Vb7u.js} +1 -1
  107. package/storybook-static/assets/{OneStepScroller-DxeS1X71.js → OneStepScroller-CCIUc14k.js} +1 -1
  108. package/storybook-static/assets/{Option-ComrvJ9s.js → Option-ByR48EZl.js} +1 -1
  109. package/storybook-static/assets/{OptionButton-DJAuLjhy.js → OptionButton-BMoBnbt6.js} +1 -1
  110. package/storybook-static/assets/{PeriodSelect-DcD82ag2.js → PeriodSelect-C-eGa-Kg.js} +1 -1
  111. package/storybook-static/assets/{PeriodSelect-RGiWiGWB.js → PeriodSelect-sUUZBBze.js} +1 -1
  112. package/storybook-static/assets/{PeriodSelect.stories-J0FBtti2.js → PeriodSelect.stories-CEPqnZQz.js} +1 -1
  113. package/storybook-static/assets/{PickerField-BamGqyTg.js → PickerField-EVQAudL9.js} +1 -1
  114. package/storybook-static/assets/{PickerTriggerActions-CrzexZv7.js → PickerTriggerActions-Da3NAgN3.js} +1 -1
  115. package/storybook-static/assets/{Popover-DA6FuPO9.js → Popover-B7-sfEHt.js} +1 -1
  116. package/storybook-static/assets/{Popover-7hIGWFil.js → Popover-MG_TKcDM.js} +1 -1
  117. package/storybook-static/assets/{Popover.stories-BGX_E2Rj.js → Popover.stories-6rqdsIci.js} +1 -1
  118. package/storybook-static/assets/{PresetRangeDateInput-DEMn-CKo.js → PresetRangeDateInput-XkeUUy4t.js} +1 -1
  119. package/storybook-static/assets/{PresetRangeDateInput-BZ5e4ulz.js → PresetRangeDateInput-oJU3yjjY.js} +1 -1
  120. package/storybook-static/assets/{PresetRangeDateInput.stories-DyQzNJiA.js → PresetRangeDateInput.stories-CYja7SlF.js} +1 -1
  121. package/storybook-static/assets/{PresetSelect-BsGseZxe.js → PresetSelect-DWW52rEr.js} +1 -1
  122. package/storybook-static/assets/{README-CwZI_nQ7.js → README-3onNI8KH.js} +1 -1
  123. package/storybook-static/assets/{README-y9Bfe8iT.js → README-8TyDLZ8m.js} +1 -1
  124. package/storybook-static/assets/{README-C1zwQgxk.js → README-B-dL4Dp1.js} +1 -1
  125. package/storybook-static/assets/{README-DvZb2tQw.js → README-B64nG4-r.js} +1 -1
  126. package/storybook-static/assets/{README-CmkOA3wW.js → README-B887wTp_.js} +1 -1
  127. package/storybook-static/assets/{README-Bup4xuqw.js → README-BGGr2zYm.js} +1 -1
  128. package/storybook-static/assets/{README-C4KUJF4d.js → README-BIp15sbA.js} +1 -1
  129. package/storybook-static/assets/{README-DHwyWwmz.js → README-BLjBIG5b.js} +1 -1
  130. package/storybook-static/assets/{README-BhxFmTpV.js → README-BSDrP24w.js} +1 -1
  131. package/storybook-static/assets/{README-4wAMpqKW.js → README-BUXHrder.js} +1 -1
  132. package/storybook-static/assets/{README-BmrxdH-B.js → README-BXK6R512.js} +1 -1
  133. package/storybook-static/assets/{README-DhOlNM3a.js → README-Bd8oZSBv.js} +1 -1
  134. package/storybook-static/assets/{README-DYrhoV2x.js → README-BeQQlzku.js} +1 -1
  135. package/storybook-static/assets/{README-CAaN4Ld-.js → README-Bk_j-FWx.js} +1 -1
  136. package/storybook-static/assets/{README-DhMfO2Dl.js → README-BqbscBiw.js} +1 -1
  137. package/storybook-static/assets/{README-UQVgPCo3.js → README-BtXLkUYG.js} +1 -1
  138. package/storybook-static/assets/{README-DP6FJt9L.js → README-BuyFnGUr.js} +1 -1
  139. package/storybook-static/assets/{README-BbONAExJ.js → README-C4aCrDhQ.js} +1 -1
  140. package/storybook-static/assets/{README-D2L5Yzv1.js → README-C5Evi_Od.js} +1 -1
  141. package/storybook-static/assets/{README-BgRQJ2S9.js → README-C5o1ee9L.js} +1 -1
  142. package/storybook-static/assets/{README-530UIsM5.js → README-C87LZz6f.js} +1 -1
  143. package/storybook-static/assets/{README-Bjq9zsXL.js → README-CNQEzBHn.js} +1 -1
  144. package/storybook-static/assets/{README-CQn8q9y9.js → README-CarOmnk7.js} +1 -1
  145. package/storybook-static/assets/{README-BrIfTQtc.js → README-CeZpJRtg.js} +1 -1
  146. package/storybook-static/assets/{README-Ld_nuS76.js → README-ChG5rY0i.js} +1 -1
  147. package/storybook-static/assets/{README-D7_WRUZg.js → README-Co2u6-Lj.js} +1 -1
  148. package/storybook-static/assets/{README-DnkpFu02.js → README-CoIps3ow.js} +1 -1
  149. package/storybook-static/assets/{README-97xTDGmC.js → README-CpE19mEd.js} +1 -1
  150. package/storybook-static/assets/{README-DtM6kMym.js → README-CzeEqZV4.js} +1 -1
  151. package/storybook-static/assets/{README-YY1Ajz1w.js → README-D8RATsxd.js} +1 -1
  152. package/storybook-static/assets/{README-BXdudd03.js → README-DCcgaFeQ.js} +1 -1
  153. package/storybook-static/assets/{README-DCJ0rsOW.js → README-DDIuwU7m.js} +1 -1
  154. package/storybook-static/assets/{README-CUhyCSGc.js → README-DGvtRCkM.js} +1 -1
  155. package/storybook-static/assets/{README-DuTHnM3g.js → README-DJnq2r66.js} +1 -1
  156. package/storybook-static/assets/{README-B71F0K0c.js → README-DM_g6PCr.js} +1 -1
  157. package/storybook-static/assets/{README-CGovAIuH.js → README-DN4AcFXT.js} +1 -1
  158. package/storybook-static/assets/{README-_oeRmsba.js → README-DS6WZRoh.js} +1 -1
  159. package/storybook-static/assets/{README-_ZkqcsGp.js → README-DgYioDAa.js} +1 -1
  160. package/storybook-static/assets/{README-BC4xt0AQ.js → README-DoB-J219.js} +1 -1
  161. package/storybook-static/assets/{README-C0GgcK-F.js → README-DoW41pj8.js} +1 -1
  162. package/storybook-static/assets/{README-DMvM0CFG.js → README-DousuaoR.js} +1 -1
  163. package/storybook-static/assets/{README-CgkwwR69.js → README-DpPmQc1C.js} +1 -1
  164. package/storybook-static/assets/{README-CFR0mu0U.js → README-HiFT84zG.js} +1 -1
  165. package/storybook-static/assets/{README-BcrNbNjI.js → README-LkMYQQZG.js} +1 -1
  166. package/storybook-static/assets/{README-mRxMTW_Z.js → README-N-t9Esrs.js} +1 -1
  167. package/storybook-static/assets/{README-D7L1Z6n9.js → README-Q6TktIyC.js} +1 -1
  168. package/storybook-static/assets/{README-DzJwLpxb.js → README-ZBSgAfUQ.js} +1 -1
  169. package/storybook-static/assets/{README-B84EaQXv.js → README-aMioowWA.js} +1 -1
  170. package/storybook-static/assets/{README-CY5Rzd4q.js → README-bp2jvuhN.js} +1 -1
  171. package/storybook-static/assets/{README-DETry3fH.js → README-dBjUPcUC.js} +1 -1
  172. package/storybook-static/assets/{README-BUa64A8D.js → README-jAXiQfWd.js} +1 -1
  173. package/storybook-static/assets/{README-C8fBLb8Q.js → README-kqacqwMO.js} +1 -1
  174. package/storybook-static/assets/{README-B7DR00fM.js → README-px0sy3mH.js} +1 -1
  175. package/storybook-static/assets/{RadioButton-AUoosUqB.js → RadioButton-CBZ-2tpg.js} +1 -1
  176. package/storybook-static/assets/{RadioButton-0axQ-WvZ.js → RadioButton-DeU7LySy.js} +1 -1
  177. package/storybook-static/assets/{RadioButton.stories-Dqe-r3lD.js → RadioButton.stories-DzBmcWYh.js} +1 -1
  178. package/storybook-static/assets/{RadioGroup-BgCjgFfe.js → RadioGroup-9L9EBmPZ.js} +1 -1
  179. package/storybook-static/assets/{RadioGroup-Biy7jsOy.js → RadioGroup-M8U_3Qu1.js} +1 -1
  180. package/storybook-static/assets/{RadioGroup.stories-CHvNWKTQ.js → RadioGroup.stories-DhaRdRnV.js} +1 -1
  181. package/storybook-static/assets/{Scrollable-BYmva3ep.js → Scrollable-DKD8_GYW.js} +1 -1
  182. package/storybook-static/assets/{Select-CZCJfh1u.js → Select-DG_lx7Rl.js} +1 -1
  183. package/storybook-static/assets/{Select-CoD4ahoj.js → Select-Dg-l0yoE.js} +1 -1
  184. package/storybook-static/assets/{Select.stories-B-PY1Sz5.js → Select.stories-D4TelGYC.js} +1 -1
  185. package/storybook-static/assets/{SerializableSelect-DE8iNPWu.js → SerializableSelect-CpitM8WL.js} +1 -1
  186. package/storybook-static/assets/{SerializableSelect.stories-Cgd2VT8m.js → SerializableSelect.stories-ZlWgKkHt.js} +1 -1
  187. package/storybook-static/assets/{SingleDateTimeInput-BzOL-IZJ.js → SingleDateTimeInput-CqocRYJY.js} +1 -1
  188. package/storybook-static/assets/{SingleDateTimeInput-BDHCGYJi.js → SingleDateTimeInput-m6jYz_r2.js} +1 -1
  189. package/storybook-static/assets/{SingleDateTimeInput.stories-yuCgjvxm.js → SingleDateTimeInput.stories-fH-iW9qA.js} +1 -1
  190. package/storybook-static/assets/{Slider-Bx2jKg6R.js → Slider-CF5lNqVZ.js} +1 -1
  191. package/storybook-static/assets/{Slider-BSYDJi1k.js → Slider-D0Qwf7EY.js} +1 -1
  192. package/storybook-static/assets/{Slider.stories-P23SMkMP.js → Slider.stories-B6QVVtrd.js} +1 -1
  193. package/storybook-static/assets/{SliderInput-AgH6kueH.js → SliderInput-Dvz_4kgc.js} +1 -1
  194. package/storybook-static/assets/{SliderInput-CfK1Mnw8.js → SliderInput-zM3jF5KD.js} +1 -1
  195. package/storybook-static/assets/{SliderInput.stories-BIZQY77N.js → SliderInput.stories-BKuUv8N2.js} +1 -1
  196. package/storybook-static/assets/{Sortable-HAt33EOU.js → Sortable-C0K_6g4P.js} +1 -1
  197. package/storybook-static/assets/{Sortable.stories-DpKHUgP7.js → Sortable.stories-Chf1sxZg.js} +1 -1
  198. package/storybook-static/assets/{Splitter-XHLzIzBV.js → Splitter-B8Ksf_xs.js} +1 -1
  199. package/storybook-static/assets/{Splitter.stories-AF5cuIrd.js → Splitter.stories-fRvGX5Jp.js} +1 -1
  200. package/storybook-static/assets/{StateSelect-D_4JId4p.js → StateSelect-CPNphBga.js} +1 -1
  201. package/storybook-static/assets/{StateSelect-Bc7THQz4.js → StateSelect-CjsviCtb.js} +1 -1
  202. package/storybook-static/assets/{StateSelect.stories-Dskb5EaO.js → StateSelect.stories-D32llZ6v.js} +1 -1
  203. package/storybook-static/assets/{StatusIndicator-DgpNsNH9.js → StatusIndicator-CKvd7tHs.js} +1 -1
  204. package/storybook-static/assets/{StatusIndicator.stories-CggWAarU.js → StatusIndicator.stories-NOvPPe_7.js} +1 -1
  205. package/storybook-static/assets/{StringToggle.stories-C0ZhO81t.js → StringToggle.stories-Bicdqe7C.js} +1 -1
  206. package/storybook-static/assets/{Switch-CknduYVb.js → Switch-Bkob6qYu.js} +1 -1
  207. package/storybook-static/assets/{Switch-f3dsucrL.js → Switch-C61_o5be.js} +1 -1
  208. package/storybook-static/assets/{Switch.stories-Chg3TrE2.js → Switch.stories-BSXuhd1n.js} +1 -1
  209. package/storybook-static/assets/{Table-A1OmUB1G.js → Table-DrI-ye5w.js} +1 -1
  210. package/storybook-static/assets/{Table.stories-F0G5NqxY.js → Table.stories-DfeiRj00.js} +1 -1
  211. package/storybook-static/assets/{TableEditor.stories-Hq1Gc1oK.js → TableEditor.stories-BsLxmTao.js} +1 -1
  212. package/storybook-static/assets/{Tabs-BmH25H7g.js → Tabs-CgalbGPu.js} +1 -1
  213. package/storybook-static/assets/{Tabs.stories-CIX0RdTF.js → Tabs.stories-BNjq8-Q7.js} +1 -1
  214. package/storybook-static/assets/{TabsBox-C1OmrVhO.js → TabsBox-CpmFgUBj.js} +1 -1
  215. package/storybook-static/assets/{TagInput-CE0_PHMq.js → TagInput-DvEYa96d.js} +1 -1
  216. package/storybook-static/assets/{TagInput.stories-CTlBOp-Y.js → TagInput.stories-j4Qd29sb.js} +1 -1
  217. package/storybook-static/assets/{Text-Dm4ZV9wd.js → Text-BZ1JvyUT.js} +1 -1
  218. package/storybook-static/assets/{Textarea-CK7tpoYG.js → Textarea-BMzsyo3c.js} +1 -1
  219. package/storybook-static/assets/{Textarea-9eR-qNKs.js → Textarea-BRdIBUkE.js} +1 -1
  220. package/storybook-static/assets/{Textarea.stories-vGi_UkyN.js → Textarea.stories-C0x425GI.js} +1 -1
  221. package/storybook-static/assets/{TimePanel-BLQrdjYw.js → TimePanel-BWqMMKMh.js} +1 -1
  222. package/storybook-static/assets/{TimePanel.stories-DOLgz23p.js → TimePanel.stories-DyU92R36.js} +1 -1
  223. package/storybook-static/assets/{Toggle-DCT7y4pb.js → Toggle-Bownsch8.js} +1 -1
  224. package/storybook-static/assets/{Toggle-d3qw-5vS.js → Toggle-ClbrIGCZ.js} +1 -1
  225. package/storybook-static/assets/{Toggle.stories-DIc66YyI.js → Toggle.stories-DsNHF5oC.js} +1 -1
  226. package/storybook-static/assets/{TreeMultiSelect-3CrIhRKl.js → TreeMultiSelect-CDg35T0c.js} +1 -1
  227. package/storybook-static/assets/{TreeMultiSelect-Buj6k0wN.js → TreeMultiSelect-D3TzNY3n.js} +1 -1
  228. package/storybook-static/assets/{TreeMultiSelect.stories-BHxIRTEy.js → TreeMultiSelect.stories-C3xbNKlw.js} +1 -1
  229. package/storybook-static/assets/{TreePickerBase-BHduNQZI.js → TreePickerBase-DwM3HHNJ.js} +1 -1
  230. package/storybook-static/assets/{TreeSelect-DfFbREJp.js → TreeSelect-BWZkUyfN.js} +1 -1
  231. package/storybook-static/assets/{TreeSelect-BO1tYVB4.js → TreeSelect-CzPMpXEN.js} +1 -1
  232. package/storybook-static/assets/{TreeSelect.stories-ZwxGVFce.js → TreeSelect.stories-Dt2iVzbQ.js} +1 -1
  233. package/storybook-static/assets/{TreeTable-CIxtOAyo.js → TreeTable-CVn34tY8.js} +1 -1
  234. package/storybook-static/assets/{TreeTable.stories-BQNgHwk9.js → TreeTable.stories-D1ufYTtN.js} +1 -1
  235. package/storybook-static/assets/{blocks-OyR7mF18.js → blocks-BIDgFZzT.js} +3 -3
  236. package/storybook-static/assets/{check-Gvk-f2eZ.js → check-Ci14Psj_.js} +1 -1
  237. package/storybook-static/assets/{chevron-down-KZidOQ8z.js → chevron-down-DbAd2qk7.js} +1 -1
  238. package/storybook-static/assets/{chevron-left-BmY0y72L.js → chevron-left-BkXE-6hJ.js} +1 -1
  239. package/storybook-static/assets/{chevron-right-DwE6c1oF.js → chevron-right--BJBL7es.js} +1 -1
  240. package/storybook-static/assets/{chunk-W22LQPXL-Dvqa6-ec.js → chunk-W22LQPXL-Ck7Hq2hD.js} +1 -1
  241. package/storybook-static/assets/{circle-alert-CWi4rINy.js → circle-alert-DZ-mqRo-.js} +1 -1
  242. package/storybook-static/assets/{circle-check-BWlhKN1l.js → circle-check-ohYPmGXF.js} +1 -1
  243. package/storybook-static/assets/{components-CoPo6nEv.js → components-BcLNCNYh.js} +3 -3
  244. package/storybook-static/assets/{contextMenu-DwYdo2Sb.js → contextMenu-CV1L1k-X.js} +1 -1
  245. package/storybook-static/assets/{download-Bqp3e16u.js → download-Cj6p8bKz.js} +1 -1
  246. package/storybook-static/assets/{floating-ui.react-Dzrc1SBT.js → floating-ui.react-BSdrfXIW.js} +1 -1
  247. package/storybook-static/assets/{foundationApi-297mfV2y.js → foundationApi-CQ7TLs4F.js} +1 -1
  248. package/storybook-static/assets/{foundationLib-CnmPNL2i.js → foundationLib-CrDmX7bX.js} +1 -1
  249. package/storybook-static/assets/{hooks-CZ-c1LQK.js → hooks-DUyI2f7Z.js} +1 -1
  250. package/storybook-static/assets/iframe-CBug5Z2-.js +1 -0
  251. package/storybook-static/assets/{iframe-t8Ol-TlS.js → iframe-CLqd5Giv.js} +3 -3
  252. package/storybook-static/assets/{info-BMddFLDT.js → info-T_PVPfD-.js} +1 -1
  253. package/storybook-static/assets/{odata-u98yP6vI.js → odata-CCaj8ulC.js} +1 -1
  254. package/storybook-static/assets/{odataStoryFixtures-BX88AmEk.js → odataStoryFixtures-Bv9BrgZv.js} +1 -1
  255. package/storybook-static/assets/{react-BwRTJdhk.js → react-Ce_aQozh.js} +1 -1
  256. package/storybook-static/assets/{refresh-cw-BSZCBW1r.js → refresh-cw-CNrDNE_N.js} +1 -1
  257. package/storybook-static/assets/{settings-2-UthslFqJ.js → settings-2-jAEe_Y9H.js} +1 -1
  258. package/storybook-static/assets/{sortable-C4MB--OV.js → sortable-kVkmtF5b.js} +1 -1
  259. package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-DByUKVZY.js → syntaxhighlighter-QEQV7K2Y-zKIOKo3C.js} +1 -1
  260. package/storybook-static/assets/{trash-2-CPAznzsr.js → trash-2-Dt4QzFcm.js} +1 -1
  261. package/storybook-static/assets/{triangle-alert-B2jfGvCD.js → triangle-alert-BiyO16L3.js} +1 -1
  262. package/storybook-static/assets/{ui-D4-nHP5x.css → ui-DPTWro6M.css} +1 -1
  263. package/storybook-static/assets/{uiClasses-BCk2WXc4.js → uiClasses-BY4mQ-J3.js} +1 -1
  264. package/storybook-static/assets/{useODataSelectBase-C-o3n-Rn.js → useODataSelectBase-DpSBp8Rk.js} +1 -1
  265. package/storybook-static/assets/{useODataTreeData-DkF53Jgq.js → useODataTreeData-ynwGta5X.js} +1 -1
  266. package/storybook-static/assets/{usePickerQuery-D609nrEf.js → usePickerQuery-BVMhh3cw.js} +1 -1
  267. package/storybook-static/assets/{usePickerTriggerController-CiGxyPbG.js → usePickerTriggerController-TTKRTNy4.js} +1 -1
  268. package/storybook-static/assets/{x-Y6c20Jey.js → x-wBEq3sjm.js} +1 -1
  269. package/storybook-static/iframe.html +2 -2
  270. package/storybook-static/project.json +1 -1
  271. package/dist/chunks/TextEditorLexicalClient-D46Zed55.js.map +0 -1
  272. package/storybook-static/assets/iframe-3DMMfY6n.js +0 -1
  273. /package/storybook-static/assets/{ui.module-nb-nQZVN.js → ui.module-B6Lc_ii5.js} +0 -0
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={a:`a`,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/Formatters/Row-Based`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={a:`a`,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/Formatters/Row-Based`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`row-based-форматтеры`,children:`Row-based форматтеры`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`rowBased`}),` — небольшой runtime-слой для формул, которые вычисляют отображаемое значение одной ячейки на основании других полей той же строки.`]}),`
4
4
  `,(0,c.jsxs)(t.p,{children:[`Он используется шагом `,(0,c.jsx)(t.code,{children:`rowBasedOverride`}),` в `,(0,c.jsx)(t.a,{href:`../pipeline/README.mdx`,children:`formatter pipeline`}),`. Сам модуль не содержит бизнес-формул: host-приложение создаёт их, собирает в реестр и один раз передаёт реестр библиотеке.`]}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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 API/Errors/Error Report Delivery`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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 API/Errors/Error Report Delivery`}),`
2
2
  `,(0,c.jsxs)(t.h1,{id:`durable-delivery-через-ryuzaki13react-foundation-apierror-report`,children:[`Durable delivery через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-api/error-report`})]}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль доставляет versioned payload из IndexedDB queue `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/error-report`}),`. Он владеет lease processing, timeout, retry/terminal policy и browser lifecycle, но не знает endpoint, auth и DB contract приложения.`]}),`
4
4
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-text`,children:`foundation-lib/error-report foundation-api/error-report app adapter/backend
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={a:`a`,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 API/Transport/HTTP`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={a:`a`,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 API/Transport/HTTP`}),`
2
2
  `,(0,c.jsxs)(t.h1,{id:`обычный-http-через-ryuzaki13react-foundation-apihttp`,children:[`Обычный HTTP через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-api/http`})]}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль выполняет нейтральные HTTP/REST запросы и создаёт функции, совместимые с TanStack Query. Внешний payload остаётся `,(0,c.jsx)(t.code,{children:`unknown`}),`, пока consumer явно не проверит его через `,(0,c.jsx)(t.code,{children:`parse`}),`.`]}),`
4
4
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,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/Errors/Error Report`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,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/Errors/Error Report`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`error-report`,children:`Error Report`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/error-report`}),` собирает клиентскую диагностику ошибки в versioned bounded draft, временно хранит последние drafts в `,(0,c.jsx)(t.code,{children:`sessionStorage`}),` и предоставляет durable IndexedDB queue для отложенной доставки.`]}),`
4
4
  `,(0,c.jsx)(t.p,{children:`Он умеет объединить:`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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`,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/Infrastructure/Query Client`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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`,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/Infrastructure/Query Client`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`query-client`,children:`Query Client`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/query-client`}),` предоставляет общую инфраструктуру TanStack Query для browser-приложения:`]}),`
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-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Forms/Form Errors`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Forms/Form Errors`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`чтение-первой-ошибки-формы`,children:`Чтение первой ошибки формы`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль содержит одну функцию `,(0,c.jsx)(t.code,{children:`readFirstFormError`}),`. Она получает неоднородный массив ошибок и возвращает первое найденное текстовое сообщение.`]}),`
4
4
  `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={a:`a`,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/Formatters/Pipeline`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={a:`a`,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/Formatters/Pipeline`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`formatter-pipeline`,children:`Formatter pipeline`}),`
3
3
  `,(0,c.jsx)(t.p,{children:`Formatter pipeline — конфигурируемая последовательность преобразований значения ячейки. Она умеет:`}),`
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-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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
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:[`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={a:`a`,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/Copy`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={a:`a`,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/Copy`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`копирование-текста`,children:`Копирование текста`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`copy`}),` содержит React hooks для копирования текста в системный буфер обмена, чтения текста из DOM-элемента и показа короткого состояния «скопировано».`]}),`
4
4
  `,(0,c.jsx)(t.p,{children:`Основные сценарии:`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={a:`a`,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/File`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={a:`a`,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/File`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`работа-с-пользовательскими-файлами`,children:`Работа с пользовательскими файлами`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`file`}),` содержит browser helpers для четырёх связанных задач:`]}),`
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-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,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 API/Query/Generic Resource`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,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 API/Query/Generic Resource`}),`
2
2
  `,(0,c.jsxs)(t.h1,{id:`generic-resources-через-ryuzaki13react-foundation-apiresource`,children:[`Generic resources через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-api/resource`})]}),`
3
3
  `,(0,c.jsx)(t.p,{children:`Модуль описывает transport-agnostic ресурс поверх TanStack Query: стабильные query keys, проверку scope, произвольные read/write operations и cache strategies после mutation.`}),`
4
4
  `,(0,c.jsx)(t.h2,{id:`для-кого-этот-документ`,children:`Для кого этот документ`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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/Browser/Three Scene`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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/Browser/Three Scene`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`three-scene`,children:`Three Scene`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/three-scene`}),` проверяет, можно ли безопасно показывать необязательную Three.js/WebGL-сцену, и помогает отключить её до конца браузерной сессии.`]}),`
4
4
  `,(0,c.jsx)(t.p,{children:`Модуль не импортирует Three.js, не создаёт renderer и не управляет canvas. Его задача — принять раннее решение: загружать тяжёлую 3D-сцену или показать облегчённую альтернативу.`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,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/Infrastructure/Notifications`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,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/Infrastructure/Notifications`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`notifications`,children:`Notifications`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/notifications`}),` хранит очередь коротких уведомлений и предоставляет два способа управления ею:`]}),`
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-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,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 API/Query/Persisted Records`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,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 API/Query/Persisted Records`}),`
2
2
  `,(0,c.jsxs)(t.h1,{id:`сохранённые-записи-через-ryuzaki13react-foundation-apipersisted`,children:[`Сохранённые записи через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-api/persisted`})]}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`persisted`}),` — специализированный слой поверх TanStack Query для данных, которые пользователь сохраняет и позднее восстанавливает: presets, variants, view configs и другие versioned records.`]}),`
4
4
  `,(0,c.jsxs)(t.p,{children:[`Слово `,(0,c.jsx)(t.code,{children:`persisted`}),` здесь означает backend-сущности «сохранённая запись». Это не то же самое, что persistence TanStack Query cache в IndexedDB.`]}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={a:`a`,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/Data/Range Output`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={a:`a`,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/Data/Range Output`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`подстановка-открытых-границ`,children:`Подстановка открытых границ`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль хранит в UI открытые границы диапазона как `,(0,c.jsx)(t.code,{children:`null`}),`, но позволяет подставить конкретные значения при внешнем выводе или сохранении.`]}),`
4
4
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={a:`a`,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/Formatters/Number`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={a:`a`,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/Formatters/Number`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`числовые-форматтеры`,children:`Числовые форматтеры`}),`
3
3
  `,(0,c.jsx)(t.p,{children:`Модуль форматирует числа для интерфейса, читает распространённые SAP-подобные числовые строки и управляет реестром именованных presets.`}),`
4
4
  `,(0,c.jsx)(t.p,{children:`Все API доступны через один публичный entrypoint:`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={a:`a`,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/Contracts/Common Types`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={a:`a`,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/Contracts/Common Types`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`общие-технические-типы`,children:`Общие технические типы`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль содержит небольшие общие TypeScript-контракты для value state, ABAP boolean, базовых значений, диапазонов и строк таблицы. Единственная runtime-функция — `,(0,c.jsx)(t.code,{children:`isBaseType`}),`.`]}),`
4
4
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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
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:[`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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:[`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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 API/WebSocket`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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 API/WebSocket`}),`
2
2
  `,(0,c.jsxs)(t.h1,{id:`websocket-transport-через-ryuzaki13react-foundation-apiwebsocket`,children:[`WebSocket transport через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-api/websocket`})]}),`
3
3
  `,(0,c.jsx)(t.p,{children:`Entrypoint содержит только предметно-независимый transport lifecycle:`}),`
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-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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 API/SAP/Transport Requests`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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 API/SAP/Transport Requests`}),`
2
2
  `,(0,c.jsxs)(t.h1,{id:`sap-transport-requests-через-ryuzaki13react-foundation-apitransport`,children:[`SAP transport requests через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-api/transport`})]}),`
3
3
  `,(0,c.jsx)(t.p,{children:`Модуль получает transport requests текущего пользователя из SAP UI2 OData endpoints и нормализует workbench/customizing records.`}),`
4
4
  `,(0,c.jsxs)(t.blockquote,{children:[`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={a:`a`,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/Formatters/Strings`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={a:`a`,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/Formatters/Strings`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`строковые-форматтеры`,children:`Строковые форматтеры`}),`
3
3
  `,(0,c.jsx)(t.p,{children:`Модуль содержит небольшие предсказуемые функции для подготовки пользовательского текста: обрезки пробелов, безопасного преобразования в строку, удаления ведущих нулей, сокращения длинного текста и выбора русской формы слова.`}),`
4
4
  `,(0,c.jsx)(t.p,{children:`Все функции экспортируются через один публичный entrypoint:`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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/Data/Number Scale`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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/Data/Number Scale`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`number-scale`,children:`Number Scale`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/number-scale`}),` содержит чистую математику для slider, range, числовой шкалы и управления значением с клавиатуры. Модуль не содержит React-компонентов и не рисует ползунок.`]}),`
4
4
  `,(0,c.jsx)(t.p,{children:`Он решает четыре связанные задачи:`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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/DOM`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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/DOM`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`browser-dom-и-focus-helpers`,children:`Browser DOM и focus helpers`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`dom`}),` содержит небольшие browser helpers и 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-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={a:`a`,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/Crypto`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={a:`a`,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/Crypto`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`идентификаторы-и-строковые-hash`,children:`Идентификаторы и строковые hash`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`crypto`}),` предоставляет небольшие функции для двух разных задач:`]}),`
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-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={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/Errors/Missing Context`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={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/Errors/Missing Context`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`ошибка-отсутствующего-react-context`,children:`Ошибка отсутствующего React context`}),`
3
3
  `,(0,c.jsx)(t.p,{children:`Модуль создаёт единообразное диагностическое сообщение, когда custom hook вызван вне нужного Provider.`}),`
4
4
  `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,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/Excel`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,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/Excel`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`excel`,children:`Excel`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/excel`}),` формирует и скачивает `,(0,c.jsx)(t.code,{children:`.xlsx`}),`-файлы в браузере. Он поддерживает:`]}),`
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-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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
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
4
  `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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 API/Adapters/Server Function`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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 API/Adapters/Server Function`}),`
2
2
  `,(0,c.jsxs)(t.h1,{id:`server-function-adapters-через-ryuzaki13react-foundation-apiserver-fn`,children:[`Server-function adapters через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-api/server-fn`})]}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль адаптирует функцию с публичной формой `,(0,c.jsx)(t.code,{children:`serverFn({ data })`}),` к query/mutation operation из `,(0,c.jsx)(t.a,{href:`../resource/README.mdx`,children:(0,c.jsx)(t.code,{children:`/resource`})}),`. Сам пакет не импортирует TanStack Start и не запускает сервер.`]}),`
4
4
  `,(0,c.jsx)(t.h2,{id:`модель`,children:`Модель`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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/String Comparison`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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/String Comparison`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`сравнение-строк`,children:`Сравнение строк`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`compareStrings`}),` задаёт единый порядок строк для русскоязычных UI-списков, смешанной кириллицы/латиницы и числовых суффиксов.`]}),`
4
4
  `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={a:`a`,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/Data/XML`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={a:`a`,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/Data/XML`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`простые-xml-helpers`,children:`Простые XML helpers`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль экранирует XML-текст, строит последовательность простых полей и читает текст первого тега через `,(0,c.jsx)(t.code,{children:`DOMParser`}),`.`]}),`
4
4
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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/Session Storage ID`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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/Session Storage ID`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`идентификатор-вкладочной-сессии`,children:`Идентификатор вкладочной сессии`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`getSessionStorageId`}),` возвращает стабильный id в пределах одной browser-вкладки. При первом вызове id создаётся и сохраняется в `,(0,c.jsx)(t.code,{children:`sessionStorage`}),`, при следующих — читается по тому же ключу.`]}),`
4
4
  `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={a:`a`,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/Formatters/Boolean`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={a:`a`,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/Formatters/Boolean`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`boolean-и-abap-boolean`,children:`Boolean и ABAP boolean`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Подмодуль `,(0,c.jsx)(t.code,{children:`boolean`}),` преобразует значения между JavaScript `,(0,c.jsx)(t.code,{children:`boolean`}),` и двухсимвольным ABAP-контрактом:`]}),`
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-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,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/Infrastructure/PWA`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,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/Infrastructure/PWA`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`pwa`,children:`PWA`}),`
3
3
  `,(0,c.jsx)(t.p,{children:`Модуль PWA состоит из двух публичных входов с разной ответственностью:`}),`
4
4
  `,(0,c.jsxs)(t.table,{children:[(0,c.jsx)(t.thead,{children:(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.th,{children:`Import path`}),(0,c.jsx)(t.th,{children:`Что содержит`})]})}),(0,c.jsxs)(t.tbody,{children:[(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/pwa`})}),(0,c.jsx)(t.td,{children:`React-hook обновления Service Worker и все функции cache policy`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/pwa/sw-cache-policy`})}),(0,c.jsxs)(t.td,{children:[`Только чистый parser/builder политики `,(0,c.jsx)(t.code,{children:`x-sw-cache`}),`, без React update-flow`]})]})]})]}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={a:`a`,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 API/SAP/ADT Transports`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={a:`a`,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 API/SAP/ADT Transports`}),`
2
2
  `,(0,c.jsxs)(t.h1,{id:`sap-adt-transports-через-ryuzaki13react-foundation-apiadt`,children:[`SAP ADT transports через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-api/adt`})]}),`
3
3
  `,(0,c.jsx)(t.p,{children:`Модуль получает transport requests текущего пользователя из SAP ADT endpoint и преобразует XML в простой массив объектов.`}),`
4
4
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.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/Interaction/Context Menu State`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.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/Interaction/Context Menu State`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`состояние-и-anchors-контекстного-меню`,children:`Состояние и anchors контекстного меню`}),`
3
3
  `,(0,c.jsx)(t.p,{children:`Модуль описывает открытое/закрытое состояние контекстного меню, источник открытия и два вида anchor: DOM element или экранная точка. Также он создаёт virtual anchor для Floating UI.`}),`
4
4
  `,(0,c.jsx)(t.p,{children:`Модуль не содержит React hook и не рисует меню.`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-OyR7mF18.js";function o(e){let t={a:`a`,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/Binary`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BIDgFZzT.js";function o(e){let t={a:`a`,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/Binary`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`работа-с-бинарными-данными`,children:`Работа с бинарными данными`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`binary`}),` преобразует строковое бинарное содержимое в браузерный `,(0,c.jsx)(t.code,{children:`Blob`}),`, определяет предполагаемый MIME-тип документа и предоставляет React hook для типового сценария «base64 → `,(0,c.jsx)(t.code,{children:`{ blob, mime }`}),`».`]}),`
4
4
  `,(0,c.jsx)(t.p,{children:`Основной сценарий:`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-t8Ol-TlS.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-OyR7mF18.js";import{a as p,i as m,n as h,r as g,t as _}from"./RadioButton.stories-Dqe-r3lD.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-CLqd5Giv.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-BIDgFZzT.js";import{a as p,i as m,n as h,r as g,t as _}from"./RadioButton.stories-DzBmcWYh.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.
@@ -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-t8Ol-TlS.js";import{a as o,i as s}from"./utils-tg3ibbzi.js";import{n as c,t as l}from"./ui.module-nb-nQZVN.js";import{i as u,r as d}from"./uiClasses-BCk2WXc4.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:`"accent" | "neutral" | "brand" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"accent"`},{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-CLqd5Giv.js";import{a as o,i as s}from"./utils-tg3ibbzi.js";import{n as c,t as l}from"./ui.module-B6Lc_ii5.js";import{i as u,r as d}from"./uiClasses-BY4mQ-J3.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:`"accent" | "neutral" | "brand" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"accent"`},{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,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-0axQ-WvZ.js";import{n as a}from"./iframe-t8Ol-TlS.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`,`accent`,`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:`{
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-DeU7LySy.js";import{n as a}from"./iframe-CLqd5Giv.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`,`accent`,`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
2
  render: renderRadioButtonStory,
3
3
  args: {
4
4
  label: "Выбрать опцию",
@@ -1 +1 @@
1
- import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{i as r,n as i,r as a}from"./iframe-t8Ol-TlS.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-nb-nQZVN.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-CLqd5Giv.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-B6Lc_ii5.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-t8Ol-TlS.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-OyR7mF18.js";import{a as p,i as m,n as h,r as g,t as _}from"./RadioGroup.stories-CHvNWKTQ.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-CLqd5Giv.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-BIDgFZzT.js";import{a as p,i as m,n as h,r as g,t as _}from"./RadioGroup.stories-DhaRdRnV.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.
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n,t as r}from"./RadioGroup-BgCjgFfe.js";import{n as i}from"./iframe-t8Ol-TlS.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:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n,t as r}from"./RadioGroup-9L9EBmPZ.js";import{n as i}from"./iframe-CLqd5Giv.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-t8Ol-TlS.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-CLqd5Giv.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-Gvk-f2eZ.js";import{n as i}from"./iframe-t8Ol-TlS.js";import{a,i as o}from"./utils-tg3ibbzi.js";import{n as s,t as ee}from"./OptionButton-DJAuLjhy.js";import{n as c,t as l}from"./ui.module-nb-nQZVN.js";import{n as u,t as te}from"./Option-ComrvJ9s.js";import{n as d,t as ne}from"./PickerField-BamGqyTg.js";import{c as f,d as p,f as m,i as re,l as h,n as ie,r as g,s as ae,t as _,u as v}from"./usePickerTriggerController-CiGxyPbG.js";import{i as y,n as oe,r as se,t as b}from"./usePickerQuery-D609nrEf.js";import{n as x,t as S}from"./usePickerDefaultFilter-ien2ZY7g.js";import{n as C,t as ce}from"./CustomOptionButton-BypRyNBF.js";function le({option:e,getOptionLabel:t,getOptionCode:n,getOptionGroup:r}){return[p(t(e)),p(n?.(e)),p(r?.(e)?.label)].filter(e=>!!e).join(` `).toLowerCase()}function w(){return(w=e((()=>{m()})))()}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:d,getOptionKey:f,getOptionLabel:m,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=d,F=(0,E.useRef)(null),[I,be]=(0,E.useState)(!1),L=k?`search-single`:`display`,R=u===void 0?void 0:f(u),z=R===void 0?void 0:l.find(e=>f(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:m,getOptionCode:g,getOptionGroup:b}),[_,g,b,m]),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=>f(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}=re({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:m(z),Y=z===void 0?void 0:w?w(z):J,Re=p(J),ze=z===void 0?void 0:p(g?.(z)),X=p(Y)??Re??ze??(R===void 0?``:String(R)),Z=k&&(I||B.length>0)?B:z===void 0?``:X,Q=ie({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=f(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)(te,{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:m(t),code:g?.(t),onMouseDown:e=>e.preventDefault(),onClick:()=>G(t)})},i)};return(0,D.jsx)(ne,{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)(ae,{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)(h,{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 overscroll`),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(),u(),s(),m(),d(),v(),y(),f(),S(),g(),b(),_(),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-Ci14Psj_.js";import{n as i}from"./iframe-CLqd5Giv.js";import{a,i as o}from"./utils-tg3ibbzi.js";import{n as s,t as ee}from"./OptionButton-BMoBnbt6.js";import{n as c,t as l}from"./ui.module-B6Lc_ii5.js";import{n as u,t as te}from"./Option-ByR48EZl.js";import{n as d,t as ne}from"./PickerField-EVQAudL9.js";import{c as f,d as p,f as m,i as re,l as h,n as ie,r as g,s as ae,t as _,u as v}from"./usePickerTriggerController-TTKRTNy4.js";import{i as y,n as oe,r as se,t as b}from"./usePickerQuery-BVMhh3cw.js";import{n as x,t as S}from"./usePickerDefaultFilter-ien2ZY7g.js";import{n as C,t as ce}from"./CustomOptionButton-dg-hYBoR.js";function le({option:e,getOptionLabel:t,getOptionCode:n,getOptionGroup:r}){return[p(t(e)),p(n?.(e)),p(r?.(e)?.label)].filter(e=>!!e).join(` `).toLowerCase()}function w(){return(w=e((()=>{m()})))()}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:d,getOptionKey:f,getOptionLabel:m,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=d,F=(0,E.useRef)(null),[I,be]=(0,E.useState)(!1),L=k?`search-single`:`display`,R=u===void 0?void 0:f(u),z=R===void 0?void 0:l.find(e=>f(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:m,getOptionCode:g,getOptionGroup:b}),[_,g,b,m]),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=>f(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}=re({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:m(z),Y=z===void 0?void 0:w?w(z):J,Re=p(J),ze=z===void 0?void 0:p(g?.(z)),X=p(Y)??Re??ze??(R===void 0?``:String(R)),Z=k&&(I||B.length>0)?B:z===void 0?``:X,Q=ie({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=f(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)(te,{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:m(t),code:g?.(t),onMouseDown:e=>e.preventDefault(),onClick:()=>G(t)})},i)};return(0,D.jsx)(ne,{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)(ae,{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)(h,{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 overscroll`),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(),u(),s(),m(),d(),v(),y(),f(),S(),g(),b(),_(),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:`{