@ryuzaki13/react-foundation-ui 1.5.11 → 1.5.13

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 (220) hide show
  1. package/dist/chunks/CheckBox.module-C5SjPwSj.js.map +1 -1
  2. package/dist/chunks/ui.module-DHVTOqZ0.js.map +1 -1
  3. package/dist/styles.css +1 -1
  4. package/package.json +2 -1
  5. package/src/styles/config/_index.scss +2 -2
  6. package/storybook-static/assets/{Badge-BRzsgtsW.js → Badge-Cz9gcxIU.js} +1 -1
  7. package/storybook-static/assets/{Badge.stories-BEUzIGxR.js → Badge.stories-PV88uXCB.js} +1 -1
  8. package/storybook-static/assets/{BadgeList-Dvi9mgiq.js → BadgeList-BMO51PtO.js} +1 -1
  9. package/storybook-static/assets/{Button-D9NRl_J-.js → Button-BfLxUIid.js} +1 -1
  10. package/storybook-static/assets/{Button-B0yitxpz.js → Button-DQxw6N8K.js} +1 -1
  11. package/storybook-static/assets/{Button.stories-RTpFQ0lC.js → Button.stories-NlwBLVkf.js} +1 -1
  12. package/storybook-static/assets/{CalendarView-hixokiLY.js → CalendarView-C_i7clUL.js} +1 -1
  13. package/storybook-static/assets/{CheckBox-CkP3wY1y.js → CheckBox-3WpAVlwd.js} +1 -1
  14. package/storybook-static/assets/CheckBox-BnO90VKX.css +1 -0
  15. package/storybook-static/assets/{CheckBox-DgcHpYEB.js → CheckBox-Drc-88GM.js} +1 -1
  16. package/storybook-static/assets/{CheckBox.stories-B6gt-Pyy.js → CheckBox.stories-D4IsLr4P.js} +1 -1
  17. package/storybook-static/assets/{Color-6AOWCN3U-CS57U4UC.js → Color-6AOWCN3U-CPY8DhM_.js} +1 -1
  18. package/storybook-static/assets/{ContextMenu-DfArrHyO.js → ContextMenu-BjBW8_sr.js} +1 -1
  19. package/storybook-static/assets/{ContextMenu-CvaQBpuB.js → ContextMenu-D2--kuIS.js} +1 -1
  20. package/storybook-static/assets/{ContextMenu.stories-UUZnkfjK.js → ContextMenu.stories-yGhy89Pi.js} +1 -1
  21. package/storybook-static/assets/{DateInput-D0Z39L0u.js → DateInput-Dex3NjVs.js} +1 -1
  22. package/storybook-static/assets/{DateInput-BOJzcuf8.js → DateInput-G4c2mjqq.js} +1 -1
  23. package/storybook-static/assets/{DateInput.stories-B9oAtjEF.js → DateInput.stories-5ciPhgGf.js} +1 -1
  24. package/storybook-static/assets/{DateRangePresetSelect-I9kq2B9z.js → DateRangePresetSelect-C9M3c98a.js} +1 -1
  25. package/storybook-static/assets/{DateRangePresetSelect-Bhzy-5vR.js → DateRangePresetSelect-DJ4HV2xU.js} +1 -1
  26. package/storybook-static/assets/{DateRangePresetSelect.stories-CkkmtUCo.js → DateRangePresetSelect.stories-C8Ohsfia.js} +1 -1
  27. package/storybook-static/assets/{Detail-D038XLEh.js → Detail-CSPYsUEC.js} +1 -1
  28. package/storybook-static/assets/{Detail.stories-Dy8sCrYr.js → Detail.stories-LsOTK5pf.js} +1 -1
  29. package/storybook-static/assets/{Dialog-BpBfxyHP.js → Dialog-BjEcdbGi.js} +1 -1
  30. package/storybook-static/assets/{Dialog-DvcT-HcI.js → Dialog-C8i0iW4a.js} +1 -1
  31. package/storybook-static/assets/{Dialog.stories-CFwZCUTc.js → Dialog.stories-BnmqXDWO.js} +1 -1
  32. package/storybook-static/assets/{Disclosure-bS8JZMZH.js → Disclosure-Cvsl0gPE.js} +1 -1
  33. package/storybook-static/assets/{Disclosure.stories-DoRb7eFP.js → Disclosure.stories-CFfYWULd.js} +1 -1
  34. package/storybook-static/assets/{DisclosureGroup-C8bhahk2.js → DisclosureGroup-ZnY0phsi.js} +1 -1
  35. package/storybook-static/assets/{DocsRenderer-JROSPFPF-BENO-TjP.js → DocsRenderer-JROSPFPF-8jGqLFb9.js} +1 -1
  36. package/storybook-static/assets/{DropZone-BFesDtXX.js → DropZone-DFqqqipb.js} +1 -1
  37. package/storybook-static/assets/{DropZone-CT2ql-iq.js → DropZone-DvuKp6tN.js} +1 -1
  38. package/storybook-static/assets/{DropZone.stories-DjyWW5NR.js → DropZone.stories-B1xdFmz3.js} +1 -1
  39. package/storybook-static/assets/{DropdownMenu-DFIvsL7-.js → DropdownMenu-BrgLHYbc.js} +1 -1
  40. package/storybook-static/assets/{ExpandableActionPanel-HfuTxNHC.js → ExpandableActionPanel-CBOJ7TTT.js} +1 -1
  41. package/storybook-static/assets/{ExpandableActionPanel.stories-hrKtH1J5.js → ExpandableActionPanel.stories-ColZw5gd.js} +1 -1
  42. package/storybook-static/assets/{Flex-YpXsCy6o.js → Flex-BT_QGMVX.js} +1 -1
  43. package/storybook-static/assets/{Flex.stories-Ck5prBoq.js → Flex.stories-CEgggepS.js} +1 -1
  44. package/storybook-static/assets/{FloatingPopover-DOPDzLFT.js → FloatingPopover-ClEj7JDK.js} +1 -1
  45. package/storybook-static/assets/{FormattedTableCell-CpYotISk.js → FormattedTableCell-Cwt_acDE.js} +1 -1
  46. package/storybook-static/assets/{Grid-DUocH4TX.js → Grid-CfILre0m.js} +1 -1
  47. package/storybook-static/assets/{Grid.stories-jnw37ukT.js → Grid.stories-wQ7jvA5X.js} +1 -1
  48. package/storybook-static/assets/{ImageCropper.stories-CDLsJM59.js → ImageCropper.stories-BMJDf8-2.js} +1 -1
  49. package/storybook-static/assets/{ImageRenderer-CZ7DKuFY.js → ImageRenderer-COuwgno_.js} +1 -1
  50. package/storybook-static/assets/{ImageRenderer.stories-B8-aQ58B.js → ImageRenderer.stories-DsdXyXKD.js} +1 -1
  51. package/storybook-static/assets/{ImageView.stories-DLhqZ_GI.js → ImageView.stories-iNAQGgcZ.js} +1 -1
  52. package/storybook-static/assets/{ImageViewer.stories-o1yD_rZq.js → ImageViewer.stories-BYAuiSK7.js} +2 -2
  53. package/storybook-static/assets/{ImageViewerRuntime-CJlrAsfL.js → ImageViewerRuntime-DVlrAVlM.js} +1 -1
  54. package/storybook-static/assets/{Input-B8y70gW9.js → Input-BhXx34oj.js} +1 -1
  55. package/storybook-static/assets/{Input-8dAj3L5M.js → Input-DCQXBGK4.js} +1 -1
  56. package/storybook-static/assets/{Input.stories-KAOo2cMb.js → Input.stories-cYqQabmU.js} +1 -1
  57. package/storybook-static/assets/{InputDateTime-C8iXQn7P.js → InputDateTime-BqmrEg_Q.js} +1 -1
  58. package/storybook-static/assets/{InputDateTime.stories-BOUfVN41.js → InputDateTime.stories-C3xQIS7z.js} +1 -1
  59. package/storybook-static/assets/{InputFile-BlMNRcyL.js → InputFile-BCZ1O6Id.js} +1 -1
  60. package/storybook-static/assets/{InputFile-C-CwNpFJ.js → InputFile-Bth1Jhjf.js} +1 -1
  61. package/storybook-static/assets/{InputFile.stories-MD9cAu-W.js → InputFile.stories-Cn9z-0xo.js} +1 -1
  62. package/storybook-static/assets/{InputFiles-D72fv8HQ.js → InputFiles-CURwAma0.js} +1 -1
  63. package/storybook-static/assets/{InputFiles-BMjWaVN9.js → InputFiles-c9zsOv2D.js} +1 -1
  64. package/storybook-static/assets/{InputFiles.stories-BlD8cBmt.js → InputFiles.stories-m9aTBp1E.js} +1 -1
  65. package/storybook-static/assets/{InputFilesList-Dol1dIX5.js → InputFilesList-CokmKz6s.js} +1 -1
  66. package/storybook-static/assets/{InputImage-_sOF8mmB.js → InputImage-ONEbMmSy.js} +1 -1
  67. package/storybook-static/assets/{InputImage-uE0JlBq5.js → InputImage-hzPQOP_G.js} +1 -1
  68. package/storybook-static/assets/{InputImage.stories-R6HZFGuR.js → InputImage.stories-DtmL7qrl.js} +1 -1
  69. package/storybook-static/assets/{InteractiveComponents-BDmyyudJ.js → InteractiveComponents-D9I5JYap.js} +1 -1
  70. package/storybook-static/assets/{InteractiveComponents.stories-RsjV4QyY.js → InteractiveComponents.stories-Rkp13MQ5.js} +1 -1
  71. package/storybook-static/assets/{LayoutPicker-CywNkFMn.js → LayoutPicker-BodO442K.js} +1 -1
  72. package/storybook-static/assets/{LayoutPicker-CqpAicOL.js → LayoutPicker-Dy9IvK0b.js} +1 -1
  73. package/storybook-static/assets/{LayoutPicker.stories-BMiwqihl.js → LayoutPicker.stories-exb5TXXF.js} +1 -1
  74. package/storybook-static/assets/{Listbox-zQgffOs0.js → Listbox-CQ80dSOo.js} +1 -1
  75. package/storybook-static/assets/{Listbox-Bznk_lrX.js → Listbox-CZ1FQQ5X.js} +1 -1
  76. package/storybook-static/assets/{Listbox.stories-BeWjK-CY.js → Listbox.stories-Nfzs72Yd.js} +1 -1
  77. package/storybook-static/assets/{Modal-unWtDqq_.js → Modal--uBl58UW.js} +1 -1
  78. package/storybook-static/assets/{Modal.stories-DepzRvWp.js → Modal.stories-D77rBBBh.js} +1 -1
  79. package/storybook-static/assets/{ModalManagerProvider-B1XUXs-1.js → ModalManagerProvider-Dwn7kE4K.js} +1 -1
  80. package/storybook-static/assets/{MultiSelect-U5XEaFTv.js → MultiSelect-B725mcqy.js} +1 -1
  81. package/storybook-static/assets/{MultiSelect-DBzuR4v6.js → MultiSelect-BlTby36f.js} +1 -1
  82. package/storybook-static/assets/{MultiSelect.stories-9xtLUsmK.js → MultiSelect.stories-BEHlAAJJ.js} +1 -1
  83. package/storybook-static/assets/{NoData-Did5-Vbj.js → NoData-DLuw3XVk.js} +1 -1
  84. package/storybook-static/assets/{NotificationsHost-C16jWWbh.js → NotificationsHost-BB5Np8PK.js} +1 -1
  85. package/storybook-static/assets/{NotificationsHost.stories-Df9Sciyb.js → NotificationsHost.stories-DDadi6Mw.js} +1 -1
  86. package/storybook-static/assets/{ODataMultiSelect-_5_Hrv8p.js → ODataMultiSelect-XFTdhfCe.js} +1 -1
  87. package/storybook-static/assets/{ODataMultiSelect.stories-DWTlih_F.js → ODataMultiSelect.stories-V1UHe_oU.js} +1 -1
  88. package/storybook-static/assets/{ODataSelect-xX8_14hD.js → ODataSelect-C01W8jth.js} +1 -1
  89. package/storybook-static/assets/{ODataSelect.stories-B_VSMkR5.js → ODataSelect.stories-GBg5TBT_.js} +1 -1
  90. package/storybook-static/assets/{ODataTreeMultiSelect-CheCWkrj.js → ODataTreeMultiSelect-sGEW_iPs.js} +1 -1
  91. package/storybook-static/assets/{ODataTreeMultiSelect.stories-CAWAJxdC.js → ODataTreeMultiSelect.stories-CKN_SvQU.js} +1 -1
  92. package/storybook-static/assets/{ODataTreeSelect-ZQN9ZhPc.js → ODataTreeSelect-1hCNPZNo.js} +1 -1
  93. package/storybook-static/assets/{ODataTreeSelect.stories-CYC_eiFv.js → ODataTreeSelect.stories-GDmyjoWv.js} +1 -1
  94. package/storybook-static/assets/{OneStepScroller-KFcpHiAM.js → OneStepScroller-dsU38i0h.js} +1 -1
  95. package/storybook-static/assets/{PeriodSelect-BgQWqB2a.js → PeriodSelect-B5IQUCox.js} +1 -1
  96. package/storybook-static/assets/{PeriodSelect-DN9SFKXh.js → PeriodSelect-Dar6tgT-.js} +1 -1
  97. package/storybook-static/assets/{PeriodSelect.stories-DcUE2clK.js → PeriodSelect.stories-s4UcTVBB.js} +1 -1
  98. package/storybook-static/assets/{PickerSelectionToolbar-CvqU44D-.js → PickerSelectionToolbar-BrUGVuF4.js} +1 -1
  99. package/storybook-static/assets/{PickerTriggerActions-DZzNAe4M.js → PickerTriggerActions-CiB7RNtz.js} +1 -1
  100. package/storybook-static/assets/{Popover-iSasApKA.js → Popover-BUpM2SdA.js} +1 -1
  101. package/storybook-static/assets/{Popover-B1_qmzkr.js → Popover-CElnnd4d.js} +1 -1
  102. package/storybook-static/assets/{Popover.stories-CGLUaRgH.js → Popover.stories-CDPYRGg5.js} +1 -1
  103. package/storybook-static/assets/{PresetRangeDateInput-CxyBq2XS.js → PresetRangeDateInput-DKbX277t.js} +1 -1
  104. package/storybook-static/assets/{PresetRangeDateInput-D_ylm7hV.js → PresetRangeDateInput-DWsBB7Xe.js} +1 -1
  105. package/storybook-static/assets/{PresetRangeDateInput.stories-DgrBel6_.js → PresetRangeDateInput.stories-CLnxG1Su.js} +1 -1
  106. package/storybook-static/assets/{PresetSelect-CrdvEugF.js → PresetSelect-TONMNVox.js} +1 -1
  107. package/storybook-static/assets/{RadioButton-DwyUH5ms.js → RadioButton-C8cdy1c5.js} +1 -1
  108. package/storybook-static/assets/{RadioButton-DW4ph1Xp.js → RadioButton-CHp5HFET.js} +1 -1
  109. package/storybook-static/assets/{RadioButton.stories-6q7CeUZY.js → RadioButton.stories-D-wI-ysI.js} +1 -1
  110. package/storybook-static/assets/{RadioGroup-BumTRrwE.js → RadioGroup-Cyzz_ISM.js} +1 -1
  111. package/storybook-static/assets/{RadioGroup-DshEU96S.js → RadioGroup-RnbEh9jf.js} +1 -1
  112. package/storybook-static/assets/{RadioGroup.stories-Bwv8Bgn8.js → RadioGroup.stories-DAocx-vl.js} +1 -1
  113. package/storybook-static/assets/{Scrollable-ZI0zA9wz.js → Scrollable-BZwDWzCP.js} +1 -1
  114. package/storybook-static/assets/{Select-CP1Ijv9g.js → Select-BMWvHZb0.js} +1 -1
  115. package/storybook-static/assets/{Select-CjuyI3wO.js → Select-QJmM58Sy.js} +1 -1
  116. package/storybook-static/assets/{Select.stories-kCFhGvWP.js → Select.stories-Tt0ajJXV.js} +1 -1
  117. package/storybook-static/assets/{SelectOptionContent-C2DjqaM0.js → SelectOptionContent-DZcX0XcL.js} +1 -1
  118. package/storybook-static/assets/{SerializableSelect-CoVoXwJS.js → SerializableSelect-Cb2eKzWt.js} +1 -1
  119. package/storybook-static/assets/{SerializableSelect.stories-UTJc7HQF.js → SerializableSelect.stories-BMGIdje_.js} +1 -1
  120. package/storybook-static/assets/{SingleDateTimeInput-DobT9m-7.js → SingleDateTimeInput--8TJ-hnE.js} +1 -1
  121. package/storybook-static/assets/{SingleDateTimeInput-bIeFRT8c.js → SingleDateTimeInput-ByN30Wn3.js} +1 -1
  122. package/storybook-static/assets/{SingleDateTimeInput.stories-CwAP5lI3.js → SingleDateTimeInput.stories-CrsfwMCv.js} +1 -1
  123. package/storybook-static/assets/{Slider-DB7dm4uC.js → Slider-B7Zh8pKd.js} +1 -1
  124. package/storybook-static/assets/{Slider-CnhBAXNm.js → Slider-eV8LAbRY.js} +1 -1
  125. package/storybook-static/assets/{Slider.stories-D7ADzpCF.js → Slider.stories-2Fh_zSe4.js} +1 -1
  126. package/storybook-static/assets/{SliderInput-CvmZ86d-.js → SliderInput-2r2n9oBs.js} +1 -1
  127. package/storybook-static/assets/{SliderInput-DfMdXNjq.js → SliderInput-BjWQPhW1.js} +1 -1
  128. package/storybook-static/assets/{SliderInput.stories-CKe5q8PZ.js → SliderInput.stories-RrseFw59.js} +1 -1
  129. package/storybook-static/assets/{Sortable-D-PG0esR.js → Sortable-DHi8kx5A.js} +1 -1
  130. package/storybook-static/assets/{Sortable.stories-BUUu5LQR.js → Sortable.stories-DJoStzvM.js} +1 -1
  131. package/storybook-static/assets/{Splitter-Cbiph6ck.js → Splitter-Dxol4S_V.js} +1 -1
  132. package/storybook-static/assets/{Splitter.stories-z1_IuipN.js → Splitter.stories-BbVOMBqo.js} +1 -1
  133. package/storybook-static/assets/{StateSelect-BfhvHQrQ.js → StateSelect-3OnKvOr4.js} +1 -1
  134. package/storybook-static/assets/{StateSelect-C6b0aolc.js → StateSelect-pbm7Jf8f.js} +1 -1
  135. package/storybook-static/assets/{StateSelect.stories-yKKasuZq.js → StateSelect.stories-CgTE3-yP.js} +1 -1
  136. package/storybook-static/assets/{StringToggle.stories-mHQXke0Z.js → StringToggle.stories-BSJLw3CZ.js} +1 -1
  137. package/storybook-static/assets/{Switch--s8CABgk.js → Switch-BdBKEluZ.js} +1 -1
  138. package/storybook-static/assets/{Switch-DtYu0DX3.js → Switch-BxBEQCPT.js} +1 -1
  139. package/storybook-static/assets/{Switch.stories-DqVmpD3F.js → Switch.stories-D5DDiey7.js} +1 -1
  140. package/storybook-static/assets/{Table-CS-8NjMS.js → Table-tNWO7Xkx.js} +1 -1
  141. package/storybook-static/assets/{Table.stories-BDEFvavq.js → Table.stories-Co6W6DfX.js} +1 -1
  142. package/storybook-static/assets/{Tabs-DVAc2sEq.js → Tabs-MhG7k5kZ.js} +1 -1
  143. package/storybook-static/assets/{Tabs.stories-Bx3SVBYV.js → Tabs.stories-6-cDteqF.js} +1 -1
  144. package/storybook-static/assets/{TabsBox-DIc3bAG9.js → TabsBox-CbcUNOlb.js} +1 -1
  145. package/storybook-static/assets/{TagInput-DvJOyiDa.js → TagInput-BvhI42-e.js} +1 -1
  146. package/storybook-static/assets/{TagInput.stories-BfUUxxvB.js → TagInput.stories-Bh03CP2k.js} +1 -1
  147. package/storybook-static/assets/{Text-DDM_QNpo.js → Text-CvyKTMrH.js} +1 -1
  148. package/storybook-static/assets/{Textarea-B8jfChqH.js → Textarea-CZORYVJ_.js} +1 -1
  149. package/storybook-static/assets/{Textarea-CouwxZMS.js → Textarea-JurrghA5.js} +1 -1
  150. package/storybook-static/assets/{Textarea.stories-B5YnG6Hg.js → Textarea.stories-BUDqqVKy.js} +1 -1
  151. package/storybook-static/assets/{TimePanel-Ce44lmoA.js → TimePanel-DIKKUv5f.js} +1 -1
  152. package/storybook-static/assets/{TimePanel.stories-dMXzRVpT.js → TimePanel.stories-B1q_i8WF.js} +1 -1
  153. package/storybook-static/assets/{Toggle-C8qL0JdM.js → Toggle-BGRFjquY.js} +1 -1
  154. package/storybook-static/assets/{Toggle-BLb3M4N1.js → Toggle-C3KWroQa.js} +1 -1
  155. package/storybook-static/assets/{Toggle.stories-CR8xCkXd.js → Toggle.stories-CqaiA6sq.js} +1 -1
  156. package/storybook-static/assets/{TreeMultiSelect-5fHQVUTd.js → TreeMultiSelect-BJt6pYdc.js} +1 -1
  157. package/storybook-static/assets/{TreeMultiSelect-Bttryv5k.js → TreeMultiSelect-BT1UYS2s.js} +1 -1
  158. package/storybook-static/assets/{TreeMultiSelect.stories-B4zkiRfC.js → TreeMultiSelect.stories-B6fswq0n.js} +1 -1
  159. package/storybook-static/assets/{TreePickerBase-B_XyJaYL.js → TreePickerBase-Ezb14TOv.js} +1 -1
  160. package/storybook-static/assets/{TreeSelect-_mFMic9T.js → TreeSelect-6ad8aM5F.js} +1 -1
  161. package/storybook-static/assets/{TreeSelect-BmV5BgHm.js → TreeSelect-CdxWhNPr.js} +1 -1
  162. package/storybook-static/assets/{TreeSelect.stories-D-lz21y2.js → TreeSelect.stories-BMjSPnlt.js} +1 -1
  163. package/storybook-static/assets/{TreeTable-BjnuFqoj.js → TreeTable-B10lvNT_.js} +1 -1
  164. package/storybook-static/assets/{TreeTable.stories-OEii5uhT.js → TreeTable.stories-BOkFmk-a.js} +1 -1
  165. package/storybook-static/assets/{async-BggDKhCa.js → async-Wscr5OK0.js} +1 -1
  166. package/storybook-static/assets/{blocks-DXv0kKnO.js → blocks-BkGgmJsC.js} +3 -3
  167. package/storybook-static/assets/{browserAndReact-CJg4Htw7.js → browserAndReact-BKmF0BgP.js} +6 -41
  168. package/storybook-static/assets/{check-BDF3qN6C.js → check-uBaZUURY.js} +1 -1
  169. package/storybook-static/assets/{chevron-down-DycW5rEN.js → chevron-down-DbISRZCX.js} +1 -1
  170. package/storybook-static/assets/{chevron-left-C5fp0Uga.js → chevron-left-Cb-kl5mh.js} +1 -1
  171. package/storybook-static/assets/{chevron-right-BtcaEPgU.js → chevron-right-D99XGTe7.js} +1 -1
  172. package/storybook-static/assets/{chunk-W22LQPXL-DpbhHTe5.js → chunk-W22LQPXL-D3-dGAP5.js} +1 -1
  173. package/storybook-static/assets/{circle-alert-BHmYiVSQ.js → circle-alert-CxdnePpP.js} +1 -1
  174. package/storybook-static/assets/{circle-check-D-kWZdLj.js → circle-check-DxbzyOrj.js} +1 -1
  175. package/storybook-static/assets/{components-CiK0i2y5.js → components-NKMCS9u_.js} +3 -3
  176. package/storybook-static/assets/{contextMenu-BuB7GWKM.js → contextMenu-CrE8d-C8.js} +1 -1
  177. package/storybook-static/assets/{defaultRenderers-DKIVh61V.js → defaultRenderers-DLjGcYhl.js} +1 -1
  178. package/storybook-static/assets/{download-CHMcYpj3.js → download-B34Dyboo.js} +1 -1
  179. package/storybook-static/assets/{filesAndExcel-DlArA_GW.js → filesAndExcel-D0WmBd17.js} +6 -36
  180. package/storybook-static/assets/{floating-ui.react-2n8Uyf0J.js → floating-ui.react-CHmsuwKl.js} +1 -1
  181. package/storybook-static/assets/formatters-B5IRTBCO.js +202 -0
  182. package/storybook-static/assets/{formatters-runtime-ibdtp7C6.js → formatters-runtime-DIIzhbds.js} +11 -66
  183. package/storybook-static/assets/foundationLib-CVhEJ6js.js +25 -0
  184. package/storybook-static/assets/{hooks-D0mbXwcm.js → hooks-BDibLnHt.js} +1 -1
  185. package/storybook-static/assets/{iframe-BnjRbLCp.js → iframe-CD1cMwos.js} +3 -3
  186. package/storybook-static/assets/iframe-CTou9CRA.js +1 -0
  187. package/storybook-static/assets/iframe-I5gZKSOP.css +1 -0
  188. package/storybook-static/assets/{info-B9srbxQP.js → info-YWjqfWxe.js} +1 -1
  189. package/storybook-static/assets/{odata-D9w_2DW1.js → odata-D3YkIfXJ.js} +1 -1
  190. package/storybook-static/assets/odataAndTables-C2flJmi6.js +77 -0
  191. package/storybook-static/assets/{odataFetchFn-BrsJ-DlE.js → odataFetchFn-DHf6YwiM.js} +1 -1
  192. package/storybook-static/assets/{odataStoryFixtures-CbO3dfw1.js → odataStoryFixtures-C7XqnT73.js} +1 -1
  193. package/storybook-static/assets/{persisted-DXbdpvSU.js → persisted-CKfZAtRr.js} +1 -1
  194. package/storybook-static/assets/pureUtilities-Bwoj6fXN.js +30 -0
  195. package/storybook-static/assets/{react-DmKWdnt1.js → react-BONe4qKn.js} +1 -1
  196. package/storybook-static/assets/{refresh-cw-C2Rk5OjE.js → refresh-cw-DpHq4LQP.js} +1 -1
  197. package/storybook-static/assets/{runtimeAndState-Be2a2JfZ.js → runtimeAndState-DsHleu6Y.js} +4 -28
  198. package/storybook-static/assets/{settings-2-CuAc9ekV.js → settings-2-Dz6u0Wf2.js} +1 -1
  199. package/storybook-static/assets/{sortable-DF8VgD8R.js → sortable-VOkfa1Z-.js} +1 -1
  200. package/storybook-static/assets/{syntaxhighlighter-T5IQBZDB-BnGJW0L9.js → syntaxhighlighter-T5IQBZDB-C4OOYkZu.js} +1 -1
  201. package/storybook-static/assets/{trash-2-DRXwetzV.js → trash-2-DTPcXUiI.js} +1 -1
  202. package/storybook-static/assets/{triangle-alert-D5785xcd.js → triangle-alert-DUI5nsd3.js} +1 -1
  203. package/storybook-static/assets/{ui-vmPSPL8p.css → ui-BMhMvV6y.css} +1 -1
  204. package/storybook-static/assets/{uiClasses-CyX7wB6b.js → uiClasses-DiXn3Hc-.js} +1 -1
  205. package/storybook-static/assets/{useODataSelectBase-DfOi4e0X.js → useODataSelectBase-BpntR4Iz.js} +1 -1
  206. package/storybook-static/assets/{useODataTreeData-BBSy4G6V.js → useODataTreeData-C2vzjXPp.js} +1 -1
  207. package/storybook-static/assets/{usePickerQuery-BYa25rmI.js → usePickerQuery-BDYoi7Rg.js} +1 -1
  208. package/storybook-static/assets/{usePickerTriggerController-CwgtrL5F.js → usePickerTriggerController-DAUdKKpa.js} +1 -1
  209. package/storybook-static/assets/{x-DvnP0o1b.js → x-B8aXMeuU.js} +1 -1
  210. package/storybook-static/iframe.html +3 -3
  211. package/storybook-static/project.json +1 -1
  212. package/storybook-static/assets/CheckBox-Dw4nDCv8.css +0 -1
  213. package/storybook-static/assets/formatters-BwCs7xCt.js +0 -306
  214. package/storybook-static/assets/foundationLib-DAvQ9wk8.js +0 -82
  215. package/storybook-static/assets/iframe-B1M7f4Qn.js +0 -1
  216. package/storybook-static/assets/iframe-J8XUsZxh.css +0 -1
  217. package/storybook-static/assets/odataAndTables-B7U8x4CV.js +0 -126
  218. package/storybook-static/assets/pureUtilities-BtrtdX0r.js +0 -69
  219. /package/storybook-static/assets/{CheckBox.module-CM_GPl_E.js → CheckBox.module-BNQm6HXI.js} +0 -0
  220. /package/storybook-static/assets/{ui.module-Bh9yvZgk.js → ui.module-CiLQZm_L.js} +0 -0
