@ryuzaki13/react-foundation-ui 1.8.17 → 1.8.19

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 (352) hide show
  1. package/dist/advanced-search/index.js +4 -4
  2. package/dist/base-table/index.js +1 -1
  3. package/dist/chunks/{TextEditorLexicalClient-Ca89d-Db.js → TextEditorLexicalClient-jYDUbAcf.js} +2 -2
  4. package/dist/chunks/{TextEditorLexicalClient-Ca89d-Db.js.map → TextEditorLexicalClient-jYDUbAcf.js.map} +1 -1
  5. package/dist/chunks/{base-table-CXPasGQC.js → base-table-BuH1DvPd.js} +2 -2
  6. package/dist/chunks/{base-table-CXPasGQC.js.map → base-table-BuH1DvPd.js.map} +1 -1
  7. package/dist/chunks/{context-menu-CTJsMd8y.js → context-menu-CCAr_R-t.js} +2 -2
  8. package/dist/chunks/{context-menu-CTJsMd8y.js.map → context-menu-CCAr_R-t.js.map} +1 -1
  9. package/dist/chunks/{date-input-g6l1iDmf.js → date-input-DXCIZbyc.js} +2 -2
  10. package/dist/chunks/{date-input-g6l1iDmf.js.map → date-input-DXCIZbyc.js.map} +1 -1
  11. package/dist/chunks/{input-d08WN5FV.js → input-D1jOxm0t.js} +3 -2
  12. package/dist/chunks/input-D1jOxm0t.js.map +1 -0
  13. package/dist/chunks/{input-files-_NdSQM_3.js → input-files-CDGpJaUm.js} +2 -2
  14. package/dist/chunks/{input-files-_NdSQM_3.js.map → input-files-CDGpJaUm.js.map} +1 -1
  15. package/dist/chunks/{input-search-BjtTMoRu.js → input-search-Ci1ubGox.js} +2 -2
  16. package/dist/chunks/{input-search-BjtTMoRu.js.map → input-search-Ci1ubGox.js.map} +1 -1
  17. package/dist/chunks/{multi-select-m5Xl2yJZ.js → multi-select-D1JjZJfr.js} +2 -2
  18. package/dist/chunks/{multi-select-m5Xl2yJZ.js.map → multi-select-D1JjZJfr.js.map} +1 -1
  19. package/dist/chunks/{picker-DF_heUIT.js → picker-DO9HFqJV.js} +2 -2
  20. package/dist/chunks/picker-DO9HFqJV.js.map +1 -0
  21. package/dist/chunks/{select-C3tbPtgQ.js → select-3jk0ljU1.js} +3 -3
  22. package/dist/chunks/{select-C3tbPtgQ.js.map → select-3jk0ljU1.js.map} +1 -1
  23. package/dist/chunks/{table-Bhj60fyi.js → table-DLkfAmSZ.js} +2 -2
  24. package/dist/chunks/{table-Bhj60fyi.js.map → table-DLkfAmSZ.js.map} +1 -1
  25. package/dist/context-menu/index.js +1 -1
  26. package/dist/date-input/index.js +1 -1
  27. package/dist/date-time-input/index.js +1 -1
  28. package/dist/drop-zone/index.js +1 -1
  29. package/dist/image/index.js +2 -2
  30. package/dist/input/Input.d.ts.map +1 -1
  31. package/dist/input/index.js +1 -1
  32. package/dist/input-date-time/index.js +1 -1
  33. package/dist/input-file/index.js +1 -1
  34. package/dist/input-files/index.js +1 -1
  35. package/dist/input-image/index.js +1 -1
  36. package/dist/input-search/index.js +1 -1
  37. package/dist/layout-picker/index.js +1 -1
  38. package/dist/listbox/index.js +1 -1
  39. package/dist/multi-select/index.js +1 -1
  40. package/dist/picker/index.js +1 -1
  41. package/dist/picker/model/usePickerFloatingListbox.d.ts +1 -1
  42. package/dist/preset-range-date-input/index.js +1 -1
  43. package/dist/preset-select/index.js +1 -1
  44. package/dist/select/index.js +1 -1
  45. package/dist/simple-table/index.js +1 -1
  46. package/dist/slider/index.js +2 -2
  47. package/dist/state-select/index.js +1 -1
  48. package/dist/styles.css +1 -1
  49. package/dist/table/index.js +1 -1
  50. package/dist/table-sorting/index.js +1 -1
  51. package/dist/tag-input/index.js +1 -1
  52. package/dist/text-editor/index.js +1 -1
  53. package/dist/textarea/index.js +1 -1
  54. package/dist/tree-select/index.js +2 -2
  55. package/dist/tree-table/index.js +1 -1
  56. package/package.json +3 -3
  57. package/storybook-static/assets/{Badge-9ov2SQpw.js → Badge-CAM2jkFm.js} +6 -6
  58. package/storybook-static/assets/{Badge.stories-DyT1y7iJ.js → Badge.stories-DRjjmR32.js} +1 -1
  59. package/storybook-static/assets/{BadgeList-DsCC0K2u.js → BadgeList-D4Swhp3V.js} +1 -1
  60. package/storybook-static/assets/{Button-Ch-WQXxt.js → Button-1UZNz2k4.js} +1 -1
  61. package/storybook-static/assets/{Button-DrEpacN2.js → Button-4YB5_DwT.js} +6 -6
  62. package/storybook-static/assets/{Button.stories-Bt1ww23Y.js → Button.stories-B0sdwFqZ.js} +1 -1
  63. package/storybook-static/assets/{CalendarView-C2J0uWGf.js → CalendarView-sSyZ5jCR.js} +1 -1
  64. package/storybook-static/assets/{CheckBox-Dmed1k3Y.js → CheckBox-BdGaGy4_.js} +2 -2
  65. package/storybook-static/assets/{CheckBox-BBm7pBaK.js → CheckBox-Cpt5rjSg.js} +1 -1
  66. package/storybook-static/assets/{CheckBox.stories-Dy7pe9eU.js → CheckBox.stories-6d6-rkNo.js} +1 -1
  67. package/storybook-static/assets/Color-6AOWCN3U-sKBB2RBT.js +1 -0
  68. package/storybook-static/assets/{ContextMenu-9gl4i81Y.js → ContextMenu-B155_m2F.js} +1 -1
  69. package/storybook-static/assets/{ContextMenu-DbjrPPi1.js → ContextMenu-BLnt5p2W.js} +2 -2
  70. package/storybook-static/assets/{ContextMenu.stories-UxHdcdSM.js → ContextMenu.stories-B8sv4v3Q.js} +1 -1
  71. package/storybook-static/assets/{CustomOptionButton-qGFdzAlY.js → CustomOptionButton-hKfsqWNH.js} +1 -1
  72. package/storybook-static/assets/{DateInput-XANZLf8y.js → DateInput-DvIl6s-f.js} +2 -2
  73. package/storybook-static/assets/{DateInput-C3lNtiZJ.js → DateInput-XvSKmvqi.js} +1 -1
  74. package/storybook-static/assets/{DateInput.stories-CPxMqlod.js → DateInput.stories-SU41oukh.js} +1 -1
  75. package/storybook-static/assets/{DateRangePresetSelect-S0q2x0q-.js → DateRangePresetSelect-BCLZcXdv.js} +2 -2
  76. package/storybook-static/assets/{DateRangePresetSelect-erSbZygb.js → DateRangePresetSelect-tz-3m9UI.js} +1 -1
  77. package/storybook-static/assets/DateRangePresetSelect.stories-D8zuTlHo.js +19 -0
  78. package/storybook-static/assets/{Detail-fBnBGZJ-.js → Detail-Ct95dA1k.js} +2 -2
  79. package/storybook-static/assets/{Detail.stories-BS83WXDS.js → Detail.stories-Chedt7EX.js} +1 -1
  80. package/storybook-static/assets/{Dialog-BkxPSokc.js → Dialog-BX3QZOnt.js} +1 -1
  81. package/storybook-static/assets/{Dialog-CUmLq_8l.js → Dialog-C7Duw0PA.js} +2 -2
  82. package/storybook-static/assets/Dialog.stories-J0w0R0Db.js +22 -0
  83. package/storybook-static/assets/{Disclosure-CoQrHJcx.js → Disclosure-BzlV54RK.js} +2 -2
  84. package/storybook-static/assets/Disclosure.stories-z7gnOr5h.js +23 -0
  85. package/storybook-static/assets/{DisclosureGroup-C76Vffsk.js → DisclosureGroup-c179TOi5.js} +1 -1
  86. package/storybook-static/assets/{DocsRenderer-JROSPFPF-Dcd0Q4OT.js → DocsRenderer-JROSPFPF-Ba9N3QAD.js} +1 -1
  87. package/storybook-static/assets/{DropZone-D8ce83Dp.js → DropZone-D5X0oV8O.js} +1 -1
  88. package/storybook-static/assets/{DropZone-CDDUWBFm.js → DropZone-vxUU2p-k.js} +2 -2
  89. package/storybook-static/assets/DropZone.stories-iNXgESGM.js +26 -0
  90. package/storybook-static/assets/{DropdownMenu-BDIZKs1J.js → DropdownMenu-CJlpP3HB.js} +1 -1
  91. package/storybook-static/assets/{ExpandableActionPanel-BuioQ5dl.js → ExpandableActionPanel-CmkEByID.js} +1 -1
  92. package/storybook-static/assets/ExpandableActionPanel.stories-DmRLaVxn.js +9 -0
  93. package/storybook-static/assets/{Flex-B22MHXX7.js → Flex-tVAYZ-nU.js} +2 -2
  94. package/storybook-static/assets/{Flex.stories-kwnLelWl.js → Flex.stories-CVYDcbvw.js} +1 -1
  95. package/storybook-static/assets/{FloatingPopover-Bp9Qypq9.js → FloatingPopover-DMTLPzR3.js} +1 -1
  96. package/storybook-static/assets/{FormattedTableCell-B6jdkIC4.js → FormattedTableCell-DP6-D86D.js} +1 -1
  97. package/storybook-static/assets/{Grid-DflESV2R.js → Grid-Vm-amT-a.js} +2 -2
  98. package/storybook-static/assets/{Grid.stories-CFoPPd64.js → Grid.stories-B0beH9CK.js} +1 -1
  99. package/storybook-static/assets/ImageCropper.stories-Dt-IA4EB.js +131 -0
  100. package/storybook-static/assets/{ImageRenderer-DIL2Vc1q.js → ImageRenderer-DudkQ-3G.js} +1 -1
  101. package/storybook-static/assets/ImageRenderer.stories-CNeSiXkj.js +34 -0
  102. package/storybook-static/assets/ImageView.stories-DMtpy--X.js +14 -0
  103. package/storybook-static/assets/{ImageViewer.stories-D0qPi2e4.js → ImageViewer.stories-BkoV0li4.js} +3 -3
  104. package/storybook-static/assets/{ImageViewerRuntime-DkHuWptv.js → ImageViewerRuntime-BLgQCsSL.js} +1 -1
  105. package/storybook-static/assets/Input-CYgnggvb.css +1 -0
  106. package/storybook-static/assets/{Input-yxWSYFnb.js → Input-MPCFEMQm.js} +2 -2
  107. package/storybook-static/assets/Input-WhTMStKL.js +3 -0
  108. package/storybook-static/assets/Input.stories-B50KKSiz.js +52 -0
  109. package/storybook-static/assets/{InputDateTime-DhZt9ZDV.js → InputDateTime-1zTFbNEF.js} +2 -2
  110. package/storybook-static/assets/{InputDateTime.stories-BUBjE1XK.js → InputDateTime.stories-B7W4BkU6.js} +1 -1
  111. package/storybook-static/assets/{InputFile-D9QY_9jH.js → InputFile-B3QB0SLD.js} +1 -1
  112. package/storybook-static/assets/{InputFile-7mZglfLi.js → InputFile-DYHuD6B8.js} +2 -2
  113. package/storybook-static/assets/InputFile.stories-B-hrCtm_.js +27 -0
  114. package/storybook-static/assets/{InputFiles-Bj0dCOF-.js → InputFiles-CPPAJxgC.js} +1 -1
  115. package/storybook-static/assets/{InputFiles-LUM6HpDW.js → InputFiles-Dpa2BiyZ.js} +2 -2
  116. package/storybook-static/assets/InputFiles.stories-1ocz2wNw.js +26 -0
  117. package/storybook-static/assets/{InputFilesList-CSR5cAWT.js → InputFilesList-D2Ro-1Hm.js} +1 -1
  118. package/storybook-static/assets/{InputImage-I4lZZZDP.js → InputImage-BDC2lyVo.js} +1 -1
  119. package/storybook-static/assets/{InputImage-DCXLCb31.js → InputImage-DPmkvGcl.js} +2 -2
  120. package/storybook-static/assets/InputImage.stories-D3hWZBtn.js +56 -0
  121. package/storybook-static/assets/{InteractiveComponents-CqglREgC.js → InteractiveComponents-Djz3CtkU.js} +1 -1
  122. package/storybook-static/assets/{InteractiveComponents.stories-wY4MY2As.js → InteractiveComponents.stories-CJ2VWPLD.js} +1 -1
  123. package/storybook-static/assets/{LayoutPicker-DaT1HP0_.js → LayoutPicker-BFShZhhi.js} +1 -1
  124. package/storybook-static/assets/{LayoutPicker-DYwZvtzh.js → LayoutPicker-CMMEs83d.js} +3 -3
  125. package/storybook-static/assets/{LayoutPicker.stories-dsNYjmjt.js → LayoutPicker.stories-Cdb_UnBI.js} +1 -1
  126. package/storybook-static/assets/{Listbox-Bnd30LZ_.js → Listbox-B7nZijLJ.js} +2 -2
  127. package/storybook-static/assets/{Listbox-DA4aaUt0.js → Listbox-DM1vuGVD.js} +1 -1
  128. package/storybook-static/assets/{Listbox.stories-xe6Yszg6.js → Listbox.stories-DTs-ANe9.js} +1 -1
  129. package/storybook-static/assets/{Modal-NJll9h9x.js → Modal-D0dkB7lh.js} +3 -3
  130. package/storybook-static/assets/{Modal.stories-B7N5aIgP.js → Modal.stories-BOh10Fkn.js} +1 -1
  131. package/storybook-static/assets/{ModalManagerProvider-DA5QtvQ2.js → ModalManagerProvider-CEEmviJU.js} +1 -1
  132. package/storybook-static/assets/{MultiSelect-CUqW5AMh.js → MultiSelect-CbrRNOEZ.js} +2 -2
  133. package/storybook-static/assets/{MultiSelect-giyYuz8c.js → MultiSelect-oJhMsKuC.js} +1 -1
  134. package/storybook-static/assets/MultiSelect.stories-mLWhd-au.js +55 -0
  135. package/storybook-static/assets/{NoData-DhKFosBa.js → NoData-C7Kj62Zk.js} +1 -1
  136. package/storybook-static/assets/{NotificationsHost-DKsOqiZE.js → NotificationsHost-D_i7EsJA.js} +3 -3
  137. package/storybook-static/assets/{NotificationsHost.stories-CVsDqE_z.js → NotificationsHost.stories-5GPO8lQl.js} +2 -2
  138. package/storybook-static/assets/{ODataMultiSelect-TMnKV9KI.js → ODataMultiSelect-B6hKhD2q.js} +2 -2
  139. package/storybook-static/assets/{ODataMultiSelect.stories-CbxXeBSq.js → ODataMultiSelect.stories-BO7WaR9I.js} +2 -2
  140. package/storybook-static/assets/{ODataSelect-D3zaT9Bd.js → ODataSelect-BW8S-U91.js} +2 -2
  141. package/storybook-static/assets/{ODataSelect.stories-Djkb72yE.js → ODataSelect.stories-rVZ8RYIu.js} +2 -2
  142. package/storybook-static/assets/{ODataTreeMultiSelect-Bz7Pqr69.js → ODataTreeMultiSelect-BhvUurca.js} +1 -1
  143. package/storybook-static/assets/{ODataTreeMultiSelect.stories-QtxQbfUh.js → ODataTreeMultiSelect.stories-CM8wiVsI.js} +2 -2
  144. package/storybook-static/assets/{ODataTreeSelect-C2dm8syR.js → ODataTreeSelect-B96PJWcL.js} +1 -1
  145. package/storybook-static/assets/{ODataTreeSelect.stories-HRX2qliv.js → ODataTreeSelect.stories-HHLJZrD8.js} +2 -2
  146. package/storybook-static/assets/{OneStepScroller-u3gW3CFu.js → OneStepScroller-DzrN3WVZ.js} +1 -1
  147. package/storybook-static/assets/{Option-CpsdTcBv.js → Option-BwWLsS-Q.js} +1 -1
  148. package/storybook-static/assets/{Option-CpAZkiB9.css → Option-DFJ-DfU8.css} +1 -1
  149. package/storybook-static/assets/{OptionButton-Cpc3pWQ6.js → OptionButton-CdYqQAwC.js} +1 -1
  150. package/storybook-static/assets/{PeriodSelect-CWHJ86O3.js → PeriodSelect-CJejEx-e.js} +1 -1
  151. package/storybook-static/assets/{PeriodSelect-C6OPxXw9.js → PeriodSelect-_GvgXTKk.js} +1 -1
  152. package/storybook-static/assets/PeriodSelect.stories-CGNmEIBG.js +50 -0
  153. package/storybook-static/assets/{PickerTriggerActions-C05_NlBv.js → PickerTriggerActions-apA_Ruie.js} +1 -1
  154. package/storybook-static/assets/{Popover-CI-lzd_Y.js → Popover-BYGM8Bjj.js} +2 -2
  155. package/storybook-static/assets/{Popover-Dp6v7TaU.js → Popover-CDeopGLJ.js} +1 -1
  156. package/storybook-static/assets/{Popover.stories-D7LLMGrG.js → Popover.stories-DTeZeyAB.js} +1 -1
  157. package/storybook-static/assets/{PresetRangeDateInput-DEXNHHFw.js → PresetRangeDateInput-BdFjz9Ed.js} +2 -2
  158. package/storybook-static/assets/{PresetRangeDateInput-jsBNunjm.js → PresetRangeDateInput-D3FBpZqV.js} +1 -1
  159. package/storybook-static/assets/PresetRangeDateInput.stories-B2HCz7Tw.js +3 -0
  160. package/storybook-static/assets/{PresetSelect-B0OvN78Z.js → PresetSelect-BgzVe_NB.js} +1 -1
  161. package/storybook-static/assets/{README-Bu_7En3k.js → README-1tFUbU_N.js} +1 -1
  162. package/storybook-static/assets/{README-D95iopvt.js → README-9flk-o3B.js} +1 -1
  163. package/storybook-static/assets/{README-z6nH2ckx.js → README-B5QVQmyU.js} +1 -1
  164. package/storybook-static/assets/{README-CsAEz_8x.js → README-B8dyxeZz.js} +9 -12
  165. package/storybook-static/assets/{README-CwzP17ME.js → README-BJEbnNWP.js} +5 -9
  166. package/storybook-static/assets/{README--JrkMrwi.js → README-BRnZl0of.js} +4 -4
  167. package/storybook-static/assets/{README-BQpq3lh7.js → README-BSrGqFaw.js} +1 -1
  168. package/storybook-static/assets/{README-CPsRBLe4.js → README-BTp9nnLv.js} +3 -3
  169. package/storybook-static/assets/{README-CZuXtApO.js → README-BUkpxX-E.js} +4 -4
  170. package/storybook-static/assets/{README-CuqoQyPO.js → README-Bht25HeR.js} +1 -1
  171. package/storybook-static/assets/{README-BLho4XLO.js → README-Br9h1slQ.js} +4 -4
  172. package/storybook-static/assets/{README-yZSX-OqC.js → README-BtPehMeb.js} +4 -8
  173. package/storybook-static/assets/{README-LsHbJAIM.js → README-Bv9s5Hlv.js} +4 -7
  174. package/storybook-static/assets/{README-CoWUGZ_l.js → README-C2rr_CMA.js} +1 -1
  175. package/storybook-static/assets/{README-BuAqAOQM.js → README-C8K3rQpu.js} +4 -4
  176. package/storybook-static/assets/{README-DBjNHk3o.js → README-CBhnA3Kz.js} +3 -3
  177. package/storybook-static/assets/{README-yrnG-A7C.js → README-C_uOxFAl.js} +3 -3
  178. package/storybook-static/assets/{README-BBZeaX_g.js → README-CeuRBAf6.js} +1 -1
  179. package/storybook-static/assets/{README-D8up0NHH.js → README-Chc7eGGc.js} +1 -1
  180. package/storybook-static/assets/{README-Cc1ZT-3z.js → README-Cl2jxLna.js} +5 -5
  181. package/storybook-static/assets/{README-CisRMHhh.js → README-CuYqzgi0.js} +1 -1
  182. package/storybook-static/assets/{README-CD5_64aC.js → README-Cuj7DFn9.js} +5 -8
  183. package/storybook-static/assets/{README-IjRO8QsY.js → README-CvrH-776.js} +1 -1
  184. package/storybook-static/assets/{README-DRmu-SFW.js → README-CxsAd0Iq.js} +1 -1
  185. package/storybook-static/assets/{README-CkJtDuAy.js → README-DGTIYOSH.js} +3 -6
  186. package/storybook-static/assets/{README-Cc_acRci.js → README-DHJwCm5f.js} +14 -14
  187. package/storybook-static/assets/{README-mw1aJmys.js → README-DLBEUtiL.js} +1 -1
  188. package/storybook-static/assets/{README-BWH3eVjB.js → README-DNDYDuQ4.js} +4 -8
  189. package/storybook-static/assets/{README-CkwN7vVC.js → README-DQSMXoRa.js} +3 -5
  190. package/storybook-static/assets/{README-k92LCArT.js → README-DSsqg62x.js} +4 -8
  191. package/storybook-static/assets/{README-Dfdjepn7.js → README-DYKVnI5h.js} +4 -8
  192. package/storybook-static/assets/{README-BkBUm6xw.js → README-DZmDqmSd.js} +12 -12
  193. package/storybook-static/assets/{README-Dmt6U3aU.js → README-DcJ05Rnh.js} +1 -1
  194. package/storybook-static/assets/{README-ChzloWz7.js → README-Dju2IqV_.js} +1 -1
  195. package/storybook-static/assets/{README-BKyKhTdP.js → README-DldTDL_-.js} +1 -1
  196. package/storybook-static/assets/{README-oaNW_-7c.js → README-Dq0P8Ach.js} +3 -7
  197. package/storybook-static/assets/{README-B80TRZff.js → README-GstpCBI6.js} +1 -1
  198. package/storybook-static/assets/{README-DBMe9cYi.js → README-HhDoM8Gq.js} +2 -2
  199. package/storybook-static/assets/{README-DVhchZZO.js → README-I0-Ly9-N.js} +4 -8
  200. package/storybook-static/assets/{README-PtCi8SvW.js → README-NwNz8xro.js} +1 -5
  201. package/storybook-static/assets/{README-BYSR0Cie.js → README-OGP9mnSD.js} +4 -4
  202. package/storybook-static/assets/{README-CiMCyRM7.js → README-Se6780nc.js} +1 -1
  203. package/storybook-static/assets/{README-BdToXIoX.js → README-VwNH_K60.js} +1 -1
  204. package/storybook-static/assets/{README-CXBr_CyQ.js → README-_aVIdcMd.js} +4 -4
  205. package/storybook-static/assets/{README-BaCtki1X.js → README-bhX-QiSo.js} +3 -3
  206. package/storybook-static/assets/{README-DjPdG1sn.js → README-eqGIA1ao.js} +4 -8
  207. package/storybook-static/assets/{README-D6gttVs5.js → README-fLJ5n8A8.js} +6 -9
  208. package/storybook-static/assets/{README-BuJyvn9e.js → README-g3WhSoX3.js} +3 -3
  209. package/storybook-static/assets/{README-DQGBcWhx.js → README-m0xvi4o1.js} +1 -1
  210. package/storybook-static/assets/{README-DnCNNxgo.js → README-mXAkjKF0.js} +1 -1
  211. package/storybook-static/assets/{README-l6UdMKGF.js → README-n3wmMhlD.js} +1 -4
  212. package/storybook-static/assets/{README-CYgh97f9.js → README-z2leBvSk.js} +3 -3
  213. package/storybook-static/assets/{RadioButton-Cjuz545O.js → RadioButton-DqEZ3dh2.js} +2 -2
  214. package/storybook-static/assets/{RadioButton-ASb4zRKF.js → RadioButton-JEqzXOJN.js} +1 -1
  215. package/storybook-static/assets/RadioButton.stories-CzIM9dix.js +32 -0
  216. package/storybook-static/assets/{RadioGroup-3QSU0_PH.js → RadioGroup-COIsrK0r.js} +2 -2
  217. package/storybook-static/assets/{RadioGroup-UOcxQ4n6.js → RadioGroup-D4EHkLTb.js} +1 -1
  218. package/storybook-static/assets/{RadioGroup.stories-B9JWyRFi.js → RadioGroup.stories-BdAv58pJ.js} +1 -1
  219. package/storybook-static/assets/{Scrollable-BM7KKTaO.js → Scrollable-noVIQseX.js} +1 -1
  220. package/storybook-static/assets/{Select-CzipkH5g.js → Select-9v7A23y8.js} +2 -2
  221. package/storybook-static/assets/{Select-BIYQ3HYq.js → Select-DgPcfbEp.js} +1 -1
  222. package/storybook-static/assets/Select.stories-yIRnlqrF.js +69 -0
  223. package/storybook-static/assets/{SerializableSelect-aH37Oz_P.js → SerializableSelect-CnPwQtgN.js} +2 -2
  224. package/storybook-static/assets/{SerializableSelect.stories-Cb31hcHm.js → SerializableSelect.stories-9QxpRX-K.js} +2 -2
  225. package/storybook-static/assets/{SingleDateTimeInput-BKZ2j5XA.js → SingleDateTimeInput-CxKz7tUP.js} +2 -2
  226. package/storybook-static/assets/{SingleDateTimeInput-jcU1eYyD.js → SingleDateTimeInput-DBrfgnnn.js} +1 -1
  227. package/storybook-static/assets/{SingleDateTimeInput.stories-D8facy2e.js → SingleDateTimeInput.stories-lOLyuR7U.js} +1 -1
  228. package/storybook-static/assets/{Slider-D5zW2B4x.js → Slider-Cn1YHOVt.js} +1 -1
  229. package/storybook-static/assets/{Slider-CdlSXT8S.js → Slider-KC0hs5nY.js} +3 -3
  230. package/storybook-static/assets/{Slider.stories-DJFDUw-L.js → Slider.stories-C-IjisOs.js} +1 -1
  231. package/storybook-static/assets/{SliderInput-DS33CaaK.js → SliderInput-BVDFbjAz.js} +3 -3
  232. package/storybook-static/assets/{SliderInput-BR8kdM0H.js → SliderInput-Bz4D-xc3.js} +1 -1
  233. package/storybook-static/assets/{SliderInput.stories-B_mObDwL.js → SliderInput.stories-SlhRnTWN.js} +1 -1
  234. package/storybook-static/assets/{Sortable-DWy-JKZS.js → Sortable-d-UOB6NI.js} +2 -2
  235. package/storybook-static/assets/{Sortable.stories-SPmHtcYM.js → Sortable.stories-DWywtUOf.js} +1 -1
  236. package/storybook-static/assets/{Splitter-HUb-YSZF.js → Splitter-t2bV_zrF.js} +4 -4
  237. package/storybook-static/assets/{Splitter.stories-Crzq96sd.js → Splitter.stories-CTTTfgXu.js} +1 -1
  238. package/storybook-static/assets/{StateSelect-BSjtYKZ-.js → StateSelect-CR5WR-IW.js} +2 -2
  239. package/storybook-static/assets/{StateSelect-BwlppuOd.js → StateSelect-CX7Xf-aX.js} +1 -1
  240. package/storybook-static/assets/StateSelect.stories-3KkvmQ80.js +59 -0
  241. package/storybook-static/assets/StringToggle.stories-D7r-Du4d.js +5 -0
  242. package/storybook-static/assets/{Switch-fLpDZ4qU.js → Switch-DB4EZ32N.js} +1 -1
  243. package/storybook-static/assets/{Switch-nA9xU7Pp.js → Switch-Deae3h9G.js} +2 -2
  244. package/storybook-static/assets/Switch.stories-CZxayDtX.js +15 -0
  245. package/storybook-static/assets/{Table-wK63zl6Q.js → Table-CrxyY7zt.js} +4 -4
  246. package/storybook-static/assets/{Table.stories-C0G_h1tN.js → Table.stories-Cwxd5T2K.js} +2 -2
  247. package/storybook-static/assets/{Tabs-D8KwnnA-.js → Tabs-L4LxDqx4.js} +3 -3
  248. package/storybook-static/assets/{Tabs.stories-CS6nCuni.js → Tabs.stories-C4XMXjqd.js} +2 -2
  249. package/storybook-static/assets/{TabsBox-DP0-ZqEC.js → TabsBox-Bnvm4jMi.js} +1 -1
  250. package/storybook-static/assets/{TagInput-D4lwVc3K.js → TagInput-DW0JzYQ3.js} +1 -1
  251. package/storybook-static/assets/TagInput.stories-zF7cV7Cp.js +18 -0
  252. package/storybook-static/assets/{Text-DG9QNJe0.js → Text-ByhnRSgp.js} +1 -1
  253. package/storybook-static/assets/{Textarea-D3-Th6DP.js → Textarea-BySrQxab.js} +2 -2
  254. package/storybook-static/assets/{Textarea-Dj6LQHvv.js → Textarea-WtjTIiyq.js} +1 -1
  255. package/storybook-static/assets/Textarea.stories-jFSqX_4h.js +17 -0
  256. package/storybook-static/assets/{TimePanel-BB4DBxJQ.js → TimePanel-B-rvi-xm.js} +1 -1
  257. package/storybook-static/assets/TimePanel.stories-BQJruT0g.js +14 -0
  258. package/storybook-static/assets/{Toggle-CZ6VsUj-.js → Toggle-BfRh792z.js} +2 -2
  259. package/storybook-static/assets/{Toggle-D6bWhfSd.js → Toggle-BkglFvBx.js} +1 -1
  260. package/storybook-static/assets/Toggle.stories-BonTJbH-.js +25 -0
  261. package/storybook-static/assets/{TreeMultiSelect-CHWAQAhE.js → TreeMultiSelect-7E1j6lHT.js} +1 -1
  262. package/storybook-static/assets/{TreeMultiSelect-BRvJJEY_.js → TreeMultiSelect-CKr7kx7s.js} +1 -1
  263. package/storybook-static/assets/{TreeMultiSelect.stories-BLkkWrbm.js → TreeMultiSelect.stories-DQ9N-EPu.js} +1 -1
  264. package/storybook-static/assets/{TreePickerBase-COJUEQlF.js → TreePickerBase-DwoQyBMk.js} +1 -1
  265. package/storybook-static/assets/{TreeSelect-nFF1HBur.js → TreeSelect-BLc7zLho.js} +1 -1
  266. package/storybook-static/assets/{TreeSelect-DRmtAxPM.js → TreeSelect-BP_YoVCu.js} +1 -1
  267. package/storybook-static/assets/TreeSelect.stories-CyurXsU_.js +32 -0
  268. package/storybook-static/assets/{TreeTable-BRWCFTXn.js → TreeTable-wfgjChnU.js} +3 -3
  269. package/storybook-static/assets/{TreeTable.stories-BqoNWDPG.js → TreeTable.stories-DUBR67SN.js} +2 -2
  270. package/storybook-static/assets/{WithTooltip-7X4HQR7L-DQ4Qthn2.js → WithTooltip-CDUNV5IS-mFMh6Qcu.js} +2 -2
  271. package/storybook-static/assets/{blocks-BohMQTSj.js → blocks-DNj8uFSt.js} +3 -3
  272. package/storybook-static/assets/{check-D7ID2Deb.js → check-CS2caYIB.js} +1 -1
  273. package/storybook-static/assets/{chevron-down-DNkLBCIY.js → chevron-down-DXkNPvpX.js} +1 -1
  274. package/storybook-static/assets/{chevron-left-CdeAAF4x.js → chevron-left-5q-SFjrm.js} +1 -1
  275. package/storybook-static/assets/{chevron-right-BXx9VPR9.js → chevron-right-u6yLjLrs.js} +1 -1
  276. package/storybook-static/assets/{chunk-W22LQPXL-DRxdZLYI.js → chunk-W22LQPXL-CfJGLIdy.js} +1 -1
  277. package/storybook-static/assets/{circle-alert-BRmexcKa.js → circle-alert-Cs1OuREv.js} +1 -1
  278. package/storybook-static/assets/circle-check-Cvppn-HO.js +1 -0
  279. package/storybook-static/assets/components-B6cPezpK.js +241 -0
  280. package/storybook-static/assets/{contextMenu-DsJ4tjOh.js → contextMenu-CX8Geuik.js} +1 -1
  281. package/storybook-static/assets/{defaultRenderers-DfmnIuod.js → defaultRenderers-Dinv2uRZ.js} +1 -1
  282. package/storybook-static/assets/{download-BM2GUoHT.js → download-DY_RFHLw.js} +1 -1
  283. package/storybook-static/assets/floating-ui.react-CCV40RlP.js +1 -0
  284. package/storybook-static/assets/{formatters-D33Uh3si-CxrG0jsB.js → formatters-D33Uh3si-Df97arf9.js} +1 -1
  285. package/storybook-static/assets/{foundationApi-B9hbYace.js → foundationApi-naPnCFLL.js} +3 -6
  286. package/storybook-static/assets/{foundationLib-CerWWVvG.js → foundationLib-CSxKMNQk.js} +1 -1
  287. package/storybook-static/assets/{hooks-DVzTVd_R.js → hooks-CK4me-dJ.js} +1 -1
  288. package/storybook-static/assets/{iframe-K-XGUe-D.js → iframe-YrfSEgEg.js} +203 -203
  289. package/storybook-static/assets/iframe-uYND_WUi.js +1 -0
  290. package/storybook-static/assets/{info-DuSCzhWe.js → info-BEkn6tJB.js} +1 -1
  291. package/storybook-static/assets/odata-j4p1dw3i.js +1 -0
  292. package/storybook-static/assets/odata-service-CWkHASdw-CXhFi03v.js +3 -0
  293. package/storybook-static/assets/{odataStoryFixtures-mZQcAsMK.js → odataStoryFixtures-B_1MKEB-.js} +1 -1
  294. package/storybook-static/assets/{react-18-D4o7zN8K.js → react-18-EmNFJX4V.js} +1 -1
  295. package/storybook-static/assets/react-BihcRTyZ.js +9 -0
  296. package/storybook-static/assets/{refresh-cw-CX2bab9x.js → refresh-cw-uKRX7BI0.js} +1 -1
  297. package/storybook-static/assets/{settings-2-BJfXo0yn.js → settings-2-DTKuqR8p.js} +1 -1
  298. package/storybook-static/assets/{sortable-BRu15Ztn.js → sortable-sVqTZjeF.js} +1 -1
  299. package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-Cj45F5T0.js → syntaxhighlighter-QEQV7K2Y-GFZ4bA4u.js} +1 -1
  300. package/storybook-static/assets/theming-BgT2grXK.js +39 -0
  301. package/storybook-static/assets/{trash-2-P9F6tNaQ.js → trash-2-C6QVfyTq.js} +1 -1
  302. package/storybook-static/assets/{triangle-alert-D3Dwx8eQ.js → triangle-alert-DKkTKSAW.js} +1 -1
  303. package/storybook-static/assets/{useODataSelectBase-B6VwzbOR.js → useODataSelectBase-BxPpoJje.js} +1 -1
  304. package/storybook-static/assets/{useODataTreeData-DXyvta3A.js → useODataTreeData-Ct-ZR8pA.js} +1 -1
  305. package/storybook-static/assets/{usePickerQuery-Doby770u.js → usePickerQuery-DJMG-4Gl.js} +1 -1
  306. package/storybook-static/assets/{usePickerTriggerController-viUgSGjI.js → usePickerTriggerController-DeZhyi9h.js} +1 -1
  307. package/storybook-static/assets/{x-DIxXnpOQ.js → x-cU42PK2s.js} +1 -1
  308. package/storybook-static/iframe.html +2 -2
  309. package/storybook-static/index.json +1 -1
  310. package/storybook-static/project.json +1 -1
  311. package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +1 -1
  312. package/storybook-static/sb-manager/globals-runtime.js +5 -2
  313. package/storybook-static/sb-manager/runtime.js +1 -0
  314. package/dist/chunks/input-d08WN5FV.js.map +0 -1
  315. package/dist/chunks/picker-DF_heUIT.js.map +0 -1
  316. package/storybook-static/assets/Color-6AOWCN3U-DI-APVga.js +0 -1
  317. package/storybook-static/assets/DateRangePresetSelect.stories-OATiJF6J.js +0 -19
  318. package/storybook-static/assets/Dialog.stories-2NFJy7ry.js +0 -22
  319. package/storybook-static/assets/Disclosure.stories-D1XLmlV_.js +0 -23
  320. package/storybook-static/assets/DropZone.stories-Dm7AK-kr.js +0 -26
  321. package/storybook-static/assets/ExpandableActionPanel.stories-CJZPlJkO.js +0 -9
  322. package/storybook-static/assets/ImageCropper.stories-C-MdyLbo.js +0 -131
  323. package/storybook-static/assets/ImageRenderer.stories-C2_kDlXr.js +0 -34
  324. package/storybook-static/assets/ImageView.stories-DPiGO3Ky.js +0 -14
  325. package/storybook-static/assets/Input-BDeY_-Jr.js +0 -3
  326. package/storybook-static/assets/Input-Db2-9PJZ.css +0 -1
  327. package/storybook-static/assets/Input.stories-BdtZlToV.js +0 -52
  328. package/storybook-static/assets/InputFile.stories-CA3m-mhv.js +0 -27
  329. package/storybook-static/assets/InputFiles.stories-RP0bEium.js +0 -26
  330. package/storybook-static/assets/InputImage.stories-Yn37tywg.js +0 -56
  331. package/storybook-static/assets/MultiSelect.stories-DdUxajBC.js +0 -55
  332. package/storybook-static/assets/PeriodSelect.stories-B6rrRiik.js +0 -50
  333. package/storybook-static/assets/PresetRangeDateInput.stories-DnIcaxSx.js +0 -3
  334. package/storybook-static/assets/README-BPMguwxX.js +0 -101
  335. package/storybook-static/assets/RadioButton.stories-DMiFrv1f.js +0 -32
  336. package/storybook-static/assets/Select.stories-DFRMbFDX.js +0 -69
  337. package/storybook-static/assets/StateSelect.stories-Cz-LdiGm.js +0 -59
  338. package/storybook-static/assets/StringToggle.stories-CLQs9S-2.js +0 -5
  339. package/storybook-static/assets/Switch.stories-Cc7zwrXS.js +0 -15
  340. package/storybook-static/assets/TagInput.stories-KFzrqv4v.js +0 -18
  341. package/storybook-static/assets/Textarea.stories-qerXQk3F.js +0 -17
  342. package/storybook-static/assets/TimePanel.stories-CtaUQrxC.js +0 -14
  343. package/storybook-static/assets/Toggle.stories-DbO2-OJd.js +0 -25
  344. package/storybook-static/assets/TreeSelect.stories-DmkPem76.js +0 -32
  345. package/storybook-static/assets/circle-check-BRJ_YsFd.js +0 -1
  346. package/storybook-static/assets/components-Biok6rgP.js +0 -241
  347. package/storybook-static/assets/floating-ui.react-CBQlgAqp.js +0 -1
  348. package/storybook-static/assets/iframe-GtVf_5WZ.js +0 -1
  349. package/storybook-static/assets/odata-D7jdF0bG.js +0 -1
  350. package/storybook-static/assets/odata-service-CWkHASdw-DlmSiioz.js +0 -3
  351. package/storybook-static/assets/react-CtcbcJqm.js +0 -9
  352. package/storybook-static/assets/theming-Cvtrnj7n.js +0 -39
