@ryuzaki13/react-foundation-ui 1.8.18 → 1.8.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/picker/model/usePickerFloatingListbox.d.ts +1 -1
- package/package.json +3 -3
- package/storybook-static/assets/{Badge-BIHyYCo7.js → Badge-CtgCgcrE.js} +6 -6
- package/storybook-static/assets/{Badge.stories-DLTrI-x_.js → Badge.stories-Bde8GdpE.js} +1 -1
- package/storybook-static/assets/{BadgeList-CDdRxEFa.js → BadgeList-B354PiFh.js} +1 -1
- package/storybook-static/assets/{Button-Clgno5I9.js → Button-BC1vJeBh.js} +6 -6
- package/storybook-static/assets/{Button-XTBI9blK.js → Button-DdWXdL9L.js} +1 -1
- package/storybook-static/assets/{Button.stories-B-0_zqxk.js → Button.stories-CvsBKXsv.js} +1 -1
- package/storybook-static/assets/{CalendarView-5yfJ6Sx-.js → CalendarView-CJkJU4EC.js} +1 -1
- package/storybook-static/assets/{CheckBox-DZh7cCZZ.js → CheckBox-BaKD1lsb.js} +2 -2
- package/storybook-static/assets/{CheckBox-BNpn-ZBB.js → CheckBox-DlCG7Opb.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories--dSzC2Mf.js → CheckBox.stories-noW5T-OA.js} +1 -1
- package/storybook-static/assets/Color-6AOWCN3U-DVSJ6tQm.js +1 -0
- package/storybook-static/assets/{ContextMenu-CTrTO0H7.js → ContextMenu-D79bky7p.js} +1 -1
- package/storybook-static/assets/{ContextMenu-24LNOr91.js → ContextMenu-DL12BLWo.js} +2 -2
- package/storybook-static/assets/{ContextMenu.stories-Cbq6B29u.js → ContextMenu.stories-BwyqG2jc.js} +1 -1
- package/storybook-static/assets/{CustomOptionButton-BHA-6inc.js → CustomOptionButton-oTNty8hW.js} +1 -1
- package/storybook-static/assets/{DateInput-Ceqy8_hm.js → DateInput-X20d2Q59.js} +1 -1
- package/storybook-static/assets/{DateInput-Bmwgwx_r.js → DateInput-YyZk0Ov_.js} +2 -2
- package/storybook-static/assets/{DateInput.stories-C0oDEW0V.js → DateInput.stories-DQoF9ZwI.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-EUO5ju87.js → DateRangePresetSelect-BauBnnPB.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-DrbWZdO7.js → DateRangePresetSelect-C-AvOpuX.js} +2 -2
- package/storybook-static/assets/DateRangePresetSelect.stories-XvgjFAh7.js +19 -0
- package/storybook-static/assets/{Detail-BdMA8W8a.js → Detail-BpXehD7_.js} +2 -2
- package/storybook-static/assets/{Detail.stories-kYjF0OE8.js → Detail.stories-BQWhtlp0.js} +1 -1
- package/storybook-static/assets/{Dialog-DGlxegJa.js → Dialog-D3hJTgwE.js} +2 -2
- package/storybook-static/assets/{Dialog-B__C03-Z.js → Dialog-DODbPv79.js} +1 -1
- package/storybook-static/assets/Dialog.stories-DcgpUIUP.js +22 -0
- package/storybook-static/assets/{Disclosure-BXUWkiag.js → Disclosure-5UdBgIbZ.js} +2 -2
- package/storybook-static/assets/Disclosure.stories-IYljEE4h.js +23 -0
- package/storybook-static/assets/{DisclosureGroup-C57FHp13.js → DisclosureGroup-Bbseg3US.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-CiLWX8JT.js → DocsRenderer-JROSPFPF-CADpK3Xb.js} +1 -1
- package/storybook-static/assets/{DropZone-BPOCc8un.js → DropZone-BKncWUns.js} +2 -2
- package/storybook-static/assets/{DropZone-DCGBDcam.js → DropZone-CI5qAgz5.js} +1 -1
- package/storybook-static/assets/DropZone.stories-CmLlcGx0.js +26 -0
- package/storybook-static/assets/{DropdownMenu-DDHBuZt5.js → DropdownMenu-K7NYW8LX.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel-mmlDn8ts.js → ExpandableActionPanel-DSHE6wTG.js} +1 -1
- package/storybook-static/assets/ExpandableActionPanel.stories-BN_qe4FR.js +9 -0
- package/storybook-static/assets/{Flex-DHMDn1uW.js → Flex-BP4dH1EM.js} +2 -2
- package/storybook-static/assets/{Flex.stories-BgYOys3T.js → Flex.stories-CG6MjVWv.js} +1 -1
- package/storybook-static/assets/{FloatingPopover-BL_nJJrL.js → FloatingPopover-CbuI645U.js} +1 -1
- package/storybook-static/assets/{FormattedTableCell-Od6SSoxO.js → FormattedTableCell-SiBfPwwP.js} +1 -1
- package/storybook-static/assets/{Grid-CS-mSNKX.js → Grid-CcYtG8qC.js} +2 -2
- package/storybook-static/assets/{Grid.stories-DWCKacQB.js → Grid.stories-D8AkQcoe.js} +1 -1
- package/storybook-static/assets/ImageCropper.stories-DgYml-BE.js +131 -0
- package/storybook-static/assets/{ImageRenderer-jDryL3Z9.js → ImageRenderer-DdnnseXq.js} +1 -1
- package/storybook-static/assets/ImageRenderer.stories-BN4QxhBf.js +34 -0
- package/storybook-static/assets/ImageView.stories-2LMwV4qh.js +14 -0
- package/storybook-static/assets/{ImageViewer.stories-CKUiWvv7.js → ImageViewer.stories-D6BcidoN.js} +3 -3
- package/storybook-static/assets/{ImageViewerRuntime-DUjkq3km.js → ImageViewerRuntime-DVUlXl_G.js} +1 -1
- package/storybook-static/assets/{Input-Q95tdikw.js → Input-Bb5uuJsd.js} +1 -1
- package/storybook-static/assets/{Input-C5eMHeOp.js → Input-CWQgYEr9.js} +2 -2
- package/storybook-static/assets/Input.stories-B0SSM1T_.js +52 -0
- package/storybook-static/assets/{InputDateTime-D8iFVC4N.js → InputDateTime-EefPx2jA.js} +2 -2
- package/storybook-static/assets/InputDateTime.stories-B71jcVWG.js +30 -0
- package/storybook-static/assets/{InputFile-CEMWMZ8W.js → InputFile-BqoeOsqC.js} +1 -1
- package/storybook-static/assets/{InputFile-CVgdFBc9.js → InputFile-CktSGEBF.js} +2 -2
- package/storybook-static/assets/InputFile.stories-Ce3mDoRs.js +27 -0
- package/storybook-static/assets/{InputFiles-AtxulUya.js → InputFiles-B5O1fLjO.js} +1 -1
- package/storybook-static/assets/{InputFiles-BWh55c4D.js → InputFiles-RrvJwhF3.js} +2 -2
- package/storybook-static/assets/InputFiles.stories-BwWItttY.js +26 -0
- package/storybook-static/assets/{InputFilesList-Dx0Dhms2.js → InputFilesList-DStssgki.js} +1 -1
- package/storybook-static/assets/{InputImage-wBNZRvrJ.js → InputImage-CPGNaW07.js} +2 -2
- package/storybook-static/assets/{InputImage-DKCC82SZ.js → InputImage-CvuIiNq_.js} +1 -1
- package/storybook-static/assets/InputImage.stories-CCG2g2Io.js +56 -0
- package/storybook-static/assets/{InteractiveComponents-CHTFQ4qL.js → InteractiveComponents-BgsmaSTZ.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents.stories-DJxkbHUR.js → InteractiveComponents.stories-BwtQ8dqK.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-Dv5O_Hy0.js → LayoutPicker-DRtnMCPh.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-D887Y2XB.js → LayoutPicker-DsGelRcW.js} +3 -3
- package/storybook-static/assets/{LayoutPicker.stories-DbN3i5QL.js → LayoutPicker.stories-BWnRDODR.js} +1 -1
- package/storybook-static/assets/{Listbox-Cnzu7mYT.js → Listbox-DOUFsbK8.js} +2 -2
- package/storybook-static/assets/{Listbox-C4dx1h82.js → Listbox-IR21PF4n.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-BO1Df9Mq.js → Listbox.stories-qC0AcRTK.js} +1 -1
- package/storybook-static/assets/{Modal-CMacWyay.js → Modal-D8Il31Wx.js} +3 -3
- package/storybook-static/assets/{Modal.stories-DMrYaonL.js → Modal.stories-Vb_wvC7j.js} +1 -1
- package/storybook-static/assets/{ModalManagerProvider-NbdotfpM.js → ModalManagerProvider-DW29PIGA.js} +1 -1
- package/storybook-static/assets/{MultiSelect-DEPuEcGb.js → MultiSelect-BTXEzEbr.js} +2 -2
- package/storybook-static/assets/{MultiSelect-N4vTBX-X.js → MultiSelect-Bi7awY_l.js} +1 -1
- package/storybook-static/assets/MultiSelect.stories-BHm7nyE0.js +55 -0
- package/storybook-static/assets/{NoData-BdrsNRw1.js → NoData-D2fqJN8_.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-BmcIZZNC.js → NotificationsHost-CB4Caorz.js} +3 -3
- package/storybook-static/assets/NotificationsHost.stories-ClREN7GD.js +29 -0
- package/storybook-static/assets/{ODataMultiSelect-DVVDe1Yr.js → ODataMultiSelect-DVqtuVtf.js} +2 -2
- package/storybook-static/assets/{ODataMultiSelect.stories-DQDXXq_9.js → ODataMultiSelect.stories-BXspOSkv.js} +2 -2
- package/storybook-static/assets/{ODataSelect-B88g3t3l.js → ODataSelect-ODT2BTTx.js} +2 -2
- package/storybook-static/assets/{ODataSelect.stories-BPWp8xtb.js → ODataSelect.stories-Czh9ONwP.js} +2 -2
- package/storybook-static/assets/{ODataTreeMultiSelect-DN0hWqto.js → ODataTreeMultiSelect-D2CfiHud.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-BDDEO9n2.js → ODataTreeMultiSelect.stories-C5CcMnCO.js} +2 -2
- package/storybook-static/assets/{ODataTreeSelect-BpuPkpt_.js → ODataTreeSelect-CtXGcTu6.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-Rgosfapi.js → ODataTreeSelect.stories-D9C0TW7E.js} +2 -2
- package/storybook-static/assets/{OneStepScroller-B8wmmQwf.js → OneStepScroller-DvNxIB4z.js} +1 -1
- package/storybook-static/assets/{Option-Bdu68XEe.js → Option-EvZAvPlO.js} +1 -1
- package/storybook-static/assets/{OptionButton-D0afktaf.js → OptionButton-ClHPJWSS.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-D_NZ5ghQ.js → PeriodSelect-Cj4KFbL8.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-C7DVNvsY.js → PeriodSelect-CopVqvke.js} +1 -1
- package/storybook-static/assets/PeriodSelect.stories-CdPRC5lO.js +50 -0
- package/storybook-static/assets/{PickerTriggerActions-ZNVb9eeZ.js → PickerTriggerActions-CChnIvDY.js} +1 -1
- package/storybook-static/assets/{Popover-CCGDNoKF.js → Popover-D84worS4.js} +2 -2
- package/storybook-static/assets/{Popover-CewYrQZr.js → Popover-GCefn4ZK.js} +1 -1
- package/storybook-static/assets/{Popover.stories-COIDcy4l.js → Popover.stories-Km8RZinG.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-DroAaDSa.js → PresetRangeDateInput-CKkA7evU.js} +2 -2
- package/storybook-static/assets/{PresetRangeDateInput-DclYoHcQ.js → PresetRangeDateInput-D8Nd8OKM.js} +1 -1
- package/storybook-static/assets/PresetRangeDateInput.stories-mEsDYDGg.js +3 -0
- package/storybook-static/assets/{PresetSelect-DCGdwz-H.js → PresetSelect-Bm-UK37m.js} +1 -1
- package/storybook-static/assets/{README-TpwnHOuM.js → README-9g3GgWWF.js} +4 -8
- package/storybook-static/assets/{README-CVydkudU.js → README-AVujzV-Q.js} +4 -8
- package/storybook-static/assets/{README-Bemrp1iw.js → README-B2M46KR7.js} +12 -12
- package/storybook-static/assets/{README-B5TiIjbQ.js → README-B2OZG04f.js} +1 -1
- package/storybook-static/assets/{README-Brb_uBB0.js → README-BAsxlcAX.js} +2 -2
- package/storybook-static/assets/{README-DWrWXc67.js → README-BPyrojLC.js} +3 -3
- package/storybook-static/assets/{README-Dq6K08x4.js → README-BQw3k-Ra.js} +4 -4
- package/storybook-static/assets/{README-BBDVhq-F.js → README-BYe60A3Z.js} +3 -3
- package/storybook-static/assets/{README-eKZfcYEw.js → README-BZOXtBHM.js} +1 -1
- package/storybook-static/assets/{README-C0tHxk9e.js → README-Bn52nDUU.js} +1 -1
- package/storybook-static/assets/{README-C6mK2jiz.js → README-Btc8dTTa.js} +1 -1
- package/storybook-static/assets/{README-CDO4U2L-.js → README-Bu8NSN83.js} +1 -1
- package/storybook-static/assets/{README-B8PHFNI6.js → README-ByU9WtnE.js} +1 -1
- package/storybook-static/assets/{README-B0LFAdG7.js → README-C-HfyZj6.js} +4 -8
- package/storybook-static/assets/{README-Cv6X1gyB.js → README-C19FjXEc.js} +6 -9
- package/storybook-static/assets/{README-BLXxOqWU.js → README-C3ootpC3.js} +5 -5
- package/storybook-static/assets/{README-CRdPVRby.js → README-C65NMR4N.js} +1 -1
- package/storybook-static/assets/{README-DXgQjmDb.js → README-C7uZcWP5.js} +1 -5
- package/storybook-static/assets/{README-CMRfMvBh.js → README-C9g6HTtO.js} +4 -4
- package/storybook-static/assets/{README-C9V17f1i.js → README-CGtXxNWL.js} +14 -14
- package/storybook-static/assets/{README-DQ3UG1-2.js → README-CJIysyPl.js} +1 -1
- package/storybook-static/assets/{README-Bq8Gw9ut.js → README-CU0nO91c.js} +3 -3
- package/storybook-static/assets/{README-HKNlRLs4.js → README-CV043M5l.js} +3 -3
- package/storybook-static/assets/{README-MUkRRO8C.js → README-CeVilD38.js} +1 -1
- package/storybook-static/assets/{README-DXAnOakM.js → README-Ch_Q8rfx.js} +3 -6
- package/storybook-static/assets/{README-BZh0P4dJ.js → README-CpJrFpd-.js} +1 -4
- package/storybook-static/assets/{README-CbQE6RqS.js → README-CzVaDwCa.js} +1 -1
- package/storybook-static/assets/{README-BnvGfIB_.js → README-D3ahQzwF.js} +1 -1
- package/storybook-static/assets/{README-DK77wEHj.js → README-DBedFn2k.js} +1 -1
- package/storybook-static/assets/{README-UY3fsLu_.js → README-DBgowiDe.js} +3 -5
- package/storybook-static/assets/{README-Gw_kdXei.js → README-DEZR-nsP.js} +4 -8
- package/storybook-static/assets/{README-CGv6MRmX.js → README-DIz7GaJX.js} +4 -4
- package/storybook-static/assets/{README-jnMsm42G.js → README-DOwtu6P8.js} +1 -1
- package/storybook-static/assets/{README-BQng9oML.js → README-DRlbzNwm.js} +4 -8
- package/storybook-static/assets/{README-BaupBcvr.js → README-DS9gKK_l.js} +1 -1
- package/storybook-static/assets/{README-B6bmU7Tq.js → README-DTM6S2tD.js} +3 -3
- package/storybook-static/assets/{README-CG7cgejD.js → README-DazyZywt.js} +4 -8
- package/storybook-static/assets/{README-BoojQHna.js → README-DgVBKXxO.js} +1 -1
- package/storybook-static/assets/{README-j6FF9vf5.js → README-Dga9VBXp.js} +9 -12
- package/storybook-static/assets/{README-CIS29z6p.js → README-DsG_VYny.js} +1 -1
- package/storybook-static/assets/{README-BqBKX_xQ.js → README-DsTcywLt.js} +4 -7
- package/storybook-static/assets/{README-BTM8wY-Q.js → README-Du_uNuzw.js} +3 -7
- package/storybook-static/assets/{README-B4FGWSHR.js → README-Dwu0rBCx.js} +4 -4
- package/storybook-static/assets/{README-BDEEI-me.js → README-EfW0h3H2.js} +5 -8
- package/storybook-static/assets/{README-SM_eIjlq.js → README-GPrnGZGg.js} +4 -4
- package/storybook-static/assets/{README-BqpsuZii.js → README-I-J1PF75.js} +3 -3
- package/storybook-static/assets/{README-j4oj7GSR.js → README-cHwz_DGu.js} +1 -1
- package/storybook-static/assets/{README-B2pks9-S.js → README-efyzb9zY.js} +1 -1
- package/storybook-static/assets/{README-DK-nosD8.js → README-foisdU5e.js} +1 -1
- package/storybook-static/assets/{README-QnKC46FO.js → README-na4Tvba4.js} +5 -9
- package/storybook-static/assets/{README-DFDO19TR.js → README-oFnWsuXd.js} +4 -4
- package/storybook-static/assets/{README-Db-VD9A-.js → README-pdJ6FjLG.js} +1 -1
- package/storybook-static/assets/{RadioButton-CN-1Bmu-.js → RadioButton-CFIAc4xz.js} +1 -1
- package/storybook-static/assets/{RadioButton-CioheQT6.js → RadioButton-Dk52KGyn.js} +2 -2
- package/storybook-static/assets/RadioButton.stories-B10De9DU.js +32 -0
- package/storybook-static/assets/{RadioGroup-CTZXoIcq.js → RadioGroup-B7X4Pr-l.js} +1 -1
- package/storybook-static/assets/{RadioGroup-CJzzJ3Fs.js → RadioGroup-DHpLxYGV.js} +2 -2
- package/storybook-static/assets/{RadioGroup.stories-C7N9yLcN.js → RadioGroup.stories-BAE8jGr_.js} +1 -1
- package/storybook-static/assets/{Scrollable-BOTJbzkH.js → Scrollable-vhQ02gPl.js} +1 -1
- package/storybook-static/assets/{Select-CNAFGsHq.js → Select-5pGJ-9Pp.js} +1 -1
- package/storybook-static/assets/{Select-D2yqrKAE.js → Select-wSFMQijV.js} +2 -2
- package/storybook-static/assets/Select.stories-D6_viZUX.js +69 -0
- package/storybook-static/assets/{SerializableSelect-BZBYLnHq.js → SerializableSelect-DDx9-Bur.js} +2 -2
- package/storybook-static/assets/{SerializableSelect.stories-PIYq8I5b.js → SerializableSelect.stories-lLHLEyB9.js} +2 -2
- package/storybook-static/assets/{SingleDateTimeInput-D2cDr1L5.js → SingleDateTimeInput-B4vUIB4m.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-B6M2oHtl.js → SingleDateTimeInput-DKleuzaX.js} +2 -2
- package/storybook-static/assets/{SingleDateTimeInput.stories-DqswDqo4.js → SingleDateTimeInput.stories-U_d98CIX.js} +1 -1
- package/storybook-static/assets/{Slider-C0fjZ3TE.js → Slider-C9EHsb-H.js} +3 -3
- package/storybook-static/assets/{Slider-Cu_mMfmP.js → Slider-Dfj4alv-.js} +1 -1
- package/storybook-static/assets/{Slider.stories-BcYnYgUs.js → Slider.stories-vZkWxSqT.js} +1 -1
- package/storybook-static/assets/{SliderInput-CaaSdoql.js → SliderInput-BdYHLdem.js} +1 -1
- package/storybook-static/assets/{SliderInput-D8pa0Cwh.js → SliderInput-CzlPZSO9.js} +3 -3
- package/storybook-static/assets/{SliderInput.stories-biJs3NtU.js → SliderInput.stories-C6tBSbPb.js} +1 -1
- package/storybook-static/assets/{Sortable-wyJd-LB7.js → Sortable-BGVo-kNH.js} +2 -2
- package/storybook-static/assets/Sortable.stories-vIFl2X-p.js +44 -0
- package/storybook-static/assets/{Splitter-D0L1B9tf.js → Splitter-BQWPhfku.js} +4 -4
- package/storybook-static/assets/{Splitter.stories-CDQGRB14.js → Splitter.stories-ICS_ZBHX.js} +1 -1
- package/storybook-static/assets/{StateSelect-BaThi-59.js → StateSelect-CyReXSM1.js} +2 -2
- package/storybook-static/assets/{StateSelect-hO1K2z4b.js → StateSelect-Dd6SpUUh.js} +1 -1
- package/storybook-static/assets/StateSelect.stories-D0-HsFXZ.js +59 -0
- package/storybook-static/assets/StringToggle.stories-pC48Sxqx.js +3 -0
- package/storybook-static/assets/{Switch-Ct9tsisu.js → Switch-BqR-1lxY.js} +2 -2
- package/storybook-static/assets/{Switch-DCV_mYJ2.js → Switch-Cj8-VcVg.js} +1 -1
- package/storybook-static/assets/Switch.stories-WiYjSzuW.js +15 -0
- package/storybook-static/assets/{Table-DaP6Qndv.js → Table-BxXretCJ.js} +4 -4
- package/storybook-static/assets/Table.stories-BNQvlsuf.js +178 -0
- package/storybook-static/assets/{Tabs-CC5Gzc7s.js → Tabs-Bfy1NJMT.js} +3 -3
- package/storybook-static/assets/{Tabs.stories-B_76Da9k.js → Tabs.stories-CPIuTwP2.js} +2 -2
- package/storybook-static/assets/{TabsBox-D52IZXj5.js → TabsBox-jMCEuOZ4.js} +1 -1
- package/storybook-static/assets/{TagInput-T9Lp1amS.js → TagInput-BUw0lagA.js} +1 -1
- package/storybook-static/assets/TagInput.stories-DFt-q5Jo.js +18 -0
- package/storybook-static/assets/{Text-CXcCu6R8.js → Text-qYKrK4eb.js} +1 -1
- package/storybook-static/assets/{Textarea-BlE2vGsV.js → Textarea-CHFjT8jC.js} +1 -1
- package/storybook-static/assets/{Textarea-CNl12Mkz.js → Textarea-evU43JN1.js} +2 -2
- package/storybook-static/assets/Textarea.stories-DEIYLgZF.js +17 -0
- package/storybook-static/assets/{TimePanel-DKD18ldm.js → TimePanel-DTiDfMFt.js} +1 -1
- package/storybook-static/assets/TimePanel.stories-Ct__ocID.js +10 -0
- package/storybook-static/assets/{Toggle-DKNuMtMW.js → Toggle-IPvbQmMD.js} +2 -2
- package/storybook-static/assets/{Toggle-fqZP5j32.js → Toggle-IdtrAW0T.js} +1 -1
- package/storybook-static/assets/Toggle.stories-BJ9VWYeG.js +25 -0
- package/storybook-static/assets/{TreeMultiSelect-b4PiPTEN.js → TreeMultiSelect-CH0Zc3KF.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-B6et22Ea.js → TreeMultiSelect-CSd33bKQ.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-C_4ZpE9w.js → TreeMultiSelect.stories-BJwU3XBe.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-BBwppLrT.js → TreePickerBase-CKnyu6AR.js} +1 -1
- package/storybook-static/assets/{TreeSelect-D4u7C0tA.js → TreeSelect-DYJm99Z2.js} +1 -1
- package/storybook-static/assets/{TreeSelect-BaCD5AjF.js → TreeSelect-DiiLtgN_.js} +1 -1
- package/storybook-static/assets/TreeSelect.stories-CEiN12BG.js +32 -0
- package/storybook-static/assets/{TreeTable-CbhUffZj.js → TreeTable-CInX-hLX.js} +3 -3
- package/storybook-static/assets/TreeTable.stories-DQsXSocU.js +138 -0
- package/storybook-static/assets/{WithTooltip-7X4HQR7L-DQ4Qthn2.js → WithTooltip-CDUNV5IS-mFMh6Qcu.js} +2 -2
- package/storybook-static/assets/{blocks-IjspN281.js → blocks-v2XPznvF.js} +3 -3
- package/storybook-static/assets/{check-ue9rVspp.js → check-Cw2uZkgi.js} +1 -1
- package/storybook-static/assets/{chevron-down-Dnk-3hJo.js → chevron-down-DCcoFYMu.js} +1 -1
- package/storybook-static/assets/{chevron-left-CaAFuWY0.js → chevron-left-DbTmcqTw.js} +1 -1
- package/storybook-static/assets/{chevron-right-CKnELL4E.js → chevron-right-BhBh36az.js} +1 -1
- package/storybook-static/assets/{chunk-W22LQPXL-jFAFLKOH.js → chunk-W22LQPXL-2pLErBcr.js} +1 -1
- package/storybook-static/assets/{circle-alert-miJVMeEa.js → circle-alert-DztOdOaG.js} +1 -1
- package/storybook-static/assets/circle-check-CAdrHnV2.js +1 -0
- package/storybook-static/assets/components-BTpiQE9n.js +241 -0
- package/storybook-static/assets/{contextMenu-D8NvB0La.js → contextMenu-DJ0HpnV6.js} +1 -1
- package/storybook-static/assets/{defaultRenderers-DfmnIuod.js → defaultRenderers-Dinv2uRZ.js} +1 -1
- package/storybook-static/assets/{download-Cq_lr01f.js → download-BT_zAyTC.js} +1 -1
- package/storybook-static/assets/floating-ui.react-Cvohd2Gw.js +1 -0
- package/storybook-static/assets/{formatters-D33Uh3si-CxrG0jsB.js → formatters-D33Uh3si-Df97arf9.js} +1 -1
- package/storybook-static/assets/{foundationApi-CLyEyFIu.js → foundationApi-DJeCu7Ht.js} +3 -6
- package/storybook-static/assets/{foundationLib-DH2mxNct.js → foundationLib-hGtcm5KL.js} +1 -1
- package/storybook-static/assets/{hooks-BwH7Yo1F.js → hooks-BCeL5FKt.js} +1 -1
- package/storybook-static/assets/iframe-B-Rqywce.js +1 -0
- package/storybook-static/assets/{iframe-B_6aAEqw.js → iframe-DlUmG4EA.js} +203 -203
- package/storybook-static/assets/{info-BgHKckDk.js → info-BkC2CBYX.js} +1 -1
- package/storybook-static/assets/odata-BMO7cuBZ.js +1 -0
- package/storybook-static/assets/odata-service-CWkHASdw-CXhFi03v.js +3 -0
- package/storybook-static/assets/odataStoryFixtures-CWldE9pM.js +25 -0
- package/storybook-static/assets/{react-18-D4o7zN8K.js → react-18-EmNFJX4V.js} +1 -1
- package/storybook-static/assets/react-C0u6t2Tr.js +9 -0
- package/storybook-static/assets/{refresh-cw-Cz1Mtnwr.js → refresh-cw-BA16_2Dg.js} +1 -1
- package/storybook-static/assets/{settings-2-BUY_jI1a.js → settings-2-C3fAar8h.js} +1 -1
- package/storybook-static/assets/{sortable-DfiDnDGH.js → sortable-4U2uS5RT.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-RwE_sP6g.js → syntaxhighlighter-QEQV7K2Y-e4tU0oKD.js} +1 -1
- package/storybook-static/assets/theming-BgT2grXK.js +39 -0
- package/storybook-static/assets/{trash-2-Da9E4hDy.js → trash-2-DIhA8-QF.js} +1 -1
- package/storybook-static/assets/{triangle-alert-D2CpTkxC.js → triangle-alert-CYOiH1yf.js} +1 -1
- package/storybook-static/assets/{useODataSelectBase-BTVM_2wU.js → useODataSelectBase-CcvoIMyY.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-BwwhT42f.js → useODataTreeData-Vkqc6Vi_.js} +1 -1
- package/storybook-static/assets/{usePickerQuery-Cug-ZpN1.js → usePickerQuery-7mnpDV7K.js} +1 -1
- package/storybook-static/assets/{usePickerTriggerController-D3h4HqB9.js → usePickerTriggerController-fH-NsvWu.js} +1 -1
- package/storybook-static/assets/{x-ri5iHB3T.js → x-BJ8ArZif.js} +1 -1
- package/storybook-static/iframe.html +2 -2
- package/storybook-static/index.json +1 -1
- package/storybook-static/project.json +1 -1
- package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +1 -1
- package/storybook-static/sb-manager/globals-runtime.js +5 -2
- package/storybook-static/sb-manager/runtime.js +1 -0
- package/storybook-static/assets/Color-6AOWCN3U-C363KdaS.js +0 -1
- package/storybook-static/assets/DateRangePresetSelect.stories-BnnOI6oQ.js +0 -19
- package/storybook-static/assets/Dialog.stories-DPFNV_A3.js +0 -22
- package/storybook-static/assets/Disclosure.stories-C3MufHWp.js +0 -23
- package/storybook-static/assets/DropZone.stories-mB8JLlHw.js +0 -26
- package/storybook-static/assets/ExpandableActionPanel.stories-eChkcTa4.js +0 -9
- package/storybook-static/assets/ImageCropper.stories-BuwhJESS.js +0 -131
- package/storybook-static/assets/ImageRenderer.stories-BzyPfNyt.js +0 -34
- package/storybook-static/assets/ImageView.stories-FmQ_gxc7.js +0 -14
- package/storybook-static/assets/Input.stories-BbT8eOCH.js +0 -52
- package/storybook-static/assets/InputDateTime.stories-Cdz1C1X5.js +0 -38
- package/storybook-static/assets/InputFile.stories-B84afhOU.js +0 -27
- package/storybook-static/assets/InputFiles.stories-CgMk9QC9.js +0 -26
- package/storybook-static/assets/InputImage.stories-BD3x6S5Y.js +0 -56
- package/storybook-static/assets/MultiSelect.stories-CNNK5rRC.js +0 -55
- package/storybook-static/assets/NotificationsHost.stories-Bf-a-dC3.js +0 -29
- package/storybook-static/assets/PeriodSelect.stories-COeb_LJq.js +0 -50
- package/storybook-static/assets/PresetRangeDateInput.stories-BDmwSMwK.js +0 -3
- package/storybook-static/assets/README-oSHJDhIJ.js +0 -101
- package/storybook-static/assets/RadioButton.stories-GiewWDd0.js +0 -32
- package/storybook-static/assets/Select.stories-CYJpEv_P.js +0 -69
- package/storybook-static/assets/Sortable.stories-CNW8IhRv.js +0 -77
- package/storybook-static/assets/StateSelect.stories-DDviL5zf.js +0 -59
- package/storybook-static/assets/StringToggle.stories-CFAJvvxJ.js +0 -5
- package/storybook-static/assets/Switch.stories-COeP2eOi.js +0 -15
- package/storybook-static/assets/Table.stories-DDFcryTl.js +0 -207
- package/storybook-static/assets/TagInput.stories-DfH66OZc.js +0 -18
- package/storybook-static/assets/Textarea.stories-DVOJ06z_.js +0 -17
- package/storybook-static/assets/TimePanel.stories-Vn5OZdpQ.js +0 -14
- package/storybook-static/assets/Toggle.stories-BLolzyKP.js +0 -25
- package/storybook-static/assets/TreeSelect.stories-CDkOknim.js +0 -32
- package/storybook-static/assets/TreeTable.stories-D-x-lZkU.js +0 -168
- package/storybook-static/assets/circle-check-CNYBjmqs.js +0 -1
- package/storybook-static/assets/components-9iEtMVnM.js +0 -241
- package/storybook-static/assets/floating-ui.react-BoRzzZ17.js +0 -1
- package/storybook-static/assets/iframe-BxPT5t4V.js +0 -1
- package/storybook-static/assets/odata-D2I4jbKq.js +0 -1
- package/storybook-static/assets/odata-service-CWkHASdw-DlmSiioz.js +0 -3
- package/storybook-static/assets/odataStoryFixtures-BiN3x4k6.js +0 -25
- package/storybook-static/assets/react-BoM8yiX1.js +0 -9
- package/storybook-static/assets/theming-Cvtrnj7n.js +0 -39
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
2
|
-
`,(0,c.
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,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-B
|
|
|
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
|
|
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:`#%
|
|
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-B
|
|
|
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
|
|
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-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,strong:`strong`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation API/Query/Generic Resource`}),`
|
|
2
2
|
`,(0,c.jsxs)(t.h1,{id:`generic-resources-через-ryuzaki13react-foundation-apiresource`,children:[`Generic resources через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-api/resource`})]}),`
|
|
3
3
|
`,(0,c.jsx)(t.p,{children:`Модуль описывает transport-agnostic ресурс поверх TanStack Query: стабильные query keys, проверку scope, произвольные read/write operations и cache strategies после mutation.`}),`
|
|
4
4
|
`,(0,c.jsx)(t.h2,{id:`для-кого-этот-документ`,children:`Для кого этот документ`}),`
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,strong:`strong`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Infrastructure/PWA`}),`
|
|
2
2
|
`,(0,c.jsx)(t.h1,{id:`pwa`,children:`PWA`}),`
|
|
3
3
|
`,(0,c.jsx)(t.p,{children:`Модуль PWA состоит из двух публичных входов с разной ответственностью:`}),`
|
|
4
4
|
`,(0,c.jsxs)(t.table,{children:[(0,c.jsx)(t.thead,{children:(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.th,{children:`Import path`}),(0,c.jsx)(t.th,{children:`Что содержит`})]})}),(0,c.jsxs)(t.tbody,{children:[(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/pwa`})}),(0,c.jsx)(t.td,{children:`React-hook обновления Service Worker и все функции cache policy`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/pwa/sw-cache-policy`})}),(0,c.jsxs)(t.td,{children:[`Только чистый parser/builder политики `,(0,c.jsx)(t.code,{children:`x-sw-cache`}),`, без React update-flow`]})]})]})]}),`
|
|
5
5
|
`,(0,c.jsxs)(t.p,{children:[`Используйте точный subpath. Внутренний файл `,(0,c.jsx)(t.code,{children:`serviceWorker`}),` не является самостоятельным публичным export, даже если отдельные функции используются самим hook.`]}),`
|
|
6
|
-
`,(0,c.jsx)(t.h2,{id:`установка`,children:`Установка`}),`
|
|
7
|
-
`,(0,c.jsxs)(t.p,{children:[`Для `,(0,c.jsx)(t.code,{children:`useServiceWorkerUpdate`}),` нужен React. Cache policy не имеет React-зависимости.`]}),`
|
|
8
|
-
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib react
|
|
9
|
-
`})}),`
|
|
10
6
|
`,(0,c.jsx)(t.h2,{id:`часть-1-обновление-service-worker`,children:`Часть 1. Обновление Service Worker`}),`
|
|
11
7
|
`,(0,c.jsx)(t.h3,{id:`задача-hook`,children:`Задача hook`}),`
|
|
12
8
|
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { useServiceWorkerUpdate } from "@ryuzaki13/react-foundation-lib/pwa";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
2
|
-
`,(0,c.
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Data/XML`}),`
|
|
2
|
+
`,(0,c.jsx)(t.h1,{id:`простые-xml-helpers`,children:`Простые XML helpers`}),`
|
|
3
3
|
`,(0,c.jsxs)(t.p,{children:[`Модуль экранирует XML-текст, строит последовательность простых полей и читает текст первого тега через `,(0,c.jsx)(t.code,{children:`DOMParser`}),`.`]}),`
|
|
4
4
|
`,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
|
|
5
5
|
`,(0,c.jsxs)(t.ul,{children:[`
|
|
6
6
|
`,(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:`Назначение и границы`})}),`
|
|
7
|
-
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%
|
|
7
|
+
`,(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:`Импорт`})}),`
|
|
8
8
|
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#escapexmlvalue`,children:(0,c.jsx)(t.code,{children:`escapeXmlValue`})})}),`
|
|
9
9
|
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#buildxmlfields`,children:(0,c.jsx)(t.code,{children:`buildXmlFields`})})}),`
|
|
10
10
|
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#getxmltagtext`,children:(0,c.jsx)(t.code,{children:`getXmlTagText`})})}),`
|
|
@@ -24,7 +24,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
|
|
|
24
24
|
`,(0,c.jsx)(t.li,{children:`не проверяет parser errors;`}),`
|
|
25
25
|
`,(0,c.jsx)(t.li,{children:`не выполняет network request.`}),`
|
|
26
26
|
`]}),`
|
|
27
|
-
`,(0,c.jsx)(t.h2,{id
|
|
27
|
+
`,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
|
|
28
28
|
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { buildXmlFields, escapeXmlValue, getXmlTagText } from "@ryuzaki13/react-foundation-lib/xml";
|
|
29
29
|
|
|
30
30
|
import type { XmlPrimitive } from "@ryuzaki13/react-foundation-lib/xml";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
2
|
-
`,(0,c.
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,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:`#%
|
|
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-B
|
|
|
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
|
|
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
|
|
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-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation 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,7 +1,7 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
2
|
-
`,(0,c.
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,li:`li`,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
|
|
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,7 +1,7 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
2
|
-
`,(0,c.
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,li:`li`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Data/String Comparison`}),`
|
|
2
|
+
`,(0,c.jsx)(t.h1,{id:`сравнение-строк`,children:`Сравнение строк`}),`
|
|
3
3
|
`,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`compareStrings`}),` задаёт единый порядок строк для русскоязычных UI-списков, смешанной кириллицы/латиницы и числовых суффиксов.`]}),`
|
|
4
|
-
`,(0,c.jsx)(t.h2,{id
|
|
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 { compareStrings } from "@ryuzaki13/react-foundation-lib/string-comparison";
|
|
6
6
|
`})}),`
|
|
7
7
|
`,(0,c.jsxs)(t.p,{children:[`Модуль использует стандартный `,(0,c.jsx)(t.code,{children:`Intl.Collator`}),` и не зависит от React.`]}),`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/Formatters/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,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,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-B
|
|
|
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:`#%
|
|
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-B
|
|
|
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
|
|
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,10 +1,7 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,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/Обзор`}),`
|
|
2
2
|
`,(0,c.jsx)(t.h1,{id:`ryuzaki13react-foundation-libformatters`,children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/formatters`})}),`
|
|
3
3
|
`,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`formatters`}),` — большой модуль подготовки значений для интерфейса и transport-контрактов. Он работает с датами, числами, строками, boolean/ABAP-флагами, ФИО, российскими телефонами, ведущими нулями и семантическими состояниями. Для таблиц модуль также предоставляет конфигурируемый formatter pipeline и row-based формулы.`]}),`
|
|
4
4
|
`,(0,c.jsx)(t.p,{children:`Документация разделена по предметным областям, чтобы разработчику не приходилось читать один огромный файл. Этот README объясняет общие правила, помогает выбрать API и подробно описывает небольшие helpers верхнего уровня.`}),`
|
|
5
|
-
`,(0,c.jsx)(t.h2,{id:`установка`,children:`Установка`}),`
|
|
6
|
-
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib
|
|
7
|
-
`})}),`
|
|
8
5
|
`,(0,c.jsx)(t.p,{children:`Пакет является ESM. Корневого импорта пакета нет. Все formatter functions и их типы импортируются из точечного entrypoint:`}),`
|
|
9
6
|
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { formatDateAsDate, formatNumberAsDecimal2, normalizeText } from "@ryuzaki13/react-foundation-lib/formatters";
|
|
10
7
|
`})}),`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,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-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,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-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/Formatters/Pipeline`}),`
|
|
2
2
|
`,(0,c.jsx)(t.h1,{id:`formatter-pipeline`,children:`Formatter pipeline`}),`
|
|
3
3
|
`,(0,c.jsx)(t.p,{children:`Formatter pipeline — конфигурируемая последовательность преобразований значения ячейки. Она умеет:`}),`
|
|
4
4
|
`,(0,c.jsxs)(t.ul,{children:[`
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
2
|
-
`,(0,c.
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,li:`li`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/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
|
|
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-
|
|
2
|
-
`,(0,c.
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/File`}),`
|
|
2
|
+
`,(0,c.jsx)(t.h1,{id:`работа-с-пользовательскими-файлами`,children:`Работа с пользовательскими файлами`}),`
|
|
3
3
|
`,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`file`}),` содержит browser helpers для четырёх связанных задач:`]}),`
|
|
4
4
|
`,(0,c.jsxs)(t.ul,{children:[`
|
|
5
5
|
`,(0,c.jsxs)(t.li,{children:[`прочитать выбранный пользователем `,(0,c.jsx)(t.code,{children:`File`}),` как data URL или `,(0,c.jsx)(t.code,{children:`ArrayBuffer`}),`;`]}),`
|
|
@@ -8,11 +8,10 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
|
|
|
8
8
|
`,(0,c.jsxs)(t.li,{children:[`определить MIME по расширению и безопаснее сформировать HTTP-заголовок `,(0,c.jsx)(t.code,{children:`Content-Disposition`}),` с Unicode-именем файла.`]}),`
|
|
9
9
|
`]}),`
|
|
10
10
|
`,(0,c.jsxs)(t.p,{children:[`Модуль является низкоуровневым foundation-слоем. Он не рисует `,(0,c.jsx)(t.code,{children:`<input type="file">`}),`, не отправляет файл на backend, не показывает preview или progress, не проверяет реальное содержимое файла и не заменяет серверную валидацию.`]}),`
|
|
11
|
-
`,(0,c.jsx)(t.p,{children:`README рассчитан на разработчика, который использует опубликованный пакет без доступа к исходному коду. Поэтому ниже отдельно объясняются базовые понятия JavaScript/TypeScript, точный порядок проверок, структура результатов, все публичные функции и типы, фактические классы ошибок, ограничения безопасности и известные особенности текущей реализации.`}),`
|
|
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:`#%
|
|
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:`#runtime-%D0%B8-browser-boundary`,children:`Runtime и browser boundary`})}),`
|
|
17
16
|
`,(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:`Минимальные понятия`})}),`
|
|
18
17
|
`,(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`})}),`
|
|
@@ -71,10 +70,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
|
|
|
71
70
|
`,(0,c.jsx)(t.h3,{id:`соседние-модули`,children:`Соседние модули`}),`
|
|
72
71
|
`,(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:`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:[`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:`Blob`}),`, JSON или 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.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:`Прочитать файл через готовый React UI`}),(0,c.jsxs)(t.td,{children:[(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-ui/input-file`}),` или `,(0,c.jsx)(t.code,{children:`drop-zone`})]})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Выбрать изображение через готовый React UI`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-ui/input-image`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Проверить формат по реальному содержимому`}),(0,c.jsx)(t.td,{children:`Специализированный parser на доверенной boundary`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Выполнить окончательную проверку перед сохранением`}),(0,c.jsx)(t.td,{children:`Backend`})]})]})]}),`
|
|
73
72
|
`,(0,c.jsxs)(t.p,{children:[`Если нужен только обычный upload через `,(0,c.jsx)(t.code,{children:`multipart/form-data`}),`, браузерный `,(0,c.jsx)(t.code,{children:`File`}),` можно положить в `,(0,c.jsx)(t.code,{children:`FormData`}),` напрямую. Предварительное чтение всего файла через `,(0,c.jsx)(t.code,{children:`readFile`}),` для этого не обязательно.`]}),`
|
|
74
|
-
`,(0,c.jsx)(t.h2,{id
|
|
75
|
-
`,(0,c.jsx)(t.p,{children:`Установите пакет:`}),`
|
|
76
|
-
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib
|
|
77
|
-
`})}),`
|
|
73
|
+
`,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
|
|
78
74
|
`,(0,c.jsxs)(t.p,{children:[`Импортируйте API только из опубликованного subpath `,(0,c.jsx)(t.code,{children:`/file`}),`:`]}),`
|
|
79
75
|
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { createContentDispositionHeader, readFile, readImageFile, resolveMimeTypeByExtension } from "@ryuzaki13/react-foundation-lib/file";
|
|
80
76
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
2
|
-
`,(0,c.
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,blockquote:`blockquote`,code:`code`,h1:`h1`,h2:`h2`,li:`li`,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/Headers and Text Response`}),`
|
|
2
|
+
`,(0,c.jsx)(t.h1,{id:`http-headers-и-текстовые-ответы`,children:`HTTP headers и текстовые ответы`}),`
|
|
3
3
|
`,(0,c.jsxs)(t.p,{children:[`Модуль создаёт стандартный набор HTTP-заголовков запрета кеширования и обычный `,(0,c.jsx)(t.code,{children:`Response`}),` с UTF-8 plain text.`]}),`
|
|
4
4
|
`,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
|
|
5
5
|
`,(0,c.jsxs)(t.ul,{children:[`
|
|
6
6
|
`,(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:`Назначение и границы`})}),`
|
|
7
|
-
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%
|
|
7
|
+
`,(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:`Импорт`})}),`
|
|
8
8
|
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#createnostoreheaders`,children:(0,c.jsx)(t.code,{children:`createNoStoreHeaders`})})}),`
|
|
9
9
|
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#createtexthttpresponse`,children:(0,c.jsx)(t.code,{children:`createTextHttpResponse`})})}),`
|
|
10
10
|
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#runtime-%D0%B8-%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C`,children:`Runtime и безопасность`})}),`
|
|
@@ -17,7 +17,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
|
|
|
17
17
|
Headers с no-store + Response(text/plain; charset=UTF-8)
|
|
18
18
|
`})}),`
|
|
19
19
|
`,(0,c.jsxs)(t.p,{children:[`Модуль не выполняет `,(0,c.jsx)(t.code,{children:`fetch`}),`, не сериализует JSON, не задаёт CORS, CSP, cookies или authorization и не превращает ошибки transport в response автоматически.`]}),`
|
|
20
|
-
`,(0,c.jsx)(t.h2,{id
|
|
20
|
+
`,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
|
|
21
21
|
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { createNoStoreHeaders, createTextHttpResponse } from "@ryuzaki13/react-foundation-lib/http";
|
|
22
22
|
|
|
23
23
|
import type { NoStoreHeadersInit, TextHttpResponseOptions } from "@ryuzaki13/react-foundation-lib/http";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,blockquote:`blockquote`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation 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,5 +1,5 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
2
|
-
`,(0,c.
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/Crypto`}),`
|
|
2
|
+
`,(0,c.jsx)(t.h1,{id:`идентификаторы-и-строковые-hash`,children:`Идентификаторы и строковые hash`}),`
|
|
3
3
|
`,(0,c.jsxs)(t.p,{children:[`Модуль `,(0,c.jsx)(t.code,{children:`crypto`}),` предоставляет небольшие функции для двух разных задач:`]}),`
|
|
4
4
|
`,(0,c.jsxs)(t.ul,{children:[`
|
|
5
5
|
`,(0,c.jsx)(t.li,{children:`получить детерминированный компактный hash из строки;`}),`
|
|
@@ -7,11 +7,10 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
|
|
|
7
7
|
`]}),`
|
|
8
8
|
`,(0,c.jsx)(t.p,{children:`Детерминированный результат всегда повторяется для той же строки. Случайный UUID, наоборот, создаётся заново при каждом вызове. Это принципиально разные виды идентификаторов, и выбирать между ними нужно по смыслу задачи.`}),`
|
|
9
9
|
`,(0,c.jsx)(t.p,{children:`Несмотря на имя entrypoint, строковые hash этого модуля не являются криптографическими. Они не подходят для паролей, подписей, access token, проверки безопасности или сокрытия персональных данных.`}),`
|
|
10
|
-
`,(0,c.jsx)(t.p,{children:`README рассчитан на разработчика, который использует опубликованный пакет без доступа к исходному коду. Здесь объясняются базовые понятия, точные форматы результатов, browser runtime, Unicode, коллизии, React/SSR, тестирование и безопасные границы применения.`}),`
|
|
11
10
|
`,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
|
|
12
11
|
`,(0,c.jsxs)(t.ul,{children:[`
|
|
13
12
|
`,(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:`Назначение и границы модуля`})}),`
|
|
14
|
-
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%
|
|
13
|
+
`,(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:`Импорт`})}),`
|
|
15
14
|
`,(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:`Минимальные понятия`})}),`
|
|
16
15
|
`,(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`})}),`
|
|
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:`Быстрый старт`})}),`
|
|
@@ -58,10 +57,7 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
|
|
|
58
57
|
`]}),`
|
|
59
58
|
`,(0,c.jsx)(t.h3,{id:`две-группы-api`,children:`Две группы API`}),`
|
|
60
59
|
`,(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.jsx)(t.th,{children:`Свойство`})]})}),(0,c.jsxs)(t.tbody,{children:[(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`Детерминированные hash`}),(0,c.jsxs)(t.td,{children:[(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.td,{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:`uuidv4`})}),(0,c.jsx)(t.td,{children:`Каждый вызов должен создавать новое случайное значение.`})]})]})]}),`
|
|
61
|
-
`,(0,c.jsx)(t.h2,{id
|
|
62
|
-
`,(0,c.jsx)(t.p,{children:`Установите пакет:`}),`
|
|
63
|
-
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib
|
|
64
|
-
`})}),`
|
|
60
|
+
`,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
|
|
65
61
|
`,(0,c.jsxs)(t.p,{children:[`Импортируйте функции только из опубликованного subpath `,(0,c.jsx)(t.code,{children:`/crypto`}),`:`]}),`
|
|
66
62
|
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { hashString, hashString128, hashString128Base64Url, stringToElementId, uuidv4 } from "@ryuzaki13/react-foundation-lib/crypto";
|
|
67
63
|
`})}),`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,strong:`strong`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation API/Query/Persisted Records`}),`
|
|
2
2
|
`,(0,c.jsxs)(t.h1,{id:`сохранённые-записи-через-ryuzaki13react-foundation-apipersisted`,children:[`Сохранённые записи через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-api/persisted`})]}),`
|
|
3
3
|
`,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`persisted`}),` — специализированный слой поверх TanStack Query для данных, которые пользователь сохраняет и позднее восстанавливает: presets, variants, view configs и другие versioned records.`]}),`
|
|
4
4
|
`,(0,c.jsxs)(t.p,{children:[`Слово `,(0,c.jsx)(t.code,{children:`persisted`}),` здесь означает backend-сущности «сохранённая запись». Это не то же самое, что persistence TanStack Query cache в IndexedDB.`]}),`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
2
|
-
`,(0,c.
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/Errors/Missing Context`}),`
|
|
2
|
+
`,(0,c.jsx)(t.h1,{id:`ошибка-отсутствующего-react-context`,children:`Ошибка отсутствующего React context`}),`
|
|
3
3
|
`,(0,c.jsx)(t.p,{children:`Модуль создаёт единообразное диагностическое сообщение, когда custom hook вызван вне нужного Provider.`}),`
|
|
4
|
-
`,(0,c.jsx)(t.h2,{id
|
|
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 { createMissingContextError, createMissingContextErrorMessage } from "@ryuzaki13/react-foundation-lib/error";
|
|
6
6
|
`})}),`
|
|
7
7
|
`,(0,c.jsx)(t.p,{children:`Модуль не импортирует React и может использоваться в любом TypeScript runtime. Типы объектов options выводятся из аргумента и отдельно не экспортируются.`}),`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
2
|
-
`,(0,c.
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,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-B
|
|
|
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:`#%
|
|
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-B
|
|
|
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
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/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,11 +1,10 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
2
|
-
`,(0,c.
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,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/Bounded Copy Stack`}),`
|
|
2
|
+
`,(0,c.jsx)(t.h1,{id:`ограниченный-стек-копий`,children:`Ограниченный стек копий`}),`
|
|
3
3
|
`,(0,c.jsxs)(t.p,{children:[`Модуль хранит небольшой список последних скопированных сущностей. Новый элемент помещается в начало, повтор по `,(0,c.jsx)(t.code,{children:`fingerprint`}),` обновляет существующую запись, а старые записи удаляются при превышении лимита.`]}),`
|
|
4
|
-
`,(0,c.jsxs)(t.p,{children:[`Документ рассчитан на разработчика без доступа к исходникам пакета. Ниже объясняются структура элемента, различие `,(0,c.jsx)(t.code,{children:`id`}),` и `,(0,c.jsx)(t.code,{children:`fingerprint`}),`, порядок записей, ссылки на payload и все граничные случаи.`]}),`
|
|
5
4
|
`,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
|
|
6
5
|
`,(0,c.jsxs)(t.ul,{children:[`
|
|
7
6
|
`,(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:`#%
|
|
7
|
+
`,(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
8
|
`,(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:`Основные понятия`})}),`
|
|
10
9
|
`,(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:`Быстрый старт`})}),`
|
|
11
10
|
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#pushboundedcopystackitem`,children:(0,c.jsx)(t.code,{children:`pushBoundedCopyStackItem`})})}),`
|
|
@@ -33,20 +32,18 @@ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B
|
|
|
33
32
|
`,(0,c.jsx)(t.li,{children:`не выполняет вставку выбранного кандидата.`}),`
|
|
34
33
|
`]}),`
|
|
35
34
|
`,(0,c.jsxs)(t.p,{children:[`Clipboard helpers находятся в `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/copy`}),`. Владелец state/storage находится в host-приложении.`]}),`
|
|
36
|
-
`,(0,c.jsx)(t.h2,{id
|
|
37
|
-
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-bash`,children:`npm install @ryuzaki13/react-foundation-lib
|
|
38
|
-
`})}),`
|
|
35
|
+
`,(0,c.jsx)(t.h2,{id:`импорт`,children:`Импорт`}),`
|
|
39
36
|
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import {
|
|
40
37
|
DEFAULT_BOUNDED_COPY_STACK_SIZE,
|
|
41
38
|
getBoundedCopyStackCandidates,
|
|
42
39
|
pushBoundedCopyStackItem
|
|
43
40
|
} from "@ryuzaki13/react-foundation-lib/bounded-copy-stack";
|
|
44
41
|
|
|
45
|
-
import
|
|
46
|
-
BoundedCopyStackItem,
|
|
47
|
-
BoundedCopyStackOptions,
|
|
48
|
-
BoundedCopyStackPushInput,
|
|
49
|
-
BoundedCopyStackPushResult
|
|
42
|
+
import {
|
|
43
|
+
type BoundedCopyStackItem,
|
|
44
|
+
type BoundedCopyStackOptions,
|
|
45
|
+
type BoundedCopyStackPushInput,
|
|
46
|
+
type BoundedCopyStackPushResult
|
|
50
47
|
} from "@ryuzaki13/react-foundation-lib/bounded-copy-stack";
|
|
51
48
|
`})}),`
|
|
52
49
|
`,(0,c.jsx)(t.p,{children:`Корневой и глубокий импорты не поддерживаются. Модуль ESM, не зависит от React и browser APIs.`}),`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-DlUmG4EA.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-v2XPznvF.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,table:`table`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,...n(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i,{title:`Foundation Lib/API/Formatters/Strings`}),`
|
|
2
2
|
`,(0,c.jsx)(t.h1,{id:`строковые-форматтеры`,children:`Строковые форматтеры`}),`
|
|
3
3
|
`,(0,c.jsx)(t.p,{children:`Модуль содержит небольшие предсказуемые функции для подготовки пользовательского текста: обрезки пробелов, безопасного преобразования в строку, удаления ведущих нулей, сокращения длинного текста и выбора русской формы слова.`}),`
|
|
4
4
|
`,(0,c.jsx)(t.p,{children:`Все функции экспортируются через один публичный entrypoint:`}),`
|