@@ -1,126 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t}from"./iframe-BnjRbLCp.js";import{i as n,r}from"./react-qN2cStNd.js";import{l as i,m as a}from"./blocks-DXv0kKnO.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,p:`p`,pre:`pre`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/OData, таблицы и формулы`}),`
2
- `,(0,c.jsx)(t.h1,{id:`odata-metadata-таблицы-и-формулы`,children:`OData metadata, таблицы и формулы`}),`
3
- `,(0,c.jsxs)(t.p,{children:[`Здесь находятся чистые OData V2 helpers и runtime contracts для TanStack Table. Они не выполняют запросы. Для SAP Gateway transport, SSO, X-CSRF, metadata fetch и TanStack Query operation используйте `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-api/odata`}),`.`]}),`
4
- `,(0,c.jsxs)(t.h2,{id:`odata-service-metadata-и-odata-v2-values`,children:[(0,c.jsx)(t.code,{children:`odata-service`}),`: metadata и OData V2 values`]}),`
5
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import {
6
- buildEntityPath,
7
- buildODataFilter,
8
- buildODataOrderBy,
9
- odataFormatValue,
10
- parseServiceMetadata,
11
- wrapODataParams
12
- } from "@ryuzaki13/react-foundation-lib/odata-service";
13
- `})}),`
14
- `,(0,c.jsx)(t.h3,{id:`основной-поток`,children:`Основной поток`}),`
15
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-text`,children:`metadata XML → parseServiceMetadata → typed metadata/config
16
- → wrapODataParams + builder/filter/sort → foundation-api transport
17
- → metadata-aware parse/format → entity/feature mapping
18
- `})}),`
19
- `,(0,c.jsx)(t.p,{children:`Не передавайте в helpers невалидный external JSON как будто он уже соответствует domain model. Metadata parser описывает OData contract, а domain validation/mapping остаётся у host entity/feature.`}),`
20
- `,(0,c.jsx)(t.h3,{id:`metadata-paths-и-параметры`,children:`Metadata, paths и параметры`}),`
21
- `,(0,c.jsxs)(t.p,{children:[`| API | Результат |
22
- | ---------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
23
- | `,(0,c.jsx)(t.code,{children:`parseServiceMetadata(xmlText)`}),` | Парсит OData V2 XML в `,(0,c.jsx)(t.code,{children:`ServiceMetadata`}),`: entities, properties, FunctionImports, keys, parameters и типы. Некорректный XML/metadata — ошибка boundary. |
24
- | `,(0,c.jsx)(t.code,{children:`resolveMetadataColumnLabel(column)`}),` | Label с fallback на column id. |
25
- | `,(0,c.jsx)(t.code,{children:`collectFilterableColumns`}),`, `,(0,c.jsx)(t.code,{children:`collectFilterableColumnsIds`}),` | Отбирают filterable metadata fields. |
26
- | `,(0,c.jsx)(t.code,{children:`wrapODataParams(params)`}),`, `,(0,c.jsx)(t.code,{children:`unwrapODataParams(params)`}),` | Разделяют значения параметров и их OData type; используйте перед builder, а не сериализуйте вручную. |
27
- | `,(0,c.jsx)(t.code,{children:`buildParameterEntries`}),`, `,(0,c.jsx)(t.code,{children:`buildEntityParameters`}),` | Строят key/predicate часть entity из metadata и wrapped params. |
28
- | `,(0,c.jsx)(t.code,{children:`buildEntityPath`}),`, `,(0,c.jsx)(t.code,{children:`buildEntityOperationPath`}),` | Возвращают metadata-aware путь entity/operation. |
29
- | `,(0,c.jsx)(t.code,{children:`buildFunctionImportParameters`}),`, `,(0,c.jsx)(t.code,{children:`buildFunctionImportPath`}),` | Строят FunctionImport URL/query через `,(0,c.jsx)(t.code,{children:`URLSearchParams`}),`. |`]}),`
30
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`const metadata = parseServiceMetadata(metadataXml);
31
- const params = wrapODataParams({ id: "42" });
32
- const path = buildEntityPath(entityMetadata, { service: "DEMO_SRV", target: "Items" }, params);
33
- `})}),`
34
- `,(0,c.jsxs)(t.p,{children:[`Типы `,(0,c.jsx)(t.code,{children:`ServiceMetadata`}),`, `,(0,c.jsx)(t.code,{children:`EntityMetadata`}),`, `,(0,c.jsx)(t.code,{children:`FunctionImportMetadata`}),`, `,(0,c.jsx)(t.code,{children:`EntityColumnProperty`}),`, `,(0,c.jsx)(t.code,{children:`ODataMetaType`}),`, `,(0,c.jsx)(t.code,{children:`WrappedODataParameters`}),` и `,(0,c.jsx)(t.code,{children:`ODataServiceConfig`}),` экспортируются из того же subpath. Параметры entity и FunctionImport — разные OData contracts; не смешивайте их.`]}),`
35
- `,(0,c.jsx)(t.h3,{id:`значения-и-formatter-registry`,children:`Значения и formatter registry`}),`
36
- `,(0,c.jsxs)(t.p,{children:[`| API | Назначение |
37
- | -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
38
- | `,(0,c.jsx)(t.code,{children:`odataFormatValue(type, value)`}),` | Сериализует primitive в OData literal с escaping/suffix/date semantics. |
39
- | `,(0,c.jsx)(t.code,{children:`odataParseValue(type, value)`}),` | Возвращает primitive/date или исходное `,(0,c.jsx)(t.code,{children:`unknown`}),`, если значение не может быть безопасно преобразовано. |
40
- | `,(0,c.jsx)(t.code,{children:`odataParseValueByMetadata(descriptor, value)`}),` | Парсит с учётом metadata descriptor, включая ABAP boolean-like поле. |
41
- | `,(0,c.jsx)(t.code,{children:`defaultODataTypeValue`}),`, `,(0,c.jsx)(t.code,{children:`defaultControlTypeValue`}),` | Default value для OData/base control type. |
42
- | `,(0,c.jsx)(t.code,{children:`getBaseTypeFromODataType`}),`, `,(0,c.jsx)(t.code,{children:`isODataBooleanType`}),`, `,(0,c.jsx)(t.code,{children:`isODataNumericType`}),`, `,(0,c.jsx)(t.code,{children:`isODataIntegerType`}),`, `,(0,c.jsx)(t.code,{children:`isODataDateType`}),` | Type classification. |
43
- | `,(0,c.jsx)(t.code,{children:`getFormattersFor`}),`, `,(0,c.jsx)(t.code,{children:`getFormattersForBaseType`}),`, `,(0,c.jsx)(t.code,{children:`getFormatter`}),`, `,(0,c.jsx)(t.code,{children:`getFormatterForBaseType`}),` | Читают встроенный formatter descriptions по type/id. |
44
- | `,(0,c.jsx)(t.code,{children:`createFormatter`}),`, `,(0,c.jsx)(t.code,{children:`createBooleanFormatter`}),`, `,(0,c.jsx)(t.code,{children:`createStringFormatter`}),`, `,(0,c.jsx)(t.code,{children:`createNumberFormatter`}),`, `,(0,c.jsx)(t.code,{children:`createDateFormatter`}),` | Создают typed formatter definitions с Zod input schema. |`]}),`
45
- `,(0,c.jsx)(t.h3,{id:`фильтры-sorts-и-sql-like-expressions`,children:`Фильтры, sorts и SQL-like expressions`}),`
46
- `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`FilterExpression<T>`}),` — serializable дерево с `,(0,c.jsx)(t.code,{children:`FilterConditionExpression`}),` и `,(0,c.jsx)(t.code,{children:`FilterNestedExpression`}),`. Постройте его через `,(0,c.jsx)(t.code,{children:`createFilter`}),`, `,(0,c.jsx)(t.code,{children:`createFilterEqual`}),`, `,(0,c.jsx)(t.code,{children:`createFilterEqualFalsy`}),`, `,(0,c.jsx)(t.code,{children:`createFilterContains`}),`, `,(0,c.jsx)(t.code,{children:`createFilterBetween`}),`, объедините через `,(0,c.jsx)(t.code,{children:`mergeFilterExpressions`}),`, затем вызовите `,(0,c.jsx)(t.code,{children:`buildODataFilter`}),` или `,(0,c.jsx)(t.code,{children:`buildODataFilterRecursive`}),`.`]}),`
47
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`const expression = createFilterEqual<{ status: string }, string>("status", "active");
48
- const filter = buildODataFilter(expression);
49
- `})}),`
50
- `,(0,c.jsxs)(t.p,{children:[`| API | Контракт |
51
- | ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
52
- | `,(0,c.jsx)(t.code,{children:`FilterOperation`}),`, `,(0,c.jsx)(t.code,{children:`FILTER_OPERATIONS`}),`, `,(0,c.jsx)(t.code,{children:`isFilterOperation`}),`, `,(0,c.jsx)(t.code,{children:`resolveOperationLabel`}),` | Стабильный список и validation operator-ов. |
53
- | `,(0,c.jsx)(t.code,{children:`Sort<T>`}),`, `,(0,c.jsx)(t.code,{children:`toggleSort`}),`, `,(0,c.jsx)(t.code,{children:`getSortIndex`}),`, `,(0,c.jsx)(t.code,{children:`getSortIndicator`}),` | Immutable sort state для UI. |
54
- | `,(0,c.jsx)(t.code,{children:`buildODataOrder`}),`, `,(0,c.jsx)(t.code,{children:`resolveEffectiveSorts`}),`, `,(0,c.jsx)(t.code,{children:`buildODataOrderBy`}),` | Сериализуют sort/grouping для OData. |
55
- | `,(0,c.jsx)(t.code,{children:`createSqlFilterEqual`}),`, `,(0,c.jsx)(t.code,{children:`createSqlFilterIn`}),`, `,(0,c.jsx)(t.code,{children:`createSqlFilterGroup`}),`, `,(0,c.jsx)(t.code,{children:`buildSqlFilter`}),` | Отдельный SQL-filter contract: field id предварительно валидируется. Не подставляйте произвольный пользовательский field id. |`]}),`
56
- `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`ODataCompiledFilterDefinition`}),`, `,(0,c.jsx)(t.code,{children:`sanitizeFilterDefinitions`}),`, `,(0,c.jsx)(t.code,{children:`sanitizeFilterValues`}),`, `,(0,c.jsx)(t.code,{children:`mergeFilterValuePatch`}),`, `,(0,c.jsx)(t.code,{children:`compileFiltersToExpression`}),`, `,(0,c.jsx)(t.code,{children:`flattenFilterValuesToODataDependencies`}),` предназначены для serializable UI filter configuration. Санитизация создаёт canonical configuration; не записывайте её поверх активного пользовательского draft без явно названной save/restore boundary.`]}),`
57
- `,(0,c.jsxs)(t.h2,{id:`odata-codetext-collections`,children:[(0,c.jsx)(t.code,{children:`odata`}),`: code/text collections`]}),`
58
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { buildSeparatedArrays, findCollectionPairs, ODataDateFormat } from "@ryuzaki13/react-foundation-lib/odata";
59
- `})}),`
60
- `,(0,c.jsxs)(t.p,{children:[`| API | Назначение |
61
- | ------------------------------------------------------ | ------------------------------------------------------------------------- |
62
- | `,(0,c.jsx)(t.code,{children:`buildSeparatedArrays(collection, ...)`}),` | Разделяет OData collection на code/text arrays для select-like consumers. |
63
- | `,(0,c.jsx)(t.code,{children:`findCollectionPairs(...)`}),` | Находит code/text pair по collection/dependency filters. |
64
- | `,(0,c.jsx)(t.code,{children:`ODataDateFormat`}),` | Константы date formats для legacy OData values. |
65
- | `,(0,c.jsx)(t.code,{children:`CollectionItem`}),`, `,(0,c.jsx)(t.code,{children:`CollectionPair`}),`, `,(0,c.jsx)(t.code,{children:`DependencyFilter`}),` | Публичные contracts коллекций. |`]}),`
66
- `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`useODataCollectionStore`}),` и `,(0,c.jsx)(t.code,{children:`odataCollectionConfig`}),` описаны на странице Runtime/state: это UI defaults, а не OData transport/cache.`]}),`
67
- `,(0,c.jsxs)(t.h2,{id:`table-tanstack-table-contracts`,children:[(0,c.jsx)(t.code,{children:`table`}),`: TanStack Table contracts`]}),`
68
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { buildTableColumnLayout, createTableColumnsFromODataMetadata, useTableRowSelection } from "@ryuzaki13/react-foundation-lib/table";
69
- `})}),`
70
- `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`TableColumnDef<TData>`}),` расширяет TanStack `,(0,c.jsx)(t.code,{children:`ColumnDef`}),`, а `,(0,c.jsx)(t.code,{children:`TableColumnMeta`}),`/`,(0,c.jsx)(t.code,{children:`TableColumnFormattingMeta`}),` описывают common metadata. Не мутируйте исходные `,(0,c.jsx)(t.code,{children:`ColumnDef`}),`: layout/order/sizing helpers возвращают новое состояние.`]}),`
71
- `,(0,c.jsxs)(t.p,{children:[`| Группа | Public API |
72
- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
73
- | Layout | `,(0,c.jsx)(t.code,{children:`resolveTableColumnOrder`}),`, `,(0,c.jsx)(t.code,{children:`buildTableColumnLayout`}),`, `,(0,c.jsx)(t.code,{children:`TableColumnLayoutItem`}),`, `,(0,c.jsx)(t.code,{children:`BuildTableColumnLayoutArgs`}),`. |
74
- | Order | `,(0,c.jsx)(t.code,{children:`normalizeTableColumnOrder`}),`, `,(0,c.jsx)(t.code,{children:`reorderTableHeaderColumns`}),`, `,(0,c.jsx)(t.code,{children:`resolveReorderedTableHeaderColumns`}),`, `,(0,c.jsx)(t.code,{children:`TableColumnOrderState`}),`. |
75
- | Sizing | `,(0,c.jsx)(t.code,{children:`DEFAULT_TABLE_COLUMN_MIN_WIDTH`}),`, `,(0,c.jsx)(t.code,{children:`normalizeTableColumnWidth`}),`, `,(0,c.jsx)(t.code,{children:`normalizeTableColumnSizing`}),`, `,(0,c.jsx)(t.code,{children:`patchTableColumnWidth`}),`, `,(0,c.jsx)(t.code,{children:`removeTableColumnWidth`}),`, `,(0,c.jsx)(t.code,{children:`TableColumnSizingState`}),`. |
76
- | Selection | `,(0,c.jsx)(t.code,{children:`TableSelectionMode`}),`, `,(0,c.jsx)(t.code,{children:`toggleTableRowSelection`}),`, `,(0,c.jsx)(t.code,{children:`pruneTableRowSelection`}),`, `,(0,c.jsx)(t.code,{children:`useTableRowSelection`}),`. |
77
- | Metadata | `,(0,c.jsx)(t.code,{children:`getTableColumnMeta`}),`, `,(0,c.jsx)(t.code,{children:`getTableColumnFormattingMeta`}),`, `,(0,c.jsx)(t.code,{children:`resolveTableLength`}),`, `,(0,c.jsx)(t.code,{children:`isTableInteractiveElement`}),`. |`]}),`
78
- `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`useTableRowSelection`}),` синхронизирует selection state с TanStack Table. Передавайте устойчивый `,(0,c.jsx)(t.code,{children:`getRowId`}),` на business identity, не array index: изменяемая сортировка/фильтрация иначе свяжет selection с неверной строкой.`]}),`
79
- `,(0,c.jsx)(t.h3,{id:`metadata-driven-odata-adapter`,children:`Metadata-driven OData adapter`}),`
80
- `,(0,c.jsxs)(t.p,{children:[`| API | Назначение |
81
- | ------------------------------------------------------------ | ----------------------------------------------------------------------------------------- |
82
- | `,(0,c.jsx)(t.code,{children:`createTableColumnsFromODataMetadata(options)`}),` | Строит `,(0,c.jsx)(t.code,{children:`TableColumnDef`}),` из OData metadata. |
83
- | `,(0,c.jsx)(t.code,{children:`enrichTableColumnsWithODataFormatting(columns, options)`}),` | Добавляет typed formatting metadata к существующим columns без изменения OData transport. |
84
- | `,(0,c.jsx)(t.code,{children:`createTableColumnVisibilityFromODataMetadata(...)`}),` | Формирует initial column visibility. |
85
- | `,(0,c.jsx)(t.code,{children:`resolveTableColumnFormattingContextFromODataColumn(column)`}),` | Создаёт formatter context для одного metadata column. |
86
- | `,(0,c.jsx)(t.code,{children:`resolveStableColumnId(column)`}),` | Определяет устойчивый id table column. |`]}),`
87
- `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`meta.formatting`}),` — экспериментальный presentation contract, не OData request. Если pipeline требует дополнительные runtime fields, owner Query должен расширить select/dependencies через documented formatter pipeline API до fetch.`]}),`
88
- `,(0,c.jsxs)(t.h2,{id:`tree-table-построение-дерева`,children:[(0,c.jsx)(t.code,{children:`tree-table`}),`: построение дерева`]}),`
89
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { buildTreeTableRows, transposeFlatRowsToTreeTableRows } from "@ryuzaki13/react-foundation-lib/tree-table";
90
- `})}),`
91
- `,(0,c.jsxs)(t.p,{children:[`| API | Контракт |
92
- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
93
- | `,(0,c.jsx)(t.code,{children:`buildTreeTableRows(rows, hierarchy)`}),` | Строит `,(0,c.jsx)(t.code,{children:`TreeTableBuildResult`}),`: tree rows и diagnostics от flat hierarchy. |
94
- | `,(0,c.jsx)(t.code,{children:`transposeFlatRowsToTreeTableRows(rows, options)`}),` | Создаёт display tree/синтетические nodes из flat rows. |
95
- | `,(0,c.jsx)(t.code,{children:`TreeTableFlatHierarchy`}),`, `,(0,c.jsx)(t.code,{children:`TreeTableRowNode`}),`, `,(0,c.jsx)(t.code,{children:`TreeTableTransposedRow`}),`, `,(0,c.jsx)(t.code,{children:`TreeTableTransposeFlatRowsOptions`}),` | Публичные contracts и metadata fields. |`]}),`
96
- `,(0,c.jsx)(t.p,{children:`Функции не меняют исходные rows. Используйте explicit stable row/parent ids; не рассчитывайте на визуальный label как идентичность.`}),`
97
- `,(0,c.jsxs)(t.h2,{id:`formulas-registry-calculated-columns`,children:[(0,c.jsx)(t.code,{children:`formulas`}),`: registry calculated columns`]}),`
98
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import {
99
- compileTableFormula,
100
- configureTableFormulaRegistry,
101
- createTableFormulaRegistry,
102
- executeTableFormula,
103
- validateTableFormulaDependencies
104
- } from "@ryuzaki13/react-foundation-lib/formulas";
105
- `})}),`
106
- `,(0,c.jsx)(t.h3,{id:`инициализация`,children:`Инициализация`}),`
107
- `,(0,c.jsxs)(t.p,{children:[`Host владеет `,(0,c.jsx)(t.code,{children:`TableFormulaDefinition[]`}),` и один раз, до первого compile/validate/execute, создаёт и устанавливает registry:`]}),`
108
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`const registry = createTableFormulaRegistry([
109
- {
110
- id: "margin",
111
- name: "Маржа",
112
- description: "Выручка минус себестоимость",
113
- fn: (ctx) => ctx.num(0) - ctx.num(1)
114
- }
115
- ]);
116
- configureTableFormulaRegistry(registry);
117
- `})}),`
118
- `,(0,c.jsxs)(t.p,{children:[`| API | Результат |
119
- | ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
120
- | `,(0,c.jsx)(t.code,{children:`createTableFormulaContext({ keys, rowData })`}),` | Контекст `,(0,c.jsx)(t.code,{children:`key/value/num(index)`}),` для formula function. |
121
- | `,(0,c.jsx)(t.code,{children:`createTableFormulaRegistry(definitions)`}),` | Проверяет non-empty unique ids и создаёт immutable registry. |
122
- | `,(0,c.jsx)(t.code,{children:`getTableFormulaList`}),`, `,(0,c.jsx)(t.code,{children:`getTableFormulaById`}),` | Читают активный registry. |
123
- | `,(0,c.jsx)(t.code,{children:`compileTableFormula({ formulaId, keys? })`}),` | Компилирует executor или controlled compile result. |
124
- | `,(0,c.jsx)(t.code,{children:`executeTableFormula({ formulaId, keys?, rowData })`}),` | Одноразово выполняет formula и возвращает `,(0,c.jsx)(t.code,{children:`TableFormulaExecutionResult`}),`, не выбрасывая formula runtime error наружу. |
125
- | `,(0,c.jsx)(t.code,{children:`validateTableFormulaDependencies(args)`}),` | Проверяет formula id, dependency availability, out-of-range/unused indices. |`]}),`
126
- `,(0,c.jsxs)(t.p,{children:[`Formula function возвращает finite number. Ошибочные состояния (`,(0,c.jsx)(t.code,{children:`formula_not_found`}),`, `,(0,c.jsx)(t.code,{children:`runtime_error`}),`, `,(0,c.jsx)(t.code,{children:`invalid_result`}),`) являются данными результата, а не поводом silently подставить ноль. Обработайте их у formatter/table owner и показывайте безопасный fallback.`]})]})}function s(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,c.jsx)(t,{...e,children:(0,c.jsx)(o,{...e})}):o(e)}var c;function l(){return(l=e((()=>{c=t(),r(),a()})))()}l();export{s as default};
@@ -1,69 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t}from"./iframe-BnjRbLCp.js";import{i as n,r}from"./react-qN2cStNd.js";import{l as i,m as a}from"./blocks-DXv0kKnO.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,p:`p`,pre:`pre`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Чистые utilities и contracts`}),`
2
- `,(0,c.jsx)(t.h1,{id:`чистые-utilities-и-contracts`,children:`Чистые utilities и contracts`}),`
3
- `,(0,c.jsx)(t.p,{children:`Эти API не создают global state и обычно не требуют React. Они полезны в entity/feature code, если задача остаётся предметно-независимой. Не переносите в них доменные правила только ради повторного использования.`}),`
4
- `,(0,c.jsx)(t.h2,{id:`коллекции-порядок-и-ограниченная-история`,children:`Коллекции, порядок и ограниченная история`}),`
5
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { arrayGroupBy, arrayUniqueBy, moveArrayItem } from "@ryuzaki13/react-foundation-lib/array";
6
- import { pushBoundedCopyStackItem } from "@ryuzaki13/react-foundation-lib/bounded-copy-stack";
7
- `})}),`
8
- `,(0,c.jsxs)(t.p,{children:[`| API | Поведение |
9
- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
10
- | `,(0,c.jsx)(t.code,{children:`arrayGroupBy`}),`, `,(0,c.jsx)(t.code,{children:`arrayGroupByToArray`}),`, `,(0,c.jsx)(t.code,{children:`arrayToMap`}),` | Группируют/индексируют по полю объекта. `,(0,c.jsx)(t.code,{children:`arrayToMap`}),` оставляет первое значение ключа. |
11
- | `,(0,c.jsx)(t.code,{children:`arrayUniqueBy`}),`, `,(0,c.jsx)(t.code,{children:`arrayDeduplicate`}),` | Immutable deduplication с сохранением первого встретившегося значения/порядка. |
12
- | `,(0,c.jsx)(t.code,{children:`filterAndDeduplicateIds`}),`, `,(0,c.jsx)(t.code,{children:`appendMissingIds`}),`, `,(0,c.jsx)(t.code,{children:`pickExistingMapValues`}),` | Helpers для stable id lists и ordered Map values. |
13
- | `,(0,c.jsx)(t.code,{children:`arraysEqual`}),` | Строго сравнивает длину, порядок и значения по `,(0,c.jsx)(t.code,{children:`===`}),`. |
14
- | `,(0,c.jsx)(t.code,{children:`moveItem`}),`, `,(0,c.jsx)(t.code,{children:`moveArrayItem`}),`, `,(0,c.jsx)(t.code,{children:`moveArrayItemByIndex`}),` | Возвращают новую переставленную коллекцию; invalid indices не мутируют input. |
15
- | `,(0,c.jsx)(t.code,{children:`normalizeObjects`}),`, `,(0,c.jsx)(t.code,{children:`normalizeStringArray`}),`, `,(0,c.jsx)(t.code,{children:`addUnique`}),` | Explicit canonicalization для внешней/сохранённой структуры — не вызывайте её внутри literal draft setter. |`]}),`
16
- `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`pushBoundedCopyStackItem(stack, input, options?)`}),` добавляет/поднимает item по `,(0,c.jsx)(t.code,{children:`fingerprint`}),` и ограничивает размер (default `,(0,c.jsx)(t.code,{children:`DEFAULT_BOUNDED_COPY_STACK_SIZE = 3`}),`). `,(0,c.jsx)(t.code,{children:`getBoundedCopyStackCandidates`}),` фильтрует готовый stack predicate-ом. `,(0,c.jsx)(t.code,{children:`BoundedCopyStackItem`}),`, `,(0,c.jsx)(t.code,{children:`BoundedCopyStackPushInput`}),`, `,(0,c.jsx)(t.code,{children:`BoundedCopyStackOptions`}),` и `,(0,c.jsx)(t.code,{children:`BoundedCopyStackPushResult`}),` описывают его serializable contract.`]}),`
17
- `,(0,c.jsx)(t.h2,{id:`значения-шкалы-и-календарные-сегменты`,children:`Значения, шкалы и календарные сегменты`}),`
18
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { parseDateSegmentMask, indexedSegmentsToDate } from "@ryuzaki13/react-foundation-lib/date-segments";
19
- import { snapNumberScaleValue } from "@ryuzaki13/react-foundation-lib/number-scale";
20
- import { resolveRangeOutputValue } from "@ryuzaki13/react-foundation-lib/range-output";
21
- `})}),`
22
- `,(0,c.jsxs)(t.p,{children:[`| Entry point | Основной API |
23
- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
24
- | `,(0,c.jsx)(t.code,{children:`date-segments`}),` | `,(0,c.jsx)(t.code,{children:`parseDateSegmentMask`}),`, `,(0,c.jsx)(t.code,{children:`isEditableDateSegment`}),`, `,(0,c.jsx)(t.code,{children:`dateToIndexedSegmentValues`}),`, `,(0,c.jsx)(t.code,{children:`areAllDateSegmentsEmpty`}),`, `,(0,c.jsx)(t.code,{children:`indexedSegmentsToDate`}),`. `,(0,c.jsx)(t.code,{children:`indexedSegmentsToDate`}),` строго отвергает невозможную дату/время; `,(0,c.jsx)(t.code,{children:`DateMaskSegment`}),` описывает editable/literal segments. |
25
- | `,(0,c.jsx)(t.code,{children:`number-scale`}),` | `,(0,c.jsx)(t.code,{children:`resolveNumberScaleBounds`}),`, `,(0,c.jsx)(t.code,{children:`clampNumberScaleValue`}),`, `,(0,c.jsx)(t.code,{children:`normalizeNumberScaleStep`}),`, `,(0,c.jsx)(t.code,{children:`prepareNumberScaleMarks`}),`, `,(0,c.jsx)(t.code,{children:`snapNumberScaleValueToStep`}),`, `,(0,c.jsx)(t.code,{children:`snapNumberScaleValueToMarks`}),`, `,(0,c.jsx)(t.code,{children:`snapNumberScaleValue`}),`, `,(0,c.jsx)(t.code,{children:`valueToNumberScalePercent`}),`, `,(0,c.jsx)(t.code,{children:`percentToNumberScaleValue`}),`, `,(0,c.jsx)(t.code,{children:`percentToSnappedNumberScaleValue`}),`, `,(0,c.jsx)(t.code,{children:`offsetNumberScaleValue`}),`. |
26
- | `,(0,c.jsx)(t.code,{children:`currency`}),` | `,(0,c.jsx)(t.code,{children:`resolveCurrencyModeFromODataParameters`}),` и `,(0,c.jsx)(t.code,{children:`resolveCurrencyAwareLabel`}),`; это label policy по wrapped OData parameters, не currency formatter. |
27
- | `,(0,c.jsx)(t.code,{children:`range-output`}),` | `,(0,c.jsx)(t.code,{children:`readRangeOutputValueFallback`}),` и `,(0,c.jsx)(t.code,{children:`resolveRangeOutputValue`}),`; подставляет fallback только для `,(0,c.jsx)(t.code,{children:`null`}),` открытой границы и не меняет исходный UI range. |
28
- | `,(0,c.jsx)(t.code,{children:`presets`}),` | `,(0,c.jsx)(t.code,{children:`normalizePresetIds`}),`, `,(0,c.jsx)(t.code,{children:`resolvePresetOptionsByIds`}),`, `,(0,c.jsx)(t.code,{children:`getPresetOption`}),`, `,(0,c.jsx)(t.code,{children:`PresetOption`}),`; помогает на save/restore boundary для известного набора IDs. |
29
- | `,(0,c.jsx)(t.code,{children:`string-comparison`}),` | `,(0,c.jsx)(t.code,{children:`compareStrings(left, right)`}),` использует fixed Russian numeric/case-insensitive collation с deterministic fallback. |`]}),`
30
- `,(0,c.jsxs)(t.p,{children:[`Для date/number UI formatting используйте `,(0,c.jsx)(t.code,{children:`formatters`}),`, а не `,(0,c.jsx)(t.code,{children:`number-scale`}),`/`,(0,c.jsx)(t.code,{children:`currency`}),`.`]}),`
31
- `,(0,c.jsx)(t.h2,{id:`clone-строки-keyboard-и-trees`,children:`Clone, строки, keyboard и trees`}),`
32
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { cn, deepCloneWithoutFunctions, deepCopyWithoutFunctions, stableStringify } from "@ryuzaki13/react-foundation-lib/utils";
33
- `})}),`
34
- `,(0,c.jsxs)(t.p,{children:[`| API | Контракт |
35
- | ---------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
36
- | `,(0,c.jsx)(t.code,{children:`cn(...args)`}),` | Собирает className из строк и conditional object. `,(0,c.jsx)(t.code,{children:`classNames`}),` — deprecated alias; новый код использует `,(0,c.jsx)(t.code,{children:`cn`}),`. |
37
- | `,(0,c.jsx)(t.code,{children:`stableStringify(value)`}),` | JSON-like stable serialization с сортировкой object keys — для key/comparison, не как универсальный persistence format. |
38
- | `,(0,c.jsx)(t.code,{children:`deepCopyWithoutFunctions(value, options?)`}),` | Копирует Date, arrays и plain objects, поддерживает cycles; функции пропускает. Unsupported object бросает `,(0,c.jsx)(t.code,{children:`TypeError`}),`. Предназначен для serializable plain config. |
39
- | `,(0,c.jsx)(t.code,{children:`deepCloneWithoutFunctions(value, options?)`}),` | Расширенный clone: Date, RegExp, Map, Set, cycles, sparse arrays и optional prototype. Функции пропускает. |
40
- | `,(0,c.jsx)(t.code,{children:`createLazyComponent`}),`, `,(0,c.jsx)(t.code,{children:`childrenCount`}),` | React-adjacent helpers для stable lazy component и correct children count. |
41
- | `,(0,c.jsx)(t.code,{children:`keyboardActivationKeys`}),`, `,(0,c.jsx)(t.code,{children:`isKeyboardActivationKey`}),`, `,(0,c.jsx)(t.code,{children:`handleKeyboardActivation`}),` | Keyboard activation contract для custom control. |
42
- | `,(0,c.jsx)(t.code,{children:`getRovingFocusTargetIndex`}),`, `,(0,c.jsx)(t.code,{children:`findFirstEnabledIndex`}),`, `,(0,c.jsx)(t.code,{children:`findLastEnabledIndex`}),`, `,(0,c.jsx)(t.code,{children:`findNextEnabledIndex`}),` | Pure navigation для listbox/select с disabled/wrap. |
43
- | `,(0,c.jsx)(t.code,{children:`deepCopyNodes`}),`, `,(0,c.jsx)(t.code,{children:`deepCopyTree`}),` | Копирование tree nodes с standard/custom children field. |
44
- | `,(0,c.jsx)(t.code,{children:`toBase64`}),`, `,(0,c.jsx)(t.code,{children:`encodeBase64`}),`, `,(0,c.jsx)(t.code,{children:`logError`}),` | Unicode-safe base64 и centralised error logging. |`]}),`
45
- `,(0,c.jsxs)(t.p,{children:[`Clone не является нормализацией: он создаёт независимую структуру в пределах собственного contract и не должен применять trim, defaults, deduplication или reorder к пользовательскому draft. Для plain serializable config используйте `,(0,c.jsx)(t.code,{children:`deepCopyWithoutFunctions`}),`, а не `,(0,c.jsx)(t.code,{children:`structuredClone`}),`.`]}),`
46
- `,(0,c.jsx)(t.h2,{id:`runtime-guards-и-базовые-типы`,children:`Runtime guards и базовые типы`}),`
47
- `,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { asRecord, isRecord, isSafe, readPositiveInteger } from "@ryuzaki13/react-foundation-lib/validators";
48
- import type { BaseType, RangeType, RowRecord, State } from "@ryuzaki13/react-foundation-lib/types";
49
- `})}),`
50
- `,(0,c.jsxs)(t.p,{children:[`| API | Когда использовать |
51
- | --------------------------------------------------- | -------------------------------------------------------------------------- |
52
- | `,(0,c.jsx)(t.code,{children:`isSafe`}),` | Убирает только `,(0,c.jsx)(t.code,{children:`null`}),`/`,(0,c.jsx)(t.code,{children:`undefined`}),` из union. |
53
- | `,(0,c.jsx)(t.code,{children:`isObject`}),`, `,(0,c.jsx)(t.code,{children:`isRecord`}),`, `,(0,c.jsx)(t.code,{children:`asRecord`}),`, `,(0,c.jsx)(t.code,{children:`isPlainObject`}),` | Narrow unknown external value до object/record; array не считается record. |
54
- | `,(0,c.jsx)(t.code,{children:`readPositiveInteger`}),` | Возвращает positive integer или `,(0,c.jsx)(t.code,{children:`undefined`}),` без unsafe cast. |
55
- | `,(0,c.jsx)(t.code,{children:`validateUrl`}),` | Возвращает validation result для строки URL. |
56
- | `,(0,c.jsx)(t.code,{children:`IMAGE_EXTENSIONS`}),`, `,(0,c.jsx)(t.code,{children:`isImageExtension`}),` | Проверка расширения без учёта регистра; не MIME/security validation. |
57
- | `,(0,c.jsx)(t.code,{children:`isDomReference`}),` | Floating UI reference → DOM `,(0,c.jsx)(t.code,{children:`Element`}),` guard. |`]}),`
58
- `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`State`}),`, `,(0,c.jsx)(t.code,{children:`AbapBoolean`}),`, `,(0,c.jsx)(t.code,{children:`Primitive`}),`, `,(0,c.jsx)(t.code,{children:`BaseType`}),`, `,(0,c.jsx)(t.code,{children:`ArrayType`}),`, `,(0,c.jsx)(t.code,{children:`ObjectType`}),`, `,(0,c.jsx)(t.code,{children:`InputType`}),`, `,(0,c.jsx)(t.code,{children:`RangeType`}),`, `,(0,c.jsx)(t.code,{children:`RowRecord`}),`, `,(0,c.jsx)(t.code,{children:`isBaseType`}),` — общие low-level contracts. Не используйте `,(0,c.jsx)(t.code,{children:`RowRecord`}),` как модель конкретной доменной сущности.`]}),`
59
- `,(0,c.jsx)(t.h2,{id:`идентификаторы-http-xml-seo-и-form-errors`,children:`Идентификаторы, HTTP, XML, SEO и form errors`}),`
60
- `,(0,c.jsxs)(t.p,{children:[`| Entry point | API |
61
- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
62
- | `,(0,c.jsx)(t.code,{children:`crypto`}),` | `,(0,c.jsx)(t.code,{children:`hashString`}),`, `,(0,c.jsx)(t.code,{children:`hashString128`}),`, `,(0,c.jsx)(t.code,{children:`hashString128Base64Url`}),`, `,(0,c.jsx)(t.code,{children:`stringToElementId`}),`, `,(0,c.jsx)(t.code,{children:`uuidv4`}),`. Hash служит для stable client key, не криптографической защиты. |
63
- | `,(0,c.jsx)(t.code,{children:`session-storage`}),` | `,(0,c.jsx)(t.code,{children:`getSessionStorageId(key, createId?)`}),` — scoped browser-tab id; не authentication token. |
64
- | `,(0,c.jsx)(t.code,{children:`http`}),` | `,(0,c.jsx)(t.code,{children:`createNoStoreHeaders(init?)`}),` создаёт Headers с no-store; `,(0,c.jsx)(t.code,{children:`createTextHttpResponse(options)`}),` создаёт text `,(0,c.jsx)(t.code,{children:`Response`}),`. |
65
- | `,(0,c.jsx)(t.code,{children:`xml`}),` | `,(0,c.jsx)(t.code,{children:`escapeXmlValue`}),`, `,(0,c.jsx)(t.code,{children:`buildXmlFields`}),`, `,(0,c.jsx)(t.code,{children:`getXmlTagText`}),` для небольших XML fragments. Не применяйте regex helper как универсальный XML parser для untrusted complex XML. |
66
- | `,(0,c.jsx)(t.code,{children:`seo`}),` | `,(0,c.jsx)(t.code,{children:`createSeoHead(options)`}),`, `,(0,c.jsx)(t.code,{children:`createRouteHead(type, path, params)`}),` создают `,(0,c.jsx)(t.code,{children:`meta`}),`, `,(0,c.jsx)(t.code,{children:`links`}),`, JSON-LD `,(0,c.jsx)(t.code,{children:`scripts`}),`; host router/head owner решает, как применить результат. |
67
- | `,(0,c.jsx)(t.code,{children:`form`}),` | `,(0,c.jsx)(t.code,{children:`readFirstFormError(errors?)`}),` выбирает первое readable error message из unknown error array. |
68
- | `,(0,c.jsx)(t.code,{children:`error`}),` | `,(0,c.jsx)(t.code,{children:`createMissingContextErrorMessage`}),`, `,(0,c.jsx)(t.code,{children:`createMissingContextError`}),` формируют единообразную ошибку отсутствующего React Provider. |`]}),`
69
- `,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`fingerprint`}),` и `,(0,c.jsx)(t.code,{children:`notifications`}),` описаны на странице Runtime/state, потому что имеют browser/global lifecycle.`]})]})}function s(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,c.jsx)(t,{...e,children:(0,c.jsx)(o,{...e})}):o(e)}var c;function l(){return(l=e((()=>{c=t(),r(),a()})))()}l();export{s as default};