@@ -1,7 +1,7 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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
- `,(0,c.jsxs)(t.h1,{id:`чтение-первой-ошибки-формы-через-ryuzaki13react-foundation-libform`,children:[`Чтение первой ошибки формы через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/form`})]}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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
+ `,(0,c.jsx)(t.h1,{id:`чтение-первой-ошибки-формы`,children:`Чтение первой ошибки формы`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль содержит одну функцию `,(0,c.jsx)(t.code,{children:`readFirstFormError`}),`. Она получает неоднородный массив ошибок и возвращает первое найденное текстовое сообщение.`]}),`
4
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
4
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
5
5
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { readFirstFormError } from "@ryuzaki13/react-foundation-lib/form";
6
6
  `})}),`
7
7
  `,(0,c.jsx)(t.p,{children:`Модуль ESM, не зависит от React и не привязан к конкретной form library.`}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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:[`
@@ -15,9 +15,9 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K
15
15
  `,(0,c.jsx)(t.li,{children:`предупреждения с одной или несколькими кнопками-действиями.`}),`
16
16
  `]}),`
17
17
  `,(0,c.jsx)(t.p,{children:`Для ошибок внутри формы лучше показывать сообщение рядом с полем. Уведомление — дополнительный, а не единственный канал обратной связи.`}),`
18
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
18
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
19
19
  `,(0,c.jsxs)(t.p,{children:[`Модулю нужен peer dependency `,(0,c.jsx)(t.code,{children:`zustand`}),`.`]}),`
20
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib zustand
20
+ `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install zustand
21
21
  `})}),`
22
22
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { bindNotifications, createNotificationsStore, notify, type Notification } from "@ryuzaki13/react-foundation-lib/notifications";
23
23
  `})}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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,5 +1,5 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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/Media`}),`
