@ryuzaki13/react-foundation-ui 1.8.17 → 1.8.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/advanced-search/index.js +4 -4
- package/dist/base-table/index.js +1 -1
- package/dist/chunks/{TextEditorLexicalClient-Ca89d-Db.js → TextEditorLexicalClient-jYDUbAcf.js} +2 -2
- package/dist/chunks/{TextEditorLexicalClient-Ca89d-Db.js.map → TextEditorLexicalClient-jYDUbAcf.js.map} +1 -1
- package/dist/chunks/{base-table-CXPasGQC.js → base-table-BuH1DvPd.js} +2 -2
- package/dist/chunks/{base-table-CXPasGQC.js.map → base-table-BuH1DvPd.js.map} +1 -1
- package/dist/chunks/{context-menu-CTJsMd8y.js → context-menu-CCAr_R-t.js} +2 -2
- package/dist/chunks/{context-menu-CTJsMd8y.js.map → context-menu-CCAr_R-t.js.map} +1 -1
- package/dist/chunks/{date-input-g6l1iDmf.js → date-input-DXCIZbyc.js} +2 -2
- package/dist/chunks/{date-input-g6l1iDmf.js.map → date-input-DXCIZbyc.js.map} +1 -1
- package/dist/chunks/{input-d08WN5FV.js → input-D1jOxm0t.js} +3 -2
- package/dist/chunks/input-D1jOxm0t.js.map +1 -0
- package/dist/chunks/{input-files-_NdSQM_3.js → input-files-CDGpJaUm.js} +2 -2
- package/dist/chunks/{input-files-_NdSQM_3.js.map → input-files-CDGpJaUm.js.map} +1 -1
- package/dist/chunks/{input-search-BjtTMoRu.js → input-search-Ci1ubGox.js} +2 -2
- package/dist/chunks/{input-search-BjtTMoRu.js.map → input-search-Ci1ubGox.js.map} +1 -1
- package/dist/chunks/{multi-select-m5Xl2yJZ.js → multi-select-D1JjZJfr.js} +2 -2
- package/dist/chunks/{multi-select-m5Xl2yJZ.js.map → multi-select-D1JjZJfr.js.map} +1 -1
- package/dist/chunks/{picker-DF_heUIT.js → picker-DO9HFqJV.js} +2 -2
- package/dist/chunks/picker-DO9HFqJV.js.map +1 -0
- package/dist/chunks/{select-C3tbPtgQ.js → select-3jk0ljU1.js} +3 -3
- package/dist/chunks/{select-C3tbPtgQ.js.map → select-3jk0ljU1.js.map} +1 -1
- package/dist/chunks/{table-Bhj60fyi.js → table-DLkfAmSZ.js} +2 -2
- package/dist/chunks/{table-Bhj60fyi.js.map → table-DLkfAmSZ.js.map} +1 -1
- package/dist/context-menu/index.js +1 -1
- package/dist/date-input/index.js +1 -1
- package/dist/date-time-input/index.js +1 -1
- package/dist/drop-zone/index.js +1 -1
- package/dist/image/index.js +2 -2
- package/dist/input/Input.d.ts.map +1 -1
- package/dist/input/index.js +1 -1
- package/dist/input-date-time/index.js +1 -1
- package/dist/input-file/index.js +1 -1
- package/dist/input-files/index.js +1 -1
- package/dist/input-image/index.js +1 -1
- package/dist/input-search/index.js +1 -1
- package/dist/layout-picker/index.js +1 -1
- package/dist/listbox/index.js +1 -1
- package/dist/multi-select/index.js +1 -1
- package/dist/picker/index.js +1 -1
- package/dist/picker/model/usePickerFloatingListbox.d.ts +1 -1
- package/dist/preset-range-date-input/index.js +1 -1
- package/dist/preset-select/index.js +1 -1
- package/dist/select/index.js +1 -1
- package/dist/simple-table/index.js +1 -1
- package/dist/slider/index.js +2 -2
- package/dist/state-select/index.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/table/index.js +1 -1
- package/dist/table-sorting/index.js +1 -1
- package/dist/tag-input/index.js +1 -1
- package/dist/text-editor/index.js +1 -1
- package/dist/textarea/index.js +1 -1
- package/dist/tree-select/index.js +2 -2
- package/dist/tree-table/index.js +1 -1
- package/package.json +3 -3
- package/storybook-static/assets/{Badge-9ov2SQpw.js → Badge-CAM2jkFm.js} +6 -6
- package/storybook-static/assets/{Badge.stories-DyT1y7iJ.js → Badge.stories-DRjjmR32.js} +1 -1
- package/storybook-static/assets/{BadgeList-DsCC0K2u.js → BadgeList-D4Swhp3V.js} +1 -1
- package/storybook-static/assets/{Button-Ch-WQXxt.js → Button-1UZNz2k4.js} +1 -1
- package/storybook-static/assets/{Button-DrEpacN2.js → Button-4YB5_DwT.js} +6 -6
- package/storybook-static/assets/{Button.stories-Bt1ww23Y.js → Button.stories-B0sdwFqZ.js} +1 -1
- package/storybook-static/assets/{CalendarView-C2J0uWGf.js → CalendarView-sSyZ5jCR.js} +1 -1
- package/storybook-static/assets/{CheckBox-Dmed1k3Y.js → CheckBox-BdGaGy4_.js} +2 -2
- package/storybook-static/assets/{CheckBox-BBm7pBaK.js → CheckBox-Cpt5rjSg.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories-Dy7pe9eU.js → CheckBox.stories-6d6-rkNo.js} +1 -1
- package/storybook-static/assets/Color-6AOWCN3U-sKBB2RBT.js +1 -0
- package/storybook-static/assets/{ContextMenu-9gl4i81Y.js → ContextMenu-B155_m2F.js} +1 -1
- package/storybook-static/assets/{ContextMenu-DbjrPPi1.js → ContextMenu-BLnt5p2W.js} +2 -2
- package/storybook-static/assets/{ContextMenu.stories-UxHdcdSM.js → ContextMenu.stories-B8sv4v3Q.js} +1 -1
- package/storybook-static/assets/{CustomOptionButton-qGFdzAlY.js → CustomOptionButton-hKfsqWNH.js} +1 -1
- package/storybook-static/assets/{DateInput-XANZLf8y.js → DateInput-DvIl6s-f.js} +2 -2
- package/storybook-static/assets/{DateInput-C3lNtiZJ.js → DateInput-XvSKmvqi.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-CPxMqlod.js → DateInput.stories-SU41oukh.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-S0q2x0q-.js → DateRangePresetSelect-BCLZcXdv.js} +2 -2
- package/storybook-static/assets/{DateRangePresetSelect-erSbZygb.js → DateRangePresetSelect-tz-3m9UI.js} +1 -1
- package/storybook-static/assets/DateRangePresetSelect.stories-D8zuTlHo.js +19 -0
- package/storybook-static/assets/{Detail-fBnBGZJ-.js → Detail-Ct95dA1k.js} +2 -2
- package/storybook-static/assets/{Detail.stories-BS83WXDS.js → Detail.stories-Chedt7EX.js} +1 -1
- package/storybook-static/assets/{Dialog-BkxPSokc.js → Dialog-BX3QZOnt.js} +1 -1
- package/storybook-static/assets/{Dialog-CUmLq_8l.js → Dialog-C7Duw0PA.js} +2 -2
- package/storybook-static/assets/Dialog.stories-J0w0R0Db.js +22 -0
- package/storybook-static/assets/{Disclosure-CoQrHJcx.js → Disclosure-BzlV54RK.js} +2 -2
- package/storybook-static/assets/Disclosure.stories-z7gnOr5h.js +23 -0
- package/storybook-static/assets/{DisclosureGroup-C76Vffsk.js → DisclosureGroup-c179TOi5.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-Dcd0Q4OT.js → DocsRenderer-JROSPFPF-Ba9N3QAD.js} +1 -1
- package/storybook-static/assets/{DropZone-D8ce83Dp.js → DropZone-D5X0oV8O.js} +1 -1
- package/storybook-static/assets/{DropZone-CDDUWBFm.js → DropZone-vxUU2p-k.js} +2 -2
- package/storybook-static/assets/DropZone.stories-iNXgESGM.js +26 -0
- package/storybook-static/assets/{DropdownMenu-BDIZKs1J.js → DropdownMenu-CJlpP3HB.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel-BuioQ5dl.js → ExpandableActionPanel-CmkEByID.js} +1 -1
- package/storybook-static/assets/ExpandableActionPanel.stories-DmRLaVxn.js +9 -0
- package/storybook-static/assets/{Flex-B22MHXX7.js → Flex-tVAYZ-nU.js} +2 -2
- package/storybook-static/assets/{Flex.stories-kwnLelWl.js → Flex.stories-CVYDcbvw.js} +1 -1
- package/storybook-static/assets/{FloatingPopover-Bp9Qypq9.js → FloatingPopover-DMTLPzR3.js} +1 -1
- package/storybook-static/assets/{FormattedTableCell-B6jdkIC4.js → FormattedTableCell-DP6-D86D.js} +1 -1
- package/storybook-static/assets/{Grid-DflESV2R.js → Grid-Vm-amT-a.js} +2 -2
- package/storybook-static/assets/{Grid.stories-CFoPPd64.js → Grid.stories-B0beH9CK.js} +1 -1
- package/storybook-static/assets/ImageCropper.stories-Dt-IA4EB.js +131 -0
- package/storybook-static/assets/{ImageRenderer-DIL2Vc1q.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-D0qPi2e4.js → ImageViewer.stories-BkoV0li4.js} +3 -3
- package/storybook-static/assets/{ImageViewerRuntime-DkHuWptv.js → ImageViewerRuntime-BLgQCsSL.js} +1 -1
- package/storybook-static/assets/Input-CYgnggvb.css +1 -0
- package/storybook-static/assets/{Input-yxWSYFnb.js → Input-MPCFEMQm.js} +2 -2
- package/storybook-static/assets/Input-WhTMStKL.js +3 -0
- package/storybook-static/assets/Input.stories-B50KKSiz.js +52 -0
- package/storybook-static/assets/{InputDateTime-DhZt9ZDV.js → InputDateTime-1zTFbNEF.js} +2 -2
- package/storybook-static/assets/{InputDateTime.stories-BUBjE1XK.js → InputDateTime.stories-B7W4BkU6.js} +1 -1
- package/storybook-static/assets/{InputFile-D9QY_9jH.js → InputFile-B3QB0SLD.js} +1 -1
- package/storybook-static/assets/{InputFile-7mZglfLi.js → InputFile-DYHuD6B8.js} +2 -2
- package/storybook-static/assets/InputFile.stories-B-hrCtm_.js +27 -0
- package/storybook-static/assets/{InputFiles-Bj0dCOF-.js → InputFiles-CPPAJxgC.js} +1 -1
- package/storybook-static/assets/{InputFiles-LUM6HpDW.js → InputFiles-Dpa2BiyZ.js} +2 -2
- package/storybook-static/assets/InputFiles.stories-1ocz2wNw.js +26 -0
- package/storybook-static/assets/{InputFilesList-CSR5cAWT.js → InputFilesList-D2Ro-1Hm.js} +1 -1
- package/storybook-static/assets/{InputImage-I4lZZZDP.js → InputImage-BDC2lyVo.js} +1 -1
- package/storybook-static/assets/{InputImage-DCXLCb31.js → InputImage-DPmkvGcl.js} +2 -2
- package/storybook-static/assets/InputImage.stories-D3hWZBtn.js +56 -0
- package/storybook-static/assets/{InteractiveComponents-CqglREgC.js → InteractiveComponents-Djz3CtkU.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents.stories-wY4MY2As.js → InteractiveComponents.stories-CJ2VWPLD.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-DaT1HP0_.js → LayoutPicker-BFShZhhi.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-DYwZvtzh.js → LayoutPicker-CMMEs83d.js} +3 -3
- package/storybook-static/assets/{LayoutPicker.stories-dsNYjmjt.js → LayoutPicker.stories-Cdb_UnBI.js} +1 -1
- package/storybook-static/assets/{Listbox-Bnd30LZ_.js → Listbox-B7nZijLJ.js} +2 -2
- package/storybook-static/assets/{Listbox-DA4aaUt0.js → Listbox-DM1vuGVD.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-xe6Yszg6.js → Listbox.stories-DTs-ANe9.js} +1 -1
- package/storybook-static/assets/{Modal-NJll9h9x.js → Modal-D0dkB7lh.js} +3 -3
- package/storybook-static/assets/{Modal.stories-B7N5aIgP.js → Modal.stories-BOh10Fkn.js} +1 -1
- package/storybook-static/assets/{ModalManagerProvider-DA5QtvQ2.js → ModalManagerProvider-CEEmviJU.js} +1 -1
- package/storybook-static/assets/{MultiSelect-CUqW5AMh.js → MultiSelect-CbrRNOEZ.js} +2 -2
- package/storybook-static/assets/{MultiSelect-giyYuz8c.js → MultiSelect-oJhMsKuC.js} +1 -1
- package/storybook-static/assets/MultiSelect.stories-mLWhd-au.js +55 -0
- package/storybook-static/assets/{NoData-DhKFosBa.js → NoData-C7Kj62Zk.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-DKsOqiZE.js → NotificationsHost-D_i7EsJA.js} +3 -3
- package/storybook-static/assets/{NotificationsHost.stories-CVsDqE_z.js → NotificationsHost.stories-5GPO8lQl.js} +2 -2
- package/storybook-static/assets/{ODataMultiSelect-TMnKV9KI.js → ODataMultiSelect-B6hKhD2q.js} +2 -2
- package/storybook-static/assets/{ODataMultiSelect.stories-CbxXeBSq.js → ODataMultiSelect.stories-BO7WaR9I.js} +2 -2
- package/storybook-static/assets/{ODataSelect-D3zaT9Bd.js → ODataSelect-BW8S-U91.js} +2 -2
- package/storybook-static/assets/{ODataSelect.stories-Djkb72yE.js → ODataSelect.stories-rVZ8RYIu.js} +2 -2
- package/storybook-static/assets/{ODataTreeMultiSelect-Bz7Pqr69.js → ODataTreeMultiSelect-BhvUurca.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-QtxQbfUh.js → ODataTreeMultiSelect.stories-CM8wiVsI.js} +2 -2
- package/storybook-static/assets/{ODataTreeSelect-C2dm8syR.js → ODataTreeSelect-B96PJWcL.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-HRX2qliv.js → ODataTreeSelect.stories-HHLJZrD8.js} +2 -2
- package/storybook-static/assets/{OneStepScroller-u3gW3CFu.js → OneStepScroller-DzrN3WVZ.js} +1 -1
- package/storybook-static/assets/{Option-CpsdTcBv.js → Option-BwWLsS-Q.js} +1 -1
- package/storybook-static/assets/{Option-CpAZkiB9.css → Option-DFJ-DfU8.css} +1 -1
- package/storybook-static/assets/{OptionButton-Cpc3pWQ6.js → OptionButton-CdYqQAwC.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-CWHJ86O3.js → PeriodSelect-CJejEx-e.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-C6OPxXw9.js → PeriodSelect-_GvgXTKk.js} +1 -1
- package/storybook-static/assets/PeriodSelect.stories-CGNmEIBG.js +50 -0
- package/storybook-static/assets/{PickerTriggerActions-C05_NlBv.js → PickerTriggerActions-apA_Ruie.js} +1 -1
- package/storybook-static/assets/{Popover-CI-lzd_Y.js → Popover-BYGM8Bjj.js} +2 -2
- package/storybook-static/assets/{Popover-Dp6v7TaU.js → Popover-CDeopGLJ.js} +1 -1
- package/storybook-static/assets/{Popover.stories-D7LLMGrG.js → Popover.stories-DTeZeyAB.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-DEXNHHFw.js → PresetRangeDateInput-BdFjz9Ed.js} +2 -2
- package/storybook-static/assets/{PresetRangeDateInput-jsBNunjm.js → PresetRangeDateInput-D3FBpZqV.js} +1 -1
- package/storybook-static/assets/PresetRangeDateInput.stories-B2HCz7Tw.js +3 -0
- package/storybook-static/assets/{PresetSelect-B0OvN78Z.js → PresetSelect-BgzVe_NB.js} +1 -1
- package/storybook-static/assets/{README-Bu_7En3k.js → README-1tFUbU_N.js} +1 -1
- package/storybook-static/assets/{README-D95iopvt.js → README-9flk-o3B.js} +1 -1
- package/storybook-static/assets/{README-z6nH2ckx.js → README-B5QVQmyU.js} +1 -1
- package/storybook-static/assets/{README-CsAEz_8x.js → README-B8dyxeZz.js} +9 -12
- package/storybook-static/assets/{README-CwzP17ME.js → README-BJEbnNWP.js} +5 -9
- package/storybook-static/assets/{README--JrkMrwi.js → README-BRnZl0of.js} +4 -4
- package/storybook-static/assets/{README-BQpq3lh7.js → README-BSrGqFaw.js} +1 -1
- package/storybook-static/assets/{README-CPsRBLe4.js → README-BTp9nnLv.js} +3 -3
- package/storybook-static/assets/{README-CZuXtApO.js → README-BUkpxX-E.js} +4 -4
- package/storybook-static/assets/{README-CuqoQyPO.js → README-Bht25HeR.js} +1 -1
- package/storybook-static/assets/{README-BLho4XLO.js → README-Br9h1slQ.js} +4 -4
- package/storybook-static/assets/{README-yZSX-OqC.js → README-BtPehMeb.js} +4 -8
- package/storybook-static/assets/{README-LsHbJAIM.js → README-Bv9s5Hlv.js} +4 -7
- package/storybook-static/assets/{README-CoWUGZ_l.js → README-C2rr_CMA.js} +1 -1
- package/storybook-static/assets/{README-BuAqAOQM.js → README-C8K3rQpu.js} +4 -4
- package/storybook-static/assets/{README-DBjNHk3o.js → README-CBhnA3Kz.js} +3 -3
- package/storybook-static/assets/{README-yrnG-A7C.js → README-C_uOxFAl.js} +3 -3
- package/storybook-static/assets/{README-BBZeaX_g.js → README-CeuRBAf6.js} +1 -1
- package/storybook-static/assets/{README-D8up0NHH.js → README-Chc7eGGc.js} +1 -1
- package/storybook-static/assets/{README-Cc1ZT-3z.js → README-Cl2jxLna.js} +5 -5
- package/storybook-static/assets/{README-CisRMHhh.js → README-CuYqzgi0.js} +1 -1
- package/storybook-static/assets/{README-CD5_64aC.js → README-Cuj7DFn9.js} +5 -8
- package/storybook-static/assets/{README-IjRO8QsY.js → README-CvrH-776.js} +1 -1
- package/storybook-static/assets/{README-DRmu-SFW.js → README-CxsAd0Iq.js} +1 -1
- package/storybook-static/assets/{README-CkJtDuAy.js → README-DGTIYOSH.js} +3 -6
- package/storybook-static/assets/{README-Cc_acRci.js → README-DHJwCm5f.js} +14 -14
- package/storybook-static/assets/{README-mw1aJmys.js → README-DLBEUtiL.js} +1 -1
- package/storybook-static/assets/{README-BWH3eVjB.js → README-DNDYDuQ4.js} +4 -8
- package/storybook-static/assets/{README-CkwN7vVC.js → README-DQSMXoRa.js} +3 -5
- package/storybook-static/assets/{README-k92LCArT.js → README-DSsqg62x.js} +4 -8
- package/storybook-static/assets/{README-Dfdjepn7.js → README-DYKVnI5h.js} +4 -8
- package/storybook-static/assets/{README-BkBUm6xw.js → README-DZmDqmSd.js} +12 -12
- package/storybook-static/assets/{README-Dmt6U3aU.js → README-DcJ05Rnh.js} +1 -1
- package/storybook-static/assets/{README-ChzloWz7.js → README-Dju2IqV_.js} +1 -1
- package/storybook-static/assets/{README-BKyKhTdP.js → README-DldTDL_-.js} +1 -1
- package/storybook-static/assets/{README-oaNW_-7c.js → README-Dq0P8Ach.js} +3 -7
- package/storybook-static/assets/{README-B80TRZff.js → README-GstpCBI6.js} +1 -1
- package/storybook-static/assets/{README-DBMe9cYi.js → README-HhDoM8Gq.js} +2 -2
- package/storybook-static/assets/{README-DVhchZZO.js → README-I0-Ly9-N.js} +4 -8
- package/storybook-static/assets/{README-PtCi8SvW.js → README-NwNz8xro.js} +1 -5
- package/storybook-static/assets/{README-BYSR0Cie.js → README-OGP9mnSD.js} +4 -4
- package/storybook-static/assets/{README-CiMCyRM7.js → README-Se6780nc.js} +1 -1
- package/storybook-static/assets/{README-BdToXIoX.js → README-VwNH_K60.js} +1 -1
- package/storybook-static/assets/{README-CXBr_CyQ.js → README-_aVIdcMd.js} +4 -4
- package/storybook-static/assets/{README-BaCtki1X.js → README-bhX-QiSo.js} +3 -3
- package/storybook-static/assets/{README-DjPdG1sn.js → README-eqGIA1ao.js} +4 -8
- package/storybook-static/assets/{README-D6gttVs5.js → README-fLJ5n8A8.js} +6 -9
- package/storybook-static/assets/{README-BuJyvn9e.js → README-g3WhSoX3.js} +3 -3
- package/storybook-static/assets/{README-DQGBcWhx.js → README-m0xvi4o1.js} +1 -1
- package/storybook-static/assets/{README-DnCNNxgo.js → README-mXAkjKF0.js} +1 -1
- package/storybook-static/assets/{README-l6UdMKGF.js → README-n3wmMhlD.js} +1 -4
- package/storybook-static/assets/{README-CYgh97f9.js → README-z2leBvSk.js} +3 -3
- package/storybook-static/assets/{RadioButton-Cjuz545O.js → RadioButton-DqEZ3dh2.js} +2 -2
- package/storybook-static/assets/{RadioButton-ASb4zRKF.js → RadioButton-JEqzXOJN.js} +1 -1
- package/storybook-static/assets/RadioButton.stories-CzIM9dix.js +32 -0
- package/storybook-static/assets/{RadioGroup-3QSU0_PH.js → RadioGroup-COIsrK0r.js} +2 -2
- package/storybook-static/assets/{RadioGroup-UOcxQ4n6.js → RadioGroup-D4EHkLTb.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-B9JWyRFi.js → RadioGroup.stories-BdAv58pJ.js} +1 -1
- package/storybook-static/assets/{Scrollable-BM7KKTaO.js → Scrollable-noVIQseX.js} +1 -1
- package/storybook-static/assets/{Select-CzipkH5g.js → Select-9v7A23y8.js} +2 -2
- package/storybook-static/assets/{Select-BIYQ3HYq.js → Select-DgPcfbEp.js} +1 -1
- package/storybook-static/assets/Select.stories-yIRnlqrF.js +69 -0
- package/storybook-static/assets/{SerializableSelect-aH37Oz_P.js → SerializableSelect-CnPwQtgN.js} +2 -2
- package/storybook-static/assets/{SerializableSelect.stories-Cb31hcHm.js → SerializableSelect.stories-9QxpRX-K.js} +2 -2
- package/storybook-static/assets/{SingleDateTimeInput-BKZ2j5XA.js → SingleDateTimeInput-CxKz7tUP.js} +2 -2
- package/storybook-static/assets/{SingleDateTimeInput-jcU1eYyD.js → SingleDateTimeInput-DBrfgnnn.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput.stories-D8facy2e.js → SingleDateTimeInput.stories-lOLyuR7U.js} +1 -1
- package/storybook-static/assets/{Slider-D5zW2B4x.js → Slider-Cn1YHOVt.js} +1 -1
- package/storybook-static/assets/{Slider-CdlSXT8S.js → Slider-KC0hs5nY.js} +3 -3
- package/storybook-static/assets/{Slider.stories-DJFDUw-L.js → Slider.stories-C-IjisOs.js} +1 -1
- package/storybook-static/assets/{SliderInput-DS33CaaK.js → SliderInput-BVDFbjAz.js} +3 -3
- package/storybook-static/assets/{SliderInput-BR8kdM0H.js → SliderInput-Bz4D-xc3.js} +1 -1
- package/storybook-static/assets/{SliderInput.stories-B_mObDwL.js → SliderInput.stories-SlhRnTWN.js} +1 -1
- package/storybook-static/assets/{Sortable-DWy-JKZS.js → Sortable-d-UOB6NI.js} +2 -2
- package/storybook-static/assets/{Sortable.stories-SPmHtcYM.js → Sortable.stories-DWywtUOf.js} +1 -1
- package/storybook-static/assets/{Splitter-HUb-YSZF.js → Splitter-t2bV_zrF.js} +4 -4
- package/storybook-static/assets/{Splitter.stories-Crzq96sd.js → Splitter.stories-CTTTfgXu.js} +1 -1
- package/storybook-static/assets/{StateSelect-BSjtYKZ-.js → StateSelect-CR5WR-IW.js} +2 -2
- package/storybook-static/assets/{StateSelect-BwlppuOd.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-fLpDZ4qU.js → Switch-DB4EZ32N.js} +1 -1
- package/storybook-static/assets/{Switch-nA9xU7Pp.js → Switch-Deae3h9G.js} +2 -2
- package/storybook-static/assets/Switch.stories-CZxayDtX.js +15 -0
- package/storybook-static/assets/{Table-wK63zl6Q.js → Table-CrxyY7zt.js} +4 -4
- package/storybook-static/assets/{Table.stories-C0G_h1tN.js → Table.stories-Cwxd5T2K.js} +2 -2
- package/storybook-static/assets/{Tabs-D8KwnnA-.js → Tabs-L4LxDqx4.js} +3 -3
- package/storybook-static/assets/{Tabs.stories-CS6nCuni.js → Tabs.stories-C4XMXjqd.js} +2 -2
- package/storybook-static/assets/{TabsBox-DP0-ZqEC.js → TabsBox-Bnvm4jMi.js} +1 -1
- package/storybook-static/assets/{TagInput-D4lwVc3K.js → TagInput-DW0JzYQ3.js} +1 -1
- package/storybook-static/assets/TagInput.stories-zF7cV7Cp.js +18 -0
- package/storybook-static/assets/{Text-DG9QNJe0.js → Text-ByhnRSgp.js} +1 -1
- package/storybook-static/assets/{Textarea-D3-Th6DP.js → Textarea-BySrQxab.js} +2 -2
- package/storybook-static/assets/{Textarea-Dj6LQHvv.js → Textarea-WtjTIiyq.js} +1 -1
- package/storybook-static/assets/Textarea.stories-jFSqX_4h.js +17 -0
- package/storybook-static/assets/{TimePanel-BB4DBxJQ.js → TimePanel-B-rvi-xm.js} +1 -1
- package/storybook-static/assets/TimePanel.stories-BQJruT0g.js +14 -0
- package/storybook-static/assets/{Toggle-CZ6VsUj-.js → Toggle-BfRh792z.js} +2 -2
- package/storybook-static/assets/{Toggle-D6bWhfSd.js → Toggle-BkglFvBx.js} +1 -1
- package/storybook-static/assets/Toggle.stories-BonTJbH-.js +25 -0
- package/storybook-static/assets/{TreeMultiSelect-CHWAQAhE.js → TreeMultiSelect-7E1j6lHT.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-BRvJJEY_.js → TreeMultiSelect-CKr7kx7s.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-BLkkWrbm.js → TreeMultiSelect.stories-DQ9N-EPu.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-COJUEQlF.js → TreePickerBase-DwoQyBMk.js} +1 -1
- package/storybook-static/assets/{TreeSelect-nFF1HBur.js → TreeSelect-BLc7zLho.js} +1 -1
- package/storybook-static/assets/{TreeSelect-DRmtAxPM.js → TreeSelect-BP_YoVCu.js} +1 -1
- package/storybook-static/assets/TreeSelect.stories-CyurXsU_.js +32 -0
- package/storybook-static/assets/{TreeTable-BRWCFTXn.js → TreeTable-wfgjChnU.js} +3 -3
- package/storybook-static/assets/{TreeTable.stories-BqoNWDPG.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-BohMQTSj.js → blocks-DNj8uFSt.js} +3 -3
- package/storybook-static/assets/{check-D7ID2Deb.js → check-CS2caYIB.js} +1 -1
- package/storybook-static/assets/{chevron-down-DNkLBCIY.js → chevron-down-DXkNPvpX.js} +1 -1
- package/storybook-static/assets/{chevron-left-CdeAAF4x.js → chevron-left-5q-SFjrm.js} +1 -1
- package/storybook-static/assets/{chevron-right-BXx9VPR9.js → chevron-right-u6yLjLrs.js} +1 -1
- package/storybook-static/assets/{chunk-W22LQPXL-DRxdZLYI.js → chunk-W22LQPXL-CfJGLIdy.js} +1 -1
- package/storybook-static/assets/{circle-alert-BRmexcKa.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-DsJ4tjOh.js → contextMenu-CX8Geuik.js} +1 -1
- package/storybook-static/assets/{defaultRenderers-DfmnIuod.js → defaultRenderers-Dinv2uRZ.js} +1 -1
- package/storybook-static/assets/{download-BM2GUoHT.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-B9hbYace.js → foundationApi-naPnCFLL.js} +3 -6
- package/storybook-static/assets/{foundationLib-CerWWVvG.js → foundationLib-CSxKMNQk.js} +1 -1
- package/storybook-static/assets/{hooks-DVzTVd_R.js → hooks-CK4me-dJ.js} +1 -1
- package/storybook-static/assets/{iframe-K-XGUe-D.js → iframe-YrfSEgEg.js} +203 -203
- package/storybook-static/assets/iframe-uYND_WUi.js +1 -0
- package/storybook-static/assets/{info-DuSCzhWe.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-mZQcAsMK.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-CX2bab9x.js → refresh-cw-uKRX7BI0.js} +1 -1
- package/storybook-static/assets/{settings-2-BJfXo0yn.js → settings-2-DTKuqR8p.js} +1 -1
- package/storybook-static/assets/{sortable-BRu15Ztn.js → sortable-sVqTZjeF.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-Cj45F5T0.js → syntaxhighlighter-QEQV7K2Y-GFZ4bA4u.js} +1 -1
- package/storybook-static/assets/theming-BgT2grXK.js +39 -0
- package/storybook-static/assets/{trash-2-P9F6tNaQ.js → trash-2-C6QVfyTq.js} +1 -1
- package/storybook-static/assets/{triangle-alert-D3Dwx8eQ.js → triangle-alert-DKkTKSAW.js} +1 -1
- package/storybook-static/assets/{useODataSelectBase-B6VwzbOR.js → useODataSelectBase-BxPpoJje.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-DXyvta3A.js → useODataTreeData-Ct-ZR8pA.js} +1 -1
- package/storybook-static/assets/{usePickerQuery-Doby770u.js → usePickerQuery-DJMG-4Gl.js} +1 -1
- package/storybook-static/assets/{usePickerTriggerController-viUgSGjI.js → usePickerTriggerController-DeZhyi9h.js} +1 -1
- package/storybook-static/assets/{x-DIxXnpOQ.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/dist/chunks/input-d08WN5FV.js.map +0 -1
- package/dist/chunks/picker-DF_heUIT.js.map +0 -1
- package/storybook-static/assets/Color-6AOWCN3U-DI-APVga.js +0 -1
- package/storybook-static/assets/DateRangePresetSelect.stories-OATiJF6J.js +0 -19
- package/storybook-static/assets/Dialog.stories-2NFJy7ry.js +0 -22
- package/storybook-static/assets/Disclosure.stories-D1XLmlV_.js +0 -23
- package/storybook-static/assets/DropZone.stories-Dm7AK-kr.js +0 -26
- package/storybook-static/assets/ExpandableActionPanel.stories-CJZPlJkO.js +0 -9
- package/storybook-static/assets/ImageCropper.stories-C-MdyLbo.js +0 -131
- package/storybook-static/assets/ImageRenderer.stories-C2_kDlXr.js +0 -34
- package/storybook-static/assets/ImageView.stories-DPiGO3Ky.js +0 -14
- package/storybook-static/assets/Input-BDeY_-Jr.js +0 -3
- package/storybook-static/assets/Input-Db2-9PJZ.css +0 -1
- package/storybook-static/assets/Input.stories-BdtZlToV.js +0 -52
- package/storybook-static/assets/InputFile.stories-CA3m-mhv.js +0 -27
- package/storybook-static/assets/InputFiles.stories-RP0bEium.js +0 -26
- package/storybook-static/assets/InputImage.stories-Yn37tywg.js +0 -56
- package/storybook-static/assets/MultiSelect.stories-DdUxajBC.js +0 -55
- package/storybook-static/assets/PeriodSelect.stories-B6rrRiik.js +0 -50
- package/storybook-static/assets/PresetRangeDateInput.stories-DnIcaxSx.js +0 -3
- package/storybook-static/assets/README-BPMguwxX.js +0 -101
- package/storybook-static/assets/RadioButton.stories-DMiFrv1f.js +0 -32
- package/storybook-static/assets/Select.stories-DFRMbFDX.js +0 -69
- package/storybook-static/assets/StateSelect.stories-Cz-LdiGm.js +0 -59
- package/storybook-static/assets/StringToggle.stories-CLQs9S-2.js +0 -5
- package/storybook-static/assets/Switch.stories-Cc7zwrXS.js +0 -15
- package/storybook-static/assets/TagInput.stories-KFzrqv4v.js +0 -18
- package/storybook-static/assets/Textarea.stories-qerXQk3F.js +0 -17
- package/storybook-static/assets/TimePanel.stories-CtaUQrxC.js +0 -14
- package/storybook-static/assets/Toggle.stories-DbO2-OJd.js +0 -25
- package/storybook-static/assets/TreeSelect.stories-DmkPem76.js +0 -32
- package/storybook-static/assets/circle-check-BRJ_YsFd.js +0 -1
- package/storybook-static/assets/components-Biok6rgP.js +0 -241
- package/storybook-static/assets/floating-ui.react-CBQlgAqp.js +0 -1
- package/storybook-static/assets/iframe-GtVf_5WZ.js +0 -1
- package/storybook-static/assets/odata-D7jdF0bG.js +0 -1
- package/storybook-static/assets/odata-service-CWkHASdw-DlmSiioz.js +0 -3
- package/storybook-static/assets/react-CtcbcJqm.js +0 -9
- package/storybook-static/assets/theming-Cvtrnj7n.js +0 -39
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-K-XGUe-D.js";import{n,t as r}from"./ImageRenderer-DIL2Vc1q.js";function i(e){return e.map(e=>`width`in e?`${e.src} ${e.width}w`:`${e.src} ${e.density}x`).join(`, `)}function a(e,t){return(e??[]).map(e=>({srcSet:i(e.candidates),type:e.type,sizes:e.sizes??t})).filter(e=>e.srcSet.length>0)}function o(){return(o=e((()=>{})))()}function s({image:e,alt:t,sizes:n,aspectRatio:o,...s}){let l=a(e.sources,n),u=e.candidates?i(e.candidates):void 0,d=o??(e.intrinsicWidth&&e.intrinsicHeight?`${e.intrinsicWidth} / ${e.intrinsicHeight}`:void 0);return(0,c.jsx)(r,{...s,src:e.src,srcSet:u||void 0,sources:l,sizes:n,alt:t??e.alt,intrinsicWidth:e.intrinsicWidth,intrinsicHeight:e.intrinsicHeight,aspectRatio:d})}var c;function l(){return(l=e((()=>{o(),n(),c=t(),s.__docgenInfo={description:`Собирает picture/srcset из готовых URL и делегирует отображение ImageRenderer.
|
|
2
|
-
Компонент не формирует имена файлов и не знает о форматах или размерах хранилища.`,methods:[],displayName:`ImageView`,props:{image:{required:!0,tsType:{name:`signature`,type:`object`,raw:`{
|
|
3
|
-
src: string;
|
|
4
|
-
alt?: string;
|
|
5
|
-
intrinsicWidth?: number;
|
|
6
|
-
intrinsicHeight?: number;
|
|
7
|
-
candidates?: readonly ImageCandidate[];
|
|
8
|
-
sources?: readonly ResponsiveImageSource[];
|
|
9
|
-
}`,signature:{properties:[{key:`src`,value:{name:`string`,required:!0}},{key:`alt`,value:{name:`string`,required:!1}},{key:`intrinsicWidth`,value:{name:`number`,required:!1}},{key:`intrinsicHeight`,value:{name:`number`,required:!1}},{key:`candidates`,value:{name:`unknown`,required:!1}},{key:`sources`,value:{name:`unknown`,required:!1}}]}},description:``},alt:{required:!1,tsType:{name:`string`},description:``}},composes:[`Omit`,`Pick`]}})))()}var u,d,f,p,m,h,g;function _(){return(_=e((()=>{l(),u=t(),{useArgs:d}=__STORYBOOK_MODULE_PREVIEW_API__,f=`photo-1500530855697-b586d89ba3ee`,p=(e,t)=>`https://images.unsplash.com/${f}?auto=format&fit=crop&w=${e}&fm=${t}&q=80`,m={title:`Shared/UI/Image/ImageView`,component:s,args:{layout:`intrinsic`,sizes:`(min-width: 64rem) 64rem, 100vw`,image:{src:p(1600,`jpg`),alt:`Responsive-пейзаж`,intrinsicWidth:1600,intrinsicHeight:1067,candidates:[{src:p(640,`jpg`),width:640},{src:p(1280,`jpg`),width:1280},{src:p(1600,`jpg`),width:1600}],sources:[{type:`image/avif`,candidates:[{src:p(640,`avif`),width:640},{src:p(1280,`avif`),width:1280},{src:p(1600,`avif`),width:1600}]},{type:`image/webp`,candidates:[{src:p(640,`webp`),width:640},{src:p(1280,`webp`),width:1280},{src:p(1600,`webp`),width:1600}]}]}},parameters:{layout:`padded`},argTypes:{image:{description:`Исходные responsive-данные изображения.`,control:!1},alt:{description:`Явный альтернативный текст поверх image.alt.`,control:`text`},sizes:{description:`Атрибут sizes для responsive-кандидатов.`,control:`text`},layout:{description:`Режим расположения изображения внутри контейнера.`,control:`inline-radio`,options:[`cover`,`contain`,`intrinsic`]},role:{description:`Семантическая роль тега изображения.`,control:`text`},ariaLabel:{description:`Явное доступное имя изображения.`,control:`text`},caption:{description:`Подпись изображения в режиме figure.`,control:`text`},fallback:{description:`Кастомный placeholder до загрузки.`,control:!1},useFigure:{description:`Оборачивает изображение в figure/figcaption.`,control:`boolean`},aspectRatio:{description:`Соотношение сторон контейнера.`,control:`text`},width:{description:`Ширина контейнера.`,control:`text`},height:{description:`Высота контейнера.`,control:`text`},wrapperStyle:{description:`Inline-стили контейнера изображения.`,control:!1}}},h={render:function(){let[e]=d();return(0,u.jsx)(s,{...e})}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
|
|
10
|
-
render: function Render() {
|
|
11
|
-
const [args] = useArgs<ImageViewProps>();
|
|
12
|
-
return <ImageView {...args} />;
|
|
13
|
-
}
|
|
14
|
-
}`,...h.parameters?.docs?.source}}},g=[`ResponsiveCandidates`]})))()}_();export{h as ResponsiveCandidates,g as __namedExportsOrder,m as default};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r,t as i}from"./x-DIxXnpOQ.js";import{n as a}from"./iframe-K-XGUe-D.js";import{a as o,i as s}from"./utils-tg3ibbzi.js";import{g as c,p as l}from"./odata-service-CWkHASdw-DlmSiioz.js";import{n as u,t as d}from"./ui.module-BDnTp43_.js";var f,p,m,h,g,_,v,y,b;function x(){return(x=t((()=>{f=`lRn5ye`,p=`ce5HAY`,m=`_8TObqB`,h=`Gx3Wbd`,g=`cpwaYo`,_=`itlmix`,v=`aITEGl`,y=`ekyJIt`,b={controlLayout:f,input:p,inputNumber:m,controlWithEndAdornment:h,controlEndAdornment:g,endAdornmentGroup:_,clearButton:v,error:y}})))()}function S({id:e,hasLabel:t,hasDescription:n,hasError:r}){let i=(0,C.useId)(),a=e??i,o=t?`${a}-label`:void 0,s=n?`${a}-description`:void 0,c=r?`${a}-error`:void 0;return{controlId:a,labelId:o,descriptionId:s,errorId:c,describedBy:[s,c].filter(Boolean).join(` `)||void 0}}var C;function w(){return(w=t((()=>{C=n()})))()}function T({label:e,controlId:t,labelId:n}){return(0,L.jsx)(`label`,{id:n,htmlFor:t,className:u.uiLabel,children:e})}function E(){return(0,L.jsx)(`div`,{className:o(u.uiInputControlFake,`skeletonLine`)})}function D({label:e,description:t,size:n,disabled:r,isLoading:i,className:a}){let{controlId:s,labelId:c,descriptionId:l}=S({hasLabel:e!=null,hasDescription:!!t});return(0,L.jsxs)(`div`,{className:o(u.uiElement,u.uiSizable,n&&u[n],u.disabled,a),"aria-disabled":r||void 0,children:[e&&(0,L.jsx)(T,{label:e,controlId:s,labelId:c}),t&&(0,L.jsx)(`p`,{id:l,className:u.uiDescription,children:t}),(0,L.jsx)(`div`,{className:o(u.uiInputControlFake,i&&`skeletonLine`)})]})}function O(e){return(0,L.jsx)(D,{...e,isLoading:!0})}function k({label:e,description:t,disabled:n,className:r,error:i,size:a,controlId:s,labelId:c,descriptionId:l,errorId:d,required:f,children:p}){return(0,L.jsxs)(`div`,{className:o(u.uiElement,u.uiSizable,a&&u[a],n&&u.disabled,f&&u.required,r),"aria-disabled":n||void 0,children:[e&&(0,L.jsx)(T,{label:e,controlId:s,labelId:c}),t&&(0,L.jsx)(`p`,{id:l,className:u.uiDescription,children:t}),(0,L.jsxs)(`div`,{className:b.controlLayout,children:[p,i&&(0,L.jsx)(`p`,{id:d,className:b.error,role:`alert`,children:i})]})]})}function A({className:e,endAdornment:t,endAdornmentClassName:n,endAdornmentWidth:r,children:i}){let a=t!=null,s=a&&r?{"--input-end-adornment-width":r}:void 0;return(0,L.jsxs)(`div`,{className:o(b.controlLayout,e),style:s,children:[i({controlClassName:a?b.controlWithEndAdornment:void 0}),a&&(0,L.jsx)(`div`,{className:o(b.controlEndAdornment,n),children:t})]})}function j({onClick:e,disabled:t,className:n,ariaLabel:r=`Очистить значение`}){return(0,L.jsx)(`button`,{type:`button`,disabled:t||!e,className:o(b.clearButton,n),onClick:e,"aria-label":r,children:(0,L.jsx)(i,{})})}function M(e,t,n){if(n)return n;if(e&&t)return`calc((var(--control-height) * 2) + var(--space-xs))`;if(e||t)return`var(--control-height)`}function N({endAdornment:e,onClear:t,disabled:n}){if(!(e==null&&!t))return(0,L.jsxs)(`div`,{className:b.endAdornmentGroup,children:[e,t&&(0,L.jsx)(j,{onClick:t,disabled:n})]})}function P({label:e,description:t,disabled:n,className:r,onClear:i,error:a,onClearError:s,onChange:c,value:l,size:d,allowedPattern:f,endAdornment:p,endAdornmentClassName:m,endAdornmentWidth:h,type:g=`text`,..._}){let[v,y]=(0,I.useState)(!1),x=e=>{let t=e.target.value;f!==void 0&&y(t!==``&&!f.test(t)),c(t),a&&s&&s()},C=!!(l&&l.length>0),w=C?a:void 0,{controlId:T,labelId:E,descriptionId:D,errorId:O,describedBy:j}=S({id:_.id,hasLabel:e!=null,hasDescription:!!t,hasError:!!w}),P=C&&(!!a||v),F=N({endAdornment:p,onClear:i,disabled:n||!C}),R=M(p!=null,!!i,h);return(0,L.jsx)(k,{label:e,description:t,disabled:n,required:_.required,className:r,size:d,error:w,controlId:T,labelId:E,descriptionId:D,errorId:O,children:(0,L.jsx)(A,{endAdornment:F,endAdornmentClassName:m,endAdornmentWidth:R,children:({controlClassName:e})=>(0,L.jsx)(`input`,{..._,id:T,type:g,disabled:n,value:l,"aria-invalid":P||void 0,"aria-labelledby":E,"aria-describedby":j,"data-invalid":P?``:void 0,className:o(u.uiInputControl,b.input,e),onChange:x})})})}function F({label:e,description:t,disabled:n,className:r,onClear:i,error:a,onClearError:s,onChange:c,value:d,size:f,endAdornment:p,endAdornmentClassName:m,endAdornmentWidth:h,...g}){let _=g,{controlId:v,labelId:y,descriptionId:x,errorId:C,describedBy:w}=S({id:g.id,hasLabel:e!=null,hasDescription:!!t,hasError:!!a}),T=(0,I.useRef)(null),E=(0,I.useRef)(null),D=d!==void 0&&typeof d==`number`&&!isNaN(d)?String(d):``;(0,I.useLayoutEffect)(()=>{let e=E.current;if(e&&Object.is(e.value,d)){T.current&&T.current.value!==e.raw&&(T.current.value=e.raw);return}E.current=null,T.current&&T.current.value!==D&&(T.current.value=D)},[D,d]);let O=i?()=>{i()}:void 0,j=e=>{let t=e.target.value,n=l(t);E.current={value:n,raw:t},c(n),a&&s&&s()},P=N({endAdornment:p,onClear:O,disabled:n}),F=M(p!=null,!!O,h);return(0,L.jsx)(k,{label:e,description:t,disabled:n,required:g.required,className:r,size:f,error:a,controlId:v,labelId:y,descriptionId:x,errorId:C,children:(0,L.jsx)(A,{endAdornment:P,endAdornmentClassName:m,endAdornmentWidth:F,children:({controlClassName:e})=>(0,L.jsx)(`input`,{..._,ref:T,id:v,type:`number`,inputMode:`decimal`,disabled:n,defaultValue:D,"aria-labelledby":y,"aria-describedby":w,className:o(u.uiInputControl,b.input,b.inputNumber,e),onChange:j})})})}var I,L,R;function z(){return(z=t((()=>{I=e(n(),1),c(),s(),r(),d(),x(),w(),L=a(),R=P,E.__docgenInfo={description:``,methods:[],displayName:`InputLoadingFrame`},D.__docgenInfo={description:``,methods:[],displayName:`InputUIFrame`,props:{isLoading:{required:!1,tsType:{name:`boolean`},description:``}}},O.__docgenInfo={description:``,methods:[],displayName:`InputUILoading`},k.__docgenInfo={description:`Низкоуровневая оболочка поля ввода с общими элементами оформления.`,methods:[],displayName:`InputUI`,props:{className:{required:!1,tsType:{name:`string`},description:``},error:{required:!1,tsType:{name:`string`},description:``},controlId:{required:!1,tsType:{name:`string`},description:``},labelId:{required:!1,tsType:{name:`string`},description:``},descriptionId:{required:!1,tsType:{name:`string`},description:``},errorId:{required:!1,tsType:{name:`string`},description:``},required:{required:!1,tsType:{name:`boolean`},description:``},children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``}},composes:[`Omit`]},A.__docgenInfo={description:``,methods:[],displayName:`InputControl`,props:{className:{required:!1,tsType:{name:`string`},description:``},endAdornment:{required:!1,tsType:{name:`ReactNode`},description:``},endAdornmentClassName:{required:!1,tsType:{name:`string`},description:``},endAdornmentWidth:{required:!1,tsType:{name:`string`},description:``},children:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(props: InputControlRenderProps) => ReactNode`,signature:{arguments:[{type:{name:`InputControlRenderProps`},name:`props`}],return:{name:`ReactNode`}}},description:``}}},j.__docgenInfo={description:``,methods:[],displayName:`InputClearButton`,props:{onClick:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},ariaLabel:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Очистить значение"`,computed:!1}}}},P.__docgenInfo={description:`Базовое текстовое поле ввода для строковых значений.`,methods:[],displayName:`InputText`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`T`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},onClear:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},error:{required:!1,tsType:{name:`string`},description:``},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},defaultValue:{required:!1,tsType:{name:`string`},description:``},endAdornment:{required:!1,tsType:{name:`ReactNode`},description:``},endAdornmentClassName:{required:!1,tsType:{name:`string`},description:``},endAdornmentWidth:{required:!1,tsType:{name:`string`},description:``},type:{required:!1,tsType:{name:`union`,raw:`"email" | "password" | "search" | "tel" | "text" | "url"`,elements:[{name:`literal`,value:`"email"`},{name:`literal`,value:`"password"`},{name:`literal`,value:`"search"`},{name:`literal`,value:`"tel"`},{name:`literal`,value:`"text"`},{name:`literal`,value:`"url"`}]},description:``,defaultValue:{value:`"text"`,computed:!1}},allowedPattern:{required:!1,tsType:{name:`RegExp`},description:`Регулярное выражение для валидации всего введённого значения.
|
|
2
|
-
При несоответствии поле подсвечивается как невалидное, но текст не удаляется.
|
|
3
|
-
Пример: \`/^\\d*$/\``}},composes:[`Omit`]},F.__docgenInfo={description:`Числовое поле ввода с нормализацией значения и защитой от промежуточного невалидного ввода.`,methods:[],displayName:`InputNumber`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},onClear:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},error:{required:!1,tsType:{name:`string`},description:``},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},defaultValue:{required:!1,tsType:{name:`T`},description:``},endAdornment:{required:!1,tsType:{name:`ReactNode`},description:``},endAdornmentClassName:{required:!1,tsType:{name:`string`},description:``},endAdornmentWidth:{required:!1,tsType:{name:`string`},description:``}},composes:[`Omit`]}})))()}export{F as a,O as c,S as d,E as i,z as l,j as n,P as o,A as r,k as s,R as t,w as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.lRn5ye{width:100%;position:relative}.ce5HAY{height:var(--control-height);width:100%;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-md);--ui-color:var(--content-0);--ui-color-hover:var(--content-0);--ui-color-active:var(--content-0);--button-size:cacl(var(--control-height) - var(--border-width) * 2)}._8TObqB{appearance:textfield}._8TObqB::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}._8TObqB::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.Gx3Wbd{padding-right:calc(var(--input-end-adornment-width,var(--control-height)) + var(--space-sm))}.cpwaYo{height:100%;top:0;right:calc(var(--border-width) * 2);max-width:calc(100% - var(--space-md));justify-content:flex-end;align-items:center;display:flex;position:absolute}.itlmix{align-items:center;gap:var(--space-xs);display:flex}.aITEGl{width:var(--button-size);height:var(--button-size);border-radius:var(--radius-sm);color:var(--content-2);transition:color var(--transition-fast) ease, background-color var(--transition-fast) ease;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.aITEGl:hover{color:var(--content-accent)}.aITEGl:focus-visible{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset)}.aITEGl:disabled{pointer-events:none;opacity:var(--disabled-opacity)}.ekyJIt{z-index:11;bottom:calc(var(--space-xs) * -1);color:var(--status-error-on-fill);background:var(--status-error-fill);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);box-shadow:var(--shadow-sm);opacity:.9;position:absolute;left:0;right:0;transform:translateY(100%)}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-K-XGUe-D.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{a,l as o,o as s}from"./Input-BDeY_-Jr.js";var c=t({NumberControlled:()=>m,PatternValidation:()=>h,TextControlled:()=>p,WithError:()=>g,__namedExportsOrder:()=>_,default:()=>f}),l,u,d,f,p,m,h,g,_;function v(){return(v=e((()=>{r(),o(),l=n(),u=i((e,t)=>(0,l.jsx)(s,{...e,value:e.value??``,onChange:n=>{e.onChange?.(n),t({value:n})},onClear:e.onClear?()=>{e.onClear?.(),t({value:``})}:void 0,onClearError:()=>{e.onClearError?.(),t({error:void 0})}})),d=i((e,t)=>(0,l.jsx)(a,{...e,onChange:n=>{e.onChange?.(n),t({value:n})},onClear:e.onClear?()=>{e.onClear?.(),t({value:void 0})}:void 0,onClearError:()=>{e.onClearError?.(),t({error:void 0})}})),f={title:`Shared/UI/Input`,component:s,args:{value:``,onChange:()=>{}},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},onClear:{description:`Callback кнопки очистки справа.`,control:!1},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Вызывается при вводе для сброса внешней ошибки.`,control:!1},type:{description:`Семантика текстового значения для нативного ввода.`,control:`select`,options:[`text`,`email`,`password`,`search`,`tel`,`url`]},disabled:{description:`Блокирует редактирование.`,control:`boolean`},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},allowedPattern:{description:`Регулярное выражение для валидации введенной строки.`,control:!1},endAdornment:{description:`Дополнительный элемент справа внутри поля.`,control:!1},endAdornmentClassName:{description:`CSS-класс контейнера дополнительного элемента справа.`,control:`text`},endAdornmentWidth:{description:`Явная ширина области дополнительного элемента справа.`,control:`text`}}},p={render:u,args:{label:`Наименование`,description:`Пример обычного текстового поля.`,placeholder:`Введите значение`,value:``,size:`md`,onClear:()=>{}}},m={render:d,args:{label:`Количество`,description:`Числовой ввод с min/max.`,placeholder:`0`,value:25,min:0,max:100,onChange:()=>{},onClear:()=>{}},argTypes:{value:{description:`Текущее числовое значение поля.`,control:`number`}},parameters:{controls:{exclude:[`type`,`allowedPattern`]}}},h={render:u,args:{label:`Только цифры`,description:"`allowedPattern` подсвечивает невалидный ввод.",placeholder:`12345`,value:``,allowedPattern:/^\d*$/}},g={render:u,args:{label:`Логин`,value:`admin`,error:`Логин уже занят`,onClear:()=>{},onClearError:()=>{}}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
render: renderInputTextStory,
|
|
3
|
-
args: {
|
|
4
|
-
label: "Наименование",
|
|
5
|
-
description: "Пример обычного текстового поля.",
|
|
6
|
-
placeholder: "Введите значение",
|
|
7
|
-
value: "",
|
|
8
|
-
size: "md",
|
|
9
|
-
onClear: () => {}
|
|
10
|
-
}
|
|
11
|
-
}`,...p.parameters?.docs?.source}}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
|
|
12
|
-
render: renderInputNumberStory,
|
|
13
|
-
args: {
|
|
14
|
-
label: "Количество",
|
|
15
|
-
description: "Числовой ввод с min/max.",
|
|
16
|
-
placeholder: "0",
|
|
17
|
-
value: 25,
|
|
18
|
-
min: 0,
|
|
19
|
-
max: 100,
|
|
20
|
-
onChange: () => {},
|
|
21
|
-
onClear: () => {}
|
|
22
|
-
},
|
|
23
|
-
argTypes: {
|
|
24
|
-
value: {
|
|
25
|
-
description: "Текущее числовое значение поля.",
|
|
26
|
-
control: "number"
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
parameters: {
|
|
30
|
-
controls: {
|
|
31
|
-
exclude: ["type", "allowedPattern"]
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}`,...m.parameters?.docs?.source}}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
|
|
35
|
-
render: renderInputTextStory,
|
|
36
|
-
args: {
|
|
37
|
-
label: "Только цифры",
|
|
38
|
-
description: "\`allowedPattern\` подсвечивает невалидный ввод.",
|
|
39
|
-
placeholder: "12345",
|
|
40
|
-
value: "",
|
|
41
|
-
allowedPattern: /^\\d*$/
|
|
42
|
-
}
|
|
43
|
-
}`,...h.parameters?.docs?.source}}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
|
|
44
|
-
render: renderInputTextStory,
|
|
45
|
-
args: {
|
|
46
|
-
label: "Логин",
|
|
47
|
-
value: "admin",
|
|
48
|
-
error: "Логин уже занят",
|
|
49
|
-
onClear: () => {},
|
|
50
|
-
onClearError: () => {}
|
|
51
|
-
}
|
|
52
|
-
}`,...g.parameters?.docs?.source}}},_=[`TextControlled`,`NumberControlled`,`PatternValidation`,`WithError`]})))()}export{g as a,p as i,m as n,v as o,h as r,c as t};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-K-XGUe-D.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./InputFile-D9QY_9jH.js";var s=t({ArrayBufferMode:()=>g,Controlled:()=>m,WithInitialValue:()=>h,__namedExportsOrder:()=>_,default:()=>d}),c,l,u,d,f,p,m,h,g,_;function v(){return(v=e((()=>{r(),a(),c=n(),{fn:l}=__STORYBOOK_MODULE_TEST__,u=(e,t=`application/pdf`)=>{let n=new File([`demo-file`],e,{type:t,lastModified:17040672e5});return{mode:`data-url`,meta:{name:n.name,mime:n.type,size:n.size,lastModified:n.lastModified},dataUrl:`data:${t};base64,ZGVtby1maWxl`,file:n}},d={title:`Shared/UI/InputFile`,component:o,args:{value:void 0,onChange:l(),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},accept:{description:"HTML `accept` для нативного диалога выбора файла.",control:`object`},allowedMime:{description:`Белый список MIME-типов для readFile-валидации.`,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:`Callback сброса ошибки при повторном выборе файла.`,control:!1},disabled:{description:`Блокирует выбор файла.`,control:`boolean`},size:{description:`Размер визуального контрола.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},f=i((e,t)=>{let n={...e,onChange:n=>{e.onChange(n),t({value:n})},onClear:()=>{e.onClear?.(),t({value:void 0})},onClearError:()=>{e.onClearError?.(),t({error:void 0})}};return(0,c.jsx)(o,{...n})}),p=i((e,t)=>{let n={...e,onChange:n=>{e.onChange(n),t({value:n})},onClear:()=>{e.onClear?.(),t({value:void 0})},onClearError:()=>{e.onClearError?.(),t({error:void 0})}};return(0,c.jsx)(o,{...n})}),m={render:f,args:{label:`Документ`,description:`Загрузите один файл.`,placeholder:`Выберите файл`,accept:[`.pdf`,`.docx`],readMode:`data-url`,value:void 0}},h={render:f,args:{label:`Файл с предзаполнением`,description:`Демонстрация состояния после успешной загрузки.`,value:u(`report.pdf`)}},g={render:p,args:{label:`Двоичное чтение`,description:"Режим `array-buffer` для дальнейшей бинарной обработки.",readMode:`array-buffer`,accept:[`.zip`,`.pdf`],value:void 0}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
render: renderInputFileDataUrlStory,
|
|
3
|
-
args: {
|
|
4
|
-
label: "Документ",
|
|
5
|
-
description: "Загрузите один файл.",
|
|
6
|
-
placeholder: "Выберите файл",
|
|
7
|
-
accept: [".pdf", ".docx"],
|
|
8
|
-
readMode: "data-url",
|
|
9
|
-
value: undefined
|
|
10
|
-
}
|
|
11
|
-
}`,...m.parameters?.docs?.source}}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
|
|
12
|
-
render: renderInputFileDataUrlStory,
|
|
13
|
-
args: {
|
|
14
|
-
label: "Файл с предзаполнением",
|
|
15
|
-
description: "Демонстрация состояния после успешной загрузки.",
|
|
16
|
-
value: createMockReadFileResult("report.pdf")
|
|
17
|
-
}
|
|
18
|
-
}`,...h.parameters?.docs?.source}}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
|
|
19
|
-
render: renderInputFileArrayBufferStory,
|
|
20
|
-
args: {
|
|
21
|
-
label: "Двоичное чтение",
|
|
22
|
-
description: "Режим \`array-buffer\` для дальнейшей бинарной обработки.",
|
|
23
|
-
readMode: "array-buffer",
|
|
24
|
-
accept: [".zip", ".pdf"],
|
|
25
|
-
value: undefined
|
|
26
|
-
}
|
|
27
|
-
}`,...g.parameters?.docs?.source}}},_=[`Controlled`,`WithInitialValue`,`ArrayBufferMode`]})))()}export{v as a,h as i,m as n,s as r,g as t};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-K-XGUe-D.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./InputFiles-Bj0dCOF-.js";var s=t({Controlled:()=>p,LimitReached:()=>h,WithInitialFiles:()=>m,__namedExportsOrder:()=>g,default:()=>d}),c,l,u,d,f,p,m,h,g;function _(){return(_=e((()=>{r(),a(),c=n(),{fn:l}=__STORYBOOK_MODULE_TEST__,u=(e,t=`application/pdf`)=>{let n=new File([`demo-file`],e,{type:t,lastModified:17040672e5});return{mode:`data-url`,meta:{name:n.name,mime:n.type,size:n.size,lastModified:n.lastModified},dataUrl:`data:${t};base64,ZGVtby1maWxl`,file:n}},d={title:`Shared/UI/InputFiles`,component:o,args:{value:[],onChange:l(),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},accept:{description:"HTML `accept` для диалога выбора файлов.",control:`object`},allowedMime:{description:`Список допустимых MIME-типов при валидации.`,control:!1},maxBytes:{description:`Максимальный размер одного файла в байтах.`,control:`number`},readMode:{description:`Режим чтения: data-url или array-buffer.`,control:`inline-radio`,options:[`data-url`,`array-buffer`]},maxFiles:{description:`Лимит количества файлов в списке.`,control:`number`},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Вызывается при выборе новых файлов для сброса ошибки.`,control:!1},disabled:{description:`Полностью блокирует выбор файлов.`,control:`boolean`},size:{description:`Размер визуального контрола.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},f=i((e,t)=>(0,c.jsx)(o,{...e,onChange:n=>{e.onChange(n),t({value:n})},onClearError:()=>{e.onClearError?.(),t({error:void 0})}})),p={render:f,args:{label:`Вложения`,description:`Можно выбрать несколько файлов.`,placeholder:`Выберите файлы`,accept:[`.pdf`,`.png`,`.jpg`],maxFiles:5,value:[]}},m={render:f,args:{label:`Предзаполненный список`,description:`Иллюстрация удаления файлов из уже заполненного значения.`,value:[u(`contract.pdf`),u(`diagram.png`,`image/png`)]}},h={render:f,args:{label:`Лимит файлов`,description:`После достижения лимита поле выбора блокируется.`,maxFiles:2,value:[u(`first.pdf`),u(`second.pdf`)]}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
|
|
2
|
-
render: renderInputFilesStory,
|
|
3
|
-
args: {
|
|
4
|
-
label: "Вложения",
|
|
5
|
-
description: "Можно выбрать несколько файлов.",
|
|
6
|
-
placeholder: "Выберите файлы",
|
|
7
|
-
accept: [".pdf", ".png", ".jpg"],
|
|
8
|
-
maxFiles: 5,
|
|
9
|
-
value: []
|
|
10
|
-
}
|
|
11
|
-
}`,...p.parameters?.docs?.source}}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
|
|
12
|
-
render: renderInputFilesStory,
|
|
13
|
-
args: {
|
|
14
|
-
label: "Предзаполненный список",
|
|
15
|
-
description: "Иллюстрация удаления файлов из уже заполненного значения.",
|
|
16
|
-
value: [createMockReadFileResult("contract.pdf"), createMockReadFileResult("diagram.png", "image/png")]
|
|
17
|
-
}
|
|
18
|
-
}`,...m.parameters?.docs?.source}}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
|
|
19
|
-
render: renderInputFilesStory,
|
|
20
|
-
args: {
|
|
21
|
-
label: "Лимит файлов",
|
|
22
|
-
description: "После достижения лимита поле выбора блокируется.",
|
|
23
|
-
maxFiles: 2,
|
|
24
|
-
value: [createMockReadFileResult("first.pdf"), createMockReadFileResult("second.pdf")]
|
|
25
|
-
}
|
|
26
|
-
}`,...h.parameters?.docs?.source}}},g=[`Controlled`,`WithInitialFiles`,`LimitReached`]})))()}export{_ as a,m as i,s as n,h as r,p as t};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-K-XGUe-D.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./InputImage-I4lZZZDP.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-K-XGUe-D.js";import{n as i,t as a}from"./MultiSelect-giyYuz8c.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-K-XGUe-D.js";import{n as r,t as i}from"./Text-DG9QNJe0.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-C3lNtiZJ.js";import{i as m,n as h,r as g,t as _}from"./PeriodSelect-CWHJ86O3.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-C2J0uWGf.js";import{n as a}from"./iframe-K-XGUe-D.js";import{n as o,t as s}from"./Text-DG9QNJe0.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-erSbZygb.js";import{n as m,t as h}from"./PresetRangeDateInput-jsBNunjm.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-K-XGUe-D.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a}from"./blocks-BohMQTSj.js";function o(e){let t={a:`a`,code:`code`,h1:`h1`,h2:`h2`,li:`li`,p:`p`,pre:`pre`,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-ASb4zRKF.js";import{n as a}from"./iframe-K-XGUe-D.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};
|