@ryuzaki13/react-foundation-ui 1.8.18 → 1.8.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/picker/model/usePickerFloatingListbox.d.ts +1 -1
- package/package.json +3 -3
- package/storybook-static/assets/{Badge-BIHyYCo7.js → Badge-CAM2jkFm.js} +6 -6
- package/storybook-static/assets/{Badge.stories-DLTrI-x_.js → Badge.stories-DRjjmR32.js} +1 -1
- package/storybook-static/assets/{BadgeList-CDdRxEFa.js → BadgeList-D4Swhp3V.js} +1 -1
- package/storybook-static/assets/{Button-XTBI9blK.js → Button-1UZNz2k4.js} +1 -1
- package/storybook-static/assets/{Button-Clgno5I9.js → Button-4YB5_DwT.js} +6 -6
- package/storybook-static/assets/{Button.stories-B-0_zqxk.js → Button.stories-B0sdwFqZ.js} +1 -1
- package/storybook-static/assets/{CalendarView-5yfJ6Sx-.js → CalendarView-sSyZ5jCR.js} +1 -1
- package/storybook-static/assets/{CheckBox-DZh7cCZZ.js → CheckBox-BdGaGy4_.js} +2 -2
- package/storybook-static/assets/{CheckBox-BNpn-ZBB.js → CheckBox-Cpt5rjSg.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories--dSzC2Mf.js → CheckBox.stories-6d6-rkNo.js} +1 -1
- package/storybook-static/assets/Color-6AOWCN3U-sKBB2RBT.js +1 -0
- package/storybook-static/assets/{ContextMenu-CTrTO0H7.js → ContextMenu-B155_m2F.js} +1 -1
- package/storybook-static/assets/{ContextMenu-24LNOr91.js → ContextMenu-BLnt5p2W.js} +2 -2
- package/storybook-static/assets/{ContextMenu.stories-Cbq6B29u.js → ContextMenu.stories-B8sv4v3Q.js} +1 -1
- package/storybook-static/assets/{CustomOptionButton-BHA-6inc.js → CustomOptionButton-hKfsqWNH.js} +1 -1
- package/storybook-static/assets/{DateInput-Bmwgwx_r.js → DateInput-DvIl6s-f.js} +2 -2
- package/storybook-static/assets/{DateInput-Ceqy8_hm.js → DateInput-XvSKmvqi.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-C0oDEW0V.js → DateInput.stories-SU41oukh.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-DrbWZdO7.js → DateRangePresetSelect-BCLZcXdv.js} +2 -2
- package/storybook-static/assets/{DateRangePresetSelect-EUO5ju87.js → DateRangePresetSelect-tz-3m9UI.js} +1 -1
- package/storybook-static/assets/DateRangePresetSelect.stories-D8zuTlHo.js +19 -0
- package/storybook-static/assets/{Detail-BdMA8W8a.js → Detail-Ct95dA1k.js} +2 -2
- package/storybook-static/assets/{Detail.stories-kYjF0OE8.js → Detail.stories-Chedt7EX.js} +1 -1
- package/storybook-static/assets/{Dialog-B__C03-Z.js → Dialog-BX3QZOnt.js} +1 -1
- package/storybook-static/assets/{Dialog-DGlxegJa.js → Dialog-C7Duw0PA.js} +2 -2
- package/storybook-static/assets/Dialog.stories-J0w0R0Db.js +22 -0
- package/storybook-static/assets/{Disclosure-BXUWkiag.js → Disclosure-BzlV54RK.js} +2 -2
- package/storybook-static/assets/Disclosure.stories-z7gnOr5h.js +23 -0
- package/storybook-static/assets/{DisclosureGroup-C57FHp13.js → DisclosureGroup-c179TOi5.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-CiLWX8JT.js → DocsRenderer-JROSPFPF-Ba9N3QAD.js} +1 -1
- package/storybook-static/assets/{DropZone-DCGBDcam.js → DropZone-D5X0oV8O.js} +1 -1
- package/storybook-static/assets/{DropZone-BPOCc8un.js → DropZone-vxUU2p-k.js} +2 -2
- package/storybook-static/assets/DropZone.stories-iNXgESGM.js +26 -0
- package/storybook-static/assets/{DropdownMenu-DDHBuZt5.js → DropdownMenu-CJlpP3HB.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel-mmlDn8ts.js → ExpandableActionPanel-CmkEByID.js} +1 -1
- package/storybook-static/assets/ExpandableActionPanel.stories-DmRLaVxn.js +9 -0
- package/storybook-static/assets/{Flex-DHMDn1uW.js → Flex-tVAYZ-nU.js} +2 -2
- package/storybook-static/assets/{Flex.stories-BgYOys3T.js → Flex.stories-CVYDcbvw.js} +1 -1
- package/storybook-static/assets/{FloatingPopover-BL_nJJrL.js → FloatingPopover-DMTLPzR3.js} +1 -1
- package/storybook-static/assets/{FormattedTableCell-Od6SSoxO.js → FormattedTableCell-DP6-D86D.js} +1 -1
- package/storybook-static/assets/{Grid-CS-mSNKX.js → Grid-Vm-amT-a.js} +2 -2
- package/storybook-static/assets/{Grid.stories-DWCKacQB.js → Grid.stories-B0beH9CK.js} +1 -1
- package/storybook-static/assets/ImageCropper.stories-Dt-IA4EB.js +131 -0
- package/storybook-static/assets/{ImageRenderer-jDryL3Z9.js → ImageRenderer-DudkQ-3G.js} +1 -1
- package/storybook-static/assets/ImageRenderer.stories-CNeSiXkj.js +34 -0
- package/storybook-static/assets/ImageView.stories-DMtpy--X.js +14 -0
- package/storybook-static/assets/{ImageViewer.stories-CKUiWvv7.js → ImageViewer.stories-BkoV0li4.js} +3 -3
- package/storybook-static/assets/{ImageViewerRuntime-DUjkq3km.js → ImageViewerRuntime-BLgQCsSL.js} +1 -1
- package/storybook-static/assets/{Input-C5eMHeOp.js → Input-MPCFEMQm.js} +2 -2
- package/storybook-static/assets/{Input-Q95tdikw.js → Input-WhTMStKL.js} +1 -1
- package/storybook-static/assets/Input.stories-B50KKSiz.js +52 -0
- package/storybook-static/assets/{InputDateTime-D8iFVC4N.js → InputDateTime-1zTFbNEF.js} +2 -2
- package/storybook-static/assets/{InputDateTime.stories-Cdz1C1X5.js → InputDateTime.stories-B7W4BkU6.js} +1 -1
- package/storybook-static/assets/{InputFile-CEMWMZ8W.js → InputFile-B3QB0SLD.js} +1 -1
- package/storybook-static/assets/{InputFile-CVgdFBc9.js → InputFile-DYHuD6B8.js} +2 -2
- package/storybook-static/assets/InputFile.stories-B-hrCtm_.js +27 -0
- package/storybook-static/assets/{InputFiles-AtxulUya.js → InputFiles-CPPAJxgC.js} +1 -1
- package/storybook-static/assets/{InputFiles-BWh55c4D.js → InputFiles-Dpa2BiyZ.js} +2 -2
- package/storybook-static/assets/InputFiles.stories-1ocz2wNw.js +26 -0
- package/storybook-static/assets/{InputFilesList-Dx0Dhms2.js → InputFilesList-D2Ro-1Hm.js} +1 -1
- package/storybook-static/assets/{InputImage-DKCC82SZ.js → InputImage-BDC2lyVo.js} +1 -1
- package/storybook-static/assets/{InputImage-wBNZRvrJ.js → InputImage-DPmkvGcl.js} +2 -2
- package/storybook-static/assets/InputImage.stories-D3hWZBtn.js +56 -0
- package/storybook-static/assets/{InteractiveComponents-CHTFQ4qL.js → InteractiveComponents-Djz3CtkU.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents.stories-DJxkbHUR.js → InteractiveComponents.stories-CJ2VWPLD.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-Dv5O_Hy0.js → LayoutPicker-BFShZhhi.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-D887Y2XB.js → LayoutPicker-CMMEs83d.js} +3 -3
- package/storybook-static/assets/{LayoutPicker.stories-DbN3i5QL.js → LayoutPicker.stories-Cdb_UnBI.js} +1 -1
- package/storybook-static/assets/{Listbox-Cnzu7mYT.js → Listbox-B7nZijLJ.js} +2 -2
- package/storybook-static/assets/{Listbox-C4dx1h82.js → Listbox-DM1vuGVD.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-BO1Df9Mq.js → Listbox.stories-DTs-ANe9.js} +1 -1
- package/storybook-static/assets/{Modal-CMacWyay.js → Modal-D0dkB7lh.js} +3 -3
- package/storybook-static/assets/{Modal.stories-DMrYaonL.js → Modal.stories-BOh10Fkn.js} +1 -1
- package/storybook-static/assets/{ModalManagerProvider-NbdotfpM.js → ModalManagerProvider-CEEmviJU.js} +1 -1
- package/storybook-static/assets/{MultiSelect-DEPuEcGb.js → MultiSelect-CbrRNOEZ.js} +2 -2
- package/storybook-static/assets/{MultiSelect-N4vTBX-X.js → MultiSelect-oJhMsKuC.js} +1 -1
- package/storybook-static/assets/MultiSelect.stories-mLWhd-au.js +55 -0
- package/storybook-static/assets/{NoData-BdrsNRw1.js → NoData-C7Kj62Zk.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-BmcIZZNC.js → NotificationsHost-D_i7EsJA.js} +3 -3
- package/storybook-static/assets/{NotificationsHost.stories-Bf-a-dC3.js → NotificationsHost.stories-5GPO8lQl.js} +2 -2
- package/storybook-static/assets/{ODataMultiSelect-DVVDe1Yr.js → ODataMultiSelect-B6hKhD2q.js} +2 -2
- package/storybook-static/assets/{ODataMultiSelect.stories-DQDXXq_9.js → ODataMultiSelect.stories-BO7WaR9I.js} +2 -2
- package/storybook-static/assets/{ODataSelect-B88g3t3l.js → ODataSelect-BW8S-U91.js} +2 -2
- package/storybook-static/assets/{ODataSelect.stories-BPWp8xtb.js → ODataSelect.stories-rVZ8RYIu.js} +2 -2
- package/storybook-static/assets/{ODataTreeMultiSelect-DN0hWqto.js → ODataTreeMultiSelect-BhvUurca.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-BDDEO9n2.js → ODataTreeMultiSelect.stories-CM8wiVsI.js} +2 -2
- package/storybook-static/assets/{ODataTreeSelect-BpuPkpt_.js → ODataTreeSelect-B96PJWcL.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-Rgosfapi.js → ODataTreeSelect.stories-HHLJZrD8.js} +2 -2
- package/storybook-static/assets/{OneStepScroller-B8wmmQwf.js → OneStepScroller-DzrN3WVZ.js} +1 -1
- package/storybook-static/assets/{Option-Bdu68XEe.js → Option-BwWLsS-Q.js} +1 -1
- package/storybook-static/assets/{OptionButton-D0afktaf.js → OptionButton-CdYqQAwC.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-D_NZ5ghQ.js → PeriodSelect-CJejEx-e.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-C7DVNvsY.js → PeriodSelect-_GvgXTKk.js} +1 -1
- package/storybook-static/assets/PeriodSelect.stories-CGNmEIBG.js +50 -0
- package/storybook-static/assets/{PickerTriggerActions-ZNVb9eeZ.js → PickerTriggerActions-apA_Ruie.js} +1 -1
- package/storybook-static/assets/{Popover-CCGDNoKF.js → Popover-BYGM8Bjj.js} +2 -2
- package/storybook-static/assets/{Popover-CewYrQZr.js → Popover-CDeopGLJ.js} +1 -1
- package/storybook-static/assets/{Popover.stories-COIDcy4l.js → Popover.stories-DTeZeyAB.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-DroAaDSa.js → PresetRangeDateInput-BdFjz9Ed.js} +2 -2
- package/storybook-static/assets/{PresetRangeDateInput-DclYoHcQ.js → PresetRangeDateInput-D3FBpZqV.js} +1 -1
- package/storybook-static/assets/PresetRangeDateInput.stories-B2HCz7Tw.js +3 -0
- package/storybook-static/assets/{PresetSelect-DCGdwz-H.js → PresetSelect-BgzVe_NB.js} +1 -1
- package/storybook-static/assets/{README-C6mK2jiz.js → README-1tFUbU_N.js} +1 -1
- package/storybook-static/assets/{README-C0tHxk9e.js → README-9flk-o3B.js} +1 -1
- package/storybook-static/assets/{README-DK-nosD8.js → README-B5QVQmyU.js} +1 -1
- package/storybook-static/assets/{README-j6FF9vf5.js → README-B8dyxeZz.js} +9 -12
- package/storybook-static/assets/{README-QnKC46FO.js → README-BJEbnNWP.js} +5 -9
- package/storybook-static/assets/{README-CMRfMvBh.js → README-BRnZl0of.js} +4 -4
- package/storybook-static/assets/{README-B8PHFNI6.js → README-BSrGqFaw.js} +1 -1
- package/storybook-static/assets/{README-DWrWXc67.js → README-BTp9nnLv.js} +3 -3
- package/storybook-static/assets/{README-DFDO19TR.js → README-BUkpxX-E.js} +4 -4
- package/storybook-static/assets/{README-j4oj7GSR.js → README-Bht25HeR.js} +1 -1
- package/storybook-static/assets/{README-SM_eIjlq.js → README-Br9h1slQ.js} +4 -4
- package/storybook-static/assets/{README-Gw_kdXei.js → README-BtPehMeb.js} +4 -8
- package/storybook-static/assets/{README-BqBKX_xQ.js → README-Bv9s5Hlv.js} +4 -7
- package/storybook-static/assets/{README-BaupBcvr.js → README-C2rr_CMA.js} +1 -1
- package/storybook-static/assets/{README-B4FGWSHR.js → README-C8K3rQpu.js} +4 -4
- package/storybook-static/assets/{README-Bq8Gw9ut.js → README-CBhnA3Kz.js} +3 -3
- package/storybook-static/assets/{README-BBDVhq-F.js → README-C_uOxFAl.js} +3 -3
- package/storybook-static/assets/{README-DQ3UG1-2.js → README-CeuRBAf6.js} +1 -1
- package/storybook-static/assets/{README-B5TiIjbQ.js → README-Chc7eGGc.js} +1 -1
- package/storybook-static/assets/{README-BLXxOqWU.js → README-Cl2jxLna.js} +5 -5
- package/storybook-static/assets/{README-BoojQHna.js → README-CuYqzgi0.js} +1 -1
- package/storybook-static/assets/{README-BDEEI-me.js → README-Cuj7DFn9.js} +5 -8
- package/storybook-static/assets/{README-Db-VD9A-.js → README-CvrH-776.js} +1 -1
- package/storybook-static/assets/{README-CDO4U2L-.js → README-CxsAd0Iq.js} +1 -1
- package/storybook-static/assets/{README-DXAnOakM.js → README-DGTIYOSH.js} +3 -6
- package/storybook-static/assets/{README-C9V17f1i.js → README-DHJwCm5f.js} +14 -14
- package/storybook-static/assets/{README-eKZfcYEw.js → README-DLBEUtiL.js} +1 -1
- package/storybook-static/assets/{README-CVydkudU.js → README-DNDYDuQ4.js} +4 -8
- package/storybook-static/assets/{README-UY3fsLu_.js → README-DQSMXoRa.js} +3 -5
- package/storybook-static/assets/{README-B0LFAdG7.js → README-DSsqg62x.js} +4 -8
- package/storybook-static/assets/{README-CG7cgejD.js → README-DYKVnI5h.js} +4 -8
- package/storybook-static/assets/{README-Bemrp1iw.js → README-DZmDqmSd.js} +12 -12
- package/storybook-static/assets/{README-CbQE6RqS.js → README-DcJ05Rnh.js} +1 -1
- package/storybook-static/assets/{README-jnMsm42G.js → README-Dju2IqV_.js} +1 -1
- package/storybook-static/assets/{README-MUkRRO8C.js → README-DldTDL_-.js} +1 -1
- package/storybook-static/assets/{README-BTM8wY-Q.js → README-Dq0P8Ach.js} +3 -7
- package/storybook-static/assets/{README-BnvGfIB_.js → README-GstpCBI6.js} +1 -1
- package/storybook-static/assets/{README-Brb_uBB0.js → README-HhDoM8Gq.js} +2 -2
- package/storybook-static/assets/{README-BQng9oML.js → README-I0-Ly9-N.js} +4 -8
- package/storybook-static/assets/{README-DXgQjmDb.js → README-NwNz8xro.js} +1 -5
- package/storybook-static/assets/{README-CGv6MRmX.js → README-OGP9mnSD.js} +4 -4
- package/storybook-static/assets/{README-B2pks9-S.js → README-Se6780nc.js} +1 -1
- package/storybook-static/assets/{README-DK77wEHj.js → README-VwNH_K60.js} +1 -1
- package/storybook-static/assets/{README-Dq6K08x4.js → README-_aVIdcMd.js} +4 -4
- package/storybook-static/assets/{README-HKNlRLs4.js → README-bhX-QiSo.js} +3 -3
- package/storybook-static/assets/{README-TpwnHOuM.js → README-eqGIA1ao.js} +4 -8
- package/storybook-static/assets/{README-Cv6X1gyB.js → README-fLJ5n8A8.js} +6 -9
- package/storybook-static/assets/{README-B6bmU7Tq.js → README-g3WhSoX3.js} +3 -3
- package/storybook-static/assets/{README-CRdPVRby.js → README-m0xvi4o1.js} +1 -1
- package/storybook-static/assets/{README-CIS29z6p.js → README-mXAkjKF0.js} +1 -1
- package/storybook-static/assets/{README-BZh0P4dJ.js → README-n3wmMhlD.js} +1 -4
- package/storybook-static/assets/{README-BqpsuZii.js → README-z2leBvSk.js} +3 -3
- package/storybook-static/assets/{RadioButton-CioheQT6.js → RadioButton-DqEZ3dh2.js} +2 -2
- package/storybook-static/assets/{RadioButton-CN-1Bmu-.js → RadioButton-JEqzXOJN.js} +1 -1
- package/storybook-static/assets/RadioButton.stories-CzIM9dix.js +32 -0
- package/storybook-static/assets/{RadioGroup-CJzzJ3Fs.js → RadioGroup-COIsrK0r.js} +2 -2
- package/storybook-static/assets/{RadioGroup-CTZXoIcq.js → RadioGroup-D4EHkLTb.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-C7N9yLcN.js → RadioGroup.stories-BdAv58pJ.js} +1 -1
- package/storybook-static/assets/{Scrollable-BOTJbzkH.js → Scrollable-noVIQseX.js} +1 -1
- package/storybook-static/assets/{Select-D2yqrKAE.js → Select-9v7A23y8.js} +2 -2
- package/storybook-static/assets/{Select-CNAFGsHq.js → Select-DgPcfbEp.js} +1 -1
- package/storybook-static/assets/Select.stories-yIRnlqrF.js +69 -0
- package/storybook-static/assets/{SerializableSelect-BZBYLnHq.js → SerializableSelect-CnPwQtgN.js} +2 -2
- package/storybook-static/assets/{SerializableSelect.stories-PIYq8I5b.js → SerializableSelect.stories-9QxpRX-K.js} +2 -2
- package/storybook-static/assets/{SingleDateTimeInput-B6M2oHtl.js → SingleDateTimeInput-CxKz7tUP.js} +2 -2
- package/storybook-static/assets/{SingleDateTimeInput-D2cDr1L5.js → SingleDateTimeInput-DBrfgnnn.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput.stories-DqswDqo4.js → SingleDateTimeInput.stories-lOLyuR7U.js} +1 -1
- package/storybook-static/assets/{Slider-Cu_mMfmP.js → Slider-Cn1YHOVt.js} +1 -1
- package/storybook-static/assets/{Slider-C0fjZ3TE.js → Slider-KC0hs5nY.js} +3 -3
- package/storybook-static/assets/{Slider.stories-BcYnYgUs.js → Slider.stories-C-IjisOs.js} +1 -1
- package/storybook-static/assets/{SliderInput-D8pa0Cwh.js → SliderInput-BVDFbjAz.js} +3 -3
- package/storybook-static/assets/{SliderInput-CaaSdoql.js → SliderInput-Bz4D-xc3.js} +1 -1
- package/storybook-static/assets/{SliderInput.stories-biJs3NtU.js → SliderInput.stories-SlhRnTWN.js} +1 -1
- package/storybook-static/assets/{Sortable-wyJd-LB7.js → Sortable-d-UOB6NI.js} +2 -2
- package/storybook-static/assets/{Sortable.stories-CNW8IhRv.js → Sortable.stories-DWywtUOf.js} +1 -1
- package/storybook-static/assets/{Splitter-D0L1B9tf.js → Splitter-t2bV_zrF.js} +4 -4
- package/storybook-static/assets/{Splitter.stories-CDQGRB14.js → Splitter.stories-CTTTfgXu.js} +1 -1
- package/storybook-static/assets/{StateSelect-BaThi-59.js → StateSelect-CR5WR-IW.js} +2 -2
- package/storybook-static/assets/{StateSelect-hO1K2z4b.js → StateSelect-CX7Xf-aX.js} +1 -1
- package/storybook-static/assets/StateSelect.stories-3KkvmQ80.js +59 -0
- package/storybook-static/assets/StringToggle.stories-D7r-Du4d.js +5 -0
- package/storybook-static/assets/{Switch-DCV_mYJ2.js → Switch-DB4EZ32N.js} +1 -1
- package/storybook-static/assets/{Switch-Ct9tsisu.js → Switch-Deae3h9G.js} +2 -2
- package/storybook-static/assets/Switch.stories-CZxayDtX.js +15 -0
- package/storybook-static/assets/{Table-DaP6Qndv.js → Table-CrxyY7zt.js} +4 -4
- package/storybook-static/assets/{Table.stories-DDFcryTl.js → Table.stories-Cwxd5T2K.js} +2 -2
- package/storybook-static/assets/{Tabs-CC5Gzc7s.js → Tabs-L4LxDqx4.js} +3 -3
- package/storybook-static/assets/{Tabs.stories-B_76Da9k.js → Tabs.stories-C4XMXjqd.js} +2 -2
- package/storybook-static/assets/{TabsBox-D52IZXj5.js → TabsBox-Bnvm4jMi.js} +1 -1
- package/storybook-static/assets/{TagInput-T9Lp1amS.js → TagInput-DW0JzYQ3.js} +1 -1
- package/storybook-static/assets/TagInput.stories-zF7cV7Cp.js +18 -0
- package/storybook-static/assets/{Text-CXcCu6R8.js → Text-ByhnRSgp.js} +1 -1
- package/storybook-static/assets/{Textarea-CNl12Mkz.js → Textarea-BySrQxab.js} +2 -2
- package/storybook-static/assets/{Textarea-BlE2vGsV.js → Textarea-WtjTIiyq.js} +1 -1
- package/storybook-static/assets/Textarea.stories-jFSqX_4h.js +17 -0
- package/storybook-static/assets/{TimePanel-DKD18ldm.js → TimePanel-B-rvi-xm.js} +1 -1
- package/storybook-static/assets/TimePanel.stories-BQJruT0g.js +14 -0
- package/storybook-static/assets/{Toggle-DKNuMtMW.js → Toggle-BfRh792z.js} +2 -2
- package/storybook-static/assets/{Toggle-fqZP5j32.js → Toggle-BkglFvBx.js} +1 -1
- package/storybook-static/assets/Toggle.stories-BonTJbH-.js +25 -0
- package/storybook-static/assets/{TreeMultiSelect-B6et22Ea.js → TreeMultiSelect-7E1j6lHT.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-b4PiPTEN.js → TreeMultiSelect-CKr7kx7s.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-C_4ZpE9w.js → TreeMultiSelect.stories-DQ9N-EPu.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-BBwppLrT.js → TreePickerBase-DwoQyBMk.js} +1 -1
- package/storybook-static/assets/{TreeSelect-D4u7C0tA.js → TreeSelect-BLc7zLho.js} +1 -1
- package/storybook-static/assets/{TreeSelect-BaCD5AjF.js → TreeSelect-BP_YoVCu.js} +1 -1
- package/storybook-static/assets/TreeSelect.stories-CyurXsU_.js +32 -0
- package/storybook-static/assets/{TreeTable-CbhUffZj.js → TreeTable-wfgjChnU.js} +3 -3
- package/storybook-static/assets/{TreeTable.stories-D-x-lZkU.js → TreeTable.stories-DUBR67SN.js} +2 -2
- package/storybook-static/assets/{WithTooltip-7X4HQR7L-DQ4Qthn2.js → WithTooltip-CDUNV5IS-mFMh6Qcu.js} +2 -2
- package/storybook-static/assets/{blocks-IjspN281.js → blocks-DNj8uFSt.js} +3 -3
- package/storybook-static/assets/{check-ue9rVspp.js → check-CS2caYIB.js} +1 -1
- package/storybook-static/assets/{chevron-down-Dnk-3hJo.js → chevron-down-DXkNPvpX.js} +1 -1
- package/storybook-static/assets/{chevron-left-CaAFuWY0.js → chevron-left-5q-SFjrm.js} +1 -1
- package/storybook-static/assets/{chevron-right-CKnELL4E.js → chevron-right-u6yLjLrs.js} +1 -1
- package/storybook-static/assets/{chunk-W22LQPXL-jFAFLKOH.js → chunk-W22LQPXL-CfJGLIdy.js} +1 -1
- package/storybook-static/assets/{circle-alert-miJVMeEa.js → circle-alert-Cs1OuREv.js} +1 -1
- package/storybook-static/assets/circle-check-Cvppn-HO.js +1 -0
- package/storybook-static/assets/components-B6cPezpK.js +241 -0
- package/storybook-static/assets/{contextMenu-D8NvB0La.js → contextMenu-CX8Geuik.js} +1 -1
- package/storybook-static/assets/{defaultRenderers-DfmnIuod.js → defaultRenderers-Dinv2uRZ.js} +1 -1
- package/storybook-static/assets/{download-Cq_lr01f.js → download-DY_RFHLw.js} +1 -1
- package/storybook-static/assets/floating-ui.react-CCV40RlP.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-naPnCFLL.js} +3 -6
- package/storybook-static/assets/{foundationLib-DH2mxNct.js → foundationLib-CSxKMNQk.js} +1 -1
- package/storybook-static/assets/{hooks-BwH7Yo1F.js → hooks-CK4me-dJ.js} +1 -1
- package/storybook-static/assets/{iframe-B_6aAEqw.js → iframe-YrfSEgEg.js} +203 -203
- package/storybook-static/assets/iframe-uYND_WUi.js +1 -0
- package/storybook-static/assets/{info-BgHKckDk.js → info-BEkn6tJB.js} +1 -1
- package/storybook-static/assets/odata-j4p1dw3i.js +1 -0
- package/storybook-static/assets/odata-service-CWkHASdw-CXhFi03v.js +3 -0
- package/storybook-static/assets/{odataStoryFixtures-BiN3x4k6.js → odataStoryFixtures-B_1MKEB-.js} +1 -1
- package/storybook-static/assets/{react-18-D4o7zN8K.js → react-18-EmNFJX4V.js} +1 -1
- package/storybook-static/assets/react-BihcRTyZ.js +9 -0
- package/storybook-static/assets/{refresh-cw-Cz1Mtnwr.js → refresh-cw-uKRX7BI0.js} +1 -1
- package/storybook-static/assets/{settings-2-BUY_jI1a.js → settings-2-DTKuqR8p.js} +1 -1
- package/storybook-static/assets/{sortable-DfiDnDGH.js → sortable-sVqTZjeF.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-RwE_sP6g.js → syntaxhighlighter-QEQV7K2Y-GFZ4bA4u.js} +1 -1
- package/storybook-static/assets/theming-BgT2grXK.js +39 -0
- package/storybook-static/assets/{trash-2-Da9E4hDy.js → trash-2-C6QVfyTq.js} +1 -1
- package/storybook-static/assets/{triangle-alert-D2CpTkxC.js → triangle-alert-DKkTKSAW.js} +1 -1
- package/storybook-static/assets/{useODataSelectBase-BTVM_2wU.js → useODataSelectBase-BxPpoJje.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-BwwhT42f.js → useODataTreeData-Ct-ZR8pA.js} +1 -1
- package/storybook-static/assets/{usePickerQuery-Cug-ZpN1.js → usePickerQuery-DJMG-4Gl.js} +1 -1
- package/storybook-static/assets/{usePickerTriggerController-D3h4HqB9.js → usePickerTriggerController-DeZhyi9h.js} +1 -1
- package/storybook-static/assets/{x-ri5iHB3T.js → x-cU42PK2s.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/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/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/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/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/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/react-BoM8yiX1.js +0 -9
- package/storybook-static/assets/theming-Cvtrnj7n.js +0 -39
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-B_6aAEqw.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./InputImage-DKCC82SZ.js";var s=t({ArrayBufferMode:()=>g,Controlled:()=>m,WithInitialImage:()=>h,__namedExportsOrder:()=>_,default:()=>f}),c,l,u,d,f,p,m,h,g,_;function v(){return(v=e((()=>{r(),a(),c=n(),{useArgs:l}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:u}=__STORYBOOK_MODULE_TEST__,d=(e=`avatar.png`)=>{let t=new File([`image-demo`],e,{type:`image/png`,lastModified:17040672e5});return{mode:`data-url`,meta:{name:t.name,mime:t.type,size:t.size,lastModified:t.lastModified},dataUrl:`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAusB9YxM9a0AAAAASUVORK5CYII=`,file:t,dimensions:{width:1,height:1}}},f={title:`Shared/UI/InputImage`,component:o,args:{value:void 0,onChange:u(),readMode:`data-url`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля выбора изображения.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст до выбора изображения.`,control:`text`},value:{description:`Результат чтения выбранного изображения.`,control:!1},onChange:{description:`Вызывается после успешного чтения изображения.`,control:!1},onReadError:{description:`Вызывается при ошибке валидации или чтения изображения.`,control:!1},onClear:{description:`Очищает выбранное изображение.`,control:!1},allowedMime:{description:`Разрешенные MIME-типы изображений.`,control:!1},maxBytes:{description:`Максимальный размер изображения в байтах.`,control:`number`},readMode:{description:`Режим чтения: data-url или array-buffer.`,control:`inline-radio`,options:[`data-url`,`array-buffer`]},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Сброс ошибки при повторном выборе изображения.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер визуального контрола.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},p=i((e,t)=>(0,c.jsx)(o,{...e,onChange:n=>{e.onChange(n),t({value:n})},onClear:()=>{e.onClear?.(),t({value:void 0})},onClearError:()=>{e.onClearError?.(),t({error:void 0})}})),m={render:p,args:{label:`Аватар`,description:`Выберите одно изображение профиля.`,placeholder:`Выберите изображение`,readMode:`data-url`,allowedMime:[`image/png`,`image/jpeg`,`image/webp`],value:void 0}},h={render:function(e){let[,t]=l(),n=e.value;return(0,c.jsxs)(`div`,{style:{display:`grid`,gap:12},children:[(0,c.jsx)(o,{...e,onChange:n=>{e.onChange(n),t({value:n})},onClear:()=>{e.onClear?.(),t({value:void 0})},onClearError:()=>{e.onClearError?.(),t({error:void 0})}}),n?.mode===`data-url`&&(0,c.jsx)(`img`,{src:n.dataUrl,alt:`Предпросмотр`,style:{width:96,height:96,objectFit:`cover`,border:`1px solid var(--border-0)`}})]})},args:{label:`Изображение с предпросмотром`,description:`Сторис показывает, что значение можно использовать для preview.`,value:d()}},g={render:p,args:{label:`Двоичный режим`,description:`Используется, когда изображение нужно обработать как бинарные данные.`,readMode:`array-buffer`,value:void 0}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
render: renderInputImageStory,
|
|
3
|
-
args: {
|
|
4
|
-
label: "Аватар",
|
|
5
|
-
description: "Выберите одно изображение профиля.",
|
|
6
|
-
placeholder: "Выберите изображение",
|
|
7
|
-
readMode: "data-url",
|
|
8
|
-
allowedMime: ["image/png", "image/jpeg", "image/webp"],
|
|
9
|
-
value: undefined
|
|
10
|
-
}
|
|
11
|
-
}`,...m.parameters?.docs?.source}}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
|
|
12
|
-
render: function Render(args) {
|
|
13
|
-
const [, updateArgs] = useArgs<InputImageProps>();
|
|
14
|
-
const value = args.value;
|
|
15
|
-
return <div style={{
|
|
16
|
-
display: "grid",
|
|
17
|
-
gap: 12
|
|
18
|
-
}}>
|
|
19
|
-
<InputImage {...args} onChange={nextValue => {
|
|
20
|
-
args.onChange(nextValue);
|
|
21
|
-
updateArgs({
|
|
22
|
-
value: nextValue
|
|
23
|
-
});
|
|
24
|
-
}} onClear={() => {
|
|
25
|
-
args.onClear?.();
|
|
26
|
-
updateArgs({
|
|
27
|
-
value: undefined
|
|
28
|
-
});
|
|
29
|
-
}} onClearError={() => {
|
|
30
|
-
args.onClearError?.();
|
|
31
|
-
updateArgs({
|
|
32
|
-
error: undefined
|
|
33
|
-
});
|
|
34
|
-
}} />
|
|
35
|
-
{value?.mode === "data-url" && <img src={value.dataUrl} alt="Предпросмотр" style={{
|
|
36
|
-
width: 96,
|
|
37
|
-
height: 96,
|
|
38
|
-
objectFit: "cover",
|
|
39
|
-
border: "1px solid var(--border-0)"
|
|
40
|
-
}} />}
|
|
41
|
-
</div>;
|
|
42
|
-
},
|
|
43
|
-
args: {
|
|
44
|
-
label: "Изображение с предпросмотром",
|
|
45
|
-
description: "Сторис показывает, что значение можно использовать для preview.",
|
|
46
|
-
value: createMockReadImageResult()
|
|
47
|
-
}
|
|
48
|
-
}`,...h.parameters?.docs?.source}}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
|
|
49
|
-
render: renderInputImageStory,
|
|
50
|
-
args: {
|
|
51
|
-
label: "Двоичный режим",
|
|
52
|
-
description: "Используется, когда изображение нужно обработать как бинарные данные.",
|
|
53
|
-
readMode: "array-buffer",
|
|
54
|
-
value: undefined
|
|
55
|
-
}
|
|
56
|
-
}`,...g.parameters?.docs?.source}}},_=[`Controlled`,`WithInitialImage`,`ArrayBufferMode`]})))()}export{v as a,h as i,m as n,s as r,g as t};
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-B_6aAEqw.js";import{n as i,t as a}from"./MultiSelect-N4vTBX-X.js";var o=t({Basic:()=>p,Empty:()=>g,ErrorState:()=>h,Loading:()=>m,__namedExportsOrder:()=>_,default:()=>f}),s,c,l,u,d,f,p,m,h,g,_;function v(){return(v=e((()=>{s=n(),i(),c=r(),{useArgs:l}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:u}=__STORYBOOK_MODULE_TEST__,d=[{code:`MOW`,label:`Москва`},{code:`SPB`,label:`Санкт-Петербург`},{code:`EKB`,label:`Екатеринбург`},{code:`KZN`,label:`Казань`},{code:`NSK`,label:`Новосибирск`}],f={title:`Shared/UI/MultiSelect`,component:a,args:{label:`Города`,description:`Выберите несколько значений.`,placeholder:`Начните вводить`,value:[],onChange:u(),codeKey:`code`,textKey:`label`,items:d,query:``,onQuery:u(),onOpen:()=>{},onClose:u(),size:`md`,disabled:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под полем.`,control:`text`},placeholder:{description:`Текст пустого поля.`,control:`text`},value:{description:`Контролируемый набор выбранных option.`,control:!1},onChange:{description:`Вызывается после подтверждения набора option.`,control:!1},codeKey:{description:`Имя поля option с уникальным ключом.`,control:`text`},textKey:{description:`Имя поля option с отображаемым текстом.`,control:`text`},hideCode:{description:`Скрывает код option в токенах и списке.`,control:`boolean`},items:{description:`Набор доступных option.`,control:!1},query:{description:`Контролируемый текст поиска.`,control:`text`},defaultQuery:{description:`Начальный текст поиска в uncontrolled-режиме.`,control:`text`},highlightQuery:{description:`Текст, который подсвечивается в option.`,control:`text`},onQuery:{description:`Вызывается при вводе поисковой строки.`,control:!1},defaultFilter:{description:`Включает встроенную фильтрацию option.`,control:`boolean`},getOptionDisabled:{description:`Блокирует отдельные option с учетом текущего выбора.`,control:!1},onOpen:{description:`Вызывается при открытии списка.`,control:!1},onClose:{description:`Вызывается при закрытии списка после commit.`,control:!1},error:{description:`Текст ошибки загрузки option.`,control:`text`},isLoading:{description:`Показывает состояние загрузки option.`,control:`boolean`},renderToken:{description:`Кастомный рендер выбранных токенов.`,control:!1},renderToolbar:{description:`Кастомный рендер toolbar popup.`,control:!1},renderItem:{description:`Возвращает text, code и searchText для общей композиции OptionButton.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},p={render:function(e){let[,t]=l(),n=e.value??[d[1]],r=e.query??``,i=(0,s.useMemo)(()=>{let e=r.trim().toLowerCase();return e?d.filter(t=>t.label.toLowerCase().includes(e)||t.code.toLowerCase().includes(e)):d},[r]);return(0,c.jsx)(a,{...e,value:n,items:i,query:r,onQuery:n=>{e.onQuery?.(n),t({query:n})},onChange:n=>{e.onChange(n),t({value:n})}})}},m={render:function(e){let[,t]=l();return(0,c.jsx)(a,{...e,value:e.value??[],items:[],isLoading:!0,onChange:n=>{e.onChange(n),t({value:n})}})}},h={render:function(e){let[,t]=l();return(0,c.jsx)(a,{...e,value:e.value??[],items:[],error:`Ошибка загрузки`,onChange:n=>{e.onChange(n),t({value:n})}})}},g={render:function(e){let[,t]=l();return(0,c.jsx)(a,{...e,value:e.value??[],items:[],onChange:n=>{e.onChange(n),t({value:n})}})}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
render: function Render(args) {
|
|
3
|
-
const [, updateArgs] = useArgs<React.ComponentProps<typeof MultiSelect>>();
|
|
4
|
-
const value = args.value ?? [catalog[1]!];
|
|
5
|
-
const query = args.query ?? "";
|
|
6
|
-
const filteredItems = useMemo(() => {
|
|
7
|
-
const needle = query.trim().toLowerCase();
|
|
8
|
-
if (!needle) {
|
|
9
|
-
return catalog;
|
|
10
|
-
}
|
|
11
|
-
return catalog.filter(item => item.label.toLowerCase().includes(needle) || item.code.toLowerCase().includes(needle));
|
|
12
|
-
}, [query]);
|
|
13
|
-
return <MultiSelect {...args} value={value} items={filteredItems} query={query} onQuery={query => {
|
|
14
|
-
args.onQuery?.(query);
|
|
15
|
-
updateArgs({
|
|
16
|
-
query
|
|
17
|
-
});
|
|
18
|
-
}} onChange={value => {
|
|
19
|
-
args.onChange(value);
|
|
20
|
-
updateArgs({
|
|
21
|
-
value
|
|
22
|
-
});
|
|
23
|
-
}} />;
|
|
24
|
-
}
|
|
25
|
-
}`,...p.parameters?.docs?.source}}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
|
|
26
|
-
render: function Render(args) {
|
|
27
|
-
const [, updateArgs] = useArgs<React.ComponentProps<typeof MultiSelect>>();
|
|
28
|
-
return <MultiSelect {...args} value={args.value ?? []} items={[]} isLoading onChange={value => {
|
|
29
|
-
args.onChange(value);
|
|
30
|
-
updateArgs({
|
|
31
|
-
value
|
|
32
|
-
});
|
|
33
|
-
}} />;
|
|
34
|
-
}
|
|
35
|
-
}`,...m.parameters?.docs?.source}}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
|
|
36
|
-
render: function Render(args) {
|
|
37
|
-
const [, updateArgs] = useArgs<React.ComponentProps<typeof MultiSelect>>();
|
|
38
|
-
return <MultiSelect {...args} value={args.value ?? []} items={[]} error="Ошибка загрузки" onChange={value => {
|
|
39
|
-
args.onChange(value);
|
|
40
|
-
updateArgs({
|
|
41
|
-
value
|
|
42
|
-
});
|
|
43
|
-
}} />;
|
|
44
|
-
}
|
|
45
|
-
}`,...h.parameters?.docs?.source}}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
|
|
46
|
-
render: function Render(args) {
|
|
47
|
-
const [, updateArgs] = useArgs<React.ComponentProps<typeof MultiSelect>>();
|
|
48
|
-
return <MultiSelect {...args} value={args.value ?? []} items={[]} onChange={value => {
|
|
49
|
-
args.onChange(value);
|
|
50
|
-
updateArgs({
|
|
51
|
-
value
|
|
52
|
-
});
|
|
53
|
-
}} />;
|
|
54
|
-
}
|
|
55
|
-
}`,...g.parameters?.docs?.source}}},_=[`Basic`,`Loading`,`ErrorState`,`Empty`]})))()}export{o as a,m as i,g as n,v as o,h as r,p as t};
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-B_6aAEqw.js";import{n as r,t as i}from"./Text-CXcCu6R8.js";import{a,b as o,y as s}from"./formatters-D33Uh3si-CxrG0jsB.js";import{n as c,t as l}from"./createControlledStoryRender-BouhvX-R.js";import{n as u,t as d}from"./GridContainer-fKYgDsLl.js";import{r as f,t as p}from"./DateInput-Ceqy8_hm.js";import{i as m,n as h,r as g,t as _}from"./PeriodSelect-D_NZ5ghQ.js";var v=t({AllAllowedOptionsDisabled:()=>A,AlternativeLabels:()=>k,AutoSwitchByRange:()=>D,Controlled:()=>E,Disabled:()=>j,MonthAndYear:()=>O,__namedExportsOrder:()=>M,default:()=>w});function y(e){return e!==void 0&&o(e)?e:null}var b,x,S,C,w,T,E,D,O,k,A,j,M;function N(){return(N=e((()=>{s(),f(),c(),u(),r(),m(),h(),b=n(),{fn:x}=__STORYBOOK_MODULE_TEST__,S=[new Date(2026,2,1,0,0,0),new Date(2026,2,14,23,59,59)],C=[new Date(2026,0,1,0,0,0),new Date(2026,4,20,23,59,59)],w={title:`Shared/UI/PeriodSelect`,component:_,args:{label:`Период детализации`,description:`Выберите уровень группировки дат.`,placeholder:`Выберите период`,value:`day`,onChange:x(),presetIds:g,dateRange:S,maxDayRangeDays:31,maxWeekRangeWeeks:26,disabled:!1,size:`md`},parameters:{atomicCanvas:!0,layout:`padded`,docs:{description:{component:`Select периода детализации дат. Компонент работает с id периода и может блокировать слишком детальные варианты по переданному диапазону дат.`}}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст, когда период не выбран.`,control:`text`},value:{description:`Текущий id периода.`,control:`select`,options:g},onChange:{description:`Вызывается с id выбранного периода.`,control:!1},options:{description:"Кастомный список периодов по контракту `PeriodSelectOption`; имеет приоритет над `presetIds`, `labels` и порогами диапазона.",control:!1},labels:{description:`Частичные подписи встроенных периодов поверх канонического каталога.`,control:`object`},presetIds:{description:"Разрешенные встроенные периоды. Порядок отображения остается `day → week → month → year`.",control:`check`,options:g},dateRange:{description:`Диапазон дат, по которому вычисляются заблокированные периоды.`,control:!1},maxDayRangeDays:{description:"Максимальное количество дней, при котором доступен период `day`.",control:{type:`number`,min:1,step:1}},maxWeekRangeWeeks:{description:"Максимальное количество недель, при котором доступен период `week`.",control:{type:`number`,min:1,step:1}},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},T=l((e,t)=>{let n=y(e.dateRange),r=a(e.dateRange??null);return(0,b.jsxs)(d,{gap:`md`,children:[(0,b.jsx)(_,{...e,onChange:n=>{e.onChange(n),t({value:n})}}),(0,b.jsx)(p,{label:`Связанный диапазон дат`,placeholder:`дд.мм.гггг - дд.мм.гггг`,value:n,onChange:e=>t({dateRange:e??void 0})}),(0,b.jsxs)(i,{as:`p`,color:`secondary`,"aria-live":`polite`,children:[`Выбрано: `,(0,b.jsx)(i,{as:`code`,children:e.value??`не выбрано`}),`. Дней в диапазоне:`,` `,(0,b.jsx)(i,{as:`code`,children:r??`не задано`}),`.`]})]})}),E={name:`Контролируемый выбор`,render:T},D={name:`Автопереключение по диапазону`,args:{value:`day`,dateRange:C,maxDayRangeDays:31,maxWeekRangeWeeks:8},render:T},O={name:`Только месяцы и годы`,args:{value:`month`,presetIds:[`month`,`year`]},render:T},k={name:`Альтернативные подписи`,args:{value:`month`,labels:{day:`за день`,week:`за неделю`,month:`за месяц`,year:`за год`}},render:T},A={name:`Все разрешенные варианты недоступны`,args:{value:`day`,presetIds:[`day`,`week`],dateRange:C,maxDayRangeDays:31,maxWeekRangeWeeks:8},render:T},j={name:`Заблокированный контрол`,args:{disabled:!0,value:`week`}},E.parameters={...E.parameters,docs:{...E.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
name: "Контролируемый выбор",
|
|
3
|
-
render: renderPeriodSelectStory
|
|
4
|
-
}`,...E.parameters?.docs?.source},description:{story:"Контролируемый сценарий синхронизирует `value` и `dateRange` через Storybook args.",...E.parameters?.docs?.description}}},D.parameters={...D.parameters,docs:{...D.parameters?.docs,source:{originalSource:`{
|
|
5
|
-
name: "Автопереключение по диапазону",
|
|
6
|
-
args: {
|
|
7
|
-
value: "day",
|
|
8
|
-
dateRange: longDateRange,
|
|
9
|
-
maxDayRangeDays: 31,
|
|
10
|
-
maxWeekRangeWeeks: 8
|
|
11
|
-
},
|
|
12
|
-
render: renderPeriodSelectStory
|
|
13
|
-
}`,...D.parameters?.docs?.source},description:{story:"Длинный диапазон блокирует `day` и `week`, поэтому контрол переключает значение на ближайший доступный период.",...D.parameters?.docs?.description}}},O.parameters={...O.parameters,docs:{...O.parameters?.docs,source:{originalSource:`{
|
|
14
|
-
name: "Только месяцы и годы",
|
|
15
|
-
args: {
|
|
16
|
-
value: "month",
|
|
17
|
-
presetIds: ["month", "year"]
|
|
18
|
-
},
|
|
19
|
-
render: renderPeriodSelectStory
|
|
20
|
-
}`,...O.parameters?.docs?.source},description:{story:`Allow-list ограничивает встроенный каталог двумя крупными уровнями детализации.`,...O.parameters?.docs?.description}}},k.parameters={...k.parameters,docs:{...k.parameters?.docs,source:{originalSource:`{
|
|
21
|
-
name: "Альтернативные подписи",
|
|
22
|
-
args: {
|
|
23
|
-
value: "month",
|
|
24
|
-
labels: {
|
|
25
|
-
day: "за день",
|
|
26
|
-
week: "за неделю",
|
|
27
|
-
month: "за месяц",
|
|
28
|
-
year: "за год"
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
render: renderPeriodSelectStory
|
|
32
|
-
}`,...k.parameters?.docs?.source},description:{story:`Частичный labels override меняет формулировки встроенных вариантов,
|
|
33
|
-
сохраняя их id, порядок и ограничения доступности.`,...k.parameters?.docs?.description}}},A.parameters={...A.parameters,docs:{...A.parameters?.docs,source:{originalSource:`{
|
|
34
|
-
name: "Все разрешенные варианты недоступны",
|
|
35
|
-
args: {
|
|
36
|
-
value: "day",
|
|
37
|
-
presetIds: ["day", "week"],
|
|
38
|
-
dateRange: longDateRange,
|
|
39
|
-
maxDayRangeDays: 31,
|
|
40
|
-
maxWeekRangeWeeks: 8
|
|
41
|
-
},
|
|
42
|
-
render: renderPeriodSelectStory
|
|
43
|
-
}`,...A.parameters?.docs?.source},description:{story:`При длинном диапазоне все разрешенные варианты временно недоступны; внешний
|
|
44
|
-
controlled-id сохраняется, и после сокращения диапазона отображение восстанавливается.`,...A.parameters?.docs?.description}}},j.parameters={...j.parameters,docs:{...j.parameters?.docs,source:{originalSource:`{
|
|
45
|
-
name: "Заблокированный контрол",
|
|
46
|
-
args: {
|
|
47
|
-
disabled: true,
|
|
48
|
-
value: "week"
|
|
49
|
-
}
|
|
50
|
-
}`,...j.parameters?.docs?.source}}},M=[`Controlled`,`AutoSwitchByRange`,`MonthAndYear`,`AlternativeLabels`,`AllAllowedOptionsDisabled`,`Disabled`]})))()}export{j as a,N as c,E as i,k as n,O as o,D as r,v as s,A as t};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{a as n,i as r,r as i}from"./CalendarView-5yfJ6Sx-.js";import{n as a}from"./iframe-B_6aAEqw.js";import{n as o,t as s}from"./Text-CXcCu6R8.js";import{n as c,t as l}from"./FlexContainer-BWyPlTMB.js";import{n as u,t as d}from"./createControlledStoryRender-BouhvX-R.js";import{a as f,r as p}from"./DateRangePresetSelect-EUO5ju87.js";import{n as m,t as h}from"./PresetRangeDateInput-DclYoHcQ.js";var g=t({Default:()=>x,__namedExportsOrder:()=>S,default:()=>y}),_,v,y,b,x,S;function C(){return(C=e((()=>{n(),f(),u(),c(),o(),m(),_=a(),{fn:v}=__STORYBOOK_MODULE_TEST__,y={title:`Shared/UI/PresetRangeDateInput`,component:h,args:{label:`Диапазон дат`,placeholder:`дд.мм.гггг - дд.мм.гггг`,value:[new Date(2026,2,10,0,0,0),new Date(2026,2,10,23,59,59)],onChange:v(),presetId:`today`,onPresetIdChange:v(),referenceDate:new Date(2026,2,10,12,0,0),presetLabel:`Быстрый диапазон`,size:`md`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{presetId:{description:"Контролируемый ID выбранного быстрого пресета. `null` снимает внешний выбор.",control:`select`,options:[...p,null]},onPresetIdChange:{description:`Вызывается, когда выбор пресета меняется из-за preset или ручного диапазона.`,control:!1},referenceDate:{description:`Опорная дата для вычисления встроенных быстрых диапазонов.`,control:`date`},presetIds:{description:"Разрешённые встроенные ID пресетов, если не передан `presetOptions`.",control:`check`,options:p},presetOptions:{description:`Кастомный каталог быстрых диапазонов с функциями вычисления.`,control:!1},presetLabel:{description:`Заголовок поля быстрого выбора.`,control:`text`},presetDescription:{description:`Описание под полем быстрого выбора.`,control:`text`},presetPlaceholder:{description:`Текст до выбора быстрого диапазона.`,control:`text`},presetDisabled:{description:`Блокирует только выбор быстрого пресета.`,control:`boolean`},label:{description:`Заголовок ручного поля диапазона.`,control:`text`},description:{description:`Описание ручного поля диапазона.`,control:`text`},placeholder:{description:`Текст до выбора ручного диапазона.`,control:`text`},value:{description:`Текущий ручной диапазон дат.`,control:!1},onChange:{description:`Вызывается при изменении ручного диапазона или выборе пресета.`,control:!1},error:{description:`Текст внешней ошибки ручного поля.`,control:`text`},onClearError:{description:`Сбрасывает внешнюю ошибку после ввода или выбора.`,control:!1},minDate:{description:`Минимально доступная дата ручного диапазона.`,control:`date`},maxDate:{description:`Максимально доступная дата ручного диапазона.`,control:`date`},datePreset:{description:`Пресет форматирования выбранного ручного диапазона.`,control:`text`},datePickerLevel:{description:`Минимальный уровень навигации календаря ручного поля.`,control:`select`,options:[`day`,`month`,`year`]},selectionMode:{description:`Размер периода, который выбирает ручное поле.`,control:`select`,options:i},weekEndDay:{description:`Последний включённый день недели в режиме week.`,control:`select`,options:r},allowSelectionModeChange:{description:`Показывает runtime-переключатель размера периода.`,control:`boolean`},selectionModeOptions:{description:`Ограничивает доступные режимы в runtime-переключателе.`,control:`check`,options:i},onSelectionModeChange:{description:`Вызывается при runtime-смене размера периода.`,control:!1},disabled:{description:"Блокирует ручное поле и, если `presetDisabled` не задан, быстрый выбор.",control:`boolean`},size:{description:`Размер обоих полей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},b=d((e,t)=>(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(l,{gap:`sm`,align:`end`,children:(0,_.jsx)(h,{...e,value:e.value??null,onChange:n=>{e.onChange(n),t({value:n})},onPresetIdChange:n=>{e.onPresetIdChange?.(n),t({presetId:n})},onSelectionModeChange:n=>{e.onSelectionModeChange?.(n),t({selectionMode:n})},onClearError:()=>{e.onClearError?.(),t({error:void 0})}})}),(0,_.jsxs)(s,{as:`p`,className:`marginBlockSm`,children:[`Активный presetId: `,(0,_.jsx)(s,{as:`code`,children:e.presetId??`null`})]})]})),x={render:b},x.parameters={...x.parameters,docs:{...x.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
render: renderPresetRangeDateInputStory
|
|
3
|
-
}`,...x.parameters?.docs?.source},description:{story:`Демонстрирует совместную работу пресета и ручного диапазона.`,...x.parameters?.docs?.description}}},S=[`Default`]})))()}export{g as n,C as r,x as t};
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-IjspN281.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,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/Currency`}),`
|
|
2
|
-
`,(0,c.jsxs)(t.h1,{id:`валютные-подписи-через-ryuzaki13react-foundation-libcurrency`,children:[`Валютные подписи через `,(0,c.jsx)(t.code,{children:`@ryuzaki13/react-foundation-lib/currency`})]}),`
|
|
3
|
-
`,(0,c.jsxs)(t.p,{children:[`Модуль связывает общий OData-параметр `,(0,c.jsx)(t.code,{children:`p_curr`}),` с отображаемой подписью показателя. Он определяет один из двух режимов валюты и добавляет соответствующий суффикс к label.`]}),`
|
|
4
|
-
`,(0,c.jsx)(t.h2,{id:`содержание`,children:`Содержание`}),`
|
|
5
|
-
`,(0,c.jsxs)(t.ul,{children:[`
|
|
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`,children:`Назначение`})}),`
|
|
7
|
-
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82`,children:`Установка и импорт`})}),`
|
|
8
|
-
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#currencymode`,children:(0,c.jsx)(t.code,{children:`CurrencyMode`})})}),`
|
|
9
|
-
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#resolvecurrencymodefromodataparameters`,children:(0,c.jsx)(t.code,{children:`resolveCurrencyModeFromODataParameters`})})}),`
|
|
10
|
-
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#resolvecurrencyawarelabel`,children:(0,c.jsx)(t.code,{children:`resolveCurrencyAwareLabel`})})}),`
|
|
11
|
-
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D1%8B%D0%B9-pipeline`,children:`Готовый pipeline`})}),`
|
|
12
|
-
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#%D0%BE%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%B5%D0%BD%D0%B8%D1%8F-%D0%B8-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8`,children:`Ограничения и ошибки`})}),`
|
|
13
|
-
`,(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:`#api-%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA`,children:`API-справочник`})}),`
|
|
14
|
-
`]}),`
|
|
15
|
-
`,(0,c.jsx)(t.h2,{id:`назначение`,children:`Назначение`}),`
|
|
16
|
-
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-text`,children:`wrapped OData params
|
|
17
|
-
{ p_curr: { value: true } }
|
|
18
|
-
│
|
|
19
|
-
▼
|
|
20
|
-
CurrencyMode "rub"
|
|
21
|
-
│
|
|
22
|
-
▼
|
|
23
|
-
"Выручка" + ["за тн", "руб/тн"]
|
|
24
|
-
│
|
|
25
|
-
▼
|
|
26
|
-
"Выручка руб/тн"
|
|
27
|
-
`})}),`
|
|
28
|
-
`,(0,c.jsxs)(t.p,{children:[`Модуль не форматирует денежное число, не конвертирует валюту и не строит OData query. Для чисел используйте `,(0,c.jsx)(t.code,{children:`/formatters`}),`, для OData params — `,(0,c.jsx)(t.code,{children:`/odata-service`}),`.`]}),`
|
|
29
|
-
`,(0,c.jsx)(t.h2,{id:`установка-и-импорт`,children:`Установка и импорт`}),`
|
|
30
|
-
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { resolveCurrencyAwareLabel, resolveCurrencyModeFromODataParameters } from "@ryuzaki13/react-foundation-lib/currency";
|
|
31
|
-
|
|
32
|
-
import type { CurrencyMode } from "@ryuzaki13/react-foundation-lib/currency";
|
|
33
|
-
`})}),`
|
|
34
|
-
`,(0,c.jsxs)(t.p,{children:[`Модуль ESM, не требует React или browser API. Параметры должны иметь публичную wrapped-форму из `,(0,c.jsx)(t.code,{children:`/odata-service`}),`.`]}),`
|
|
35
|
-
`,(0,c.jsx)(t.h2,{id:`currencymode`,children:(0,c.jsx)(t.code,{children:`CurrencyMode`})}),`
|
|
36
|
-
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`type CurrencyMode = "internal" | "rub";
|
|
37
|
-
`})}),`
|
|
38
|
-
`,(0,c.jsxs)(t.ul,{children:[`
|
|
39
|
-
`,(0,c.jsxs)(t.li,{children:[(0,c.jsx)(t.code,{children:`internal`}),` — внутренний режим;`]}),`
|
|
40
|
-
`,(0,c.jsxs)(t.li,{children:[(0,c.jsx)(t.code,{children:`rub`}),` — рублёвый режим.`]}),`
|
|
41
|
-
`]}),`
|
|
42
|
-
`,(0,c.jsxs)(t.p,{children:[(0,c.jsx)(t.code,{children:`null`}),` используется resolver-функцией, когда режим определить нельзя.`]}),`
|
|
43
|
-
`,(0,c.jsx)(t.h2,{id:`resolvecurrencymodefromodataparameters`,children:(0,c.jsx)(t.code,{children:`resolveCurrencyModeFromODataParameters`})}),`
|
|
44
|
-
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`const mode = resolveCurrencyModeFromODataParameters(params);
|
|
45
|
-
`})}),`
|
|
46
|
-
`,(0,c.jsxs)(t.p,{children:[`Функция читает только собственное поле `,(0,c.jsx)(t.code,{children:`p_curr.value`}),`:`]}),`
|
|
47
|
-
`,(0,c.jsxs)(t.table,{children:[(0,c.jsx)(t.thead,{children:(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.th,{children:`Вход`}),(0,c.jsx)(t.th,{children:`Результат`})]})}),(0,c.jsxs)(t.tbody,{children:[(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:`параметров нет`}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`null`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsxs)(t.td,{children:[`поля `,(0,c.jsx)(t.code,{children:`p_curr`}),` нет`]}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`null`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`{ p_curr: { value: false } }`})}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`"internal"`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`{ p_curr: { value: true } }`})}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`"rub"`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`{ p_curr: { value: "true" } }`})}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`null`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`{ p_curr: { value: 1 } }`})}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`null`})})]})]})]}),`
|
|
48
|
-
`,(0,c.jsxs)(t.p,{children:[`Строка `,(0,c.jsx)(t.code,{children:`"true"`}),` намеренно не приводится к boolean. Нормализуйте внешний payload на OData boundary, а не внутри UI label.`]}),`
|
|
49
|
-
`,(0,c.jsxs)(t.p,{children:[`Пример с helper `,(0,c.jsx)(t.code,{children:`/odata-service`}),`:`]}),`
|
|
50
|
-
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`import { wrapODataParams } from "@ryuzaki13/react-foundation-lib/odata-service";
|
|
51
|
-
|
|
52
|
-
const params = wrapODataParams({ p_curr: true });
|
|
53
|
-
const mode = resolveCurrencyModeFromODataParameters(params);
|
|
54
|
-
// "rub".
|
|
55
|
-
`})}),`
|
|
56
|
-
`,(0,c.jsx)(t.h2,{id:`resolvecurrencyawarelabel`,children:(0,c.jsx)(t.code,{children:`resolveCurrencyAwareLabel`})}),`
|
|
57
|
-
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`const label = resolveCurrencyAwareLabel("Выручка", ["за тн", "руб/тн"], "rub");
|
|
58
|
-
// "Выручка руб/тн".
|
|
59
|
-
`})}),`
|
|
60
|
-
`,(0,c.jsxs)(t.p,{children:[`Пара `,(0,c.jsx)(t.code,{children:`currencyLabels`}),` имеет фиксированный смысл:`]}),`
|
|
61
|
-
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`readonly[(internalLabel, rubLabel)];
|
|
62
|
-
`})}),`
|
|
63
|
-
`,(0,c.jsxs)(t.table,{children:[(0,c.jsx)(t.thead,{children:(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.th,{children:`Mode`}),(0,c.jsx)(t.th,{style:{textAlign:`right`},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:`internal`})}),(0,c.jsx)(t.td,{style:{textAlign:`right`},children:`0`})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`rub`})}),(0,c.jsx)(t.td,{style:{textAlign:`right`},children:`1`})]})]})]}),`
|
|
64
|
-
`,(0,c.jsx)(t.p,{children:`Точные правила:`}),`
|
|
65
|
-
`,(0,c.jsxs)(t.ul,{children:[`
|
|
66
|
-
`,(0,c.jsxs)(t.li,{children:[`без `,(0,c.jsx)(t.code,{children:`currencyLabels`}),` возвращается исходный `,(0,c.jsx)(t.code,{children:`label`}),`;`]}),`
|
|
67
|
-
`,(0,c.jsxs)(t.li,{children:[`при `,(0,c.jsx)(t.code,{children:`null`}),`/`,(0,c.jsx)(t.code,{children:`undefined`}),` mode возвращается исходный `,(0,c.jsx)(t.code,{children:`label`}),`;`]}),`
|
|
68
|
-
`,(0,c.jsxs)(t.li,{children:[`суффикс обрезается через `,(0,c.jsx)(t.code,{children:`trim()`}),`;`]}),`
|
|
69
|
-
`,(0,c.jsx)(t.li,{children:`пустой суффикс не добавляется;`}),`
|
|
70
|
-
`,(0,c.jsx)(t.li,{children:`обычно между label и суффиксом добавляется один пробел;`}),`
|
|
71
|
-
`,(0,c.jsx)(t.li,{children:`если обрезанный суффикс начинается с запятой, дополнительный пробел не добавляется.`}),`
|
|
72
|
-
`]}),`
|
|
73
|
-
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`resolveCurrencyAwareLabel("Выручка", [", за тн", ", руб/тн"], "rub");
|
|
74
|
-
// "Выручка, руб/тн".
|
|
75
|
-
|
|
76
|
-
resolveCurrencyAwareLabel("Выручка", ["", " "], "rub");
|
|
77
|
-
// "Выручка".
|
|
78
|
-
`})}),`
|
|
79
|
-
`,(0,c.jsxs)(t.p,{children:[`Исходный `,(0,c.jsx)(t.code,{children:`label`}),` не обрезается и не нормализуется.`]}),`
|
|
80
|
-
`,(0,c.jsx)(t.h2,{id:`готовый-pipeline`,children:`Готовый pipeline`}),`
|
|
81
|
-
`,(0,c.jsx)(t.pre,{children:(0,c.jsx)(t.code,{className:`language-ts`,children:`function buildMetricLabel(
|
|
82
|
-
baseLabel: string,
|
|
83
|
-
currencyLabels: readonly [string, string] | undefined,
|
|
84
|
-
params: WrappedODataParameters | undefined
|
|
85
|
-
) {
|
|
86
|
-
const mode = resolveCurrencyModeFromODataParameters(params);
|
|
87
|
-
return resolveCurrencyAwareLabel(baseLabel, currencyLabels, mode);
|
|
88
|
-
}
|
|
89
|
-
`})}),`
|
|
90
|
-
`,(0,c.jsx)(t.p,{children:`Resolver чистый: одинаковый вход даёт одинаковую строку и не меняет params/labels.`}),`
|
|
91
|
-
`,(0,c.jsx)(t.h2,{id:`ограничения-и-ошибки`,children:`Ограничения и ошибки`}),`
|
|
92
|
-
`,(0,c.jsxs)(t.ul,{children:[`
|
|
93
|
-
`,(0,c.jsxs)(t.li,{children:[`Поддерживается только параметр с точным id `,(0,c.jsx)(t.code,{children:`p_curr`}),`.`]}),`
|
|
94
|
-
`,(0,c.jsxs)(t.li,{children:[`Поддерживаются только два режима; код валюты `,(0,c.jsx)(t.code,{children:`USD`}),`, `,(0,c.jsx)(t.code,{children:`EUR`}),` и exchange rate не обрабатываются.`]}),`
|
|
95
|
-
`,(0,c.jsx)(t.li,{children:`Функция не проверяет грамматику и единицы измерения.`}),`
|
|
96
|
-
`,(0,c.jsxs)(t.li,{children:[`Запятая должна входить в сам суффикс, если нужна форма `,(0,c.jsx)(t.code,{children:`"Выручка, руб"`}),`.`]}),`
|
|
97
|
-
`,(0,c.jsxs)(t.li,{children:[`Не передавайте плоский `,(0,c.jsx)(t.code,{children:`{ p_curr: true }`}),`: ожидается `,(0,c.jsx)(t.code,{children:`{ p_curr: { value: true } }`}),`.`]}),`
|
|
98
|
-
`,(0,c.jsx)(t.li,{children:`Не используйте label helper для финансовых вычислений.`}),`
|
|
99
|
-
`]}),`
|
|
100
|
-
`,(0,c.jsx)(t.h2,{id:`api-справочник`,children:`API-справочник`}),`
|
|
101
|
-
`,(0,c.jsxs)(t.table,{children:[(0,c.jsx)(t.thead,{children:(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.th,{children:`Export`}),(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:`CurrencyMode`})}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`"internal" | "rub"`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`resolveCurrencyModeFromODataParameters`})}),(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`CurrencyMode | null`})})]}),(0,c.jsxs)(t.tr,{children:[(0,c.jsx)(t.td,{children:(0,c.jsx)(t.code,{children:`resolveCurrencyAwareLabel`})}),(0,c.jsx)(t.td,{children:`Итоговая display-строка`})]})]})]})]})}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,32 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r,t as i}from"./RadioButton-CN-1Bmu-.js";import{n as a}from"./iframe-B_6aAEqw.js";import{n as o,t as s}from"./createControlledStoryRender-BouhvX-R.js";var c=t({Controlled:()=>p,Disabled:()=>h,Group:()=>m,__namedExportsOrder:()=>g,default:()=>f}),l,u,d,f,p,m,h,g;function _(){return(_=e((()=>{l=n(),o(),r(),u=a(),d=s((e,t)=>(0,u.jsx)(i,{...e,value:e.value??!1,onChange:n=>{e.onChange?.(n),t({value:n})}})),f={title:`Shared/UI/RadioButton`,component:i,args:{value:!1,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст подписи радиокнопки.`,control:`text`},description:{description:`Дополнительное описание под элементом.`,control:`text`},placeholder:{description:"Резервная подпись, если `label` не задан.",control:`text`},value:{description:`Признак выбранного состояния.`,control:`boolean`},onChange:{description:`Вызывается при изменении выбранности.`,control:!1},disabled:{description:`Блокирует взаимодействие.`,control:`boolean`},size:{description:`Размер визуального контрола и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},tone:{description:`Цветовой тон радиокнопки.`,control:`inline-radio`,options:[`neutral`,`brand`,`error`,`warning`,`success`,`info`]}}},p={render:d,args:{label:`Выбрать опцию`,description:`Одиночная радиокнопка в controlled-режиме.`,value:!1,tone:`neutral`}},m={render:()=>{let[e,t]=(0,l.useState)(`email`);return(0,u.jsxs)(`div`,{role:`radiogroup`,"aria-label":`Канал уведомлений`,style:{display:`grid`,gap:12},children:[(0,u.jsx)(i,{name:`notification-channel`,label:`Email`,value:e===`email`,onChange:e=>e&&t(`email`),tone:`info`}),(0,u.jsx)(i,{name:`notification-channel`,label:`SMS`,value:e===`sms`,onChange:e=>e&&t(`sms`),tone:`info`})]})},args:{value:void 0}},h={render:d,args:{label:`Недоступная опция`,description:`Заблокировано политикой конфигурации.`,value:!0,disabled:!0,tone:`neutral`}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
render: renderRadioButtonStory,
|
|
3
|
-
args: {
|
|
4
|
-
label: "Выбрать опцию",
|
|
5
|
-
description: "Одиночная радиокнопка в controlled-режиме.",
|
|
6
|
-
value: false,
|
|
7
|
-
tone: "neutral"
|
|
8
|
-
}
|
|
9
|
-
}`,...p.parameters?.docs?.source}}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
|
|
10
|
-
render: () => {
|
|
11
|
-
const [selected, setSelected] = useState<"email" | "sms">("email");
|
|
12
|
-
return <div role="radiogroup" aria-label="Канал уведомлений" style={{
|
|
13
|
-
display: "grid",
|
|
14
|
-
gap: 12
|
|
15
|
-
}}>
|
|
16
|
-
<RadioButton name="notification-channel" label="Email" value={selected === "email"} onChange={checked => checked && setSelected("email")} tone="info" />
|
|
17
|
-
<RadioButton name="notification-channel" label="SMS" value={selected === "sms"} onChange={checked => checked && setSelected("sms")} tone="info" />
|
|
18
|
-
</div>;
|
|
19
|
-
},
|
|
20
|
-
args: {
|
|
21
|
-
value: undefined
|
|
22
|
-
}
|
|
23
|
-
}`,...m.parameters?.docs?.source}}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
|
|
24
|
-
render: renderRadioButtonStory,
|
|
25
|
-
args: {
|
|
26
|
-
label: "Недоступная опция",
|
|
27
|
-
description: "Заблокировано политикой конфигурации.",
|
|
28
|
-
value: true,
|
|
29
|
-
disabled: true,
|
|
30
|
-
tone: "neutral"
|
|
31
|
-
}
|
|
32
|
-
}`,...h.parameters?.docs?.source}}},g=[`Controlled`,`Group`,`Disabled`]})))()}export{_ as a,c as i,h as n,m as r,p as t};
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-B_6aAEqw.js";import{n as i,t as a}from"./Select-CNAFGsHq.js";var o=t({ControlledObjects:()=>m,CustomOptionLayout:()=>v,Disabled:()=>y,GroupedOptions:()=>_,Placeholder:()=>g,PrimitiveOptions:()=>h,__namedExportsOrder:()=>b,default:()=>p}),s,c,l,u,d,f,p,m,h,g,_,v,y,b;function x(){return(x=e((()=>{s=n(),i(),c=r(),{useArgs:l}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:u}=__STORYBOOK_MODULE_TEST__,d=[{id:1,name:`Отдел продаж`,code:`SLS`,manager:`Елена Миронова`,direction:`Коммерческий блок`},{id:2,name:`Закупки`,code:`PRC`,manager:`Антон Мелихов`,direction:`Коммерческий блок`},{id:3,name:`Логистика`,code:`LGS`,manager:`Мария Климова`,direction:`Операционный блок`,disabled:!0},{id:4,name:`Поддержка клиентов`,code:`SUP`,manager:`Ирина Белова`,direction:`Операционный блок`}],f=[`Новый`,`В работе`,`Завершён`,`Архив`],p={title:`Shared/UI/Select`,component:a,args:{label:`Подразделение`,description:`Выберите подразделение из списка.`,placeholder:`Не выбрано`,value:void 0,options:d,onChange:u(),getOptionKey:e=>e.id,getOptionLabel:e=>e.name,getOptionCode:e=>e.code,getOptionDisabled:e=>e.disabled??!1,size:`md`},parameters:{atomicCanvas:!0,layout:`padded`,docs:{description:{component:`Низкоуровневый getter-based select. Подходит для произвольных структур данных, примитивов и сложного кастомного рендера. Компонент возвращает наружу саму выбранную option. Для сериализуемых конфигов и сценариев с optionKey/optionLabel используйте SerializableSelect.`}}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст, когда значение ещё не выбрано.`,control:`text`},value:{description:`Текущая выбранная option целиком.`,control:!1},options:{description:`Массив опций любого поддерживаемого формата.`,control:!1},onChange:{description:`Вызывается с выбранной option.`,control:!1},getOptionKey:{description:`Функция получения уникального ключа option.`,control:!1},getOptionLabel:{description:`Функция получения основного текста option.`,control:!1},getOptionCode:{description:`Опциональный рендер дополнительного кода справа.`,control:!1},getOptionDisabled:{description:`Опциональная функция блокировки отдельных option.`,control:!1},getOptionAriaLabel:{description:`Опциональная функция для aria-label option.`,control:!1},getOptionGroup:{description:`Опциональная функция, которая объединяет соседние option под доступным заголовком группы.`,control:!1},getOptionClassName:{description:`Опциональная функция CSS-класса option по её состоянию.`,control:!1},renderOption:{description:`Полностью кастомный рендер option в списке.`,control:!1},renderValue:{description:`Кастомный рендер выбранного значения в кнопке.`,control:!1},optionsMaxWidth:{description:`Максимальная ширина выпадающего списка в любом допустимом CSS-формате.`,control:`text`},buttonClassName:{description:`Класс trigger-кнопки Select без изменения корневого контейнера.`,control:`text`},optionsClassName:{description:`Класс popup со списком option.`,control:`text`},optionsContentClassName:{description:`Класс области содержимого popup, например для особой плотности списка.`,control:`text`},searchable:{description:`Включает поиск по option в trigger-поле.`,control:`boolean`},query:{description:`Контролируемый текст поиска.`,control:`text`},defaultQuery:{description:`Начальный текст поиска в uncontrolled-режиме.`,control:`text`},onQuery:{description:`Вызывается при вводе поисковой строки.`,control:!1},defaultFilter:{description:`Включает встроенную фильтрацию option.`,control:`boolean`},renderPopupHeader:{description:`Дополнительное содержимое над списком option.`,control:!1},emptyState:{description:`Содержимое при пустом списке option.`,control:!1},loadingState:{description:`Содержимое при загрузке option.`,control:!1},errorState:{description:`Содержимое при ошибке загрузки option.`,control:!1},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},placement:{description:`Позиционирование выпадающего списка.`,control:`select`,options:[`bottom-start`,`bottom-end`,`top-start`,`top-end`]},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},clearable:{description:`Показывает действие очистки выбранной option.`,control:`boolean`}}},m={name:`Объекты`,render:function(e){let[,t]=l();return(0,c.jsx)(a,{...e,value:e.value??d[1],onChange:n=>{e.onChange(n),t({value:n})}})},args:{value:d[1]}},h={name:`Примитивы`,render:()=>{let[e,t]=(0,s.useState)(f[1]);return(0,c.jsx)(a,{label:`Статус`,description:`Пример использования низкоуровневого Select со строковыми значениями.`,placeholder:`Выберите статус`,options:f,value:e,onChange:t,getOptionKey:e=>e,getOptionLabel:e=>e,size:`md`})}},g={render:function(e){let[,t]=l();return(0,c.jsx)(a,{...e,onChange:n=>{e.onChange(n),t({value:n})}})}},_={name:`Группированные опции`,render:function(e){let[,t]=l();return(0,c.jsx)(a,{...e,onChange:n=>{e.onChange(n),t({value:n})},getOptionGroup:e=>({key:e.direction,label:e.direction}),optionsMaxWidth:`40rem`})}},v={name:`Кастомный рендер`,render:function(e){let[,t]=l();return(0,c.jsx)(a,{...e,value:e.value??d[0],onChange:n=>{e.onChange(n),t({value:n})},renderValue:e=>`${e.code} · ${e.name}`,renderOption:(e,t)=>(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(`div`,{className:`flexEllipsis`,children:[(0,c.jsx)(`div`,{children:e.name}),(0,c.jsx)(`div`,{className:`fontSizeSm content2`,children:e.manager})]}),(0,c.jsx)(`div`,{style:{opacity:t.selected?1:.5},children:e.code})]})})}},y={args:{disabled:!0,value:d[0]}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
name: "Объекты",
|
|
3
|
-
render: function Render(args) {
|
|
4
|
-
const [, updateArgs] = useArgs<SelectProps<DepartmentOption>>();
|
|
5
|
-
return <Select {...args} value={args.value ?? departmentOptions[1]} onChange={value => {
|
|
6
|
-
args.onChange(value);
|
|
7
|
-
updateArgs({
|
|
8
|
-
value
|
|
9
|
-
});
|
|
10
|
-
}} />;
|
|
11
|
-
},
|
|
12
|
-
args: {
|
|
13
|
-
value: departmentOptions[1]
|
|
14
|
-
}
|
|
15
|
-
}`,...m.parameters?.docs?.source}}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
|
|
16
|
-
name: "Примитивы",
|
|
17
|
-
render: () => {
|
|
18
|
-
const [value, setValue] = useState<(typeof primitiveOptions)[number] | undefined>(primitiveOptions[1]);
|
|
19
|
-
return <Select label="Статус" description="Пример использования низкоуровневого Select со строковыми значениями." placeholder="Выберите статус" options={primitiveOptions} value={value} onChange={setValue} getOptionKey={option => option} getOptionLabel={option => option} size="md" />;
|
|
20
|
-
}
|
|
21
|
-
}`,...h.parameters?.docs?.source}}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
|
|
22
|
-
render: function Render(args) {
|
|
23
|
-
const [, updateArgs] = useArgs<SelectProps<DepartmentOption>>();
|
|
24
|
-
return <Select {...args} onChange={value => {
|
|
25
|
-
args.onChange(value);
|
|
26
|
-
updateArgs({
|
|
27
|
-
value
|
|
28
|
-
});
|
|
29
|
-
}} />;
|
|
30
|
-
}
|
|
31
|
-
}`,...g.parameters?.docs?.source}}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
|
|
32
|
-
name: "Группированные опции",
|
|
33
|
-
render: function Render(args) {
|
|
34
|
-
const [, updateArgs] = useArgs<SelectProps<DepartmentOption>>();
|
|
35
|
-
return <Select {...args} onChange={value => {
|
|
36
|
-
args.onChange(value);
|
|
37
|
-
updateArgs({
|
|
38
|
-
value
|
|
39
|
-
});
|
|
40
|
-
}} getOptionGroup={option => ({
|
|
41
|
-
key: option.direction,
|
|
42
|
-
label: option.direction
|
|
43
|
-
})} optionsMaxWidth="40rem" />;
|
|
44
|
-
}
|
|
45
|
-
}`,..._.parameters?.docs?.source}}},v.parameters={...v.parameters,docs:{...v.parameters?.docs,source:{originalSource:`{
|
|
46
|
-
name: "Кастомный рендер",
|
|
47
|
-
render: function Render(args) {
|
|
48
|
-
const [, updateArgs] = useArgs<SelectProps<DepartmentOption>>();
|
|
49
|
-
return <Select {...args} value={args.value ?? departmentOptions[0]} onChange={value => {
|
|
50
|
-
args.onChange(value);
|
|
51
|
-
updateArgs({
|
|
52
|
-
value
|
|
53
|
-
});
|
|
54
|
-
}} renderValue={option => \`\${option.code} · \${option.name}\`} renderOption={(option, state) => <>
|
|
55
|
-
<div className="flexEllipsis">
|
|
56
|
-
<div>{option.name}</div>
|
|
57
|
-
<div className="fontSizeSm content2">{option.manager}</div>
|
|
58
|
-
</div>
|
|
59
|
-
<div style={{
|
|
60
|
-
opacity: state.selected ? 1 : 0.5
|
|
61
|
-
}}>{option.code}</div>
|
|
62
|
-
</>} />;
|
|
63
|
-
}
|
|
64
|
-
}`,...v.parameters?.docs?.source}}},y.parameters={...y.parameters,docs:{...y.parameters?.docs,source:{originalSource:`{
|
|
65
|
-
args: {
|
|
66
|
-
disabled: true,
|
|
67
|
-
value: departmentOptions[0]
|
|
68
|
-
}
|
|
69
|
-
}`,...y.parameters?.docs?.source}}},b=[`ControlledObjects`,`PrimitiveOptions`,`Placeholder`,`GroupedOptions`,`CustomOptionLayout`,`Disabled`]})))()}export{g as a,x as c,_ as i,v as n,h as o,y as r,o as s,m as t};
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n,t as r}from"./circle-check-CNYBjmqs.js";import{i,n as a,r as o,t as s}from"./info-BgHKckDk.js";import{n as c,t as l}from"./triangle-alert-D2CpTkxC.js";import{i as u,n as d,r as f}from"./iframe-B_6aAEqw.js";import{n as p,t as m}from"./StateSelect-hO1K2z4b.js";var h,g;function _(){return(_=e((()=>{u(),h=[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}]],g=f(`circle-minus`,h)})))()}var v=t({Controlled:()=>C,PaletteOnly:()=>T,WithMeta:()=>w,__namedExportsOrder:()=>E,default:()=>S}),y,b,x,S,C,w,T,E;function D(){return(D=e((()=>{c(),n(),a(),_(),i(),p(),y=d(),{useArgs:b}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:x}=__STORYBOOK_MODULE_TEST__,S={title:`Shared/UI/StateSelect`,component:m,args:{label:`Состояние`,description:`Выберите визуальный статус.`,placeholder:`Выберите значение`,value:`information`,onChange:x(),disabled:!1,size:`md`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля выбора состояния.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст, когда значение не выбрано.`,control:`text`},value:{description:`Текущее состояние.`,control:`select`,options:[``,`none`,`information`,`success`,`warning`,`error`]},onChange:{description:`Вызывается при выборе состояния.`,control:!1},options:{description:`Кастомный набор доступных состояний.`,control:!1},stateMeta:{description:`Кастомные иконки и подписи для значений.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},clearable:{description:`Показывает действие очистки выбранного состояния.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},C={render:function(e){let[,t]=b();return(0,y.jsx)(m,{...e,value:e.value??`information`,onChange:n=>{e.onChange(n),t({value:n})}})}},w={render:function(e){let[,t]=b();return(0,y.jsx)(m,{...e,value:e.value??`warning`,onChange:n=>{e.onChange(n),t({value:n})},stateMeta:{none:{label:`Без статуса`,icon:(0,y.jsx)(g,{})},information:{label:`Инфо`,icon:(0,y.jsx)(s,{})},success:{label:`Успех`,icon:(0,y.jsx)(r,{})},warning:{label:`Предупреждение`,icon:(0,y.jsx)(l,{})},error:{label:`Ошибка`,icon:(0,y.jsx)(o,{})}}})},args:{value:`warning`}},T={render:function(e){let[,t]=b();return(0,y.jsx)(m,{...e,value:e.value??`none`,onChange:n=>{e.onChange(n),t({value:n})},options:[`none`,`success`,`error`]})},args:{options:[`none`,`success`,`error`],value:`none`}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
render: function Render(args) {
|
|
3
|
-
const [, updateArgs] = useArgs<StateSelectProps>();
|
|
4
|
-
return <StateSelect {...args} value={args.value ?? "information"} onChange={value => {
|
|
5
|
-
args.onChange(value);
|
|
6
|
-
updateArgs({
|
|
7
|
-
value
|
|
8
|
-
});
|
|
9
|
-
}} />;
|
|
10
|
-
}
|
|
11
|
-
}`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
|
|
12
|
-
render: function Render(args) {
|
|
13
|
-
const [, updateArgs] = useArgs<StateSelectProps>();
|
|
14
|
-
return <StateSelect {...args} value={args.value ?? "warning"} onChange={value => {
|
|
15
|
-
args.onChange(value);
|
|
16
|
-
updateArgs({
|
|
17
|
-
value
|
|
18
|
-
});
|
|
19
|
-
}} stateMeta={{
|
|
20
|
-
none: {
|
|
21
|
-
label: "Без статуса",
|
|
22
|
-
icon: <MinusCircleIcon />
|
|
23
|
-
},
|
|
24
|
-
information: {
|
|
25
|
-
label: "Инфо",
|
|
26
|
-
icon: <InfoIcon />
|
|
27
|
-
},
|
|
28
|
-
success: {
|
|
29
|
-
label: "Успех",
|
|
30
|
-
icon: <CheckCircle2Icon />
|
|
31
|
-
},
|
|
32
|
-
warning: {
|
|
33
|
-
label: "Предупреждение",
|
|
34
|
-
icon: <AlertTriangleIcon />
|
|
35
|
-
},
|
|
36
|
-
error: {
|
|
37
|
-
label: "Ошибка",
|
|
38
|
-
icon: <XCircleIcon />
|
|
39
|
-
}
|
|
40
|
-
}} />;
|
|
41
|
-
},
|
|
42
|
-
args: {
|
|
43
|
-
value: "warning"
|
|
44
|
-
}
|
|
45
|
-
}`,...w.parameters?.docs?.source}}},T.parameters={...T.parameters,docs:{...T.parameters?.docs,source:{originalSource:`{
|
|
46
|
-
render: function Render(args) {
|
|
47
|
-
const [, updateArgs] = useArgs<StateSelectProps>();
|
|
48
|
-
return <StateSelect {...args} value={args.value ?? "none"} onChange={value => {
|
|
49
|
-
args.onChange(value);
|
|
50
|
-
updateArgs({
|
|
51
|
-
value
|
|
52
|
-
});
|
|
53
|
-
}} options={["none", "success", "error"]} />;
|
|
54
|
-
},
|
|
55
|
-
args: {
|
|
56
|
-
options: ["none", "success", "error"],
|
|
57
|
-
value: "none"
|
|
58
|
-
}
|
|
59
|
-
}`,...T.parameters?.docs?.source}}},E=[`Controlled`,`WithMeta`,`PaletteOnly`]})))()}export{D as a,w as i,T as n,v as r,C as t};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.js";import{n,t as r}from"./Toggle-fqZP5j32.js";function i(e,t){return typeof e==`string`?e:t}var a,o;function s(){return(s=e((()=>{a=`true`,o=`false`})))()}function c({value:e,onChange:t,checkedValue:n,uncheckedValue:s,defaultChecked:c,...u}){let d=i(n,a),f=i(s,o),p=e===d;return(0,l.jsx)(r,{...u,value:p,onChange:e=>t(e?d:f)})}var l;function u(){return(u=e((()=>{s(),n(),l=t(),c.__docgenInfo={description:`Адаптирует boolean-состояние Toggle к паре настраиваемых строковых значений.`,methods:[],displayName:`StringToggle`,props:{checkedValue:{required:!1,tsType:{name:`string`},description:``},uncheckedValue:{required:!1,tsType:{name:`string`},description:``},value:{required:!0,tsType:{name:`string`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``}}}})))()}function d({args:e}){let[,t]=p();return(0,f.jsx)(c,{...e,onChange:n=>{e.onChange(n),t({value:n})}})}var f,p,m,h,g;function _(){return(_=e((()=>{u(),f=t(),{useArgs:p}=__STORYBOOK_MODULE_PREVIEW_API__,m={title:`Shared/UI/Toggle/StringToggle`,component:c,args:{value:`ZBP_MANAGER`,onChange:()=>void 0,checkedText:`за клиента`,uncheckedText:`за сделку`,checkedValue:`ZM_MANAGER`,uncheckedValue:`ZBP_MANAGER`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст подписи переключателя.`,control:`text`},description:{description:`Описание под переключателем.`,control:`text`},placeholder:{description:"Резервная подпись, если `label` не задан.",control:`text`},value:{description:`Текущее строковое значение.`,control:`text`},onChange:{description:`Возвращает строку выбранного состояния.`,control:!1},checkedValue:{description:`Значение включённого состояния.`,control:`text`},uncheckedValue:{description:`Значение выключенного состояния.`,control:`text`},checkedText:{description:`Текст включённого состояния.`,control:`text`},uncheckedText:{description:`Текст выключенного состояния.`,control:`text`},labelPosition:{description:`Положение подписи относительно переключателя.`,control:`inline-radio`,options:[`before`,`after`]},disabled:{description:`Блокирует взаимодействие.`,control:`boolean`},size:{description:`Размер контрола и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},h={render:function(e){return(0,f.jsx)(d,{args:e})}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
render: function Render(args) {
|
|
3
|
-
return <StringToggleStoryCanvas args={args} />;
|
|
4
|
-
}
|
|
5
|
-
}`,...h.parameters?.docs?.source}}},g=[`ManagerScope`]})))()}_();export{h as ManagerScope,g as __namedExportsOrder,m as default};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n,t as r}from"./Switch-DCV_mYJ2.js";import{n as i}from"./iframe-B_6aAEqw.js";import{n as a,t as o}from"./createControlledStoryRender-BouhvX-R.js";var s=t({BiState:()=>f,Disabled:()=>m,TriState:()=>p,__namedExportsOrder:()=>h,default:()=>d}),c,l,u,d,f,p,m,h;function g(){return(g=e((()=>{a(),n(),c=i(),l=o((e,t)=>(0,c.jsx)(r,{...e,triState:!1,value:e.value??!1,onChange:n=>{e.onChange(n),t({value:n})}})),u=o((e,t)=>(0,c.jsxs)(`div`,{style:{display:`grid`,gap:8},children:[(0,c.jsx)(r,{...e,triState:!0,value:e.value,onChange:n=>{e.onChange(n),t({value:n})}}),(0,c.jsxs)(`div`,{children:[`Текущее значение: `,String(e.value)]})]})),d={title:`Shared/UI/Switch`,component:r,args:{label:`Режим обработки`,description:`Переключение состояния`,value:!1,onChange:()=>{},triState:!1,disabled:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок переключателя.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},value:{description:"Текущее значение (`boolean` или `undefined` в tri-state).",control:`boolean`},onChange:{description:`Вызывается при изменении состояния.`,control:!1},triState:{description:"Включает трехсостоянный режим (`undefined → true → false`).",control:`boolean`},checkedIcon:{description:"Кастомная иконка для состояния `true`.",control:!1},uncheckedIcon:{description:"Кастомная иконка для состояния `false`.",control:!1},disabled:{description:`Блокирует переключение.`,control:`boolean`}}},f={render:l},p={render:u,args:{triState:!0,value:void 0}},m={render:l,args:{disabled:!0,value:!0}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
render: renderBiStateSwitchStory
|
|
3
|
-
}`,...f.parameters?.docs?.source}}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
|
|
4
|
-
render: renderTriStateSwitchStory,
|
|
5
|
-
args: {
|
|
6
|
-
triState: true,
|
|
7
|
-
value: undefined
|
|
8
|
-
}
|
|
9
|
-
}`,...p.parameters?.docs?.source}}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
|
|
10
|
-
render: renderBiStateSwitchStory,
|
|
11
|
-
args: {
|
|
12
|
-
disabled: true,
|
|
13
|
-
value: true
|
|
14
|
-
}
|
|
15
|
-
}`,...m.parameters?.docs?.source}}},h=[`BiState`,`TriState`,`Disabled`]})))()}export{g as a,p as i,m as n,s as r,f as t};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-B_6aAEqw.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./TagInput-T9Lp1amS.js";var s=t({Controlled:()=>d,ReadOnly:()=>f,__namedExportsOrder:()=>p,default:()=>u}),c,l,u,d,f,p;function m(){return(m=e((()=>{r(),a(),c=n(),l=i((e,t)=>(0,c.jsx)(o,{...e,value:e.value??[],onChange:n=>{e.onChange?.(n),t({value:n})},onClearError:()=>{e.onClearError?.(),t({error:void 0})}})),u={title:`Shared/UI/TagInput`,component:o,args:{value:[],onChange:()=>void 0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля тегов.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Подсказка для черновика нового тега.`,control:`text`},value:{description:`Controlled-набор добавленных тегов.`,control:`object`},onChange:{description:`Возвращает новый набор после добавления или удаления тега.`,control:!1},error:{description:"Текст ошибки, связанный с полем через `aria-describedby`.",control:`text`},onClearError:{description:`Вызывается после изменения черновика или набора тегов.`,control:!1},disabled:{description:`Блокирует ввод и изменение набора тегов.`,control:`boolean`},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},maxTags:{description:`Максимальное количество тегов.`,control:{type:`number`,min:0,step:1}},readOnly:{description:`Показывает теги без действий добавления и удаления, сохраняя возможность копирования.`,control:`boolean`},normalizeTag:{description:`Нормализует введенный тег до проверки дубликата и добавления.`,control:!1},getTagKey:{description:`Формирует ключ для сравнения тегов и поиска дубликатов.`,control:!1},addOnBlur:{description:`Добавляет непустой черновик при уходе фокуса с поля.`,control:`boolean`},getRemoveButtonAriaLabel:{description:`Формирует доступное имя кнопки удаления конкретного тега.`,control:!1},tokensAriaLabel:{description:`Доступное имя списка уже добавленных тегов.`,control:`text`},inputClassName:{description:`CSS-класс внутреннего поля черновика тега.`,control:`text`}}},d={render:l,args:{label:`Теги материала`,description:`Введите значение и нажмите Enter или запятую. Можно вставить сразу несколько строк.`,placeholder:`Добавить тег`,value:[`Новости`,`Колледж`],maxTags:10,getTagKey:e=>e.toLocaleLowerCase(`ru`)}},f={render:l,args:{label:`Теги материала`,value:[`Новости`,`Колледж`],readOnly:!0}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
render: renderTagInputStory,
|
|
3
|
-
args: {
|
|
4
|
-
label: "Теги материала",
|
|
5
|
-
description: "Введите значение и нажмите Enter или запятую. Можно вставить сразу несколько строк.",
|
|
6
|
-
placeholder: "Добавить тег",
|
|
7
|
-
value: ["Новости", "Колледж"],
|
|
8
|
-
maxTags: 10,
|
|
9
|
-
getTagKey: tag => tag.toLocaleLowerCase("ru")
|
|
10
|
-
}
|
|
11
|
-
}`,...d.parameters?.docs?.source}}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
|
|
12
|
-
render: renderTagInputStory,
|
|
13
|
-
args: {
|
|
14
|
-
label: "Теги материала",
|
|
15
|
-
value: ["Новости", "Колледж"],
|
|
16
|
-
readOnly: true
|
|
17
|
-
}
|
|
18
|
-
}`,...f.parameters?.docs?.source}}},p=[`Controlled`,`ReadOnly`]})))()}export{s as n,m as r,d as t};
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-B_6aAEqw.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./Textarea-BlE2vGsV.js";var s=t({Controlled:()=>d,Disabled:()=>p,WithValue:()=>f,__namedExportsOrder:()=>m,default:()=>u}),c,l,u,d,f,p,m;function h(){return(h=e((()=>{r(),a(),c=n(),l=i((e,t)=>(0,c.jsx)(o,{...e,value:e.value??``,onChange:n=>{e.onChange?.(n),t({value:n})},onClearError:()=>{e.onClearError?.(),t({error:void 0})}})),u={title:`Shared/UI/Textarea`,component:o,args:{label:`Комментарий`,description:`Оставьте примечание к документу.`,placeholder:`Введите текст...`,disabled:!1,value:``,onChange:()=>void 0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок текстовой области.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Плейсхолдер поля ввода.`,control:`text`},value:{description:`Текущее значение текстовой области.`,control:`text`},onChange:{description:`Вызывается при изменении текста.`,control:!1},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Вызывается при вводе для сброса внешней ошибки.`,control:!1},disabled:{description:`Блокирует редактирование.`,control:`boolean`},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},d={args:{value:`Первичный комментарий`},render:l},f={args:{value:`Шаблонный текст для редактирования.`},render:l},p={args:{disabled:!0,value:`Редактирование недоступно.`},render:l},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
args: {
|
|
3
|
-
value: "Первичный комментарий"
|
|
4
|
-
},
|
|
5
|
-
render: renderTextareaStory
|
|
6
|
-
}`,...d.parameters?.docs?.source}}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
|
|
7
|
-
args: {
|
|
8
|
-
value: "Шаблонный текст для редактирования."
|
|
9
|
-
},
|
|
10
|
-
render: renderTextareaStory
|
|
11
|
-
}`,...f.parameters?.docs?.source}}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
|
|
12
|
-
args: {
|
|
13
|
-
disabled: true,
|
|
14
|
-
value: "Редактирование недоступно."
|
|
15
|
-
},
|
|
16
|
-
render: renderTextareaStory
|
|
17
|
-
}`,...p.parameters?.docs?.source}}},m=[`Controlled`,`WithValue`,`Disabled`]})))()}export{h as a,f as i,p as n,s as r,d as t};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-B_6aAEqw.js";import{n,t as r}from"./TimePanel-DKD18ldm.js";function i(e){let[,t]=o(),n=e.value;return(0,a.jsx)(`div`,{style:{width:320,minHeight:280},children:(0,a.jsx)(r,{...e,value:n,onChange:(r,i)=>{e.onChange(r,i),t({value:new Date(n.getFullYear(),n.getMonth(),n.getDate(),r,i,0,0)})}})})}var a,o,s,c,l,u,d;function f(){return(f=e((()=>{n(),a=t(),{useArgs:o}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:s}=__STORYBOOK_MODULE_TEST__,c={title:`Shared/UI/Internal/DateTime/TimePanel`,component:r,args:{value:new Date(2026,2,10,12,30,0,0),onChange:s(),disabled:!1,mode:`date-time`},parameters:{atomicCanvas:!0,layout:`centered`},argTypes:{value:{description:`Текущая дата, из которой панель берёт календарный день и время.`,control:!1},disabled:{description:`Блокирует оба wheel-picker-а.`,control:`boolean`},minDate:{description:`Нижняя граница доступного времени для выбранного дня.`,control:`date`},maxDate:{description:`Верхняя граница доступного времени для выбранного дня.`,control:`date`},mode:{description:`Режим вычисления доступного времени.`,control:`inline-radio`,options:[`date-time`,`time`]},onChange:{description:`Вызывается с выбранными часами и минутами.`,control:!1}}},l={render:function(e){return(0,a.jsx)(i,{...e})}},u={render:function(e){return(0,a.jsx)(i,{...e})},args:{value:new Date(2026,2,10,9,30,0,0),minDate:new Date(2026,2,10,9,15,0,0),maxDate:new Date(2026,2,10,18,30,0,0)}},l.parameters={...l.parameters,docs:{...l.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
render: function Render(args) {
|
|
3
|
-
return <TimePanelStoryCanvas {...args} />;
|
|
4
|
-
}
|
|
5
|
-
}`,...l.parameters?.docs?.source},description:{story:`Демонстрирует базовую wheel-панель времени.`,...l.parameters?.docs?.description}}},u.parameters={...u.parameters,docs:{...u.parameters?.docs,source:{originalSource:`{
|
|
6
|
-
render: function Render(args) {
|
|
7
|
-
return <TimePanelStoryCanvas {...args} />;
|
|
8
|
-
},
|
|
9
|
-
args: {
|
|
10
|
-
value: new Date(2026, 2, 10, 9, 30, 0, 0),
|
|
11
|
-
minDate: new Date(2026, 2, 10, 9, 15, 0, 0),
|
|
12
|
-
maxDate: new Date(2026, 2, 10, 18, 30, 0, 0)
|
|
13
|
-
}
|
|
14
|
-
}`,...u.parameters?.docs?.source},description:{story:`Показывает ограничение диапазона на том же календарном дне.`,...u.parameters?.docs?.description}}},d=[`Default`,`WithLimits`]})))()}f();export{l as Default,u as WithLimits,d as __namedExportsOrder,c as default};
|