2
- `,(0,c.jsxs)(t.h1,{id:`адаптивность-и-media-queries-через-ryuzaki13react-foundation-libmedia`,children:[`Адаптивность и media queries через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/media`})]}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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/Media`}),`
2
+ `,(0,c.jsx)(t.h1,{id:`адаптивность-и-media-queries`,children:`Адаптивность и media queries`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`media`}),` содержит общий низкоуровневый контракт адаптивности для React-приложений:`]}),`
4
4
  `,(0,c.jsxs)(t.ul,{children:[`
5
5
  `,(0,c.jsxs)(t.li,{children:[`проектные брейкпоинты `,(0,c.jsx)(t.code,{children:`mobile`}),`, `,(0,c.jsx)(t.code,{children:`tablet`}),` и `,(0,c.jsx)(t.code,{children:`laptop`}),`;`]}),`
@@ -10,11 +10,11 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K
10
10
  `,(0,c.jsxs)(t.li,{children:[`преобразование количества пикселей относительно размера `,(0,c.jsx)(t.code,{children:`em`}),`;`]}),`
11
11
  `,(0,c.jsx)(t.li,{children:`расчёт проектной высоты control.`}),`
12
12
  `]}),`
13
- `,(0,c.jsx)(t.p,{children:`Документ рассчитан на разработчика, который использует опубликованный пакет без доступа к его исходному коду. Поэтому ниже отдельно объясняются базовые понятия CSS и React, точные значения, fallback-порядок, SSR, hydration, подписки, cleanup, ограничения и все публичные exports.`}),`
13
+ `,(0,c.jsx)(t.p,{children:`Ниже отдельно объясняются базовые понятия CSS и React, точные значения, fallback-порядок, SSR, hydration, подписки, cleanup, ограничения и все публичные exports.`}),`
14
14
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
15
15
  `,(0,c.jsxs)(t.ul,{children:[`
16
16
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8`,children:`Граница ответственности`})}),`
17
- `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
17
+ `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Импорт`})}),`
18
18
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%B8%D1%8F`,children:`Минимальные понятия`})}),`
19
19
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BA%D0%B0%D0%BA-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-api`,children:`Как выбрать API`})}),`
20
20
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BD%D1%8B%D0%B5-%D0%B1%D1%80%D0%B5%D0%B9%D0%BA%D0%BF%D0%BE%D0%B8%D0%BD%D1%82%D1%8B`,children:`Проектные брейкпоинты`})}),`
@@ -66,7 +66,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K
66
66
  `,(0,c.jsx)(t.h3,{id:`соседние-владельцы`,children:`Соседние владельцы`}),`
67
67
  `,(0,c.jsxs)(t.table,{children:[(0,c.jsx)(t.thead,{children:(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.th,{children:`Задача`}),(0,c.jsx)(t.th,{children:`Предпочтительный владелец`})]})}),(0,c.jsxs)(t.tbody,{children:[(0,c.jsxs)(t.tr,{children:[(0,c.jsxs)(t.td,{children:[`Готовые `,(0,c.jsx)(t.code,{children:`Flex`}),`, `,(0,c.jsx)(t.code,{children:`Grid`}),` и responsive UI primitives`]}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-ui/<module>`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Общие media-query hooks и responsive resolver`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/media`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Наблюдение за размером конкретного DOM-элемента`}),(0,c.jsxs)(t.td,{children:[(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/dom`}),` или container query`]})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Touch/coarse-pointer capability`}),(0,c.jsxs)(t.td,{children:[(0,c.jsx)(t.code,{children:`useIsTouchDevice`}),` из `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/dom`})]})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Debounce/throttle пользовательских callbacks`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/hooks`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Бизнес-решение «что показывать пользователю»`}),(0,c.jsx)(t.td,{children:`entity/feature/widget host-приложения`})]})]})]}),`
68
68
  `,(0,c.jsx)(t.p,{children:`Если задача решается только стилями, сначала используйте CSS. JavaScript hook нужен, когда media query действительно влияет на вычисления, выбор поведения, параметры сторонней библиотеки или внешний store.`}),`
69
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
69
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
70
70
  `,(0,c.jsx)(t.p,{children:`Установите пакет:`}),`
71
71
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib
72
72
  `})}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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,5 +1,5 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.js";function o(e){let t={a:`a`,blockquote:`blockquote`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/Utils`}),`
2
- `,(0,c.jsxs)(t.h1,{id:`общие-утилиты-ryuzaki13react-foundation-libutils`,children:[`Общие утилиты `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/utils`})]}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.js";function o(e){let t={a:`a`,blockquote:`blockquote`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/Utils`}),`
2
+ `,(0,c.jsx)(t.h1,{id:`общие-утилиты`,children:`Общие утилиты`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`utils`}),` объединяет небольшие технические функции, которые нужны в разных частях React- и TypeScript-приложения:`]}),`
4
4
  `,(0,c.jsxs)(t.ul,{children:[`
5
5
  `,(0,c.jsxs)(t.li,{children:[`сборка строки `,(0,c.jsx)(t.code,{children:`className`}),`;`]}),`
@@ -12,14 +12,14 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K
12
12
  `,(0,c.jsx)(t.li,{children:`копирование древовидной структуры;`}),`
13
13
  `,(0,c.jsxs)(t.li,{children:[`единая точка вывода ошибок в `,(0,c.jsx)(t.code,{children:`console.error`}),`.`]}),`
14
14
  `]}),`
15
- `,(0,c.jsx)(t.p,{children:`Документ рассчитан на разработчика без доступа к исходному коду пакета и с минимальным знанием JavaScript, TypeScript и React. Поэтому ниже объясняются назначение каждого аргумента, точный результат, побочные эффекты, различия похожих функций и ограничения.`}),`
15
+ `,(0,c.jsx)(t.p,{children:`Ниже объясняются назначение каждого аргумента, точный результат, побочные эффекты, различия похожих функций и ограничения.`}),`
16
16
  `,(0,c.jsxs)(t.blockquote,{children:[`
17
17
  `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`utils`}),` — это опубликованный entrypoint, а не приглашение складывать сюда любую бизнес-логику. В модуле нет HTTP-запросов, UI-компонентов, доменных правил, нормализации пользовательского ввода и криптографии.`]}),`
18
18
  `]}),`
19
19
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
20
20
  `,(0,c.jsxs)(t.ul,{children:[`
21
21
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B`,children:`Назначение и границы`})}),`
22
- `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
22
+ `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Импорт`})}),`
23
23
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%81%D1%80%D0%B5%D0%B4%D0%B0-%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F`,children:`Среда выполнения`})}),`
24
24
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%B8%D1%8F`,children:`Минимальные понятия`})}),`
25
25
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BA%D0%B0%D0%BA-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8E`,children:`Как выбрать функцию`})}),`
@@ -73,10 +73,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K
73
73
  `]}),`
74
74
  `,(0,c.jsx)(t.h3,{id:`соседние-владельцы`,children:`Соседние владельцы`}),`
75
75
  `,(0,c.jsxs)(t.table,{children:[(0,c.jsx)(t.thead,{children:(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.th,{children:`Задача`}),(0,c.jsx)(t.th,{children:`Предпочтительный модуль`})]})}),(0,c.jsxs)(t.tbody,{children:[(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Массивы, группировка, дедупликация и reorder`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/array`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsxs)(t.td,{children:[`Runtime-проверки `,(0,c.jsx)(t.code,{children:`unknown`})]}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/validators`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Hash, UUID и стабильный DOM id`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/crypto`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsxs)(t.td,{children:[`Base64/Binary в `,(0,c.jsx)(t.code,{children:`Blob`})]}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/binary`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Clipboard`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/copy`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`DOM, portal, focus и browser download`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/dom`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Debounce, throttle и React hooks`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/hooks`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Форматирование дат, чисел, строк и value state`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/formatters`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Сериализуемый error report и его доставка`}),(0,c.jsxs)(t.td,{children:[(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/error-report`}),` и API-пакет`]})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`UI primitives`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-ui/<module>`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Бизнес-преобразование сущности`}),(0,c.jsx)(t.td,{children:`entity/feature/widget host-приложения`})]})]})]}),`
76
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
77
- `,(0,c.jsx)(t.p,{children:`Установите пакет:`}),`
78
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib
79
- `})}),`
76
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
80
77
  `,(0,c.jsxs)(t.p,{children:[`Entrypoint `,(0,c.jsx)(t.code,{children:`/utils`}),` также экспортирует React-функции `,(0,c.jsx)(t.code,{children:`childrenCount`}),` и `,(0,c.jsx)(t.code,{children:`createLazyComponent`}),`. Поэтому host-приложение должно разрешить совместимую peer dependency React:`]}),`
81
78
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install react
82
79
  `})}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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`}),` собирает клиентскую диагностику ошибки в структурированный draft и временно хранит последние drafts в `,(0,c.jsx)(t.code,{children:`sessionStorage`}),`.`]}),`
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-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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/Formulas`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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/Formulas`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`табличные-формулы`,children:`Табличные формулы`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/formulas`}),` предоставляет безопасную инфраструктуру для заранее написанных клиентских формул таблицы.`]}),`
4
4
  `,(0,c.jsx)(t.p,{children:`Формула получает значения других полей текущей строки, выполняет синхронный расчёт и возвращает конечное JavaScript-число. Например, она может вычислить сумму, разницу, отношение или процент для calculated-колонки.`}),`
@@ -9,11 +9,10 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K
9
9
  конечное число или
10
10
  контролируемая причина ошибки выполнения
11
11
  `})}),`
12
- `,(0,c.jsx)(t.p,{children:`README рассчитан на разработчика без доступа к исходному коду. Здесь описано точное поведение всего публичного API, включая преобразование значений, реестр, validation, ошибки и связь с formatter pipeline.`}),`
13
12
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
14
13
  `,(0,c.jsxs)(t.ul,{children:[`
15
14
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B`,children:`Назначение и границы`})}),`
16
- `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
15
+ `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Импорт`})}),`
17
16
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82`,children:`Быстрый старт`})}),`
18
17
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%B8%D1%8F`,children:`Основные понятия`})}),`
19
18
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D1%84%D0%BE%D1%80%D0%BC%D1%83%D0%BB%D1%8B`,children:`Описание формулы`})}),`
@@ -59,9 +58,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K
59
58
  `]}),`
60
59
  `,(0,c.jsxs)(t.p,{children:[`Host-приложение владеет прикладными `,(0,c.jsx)(t.code,{children:`TableFormulaDefinition`}),`: оно объявляет их в коде, тестирует, собирает в реестр и устанавливает на старте приложения.`]}),`
61
60
  `,(0,c.jsxs)(t.p,{children:[`Сериализуемая конфигурация колонки хранит только стабильный `,(0,c.jsx)(t.code,{children:`formulaId`}),` и ordered dependencies. Реальная функция остаётся доверенным кодом приложения.`]}),`
62
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
63
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib
64
- `})}),`
61
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
65
62
  `,(0,c.jsxs)(t.p,{children:[`Используйте только опубликованный package subpath `,(0,c.jsx)(t.code,{children:`/formulas`}),`:`]}),`
66
63
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import {
67
64
  compileTableFormula,
@@ -1,9 +1,9 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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
- `,(0,c.jsxs)(t.h1,{id:`общие-технические-типы-ryuzaki13react-foundation-libtypes`,children:[`Общие технические типы `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/types`})]}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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
+ `,(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:`Содержание`}),`
5
5
  `,(0,c.jsxs)(t.ul,{children:[`
6
- `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
6
+ `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Импорт`})}),`
7
7
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#state`,children:(0,c.jsx)(t.code,{children:`State`})})}),`
8
8
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#abapboolean`,children:(0,c.jsx)(t.code,{children:`AbapBoolean`})})}),`
9
9
  `,(0,c.jsx)(t.li,{children:(0,c.jsxs)(t.a,{href:`#primitive-%D0%B8-basetype`,children:[(0,c.jsx)(t.code,{children:`Primitive`}),` и `,(0,c.jsx)(t.code,{children:`BaseType`})]})}),`
@@ -13,19 +13,19 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K
13
13
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#rowrecord`,children:(0,c.jsx)(t.code,{children:`RowRecord`})})}),`
14
14
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F`,children:`Ошибки проектирования`})}),`
15
15
  `]}),`
16
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
16
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
17
17
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { isBaseType } from "@ryuzaki13/react-foundation-lib/types";
18
18
 
19
- import type {
20
- AbapBoolean,
21
- ArrayType,
22
- BaseType,
23
- InputType,
24
- ObjectType,
25
- Primitive,
26
- RangeType,
27
- RowRecord,
28
- State
19
+ import {
20
+ type AbapBoolean,
21
+ type ArrayType,
22
+ type BaseType,
23
+ type InputType,
24
+ type ObjectType,
25
+ type Primitive,
26
+ type RangeType,
27
+ type RowRecord,
28
+ type State
29
29
  } from "@ryuzaki13/react-foundation-lib/types";
30
30
  `})}),`
31
31
  `,(0,c.jsxs)(t.p,{children:[`Типы исчезают после компиляции TypeScript. Не пытайтесь использовать `,(0,c.jsx)(t.code,{children:`State`}),` или `,(0,c.jsx)(t.code,{children:`RowRecord`}),` как runtime validator.`]}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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,16 +1,15 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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
- `,(0,c.jsxs)(t.h1,{id:`boolean-и-abap-boolean-через-ryuzaki13react-foundation-libformatters`,children:[`Boolean и ABAP boolean через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/formatters`})]}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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
+ `,(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:[`
5
5
  `,(0,c.jsxs)(t.li,{children:[(0,c.jsx)(t.code,{children:`"X"`}),` — истина;`]}),`
6
6
  `,(0,c.jsxs)(t.li,{children:[`один обычный пробел `,(0,c.jsx)(t.code,{children:`" "`}),` — ложь.`]}),`
7
7
  `]}),`
8
8
  `,(0,c.jsxs)(t.p,{children:[`Также он предоставляет более широкий parser `,(0,c.jsx)(t.code,{children:`parseBoolean`}),` для простых пользовательских или transport-значений.`]}),`
9
- `,(0,c.jsxs)(t.p,{children:[`README рассчитан на разработчика без доступа к исходному коду. Ниже описано точное, местами неочевидное поведение всех трёх публичных функций. Особенно важно не путать строгий `,(0,c.jsx)(t.code,{children:`parseAbapBoolean`}),`, расширенный `,(0,c.jsx)(t.code,{children:`parseBoolean`}),` и truthy-семантику `,(0,c.jsx)(t.code,{children:`toAbapBoolean`}),`.`]}),`
10
9
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
11
10
  `,(0,c.jsxs)(t.ul,{children:[`
12
11
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B`,children:`Назначение и границы`})}),`
13
- `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
12
+ `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Импорт`})}),`
14
13
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%B8%D1%8F`,children:`Минимальные понятия`})}),`
15
14
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BA%D0%B0%D0%BA-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8E`,children:`Как выбрать функцию`})}),`
16
15
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#parseabapboolean`,children:(0,c.jsx)(t.code,{children:`parseAbapBoolean`})})}),`
@@ -40,10 +39,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K
40
39
  `,(0,c.jsx)(t.li,{children:`не сериализует JSON, URL или OData query;`}),`
41
40
  `,(0,c.jsxs)(t.li,{children:[`не гарантирует, что широкий `,(0,c.jsx)(t.code,{children:`toAbapBoolean(unknown)`}),` подходит конкретному backend-контракту.`]}),`
42
41
  `]}),`
43
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
44
- `,(0,c.jsx)(t.p,{children:`Установите пакет:`}),`
45
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib
46
- `})}),`
42
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
47
43
  `,(0,c.jsxs)(t.p,{children:[`Все boolean helpers импортируются из единственного опубликованного subpath `,(0,c.jsx)(t.code,{children:`/formatters`}),`:`]}),`
48
44
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { parseAbapBoolean, parseBoolean, toAbapBoolean } from "@ryuzaki13/react-foundation-lib/formatters";
49
45
 
@@ -1,9 +1,7 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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/React/Virtualizer Pagination`}),`
2
- `,(0,c.jsxs)(t.h1,{id:`дозагрузка-virtualized-списка-через-ryuzaki13react-foundation-libvirtualizer`,children:[`Дозагрузка virtualized списка через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/virtualizer`})]}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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/React/Virtualizer Pagination`}),`
2
+ `,(0,c.jsx)(t.h1,{id:`дозагрузка-virtualized-списка`,children:`Дозагрузка virtualized списка`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`useFetchNextPageEffect`}),` вызывает `,(0,c.jsx)(t.code,{children:`fetchNextPage`}),`, когда последняя отрендеренная virtual item достигает конца уже загруженного списка.`]}),`
4
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
5
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install react @tanstack/react-virtual @ryuzaki13/react-foundation-lib
6
- `})}),`
4
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
7
5
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { useFetchNextPageEffect } from "@ryuzaki13/react-foundation-lib/virtualizer";
8
6
  `})}),`
9
7
  `,(0,c.jsxs)(t.p,{children:[`Host должен использовать совместимые peer dependencies React `,(0,c.jsx)(t.code,{children:`>=19.2 <20`}),` и `,(0,c.jsx)(t.code,{children:`@tanstack/react-virtual >=3.14 <4`}),`.`]}),`
@@ -1,5 +1,5 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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
- `,(0,c.jsxs)(t.h1,{id:`копирование-текста-через-ryuzaki13react-foundation-libcopy`,children:[`Копирование текста через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/copy`})]}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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
+ `,(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:`Основные сценарии:`}),`
5
5
  `,(0,c.jsxs)(t.ul,{children:[`
@@ -8,11 +8,10 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K
8
8
  `,(0,c.jsx)(t.li,{children:`на две секунды заменить подпись или иконку кнопки после успешного копирования.`}),`
9
9
  `]}),`
10
10
  `,(0,c.jsx)(t.p,{children:`Модуль ориентирован на браузер. Он скрывает технический выбор между современным Clipboard API и legacy fallback, но не отменяет браузерные разрешения и ограничения безопасности.`}),`
11
- `,(0,c.jsx)(t.p,{children:`README рассчитан на разработчика, который использует опубликованный пакет без доступа к исходному коду. Здесь объясняются базовые понятия React и DOM, точное поведение каждого hook, обработка ошибок, доступность, тестирование и известные ограничения.`}),`
12
11
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
13
12
  `,(0,c.jsxs)(t.ul,{children:[`
14
13
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F`,children:`Назначение и границы модуля`})}),`
15
- `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
14
+ `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Импорт`})}),`
16
15
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%B8%D1%8F`,children:`Минимальные понятия`})}),`
17
16
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BA%D0%B0%D0%BA-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-api`,children:`Как выбрать API`})}),`
18
17
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82`,children:`Быстрый старт`})}),`
@@ -55,10 +54,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K
55
54
  `]}),`
56
55
  `,(0,c.jsx)(t.h3,{id:`соседние-задачи`,children:`Соседние задачи`}),`
57
56
  `,(0,c.jsxs)(t.table,{children:[(0,c.jsx)(t.thead,{children:(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.th,{children:`Задача`}),(0,c.jsx)(t.th,{children:`Что использовать`})]})}),(0,c.jsxs)(t.tbody,{children:[(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Скопировать текст`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/copy`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsxs)(t.td,{children:[`Скачать готовый `,(0,c.jsx)(t.code,{children:`Blob`}),` или JSON-файл`]}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/dom`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Прочитать пользовательский файл`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/file`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsxs)(t.td,{children:[`Декодировать base64 в `,(0,c.jsx)(t.code,{children:`Blob`})]}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/binary`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Реализовать визуальную кнопку/tooltip`}),(0,c.jsx)(t.td,{children:`UI-компонент приложения или foundation UI-пакет`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Скопировать изображение или rich HTML`}),(0,c.jsx)(t.td,{children:`Отдельная реализация Clipboard API для нужного формата`})]})]})]}),`
58
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
59
- `,(0,c.jsx)(t.p,{children:`Установите пакет:`}),`
60
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib
61
- `})}),`
57
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
62
58
  `,(0,c.jsx)(t.p,{children:`Модуль использует React hooks. Приложение должно предоставить совместимые peer-зависимости React:`}),`
63
59
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install react react-dom
64
60
  `})}),`
@@ -1,5 +1,5 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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
- `,(0,c.jsxs)(t.h1,{id:`работа-с-бинарными-данными-через-ryuzaki13react-foundation-libbinary`,children:[`Работа с бинарными данными через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/binary`})]}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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
+ `,(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:`Основной сценарий:`}),`
5
5
  `,(0,c.jsxs)(t.ol,{children:[`
@@ -10,11 +10,10 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K
10
10
  `,(0,c.jsxs)(t.li,{children:[`вызывающий код передаёт `,(0,c.jsx)(t.code,{children:`Blob`}),` просмотрщику, скачивает файл или отправляет его дальше.`]}),`
11
11
  `]}),`
12
12
  `,(0,c.jsx)(t.p,{children:`Модуль является предметно-независимым foundation-слоем. Он не знает бизнес-коды документов, не выполняет HTTP/OData-запросы, не загружает файлы с диска, не создаёт viewer и не проверяет, безопасно ли содержимое.`}),`
13
- `,(0,c.jsx)(t.p,{children:`README рассчитан на разработчика, который использует опубликованный пакет без доступа к исходному коду. Здесь объясняются базовые понятия, все публичные функции, точный приоритет MIME, поддерживаемые форматы, ошибки, React lifecycle, безопасность и управление object URL.`}),`
14
13
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
15
14
  `,(0,c.jsxs)(t.ul,{children:[`
16
15
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F`,children:`Назначение и границы модуля`})}),`
17
- `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
16
+ `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Импорт`})}),`
18
17
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%B8%D1%8F`,children:`Минимальные понятия`})}),`
19
18
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BA%D0%B0%D0%BA-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-api`,children:`Как выбрать API`})}),`
20
19
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82`,children:`Быстрый старт`})}),`
@@ -55,10 +54,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K
55
54
  `,(0,c.jsx)(t.h3,{id:`соседние-модули`,children:`Соседние модули`}),`
56
55
  `,(0,c.jsxs)(t.table,{children:[(0,c.jsx)(t.thead,{children:(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.th,{children:`Задача`}),(0,c.jsx)(t.th,{children:`Модуль`})]})}),(0,c.jsxs)(t.tbody,{children:[(0,c.jsxs)(t.tr,{children:[(0,c.jsxs)(t.td,{children:[`Декодировать строковый base64/data URL в `,(0,c.jsx)(t.code,{children:`Blob`})]}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/binary`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsxs)(t.td,{children:[`Прочитать выбранный пользователем `,(0,c.jsx)(t.code,{children:`File`})]}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/file`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsxs)(t.td,{children:[`Скачать готовый `,(0,c.jsx)(t.code,{children:`Blob`}),` или object URL`]}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/dom`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsxs)(t.td,{children:[`Преобразовать base64 непосредственно в `,(0,c.jsx)(t.code,{children:`Blob`}),` без MIME-detection`]}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/binary`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Полностью проверить структуру PDF, изображения или архива`}),(0,c.jsx)(t.td,{children:`Специализированный parser/validator на доверенной boundary`})]})]})]}),`
57
56
  `,(0,c.jsxs)(t.p,{children:[`Не копируйте логику скачивания рядом с `,(0,c.jsx)(t.code,{children:`binaryToBlob`}),`. Для готового `,(0,c.jsx)(t.code,{children:`Blob`}),` уже существует `,(0,c.jsx)(t.code,{children:`downloadFileFromBlob`}),` в `,(0,c.jsx)(t.code,{children:`/dom`}),`.`]}),`
58
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
59
- `,(0,c.jsx)(t.p,{children:`Установите пакет:`}),`
60
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib
61
- `})}),`
57
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
62
58
  `,(0,c.jsxs)(t.p,{children:[`Импортируйте API только из опубликованного subpath `,(0,c.jsx)(t.code,{children:`/binary`}),`:`]}),`
63
59
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { binaryToBlob, detectMimeType, useBinaryFile } from "@ryuzaki13/react-foundation-lib/binary";
64
60
  `})}),`
@@ -1,11 +1,11 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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
- `,(0,c.jsxs)(t.h1,{id:`состояние-и-anchors-контекстного-меню-через-ryuzaki13react-foundation-libcontext-menu`,children:[`Состояние и anchors контекстного меню через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/context-menu`})]}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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
+ `,(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 и не рисует меню.`}),`
5
5
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
6
6
  `,(0,c.jsxs)(t.ul,{children:[`
7
7
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B`,children:`Назначение и границы`})}),`
8
- `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
8
+ `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Импорт`})}),`
9
9
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85`,children:`Модель данных`})}),`
10
10
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%82%D0%BE%D1%87%D0%BA%D0%B8`,children:`Получение точки`})}),`
11
11
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#createvirtualanchor`,children:(0,c.jsx)(t.code,{children:`createVirtualAnchor`})})}),`
@@ -38,7 +38,7 @@ host React/Floating UI/menu component
38
38
  `,(0,c.jsx)(t.li,{children:`не клонирует DOM elements.`}),`
39
39
  `]}),`
40
40
  `,(0,c.jsxs)(t.p,{children:[`Готовый visual primitive находится в `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-ui/context-menu`}),`.`]}),`
41
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
41
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
42
42
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import {
43
43
  closeMenu,
44
44
  createVirtualAnchor,
@@ -49,14 +49,14 @@ host React/Floating UI/menu component
49
49
  toggleMenu
50
50
  } from "@ryuzaki13/react-foundation-lib/context-menu";
51
51
 
52
- import type {
53
- ElementMenuAnchor,
54
- MenuAnchor,
55
- MenuOpenSource,
56
- MenuPoint,
57
- MenuState,
58
- OpenMenuPayload,
59
- PointMenuAnchor
52
+ import {
53
+ type ElementMenuAnchor,
54
+ type MenuAnchor,
55
+ type MenuOpenSource,
56
+ type MenuPoint,
57
+ type MenuState,
58
+ type OpenMenuPayload,
59
+ type PointMenuAnchor
60
60
  } from "@ryuzaki13/react-foundation-lib/context-menu";
61
61
  `})}),`
62
62
  `,(0,c.jsxs)(t.p,{children:[`Functions pure, но types/anchors используют DOM `,(0,c.jsx)(t.code,{children:`Element`}),`/`,(0,c.jsx)(t.code,{children:`HTMLElement`}),`. Публичный subpath не импортирует Floating UI runtime.`]}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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/Value State`}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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/Value State`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`value-state`,children:`Value state`}),`
3
3
  `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`valueState`}),` преобразует обычное значение в семантическое состояние интерфейса:`]}),`
4
4
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`type State = "" | "none" | "information" | "success" | "warning" | "error";
@@ -1,18 +1,17 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.js";function o(e){let t={a:`a`,blockquote:`blockquote`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,h4:`h4`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,strong:`strong`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Data/Table and Tree Table`}),`
2
2
  `,(0,c.jsx)(t.h1,{id:`table-и-tree-table`,children:`Table и Tree Table`}),`
3
3
  `,(0,c.jsx)(t.p,{children:`Эта страница описывает два связанных публичных модуля:`}),`
4
4
  `,(0,c.jsxs)(t.ul,{children:[`
5
5
  `,(0,c.jsxs)(t.li,{children:[(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/table`}),` — типы и helpers для TanStack Table v9, колонок, layout, выбора строк и ячеек, а также OData metadata;`]}),`
6
6
  `,(0,c.jsxs)(t.li,{children:[(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/tree-table`}),` — построение древовидных строк и преобразование плоских аналитических данных в иерархию.`]}),`
7
7
  `]}),`
8
- `,(0,c.jsx)(t.p,{children:`Документ рассчитан на разработчика без доступа к исходному коду пакета и с минимальным знанием JavaScript, TypeScript, React и TanStack Table. В нём объясняются не только названия функций, но и смысл каждого состояния, правила идентификаторов, результат вызова, ограничения и типичные ошибки.`}),`
9
8
  `,(0,c.jsxs)(t.blockquote,{children:[`
10
9
  `,(0,c.jsxs)(t.p,{children:[`Документ один, потому что плоская и древовидная таблицы используют общие понятия строк, колонок, идентификаторов и selection. Публичных import path при этом два: API `,(0,c.jsx)(t.code,{children:`tree-table`}),` не реэкспортируется из `,(0,c.jsx)(t.code,{children:`table`}),`, а API `,(0,c.jsx)(t.code,{children:`table`}),` не реэкспортируется из `,(0,c.jsx)(t.code,{children:`tree-table`}),`.`]}),`
11
10
  `]}),`
12
11
  `,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
13
12
  `,(0,c.jsxs)(t.ul,{children:[`
14
13
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8-%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B`,children:`Назначение и границы`})}),`
15
- `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
14
+ `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Импорт`})}),`
16
15
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%87%D1%82%D0%BE-%D0%BD%D1%83%D0%B6%D0%BD%D0%BE-%D0%B7%D0%BD%D0%B0%D1%82%D1%8C-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4-%D0%BD%D0%B0%D1%87%D0%B0%D0%BB%D0%BE%D0%BC`,children:`Что нужно знать перед началом`})}),`
17
16
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BA%D0%B0%D0%BA-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D0%BD%D1%83%D0%B6%D0%BD%D1%83%D1%8E-%D1%87%D0%B0%D1%81%D1%82%D1%8C-api`,children:`Как выбрать нужную часть API`})}),`
18
17
  `,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B1%D1%8B%D1%81%D1%82%D1%80%D1%8B%D0%B9-%D1%81%D1%82%D0%B0%D1%80%D1%82-%D0%BF%D0%BB%D0%BE%D1%81%D0%BA%D0%B0%D1%8F-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0`,children:`Быстрый старт: плоская таблица`})}),`
@@ -108,10 +107,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K
108
107
  ▼
109
108
  table helpers очищают только локальный UI state
110
109
  `})}),`
111
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
112
- `,(0,c.jsx)(t.p,{children:`Установите пакет:`}),`
113
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib
114
- `})}),`
110
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
115
111
  `,(0,c.jsxs)(t.p,{children:[`Для `,(0,c.jsx)(t.code,{children:`table`}),` host должен разрешить совместимые peer dependencies React и TanStack Table:`]}),`
116
112
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install react @tanstack/react-table
117
113
  `})}),`
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.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-YrfSEgEg.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-DNj8uFSt.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:`Он решает четыре связанные задачи:`}),`
@@ -8,7 +8,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K
8
8
  `,(0,c.jsxs)(t.li,{children:[`преобразует значение в позицию `,(0,c.jsx)(t.code,{children:`0..100%`}),` и обратно;`]}),`
9
9
  `,(0,c.jsxs)(t.li,{children:[`работает с дискретными точками `,(0,c.jsx)(t.code,{children:`marks`}),`.`]}),`
10
10
  `]}),`
11
- `,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
11
+ `,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
12
12
  `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import {
13
13
  offsetNumberScaleValue,
14
14
  percentToSnappedNumberScaleValue,