@ryuzaki13/react-foundation-ui 2.0.1 → 2.2.0
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/COLOR_TOKENS_MIGRATION.md +224 -0
- package/README.md +14 -18
- package/dist/advanced-search/index.js +8 -8
- package/dist/badge/index.js +1 -1
- package/dist/barcode-scanner/index.js +2 -2
- package/dist/base-table/index.js +1 -1
- package/dist/button/index.js +1 -1
- package/dist/check-box/index.js +1 -1
- package/dist/chunks/{CalendarView-Bhaov_XE.js → CalendarView-Dm55k0bN.js} +2 -2
- package/dist/chunks/CalendarView-Dm55k0bN.js.map +1 -0
- package/dist/chunks/ImageViewerRuntime-HGBWp9NM.js.map +1 -1
- package/dist/chunks/{TextEditorLexicalClient-CSXZQOYo.js → TextEditorLexicalClient-D46Zed55.js} +6 -6
- package/dist/chunks/TextEditorLexicalClient-D46Zed55.js.map +1 -0
- package/dist/chunks/{badge-DUI2ET6q.js → badge-6mXO9BWP.js} +2 -2
- package/dist/chunks/badge-6mXO9BWP.js.map +1 -0
- package/dist/chunks/{base-table-BqW1n7tv.js → base-table-BWvKfI2W.js} +2 -2
- package/dist/chunks/{base-table-BqW1n7tv.js.map → base-table-BWvKfI2W.js.map} +1 -1
- package/dist/chunks/{button-BaUlN-nt.js → button-DF21yxVp.js} +3 -3
- package/dist/chunks/{button-BaUlN-nt.js.map → button-DF21yxVp.js.map} +1 -1
- package/dist/chunks/{check-box-CC8CDnSR.js → check-box-CZyhzmR0.js} +3 -3
- package/dist/chunks/{check-box-CC8CDnSR.js.map → check-box-CZyhzmR0.js.map} +1 -1
- package/dist/chunks/{context-menu-Dj6MXgv6.js → context-menu-DgvXGCuI.js} +3 -3
- package/dist/chunks/context-menu-DgvXGCuI.js.map +1 -0
- package/dist/chunks/{date-input-DkLfO3Ng.js → date-input-BwLOiGXp.js} +5 -5
- package/dist/chunks/{date-input-DkLfO3Ng.js.map → date-input-BwLOiGXp.js.map} +1 -1
- package/dist/chunks/{input-D1jOxm0t.js → input-DSPKgiCK.js} +2 -2
- package/dist/chunks/input-DSPKgiCK.js.map +1 -0
- package/dist/chunks/{input-files-CDGpJaUm.js → input-files-tIS17-zX.js} +3 -3
- package/dist/chunks/input-files-tIS17-zX.js.map +1 -0
- package/dist/chunks/{input-search-Ci1ubGox.js → input-search-Cat4c7SM.js} +2 -2
- package/dist/chunks/{input-search-Ci1ubGox.js.map → input-search-Cat4c7SM.js.map} +1 -1
- package/dist/chunks/misc-DeGboAt-.js.map +1 -1
- package/dist/chunks/{modal-CbAwLHlM.js → modal-dplfAaER.js} +2 -2
- package/dist/chunks/{modal-CbAwLHlM.js.map → modal-dplfAaER.js.map} +1 -1
- package/dist/chunks/{multi-select-V7SLAduU.js → multi-select-BZ9N6Dal.js} +4 -4
- package/dist/chunks/{multi-select-V7SLAduU.js.map → multi-select-BZ9N6Dal.js.map} +1 -1
- package/dist/chunks/{picker-DZ4-1BvK.js → picker-lvm82d0A.js} +3 -3
- package/dist/chunks/picker-lvm82d0A.js.map +1 -0
- package/dist/chunks/popover-Bne-Ljbs.js.map +1 -1
- package/dist/chunks/{radio-group-DhpP7JSJ.js → radio-group-CRk_1ODZ.js} +2 -2
- package/dist/chunks/radio-group-CRk_1ODZ.js.map +1 -0
- package/dist/chunks/{select-B7cWlJxL.js → select-aTGupQan.js} +4 -4
- package/dist/chunks/{select-B7cWlJxL.js.map → select-aTGupQan.js.map} +1 -1
- package/dist/chunks/{table-DMLFUBlb.js → table-DxoSOvQK.js} +2 -2
- package/dist/chunks/table-DxoSOvQK.js.map +1 -0
- package/dist/chunks/{ui.module-BsDio9A3.js → ui.module-oRwY3Zli.js} +2 -1
- package/dist/chunks/ui.module-oRwY3Zli.js.map +1 -0
- package/dist/chunks/{uiClasses-BVwFzzsr.js → uiClasses-CQj47jkF.js} +11 -2
- package/dist/chunks/uiClasses-CQj47jkF.js.map +1 -0
- package/dist/chunks/wheel-picker-FS58cRsQ.js.map +1 -1
- package/dist/context-menu/index.js +1 -1
- package/dist/date-input/index.js +2 -2
- package/dist/date-time-input/index.js +3 -3
- package/dist/disclosure/index.js +2 -2
- package/dist/disclosure/index.js.map +1 -1
- package/dist/drop-zone/index.js +1 -1
- package/dist/drop-zone/index.js.map +1 -1
- package/dist/errors/index.js +4 -4
- package/dist/errors/index.js.map +1 -1
- package/dist/expandable-action-panel/index.js +1 -1
- package/dist/image/index.js +5 -5
- package/dist/image/index.js.map +1 -1
- package/dist/input/index.js +1 -1
- package/dist/input-date-time/index.js +2 -2
- package/dist/input-file/index.js +2 -2
- package/dist/input-files/index.js +1 -1
- package/dist/input-image/index.js +2 -2
- package/dist/input-search/index.js +1 -1
- package/dist/layout-picker/index.js +1 -1
- package/dist/layout-picker/index.js.map +1 -1
- package/dist/listbox/index.js +1 -1
- package/dist/modal/index.js +1 -1
- package/dist/multi-select/index.js +1 -1
- package/dist/notifications/index.js +1 -1
- package/dist/notifications/index.js.map +1 -1
- package/dist/option/index.js +1 -1
- package/dist/picker/index.js +1 -1
- package/dist/preset-range-date-input/index.js +1 -1
- package/dist/preset-select/index.js +1 -1
- package/dist/radio-button/index.js +2 -2
- package/dist/radio-group/index.js +1 -1
- package/dist/select/index.js +1 -1
- package/dist/simple-table/index.js +1 -1
- package/dist/slider/index.js +3 -3
- package/dist/slider/index.js.map +1 -1
- package/dist/state-select/index.js +1 -1
- package/dist/status-indicator/StatusIndicator.d.ts +14 -0
- package/dist/status-indicator/StatusIndicator.d.ts.map +1 -0
- package/dist/status-indicator/index.d.ts +2 -0
- package/dist/status-indicator/index.d.ts.map +1 -0
- package/dist/status-indicator/index.js +40 -0
- package/dist/status-indicator/index.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/switch/index.js +1 -1
- package/dist/table/index.js +1 -1
- package/dist/table-sorting/index.js +1 -1
- package/dist/tabs/index.js +2 -2
- package/dist/tabs/index.js.map +1 -1
- package/dist/tag-input/index.js +2 -2
- package/dist/tag-input/index.js.map +1 -1
- package/dist/text-editor/index.js +1 -1
- package/dist/textarea/index.js +2 -2
- package/dist/toggle/index.js +1 -1
- package/dist/toggle/index.js.map +1 -1
- package/dist/tree-select/index.js +3 -3
- package/dist/tree-select/index.js.map +1 -1
- package/dist/tree-table/index.js +1 -1
- package/dist/tree-table/index.js.map +1 -1
- package/dist/types.d.ts +3 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/uiClasses.d.ts.map +1 -1
- package/package.json +6 -1
- package/src/styles/_border.scss +2 -2
- package/src/styles/_color.scss +8 -8
- package/src/styles/_components.scss +2 -2
- package/src/styles/_normalize.scss +4 -4
- package/src/styles/config/_index.scss +95 -182
- package/src/styles/mixins/_controls.scss +43 -26
- package/src/styles/mixins/_mixin.scss +0 -187
- package/src/styles/mixins/controls.test.ts +28 -6
- package/src/styles/themes/_interactive-surface.scss +12 -12
- package/src/styles/themes/_theme.scss +21 -157
- package/src/styles/themes/theme.test.ts +66 -48
- package/storybook-static/assets/{Badge-DTV2OL5k.js → Badge-S6BbyfeX.js} +8 -2
- package/storybook-static/assets/{Badge.stories-D4zH_nK5.js → Badge.stories-mio0RhpX.js} +7 -1
- package/storybook-static/assets/{BadgeList-CD5894x5.css → BadgeList-DbjeNuw0.css} +1 -1
- package/storybook-static/assets/{BadgeList-CnmQ4zmg.js → BadgeList-rtyargPY.js} +2 -2
- package/storybook-static/assets/{BarcodeScannerDialog.stories-Cm7ouwg8.js → BarcodeScannerDialog.stories-DRdXaVuW.js} +1 -1
- package/storybook-static/assets/{Button-6JuiM3Sj.js → Button-CNH5M6QU.js} +12 -2
- package/storybook-static/assets/{Button-HheQm8vu.js → Button-EVzvXVPh.js} +4 -2
- package/storybook-static/assets/Button.stories-VUvnWRnm.js +106 -0
- package/storybook-static/assets/{CalendarView-CEfB4HLd.js → CalendarView-CfSvCqCr.js} +1 -1
- package/storybook-static/assets/CalendarView-dgpVDRJR.css +1 -0
- package/storybook-static/assets/{CheckBox-CWGCGHUS.js → CheckBox-Bynxp5UW.js} +1 -1
- package/storybook-static/assets/{CheckBox-CzvA4ttT.js → CheckBox-C3n5T66c.js} +2 -2
- package/storybook-static/assets/{CheckBox.stories-D2lA5F8B.js → CheckBox.stories-BoF97wxK.js} +1 -1
- package/storybook-static/assets/{Color-6AOWCN3U-RvvVvZ9f.js → Color-6AOWCN3U-D-Jlgqzt.js} +1 -1
- package/storybook-static/assets/{ContextMenu-BJnj7lO4.js → ContextMenu-Dg65Ha7g.js} +1 -1
- package/storybook-static/assets/{ContextMenu-DCpglNe4.js → ContextMenu-DwwW3EyB.js} +1 -1
- package/storybook-static/assets/ContextMenu-yhWq2uJ3.css +1 -0
- package/storybook-static/assets/{ContextMenu.stories-CZabvzR6.js → ContextMenu.stories-D-jRdIZD.js} +1 -1
- package/storybook-static/assets/{CustomOptionButton-B9bzr3ba.js → CustomOptionButton-vfj1vLJM.js} +1 -1
- package/storybook-static/assets/{DateInput-DoMGeEvO.js → DateInput-BpuC_NWD.js} +1 -1
- package/storybook-static/assets/{DateInput-Cud2arem.js → DateInput-DJdh5B2X.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-DFd5wyMy.js → DateInput.stories-C9hB_vFy.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-DfGcFHV8.js → DateRangePresetSelect-CDgQfOdZ.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-C8jA3mur.js → DateRangePresetSelect-DYPoeqC2.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect.stories-DtR83uwx.js → DateRangePresetSelect.stories-Bx40H_O0.js} +1 -1
- package/storybook-static/assets/{Detail-CMcVxOrr.js → Detail-DWFfdNJH.js} +1 -1
- package/storybook-static/assets/{Detail.stories-DGT8An8z.js → Detail.stories-C9y_rsbc.js} +1 -1
- package/storybook-static/assets/{Dialog-DBh-yDZW.js → Dialog-D8GPZi6H.js} +1 -1
- package/storybook-static/assets/{Dialog-BPzpu7Iw.js → Dialog-XbR8HVsJ.js} +1 -1
- package/storybook-static/assets/{Dialog.stories-DU3SgOkL.js → Dialog.stories-CoU_PusF.js} +1 -1
- package/storybook-static/assets/{Disclosure-BGsPaAxH.js → Disclosure-DrGfFwQt.js} +1 -1
- package/storybook-static/assets/{Disclosure.stories-DpwyYh7T.js → Disclosure.stories-CsR1_XK7.js} +1 -1
- package/storybook-static/assets/DisclosureGroup-D_ldcGgp.css +1 -0
- package/storybook-static/assets/{DisclosureGroup-CJI8B2x_.js → DisclosureGroup-DvB5K7gZ.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-Cf85Uxwt.js → DocsRenderer-JROSPFPF-B7AkTp2I.js} +1 -1
- package/storybook-static/assets/{DropZone-C7HIN5ml.css → DropZone-C4gPTIz0.css} +1 -1
- package/storybook-static/assets/{DropZone-C7qTrvkq.js → DropZone-DZi2WVu9.js} +1 -1
- package/storybook-static/assets/{DropZone-cYl1w3wQ.js → DropZone-DesGY4BW.js} +1 -1
- package/storybook-static/assets/{DropZone.stories-o02bE6DI.js → DropZone.stories-KVDb6pHQ.js} +1 -1
- package/storybook-static/assets/{DropdownMenu-DqqPU9RU.js → DropdownMenu-CRoQARS5.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel-B_pjHQ5m.js → ExpandableActionPanel-CWKJIcbQ.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel.stories-C7dJ5dht.js → ExpandableActionPanel.stories-D-MYdCJ4.js} +1 -1
- package/storybook-static/assets/{Flex-CIHkkwFK.js → Flex-CMPSlVVy.js} +1 -1
- package/storybook-static/assets/{Flex.stories-DteEPY0y.js → Flex.stories-DQH0Q5EF.js} +1 -1
- package/storybook-static/assets/{FloatingPopover-yB9tTk9G.js → FloatingPopover-CBWu6Gxj.js} +1 -1
- package/storybook-static/assets/FloatingPopover-Di16BZj-.css +1 -0
- package/storybook-static/assets/{FormattedTableCell-QVYQepjk.js → FormattedTableCell-CIp2ULPe.js} +1 -1
- package/storybook-static/assets/FormattedTableCell-CTIL_ueu.css +1 -0
- package/storybook-static/assets/{Grid-BUVtGaZY.js → Grid-BlQE5E_9.js} +1 -1
- package/storybook-static/assets/{Grid.stories-CWGqCVB2.js → Grid.stories-CwUCPClP.js} +1 -1
- package/storybook-static/assets/{ImageCropper.stories-D8l7iHQA.js → ImageCropper.stories-DjaRavSL.js} +1 -1
- package/storybook-static/assets/{ImageRenderer-BcPmp9P9.js → ImageRenderer-JGxgpvv2.js} +1 -1
- package/storybook-static/assets/{ImageRenderer.stories-CcLUz8Ml.js → ImageRenderer.stories-DwH6FgEc.js} +1 -1
- package/storybook-static/assets/{ImageView.stories-BwvjVmuF.js → ImageView.stories-DgYPiNil.js} +1 -1
- package/storybook-static/assets/{ImageViewer.stories-BjT782dr.js → ImageViewer.stories-_y7d3coa.js} +2 -2
- package/storybook-static/assets/{ImageViewerRuntime-DnQ-rQ_M.js → ImageViewerRuntime-CA6JhQ31.js} +1 -1
- package/storybook-static/assets/ImageViewerRuntime-MxAd4mC-.css +1 -0
- package/storybook-static/assets/{Input-DebpyMJg.js → Input-95LKm7aK.js} +1 -1
- package/storybook-static/assets/{Input-CmEkIaR0.js → Input-CET6HfZH.js} +1 -1
- package/storybook-static/assets/{Input-CYgnggvb.css → Input-CIA3PkB4.css} +1 -1
- package/storybook-static/assets/{Input.stories-y2LCVkT2.js → Input.stories-BDTI2nIV.js} +1 -1
- package/storybook-static/assets/{InputDateTime-B5oKuCea.js → InputDateTime-DsRJZVCO.js} +1 -1
- package/storybook-static/assets/{InputDateTime.stories-Cwi0acf9.js → InputDateTime.stories-Dah3F9Fq.js} +1 -1
- package/storybook-static/assets/{InputFile-B2dVbDrE.js → InputFile-CF3DRyTX.js} +1 -1
- package/storybook-static/assets/{InputFile-DbRU7crz.js → InputFile-_65sKWXa.js} +1 -1
- package/storybook-static/assets/{InputFile.stories-DrXG5hWA.js → InputFile.stories-B1PFNFPf.js} +1 -1
- package/storybook-static/assets/{InputFiles-DEBKMzlt.js → InputFiles-CUYGDig8.js} +1 -1
- package/storybook-static/assets/{InputFiles-CsgKJXOD.js → InputFiles-RV6K6GmT.js} +1 -1
- package/storybook-static/assets/{InputFiles.stories-EZDcefG0.js → InputFiles.stories-ZCzYnboY.js} +1 -1
- package/storybook-static/assets/{InputFilesList-ByK52qUe.css → InputFilesList-BbwB0oHE.css} +1 -1
- package/storybook-static/assets/{InputFilesList-GjMJ14Ln.js → InputFilesList-Co__UO8B.js} +1 -1
- package/storybook-static/assets/{InputImage-qjJ7xrKX.js → InputImage-900lIdui.js} +1 -1
- package/storybook-static/assets/{InputImage-CFFK9MbG.js → InputImage-De56Jwx9.js} +1 -1
- package/storybook-static/assets/{InputImage.stories-B32AtBda.js → InputImage.stories-B_R_kcCD.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents-DustBT4l.js → InteractiveComponents-DGTx8enm.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents.stories-J-7t7y-v.js → InteractiveComponents.stories-CDZsFUga.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-DwNtjoeb.js → LayoutPicker-BMO8qfbL.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-DlzXd6kS.js → LayoutPicker-CllhDO8J.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-BY4-fUQa.css → LayoutPicker-DaPDA0_s.css} +1 -1
- package/storybook-static/assets/{LayoutPicker.stories-2bG0TvXm.js → LayoutPicker.stories-F7K4tSxT.js} +1 -1
- package/storybook-static/assets/{Listbox-BAhrUu_I.js → Listbox-0kjmvCe-.js} +1 -1
- package/storybook-static/assets/{Listbox-C9qCMY31.js → Listbox-D_2t3NpM.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-BfakOrPT.js → Listbox.stories-Cp1Eq7Bz.js} +1 -1
- package/storybook-static/assets/{Modal-wGyoEzau.js → Modal-vdSwQ6xw.js} +1 -1
- package/storybook-static/assets/{Modal-D5znEvBs.js → Modal-zf0JQ124.js} +1 -1
- package/storybook-static/assets/{Modal.stories-DotZ88Ut.js → Modal.stories-Cz47rY2B.js} +1 -1
- package/storybook-static/assets/{ModalManagerProvider-DXPaYU4j.js → ModalManagerProvider-C_zd0fqC.js} +1 -1
- package/storybook-static/assets/{MultiSelect-BxKmL7sF.js → MultiSelect-Bl3q6kCP.js} +1 -1
- package/storybook-static/assets/{MultiSelect-DN1NhXH9.js → MultiSelect-DE13Ak4N.js} +1 -1
- package/storybook-static/assets/{MultiSelect.stories-Cdrx9hhT.js → MultiSelect.stories-DG6LGTC9.js} +1 -1
- package/storybook-static/assets/{NoData-mAjM6Vuy.js → NoData-B4AGZs5Q.js} +1 -1
- package/storybook-static/assets/NotificationsHost-BIyd1XQ0.css +1 -0
- package/storybook-static/assets/{NotificationsHost-gBWuk9v-.js → NotificationsHost-CFD2_BpZ.js} +1 -1
- package/storybook-static/assets/{NotificationsHost.stories-DONKtSKb.js → NotificationsHost.stories-CiSu7Vly.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect-Daq3ksSA.js → ODataMultiSelect-PcZYhXlN.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect.stories-De0WwTKp.js → ODataMultiSelect.stories-xodpVftn.js} +1 -1
- package/storybook-static/assets/{ODataSelect-BUO-vyqK.js → ODataSelect-BuuZhINP.js} +1 -1
- package/storybook-static/assets/{ODataSelect.stories-CJ2RCZGP.js → ODataSelect.stories-nr7GqOTz.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect-Ctyo-uib.js → ODataTreeMultiSelect-BRNITq-6.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-BX4wjGkG.js → ODataTreeMultiSelect.stories-Baxtdxte.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect-BZzwG_Ve.js → ODataTreeSelect-BKcyKJr8.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-B0jQNyMj.js → ODataTreeSelect.stories-n6LATF6z.js} +1 -1
- package/storybook-static/assets/{OneStepScroller-BL3gxJh1.js → OneStepScroller-DXykOSPw.js} +1 -1
- package/storybook-static/assets/{Option-JgQ-duDq.js → Option-Cr3vYgCL.js} +1 -1
- package/storybook-static/assets/Option-DD2t6DLq.css +1 -0
- package/storybook-static/assets/{OptionButton-CATaxLh0.js → OptionButton-v-MO3VgJ.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-BIsC_Ew6.js → PeriodSelect-BQ9_EM63.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-4LpRQDP5.js → PeriodSelect-DQXZWIBX.js} +1 -1
- package/storybook-static/assets/{PeriodSelect.stories-D5fKpF2P.js → PeriodSelect.stories-S2ndHVEQ.js} +1 -1
- package/storybook-static/assets/{PickerField-BkqWIWZw.js → PickerField-BeAXSQmp.js} +1 -1
- package/storybook-static/assets/{PickerTriggerActions-BVrXKKJ9.js → PickerTriggerActions-D6BjZkrN.js} +1 -1
- package/storybook-static/assets/{Popover-BTrxASXR.js → Popover-BAp50b4b.js} +1 -1
- package/storybook-static/assets/{Popover-DZlEnjse.js → Popover-CTCfa72M.js} +1 -1
- package/storybook-static/assets/{Popover.stories-BdyB4Q7K.js → Popover.stories-CZIBppwE.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-DUES355B.js → PresetRangeDateInput-BLAAcq8Y.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-Cp66aUGT.js → PresetRangeDateInput-EIlQEGr0.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput.stories-D4jLrF6o.js → PresetRangeDateInput.stories-CShR-Eub.js} +1 -1
- package/storybook-static/assets/{PresetSelect-CmRrk7FZ.js → PresetSelect-BcD8EsSb.js} +1 -1
- package/storybook-static/assets/{README-CU_f1CMq.js → README-5i5ZfRuh.js} +1 -1
- package/storybook-static/assets/{README-B7BK3gkk.js → README-6iRo8dKK.js} +1 -1
- package/storybook-static/assets/{README-BCNsNQNj.js → README-6vpPfmdC.js} +1 -1
- package/storybook-static/assets/{README-DNUrBjgg.js → README-B2J2ATaW.js} +1 -1
- package/storybook-static/assets/{README-BUknkyU6.js → README-B8qFKwiq.js} +1 -1
- package/storybook-static/assets/{README-BmKEL3jy.js → README-BBS739kV.js} +1 -1
- package/storybook-static/assets/{README-B00ewV67.js → README-BDMWo0qS.js} +1 -1
- package/storybook-static/assets/{README-DgudM-2t.js → README-BIpHKVKI.js} +1 -1
- package/storybook-static/assets/{README-CmK6hELS.js → README-BQHgBs-J.js} +1 -1
- package/storybook-static/assets/{README-D7jyja4l.js → README-BUlc8wGR.js} +1 -1
- package/storybook-static/assets/{README-CHw6-PVx.js → README-BW1oyMu_.js} +1 -1
- package/storybook-static/assets/{README-C28SDMRx.js → README-BdBeQtXQ.js} +1 -1
- package/storybook-static/assets/{README-LqD1V5ru.js → README-BkX7iDLJ.js} +1 -1
- package/storybook-static/assets/{README-D-TgbUSA.js → README-BnTk0DyO.js} +1 -1
- package/storybook-static/assets/{README-CnRKlFuJ.js → README-Bwv6SU5o.js} +1 -1
- package/storybook-static/assets/{README-Ds6OSOC0.js → README-CLiuh-fF.js} +1 -1
- package/storybook-static/assets/{README-BGA2Ek3H.js → README-CLv4OeWw.js} +1 -1
- package/storybook-static/assets/{README-BrJaVHU_.js → README-CMBk39py.js} +1 -1
- package/storybook-static/assets/{README-DPuLgYuK.js → README-CQUlYRLa.js} +1 -1
- package/storybook-static/assets/{README-BhRGrTHx.js → README-CVX-4uJ_.js} +1 -1
- package/storybook-static/assets/{README-Bq8FLza7.js → README-CWeupyTO.js} +1 -1
- package/storybook-static/assets/{README-E5QziGK8.js → README-CZJvbdGv.js} +1 -1
- package/storybook-static/assets/{README-B4CJVRtX.js → README-CaECsCl2.js} +1 -1
- package/storybook-static/assets/{README-52AHLz83.js → README-Cntj7my4.js} +1 -1
- package/storybook-static/assets/{README-D6pLFtqL.js → README-CuGPdc3G.js} +1 -1
- package/storybook-static/assets/{README-D8YPmvQw.js → README-D7pP2Sxx.js} +1 -1
- package/storybook-static/assets/{README-Cs-dnvtW.js → README-D9Og-Y7l.js} +1 -1
- package/storybook-static/assets/{README-Duppk6f6.js → README-DDtdZa9N.js} +1 -1
- package/storybook-static/assets/{README-B20cH-BV.js → README-DLQvRDdd.js} +1 -1
- package/storybook-static/assets/{README-BfGp1q9n.js → README-DQpji8GH.js} +1 -1
- package/storybook-static/assets/{README-Bh_zrJ_j.js → README-DUfqdm0p.js} +1 -1
- package/storybook-static/assets/{README-55mkSTZb.js → README-Dd3MCsf2.js} +1 -1
- package/storybook-static/assets/{README-CPYFZwZE.js → README-DehKWpx2.js} +1 -1
- package/storybook-static/assets/{README-lgRhlVsq.js → README-DgFtCu8B.js} +1 -1
- package/storybook-static/assets/{README-C8Xo5jEX.js → README-DhZbllv1.js} +1 -1
- package/storybook-static/assets/{README-DvZ8ZhlH.js → README-Dj9EXnja.js} +1 -1
- package/storybook-static/assets/{README-CzKPWsNs.js → README-DkCWpyid.js} +1 -1
- package/storybook-static/assets/{README-C_SQjJtW.js → README-Dn2AIjeS.js} +1 -1
- package/storybook-static/assets/{README-DG5knhc9.js → README-DoZCaKAx.js} +1 -1
- package/storybook-static/assets/{README-DK-Bw1l1.js → README-DsLoV4ax.js} +1 -1
- package/storybook-static/assets/{README-BlWMNqE5.js → README-DwvyizD7.js} +1 -1
- package/storybook-static/assets/{README--fYBobJK.js → README-DwyqrR4I.js} +1 -1
- package/storybook-static/assets/{README-DyLt9P77.js → README-N-Gy0UYM.js} +1 -1
- package/storybook-static/assets/{README-DzVNZdfo.js → README-Wd5wEw-J.js} +1 -1
- package/storybook-static/assets/{README-CoD7FHU_.js → README-Y4OGhQbo.js} +1 -1
- package/storybook-static/assets/{README-EIhMMZ0t.js → README-ZZiicHm9.js} +1 -1
- package/storybook-static/assets/{README-BsUvf6lk.js → README-bAu0Uk5O.js} +1 -1
- package/storybook-static/assets/{README-B9foBRQ-.js → README-cuvbXAuG.js} +1 -1
- package/storybook-static/assets/{README-DsfBjN9N.js → README-jHuA2mq2.js} +1 -1
- package/storybook-static/assets/{README-C_WyDQDz.js → README-pvA4fK1E.js} +1 -1
- package/storybook-static/assets/{README-4AGJG--w.js → README-sEbspuLw.js} +1 -1
- package/storybook-static/assets/{README-DK-US_zR.js → README-v3TOC_aE.js} +1 -1
- package/storybook-static/assets/{README-BoGNjKgW.js → README-wizqrRgs.js} +1 -1
- package/storybook-static/assets/{RadioButton-CmcExRQs.js → RadioButton-BUPEsqwH.js} +1 -1
- package/storybook-static/assets/{RadioButton-BLHXpf6L.js → RadioButton-Ca0kZdMV.js} +1 -1
- package/storybook-static/assets/{RadioButton.stories-P1SEMdJ1.js → RadioButton.stories-aBnizEak.js} +1 -1
- package/storybook-static/assets/{RadioGroup-DkCSA8me.js → RadioGroup-34jH28Sk.js} +1 -1
- package/storybook-static/assets/{RadioGroup-BU95Hbl0.css → RadioGroup-DHnDIEgi.css} +1 -1
- package/storybook-static/assets/{RadioGroup-BBv2Na1n.js → RadioGroup-dq6CbxB6.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-5-uFHs1b.js → RadioGroup.stories--lDrmS8V.js} +1 -1
- package/storybook-static/assets/{Scrollable-XhGz9dwJ.js → Scrollable-BJRiyp9q.js} +1 -1
- package/storybook-static/assets/{Select-BEMtNq5M.js → Select-CwNDJSmq.js} +1 -1
- package/storybook-static/assets/{Select-CyA-PHrU.js → Select-DmwCwS8a.js} +1 -1
- package/storybook-static/assets/{Select.stories-B_GbDG58.js → Select.stories-BXj7A2gM.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-CJ74e_Vc.js → SerializableSelect-IAtBSK9P.js} +1 -1
- package/storybook-static/assets/{SerializableSelect.stories-PUXPFPFx.js → SerializableSelect.stories-D8F5WGtk.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-wqb75Yrz.js → SingleDateTimeInput-CbyyGlmi.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-BlpQ8t9f.js → SingleDateTimeInput-oN2P3eYx.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput.stories-CdogRh5M.js → SingleDateTimeInput.stories-BU_wyTmo.js} +1 -1
- package/storybook-static/assets/{Slider-CZa1f0vP.js → Slider-CDJhhSWj.js} +1 -1
- package/storybook-static/assets/{Slider-r8Be9wJ4.js → Slider-ClZTrtRk.js} +1 -1
- package/storybook-static/assets/Slider-DxdPx1Pb.css +1 -0
- package/storybook-static/assets/{Slider.stories-BUwg0h15.js → Slider.stories-PfQf9es7.js} +1 -1
- package/storybook-static/assets/{SliderInput-BWFbcA5R.js → SliderInput-BxFUjetO.js} +1 -1
- package/storybook-static/assets/{SliderInput-BaZBNhhF.js → SliderInput-C7TRql6-.js} +1 -1
- package/storybook-static/assets/{SliderInput.stories-Cbxo0ku_.js → SliderInput.stories-yX8DU5pZ.js} +1 -1
- package/storybook-static/assets/{Sortable-JfLmQUdm.js → Sortable-D8cVwatT.js} +1 -1
- package/storybook-static/assets/{Sortable.stories-Cz9xM3Tw.js → Sortable.stories-BI6_E5k7.js} +1 -1
- package/storybook-static/assets/{Splitter-BkQcPRYJ.js → Splitter-B958Wj4G.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-zQf1fK4D.js → Splitter.stories-Dl2YOk9H.js} +1 -1
- package/storybook-static/assets/{StateSelect-DxH1oWnK.js → StateSelect-Cs9-kDRC.js} +1 -1
- package/storybook-static/assets/{StateSelect-TLRMUmko.js → StateSelect-DbV1mGhQ.js} +1 -1
- package/storybook-static/assets/{StateSelect.stories-CReLNG_6.js → StateSelect.stories-D6atguQ6.js} +1 -1
- package/storybook-static/assets/StatusIndicator--Y-QdjQI.js +37 -0
- package/storybook-static/assets/StatusIndicator-CpCGmnO7.css +1 -0
- package/storybook-static/assets/StatusIndicator.stories-DxkpP6C1.js +31 -0
- package/storybook-static/assets/{StringToggle.stories-BYqTdRbD.js → StringToggle.stories-C3mdK5Wx.js} +1 -1
- package/storybook-static/assets/{Switch-ChsLVAse.js → Switch-BTFpnXV9.js} +1 -1
- package/storybook-static/assets/{Switch-DE9rqHmp.js → Switch-OPzpWcJw.js} +1 -1
- package/storybook-static/assets/{Switch.stories-BaVgLi3_.js → Switch.stories-C0rVHcRq.js} +1 -1
- package/storybook-static/assets/{Table-qoMvYV1q.js → Table-bWKgagHH.js} +1 -1
- package/storybook-static/assets/Table-j_3ID7Xq.css +1 -0
- package/storybook-static/assets/{Table.stories-BdLScKfS.js → Table.stories-DOuV4G3p.js} +1 -1
- package/storybook-static/assets/{Tabs-CuALrdgt.js → Tabs-ae4daDEA.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-BrLtxZ_a.js → Tabs.stories-Br4RCZKR.js} +1 -1
- package/storybook-static/assets/{TabsBox-D-bkJX9j.css → TabsBox-B3REnb6D.css} +1 -1
- package/storybook-static/assets/{TabsBox-DzfWhIHb.js → TabsBox-X_7yoTw3.js} +1 -1
- package/storybook-static/assets/{TagInput-Tyn5Jgus.js → TagInput-B2w5W05Z.js} +1 -1
- package/storybook-static/assets/{TagInput-ChmW4s9O.css → TagInput-RJbbcfoR.css} +1 -1
- package/storybook-static/assets/{TagInput.stories-Bbs3olyB.js → TagInput.stories-Db9DaNpW.js} +1 -1
- package/storybook-static/assets/{Text-B4GUKigV.js → Text-BT0cn3Bk.js} +1 -1
- package/storybook-static/assets/{Textarea-CNu-scX8.js → Textarea-B9MNOgmF.js} +1 -1
- package/storybook-static/assets/{Textarea-D3iwzB-S.js → Textarea-C_6iOQ3k.js} +1 -1
- package/storybook-static/assets/{Textarea.stories-CE2gt74x.js → Textarea.stories-Ctjb3d47.js} +1 -1
- package/storybook-static/assets/{TimePanel-BESMLCVl.js → TimePanel-C5AucKln.js} +1 -1
- package/storybook-static/assets/{TimePanel-Bh98qsCo.css → TimePanel-D9_hb7w4.css} +1 -1
- package/storybook-static/assets/{TimePanel.stories-BYhTpaoS.js → TimePanel.stories-CiQAJcB_.js} +1 -1
- package/storybook-static/assets/Toggle-ClE8Zovo.css +1 -0
- package/storybook-static/assets/{Toggle-0-SlfDXC.js → Toggle-DxA-Q1KZ.js} +1 -1
- package/storybook-static/assets/{Toggle-BexBc-UO.js → Toggle-q8hxq-LP.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-CG4rBYOZ.js → Toggle.stories-C6Jf_KTc.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-Cne9qXjN.js → TreeMultiSelect-BKF7COzn.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-QId1DJUn.js → TreeMultiSelect-BfduPrgB.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-D6ElJY8Y.js → TreeMultiSelect.stories-C-uztFex.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-B6DED6Hz.css → TreePickerBase-CmFF9pWE.css} +1 -1
- package/storybook-static/assets/{TreePickerBase-Dq3HMrua.js → TreePickerBase-SVDNn9QY.js} +1 -1
- package/storybook-static/assets/{TreeSelect-q4gdFfBH.js → TreeSelect-Bu9HRTvX.js} +1 -1
- package/storybook-static/assets/{TreeSelect-BJKtAh4x.js → TreeSelect-ClJGLBA8.js} +1 -1
- package/storybook-static/assets/{TreeSelect.stories-DfCxZuVy.js → TreeSelect.stories-C0TeLbpZ.js} +1 -1
- package/storybook-static/assets/{TreeTable-5fAWCnhQ.js → TreeTable-BXia_Imm.js} +1 -1
- package/storybook-static/assets/TreeTable-BvB3kj4h.css +1 -0
- package/storybook-static/assets/{TreeTable.stories-B1fSfYHg.js → TreeTable.stories-Cwo8yjNI.js} +1 -1
- package/storybook-static/assets/{blocks-B_u8Yt1Z.js → blocks-BmNU_R5E.js} +3 -3
- package/storybook-static/assets/{check-r01NGn4c.js → check-HCQdrq3c.js} +1 -1
- package/storybook-static/assets/{chevron-down-DxMviYn3.js → chevron-down-DHrZ_6vS.js} +1 -1
- package/storybook-static/assets/{chevron-left-mKnQH53V.js → chevron-left-CaIBhYcr.js} +1 -1
- package/storybook-static/assets/{chevron-right-CeJNqWTb.js → chevron-right-BpmEWiwv.js} +1 -1
- package/storybook-static/assets/{chunk-W22LQPXL-DorleiwX.js → chunk-W22LQPXL-DSMfJqhe.js} +1 -1
- package/storybook-static/assets/{circle-alert-H7OZyDmF.js → circle-alert-DuupFIr9.js} +1 -1
- package/storybook-static/assets/{circle-check-my8Ev6ar.js → circle-check-LYBfAR-E.js} +1 -1
- package/storybook-static/assets/{components-CDMhSXUo.js → components-CBnjb8pL.js} +3 -3
- package/storybook-static/assets/{contextMenu-fMt3iyZv.js → contextMenu-BZ-iSJtD.js} +1 -1
- package/storybook-static/assets/{download-BCwj5k1S.js → download-CsLGqkEl.js} +1 -1
- package/storybook-static/assets/{floating-ui.react-Cy32mouo.js → floating-ui.react-VNDOEKPt.js} +1 -1
- package/storybook-static/assets/{foundationApi-BtZYXGDY.js → foundationApi-BMy7_pDS.js} +1 -1
- package/storybook-static/assets/{foundationLib-CHOUG7NK.js → foundationLib-o95OqhXl.js} +1 -1
- package/storybook-static/assets/{hooks-CEvNG7IN.js → hooks-DMFMD13m.js} +1 -1
- package/storybook-static/assets/iframe-BT_jngkf.css +1 -0
- package/storybook-static/assets/{iframe-DWvPB8Sk.js → iframe-BaXmcmyl.js} +4 -4
- package/storybook-static/assets/iframe-D5qmKm51.js +1 -0
- package/storybook-static/assets/{info-CA6M6l6h.js → info-ZuWgcD4m.js} +1 -1
- package/storybook-static/assets/{odata-CHl7sWAn.js → odata-Brls3R5b.js} +1 -1
- package/storybook-static/assets/{odataStoryFixtures-BvjpoqqT.js → odataStoryFixtures-BmQo4rAJ.js} +2 -2
- package/storybook-static/assets/{react-B37E__uI.js → react-BnjGKE7V.js} +1 -1
- package/storybook-static/assets/{refresh-cw-Bt4yd-lG.js → refresh-cw-vj55o5c3.js} +1 -1
- package/storybook-static/assets/{settings-2-B7Uyk4j8.js → settings-2-PPom9XND.js} +1 -1
- package/storybook-static/assets/{sortable-B8UMQCaH.js → sortable-CztGPJOI.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-QGUDFNNj.js → syntaxhighlighter-QEQV7K2Y-uXmnHQP7.js} +1 -1
- package/storybook-static/assets/{trash-2-Bhjh1o0B.js → trash-2-DEnKoJjZ.js} +1 -1
- package/storybook-static/assets/{triangle-alert-D1c-iB00.js → triangle-alert-D-oyPLJL.js} +1 -1
- package/storybook-static/assets/ui-DSS1yTEO.css +1 -0
- package/storybook-static/assets/ui.module-SH8ehXul.js +1 -0
- package/storybook-static/assets/uiClasses-e9OQfdw2.js +1 -0
- package/storybook-static/assets/{useODataSelectBase-CYnvX8wM.js → useODataSelectBase-DxsvigTC.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-C2risfo7.js → useODataTreeData-Dzxb75-h.js} +1 -1
- package/storybook-static/assets/{usePickerQuery-CjSFlUmn.js → usePickerQuery-SCKPS_0f.js} +1 -1
- package/storybook-static/assets/{usePickerTriggerController-Bqo5fhOa.js → usePickerTriggerController-DMA4hla_.js} +1 -1
- package/storybook-static/assets/{x-B3GmOByS.js → x-C5QCK6Ts.js} +1 -1
- package/storybook-static/iframe.html +3 -3
- package/storybook-static/index.json +1 -1
- package/storybook-static/project.json +1 -1
- package/dist/chunks/CalendarView-Bhaov_XE.js.map +0 -1
- package/dist/chunks/TextEditorLexicalClient-CSXZQOYo.js.map +0 -1
- package/dist/chunks/badge-DUI2ET6q.js.map +0 -1
- package/dist/chunks/context-menu-Dj6MXgv6.js.map +0 -1
- package/dist/chunks/input-D1jOxm0t.js.map +0 -1
- package/dist/chunks/input-files-CDGpJaUm.js.map +0 -1
- package/dist/chunks/picker-DZ4-1BvK.js.map +0 -1
- package/dist/chunks/radio-group-DhpP7JSJ.js.map +0 -1
- package/dist/chunks/table-DMLFUBlb.js.map +0 -1
- package/dist/chunks/ui.module-BsDio9A3.js.map +0 -1
- package/dist/chunks/uiClasses-BVwFzzsr.js.map +0 -1
- package/storybook-static/assets/Button.stories-B3Q5B_2w.js +0 -93
- package/storybook-static/assets/CalendarView-DKvrkS40.css +0 -1
- package/storybook-static/assets/ContextMenu-CFPrlO2u.css +0 -1
- package/storybook-static/assets/DisclosureGroup-CVFMwx22.css +0 -1
- package/storybook-static/assets/FloatingPopover-jwILx9b0.css +0 -1
- package/storybook-static/assets/FormattedTableCell-AZc2IHfK.css +0 -1
- package/storybook-static/assets/ImageViewerRuntime-CRmlrtpL.css +0 -1
- package/storybook-static/assets/NotificationsHost-D5Pvn4eu.css +0 -1
- package/storybook-static/assets/Option-DXh7BISz.css +0 -1
- package/storybook-static/assets/Slider-CK-W2ZTO.css +0 -1
- package/storybook-static/assets/Table-BGvRn9y0.css +0 -1
- package/storybook-static/assets/Toggle-fKG2dFY0.css +0 -1
- package/storybook-static/assets/TreeTable--ZoksUiw.css +0 -1
- package/storybook-static/assets/iframe-CDVsimPQ.js +0 -1
- package/storybook-static/assets/iframe-IhWQT6NX.css +0 -1
- package/storybook-static/assets/ui-C3BskXT9.css +0 -1
- package/storybook-static/assets/ui.module-31LPbZGK.js +0 -1
- package/storybook-static/assets/uiClasses-Bz6cvlDQ.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-BaXmcmyl.js";import{a as r,i,n as a}from"./utils-tg3ibbzi.js";import{n as o,t as s}from"./ui.module-SH8ehXul.js";import{d as c,l,n as u,r as d,s as f,u as p}from"./Input-95LKm7aK.js";import{a as m,i as h,o as g,r as _,s as v}from"./file-CwRoWxeB.js";var y,b,x,S;function C(){return(C=e((()=>{y=`Ggxyuj`,b=`fthcmO`,x=`wyY60X`,S={control:y,fileName:b,hiddenInput:x}})))()}function w(e){let{value:t,onClear:n,onReadError:i,accept:s,allowedMime:l,maxBytes:p,label:h,description:y,placeholder:b=`Выберите файл`,disabled:x,size:C,error:w,onClearError:D,className:O}=e;m(l),g(s);let k=(0,T.useRef)(null),{controlId:A,labelId:j,descriptionId:M,errorId:N,describedBy:P}=c({hasLabel:h!=null,hasDescription:!!y,hasError:!!w}),F=(0,T.useCallback)(async t=>{let n=t.target.files?.[0];if(n){t.target.value=``,w&&D&&D();try{if(e.readMode===`array-buffer`){let t=await v(n,{allowedMime:l,maxBytes:p,mode:`array-buffer`});e.onChange(t);return}let t=await v(n,{allowedMime:l,maxBytes:p});e.onChange(t)}catch(e){e instanceof _&&i&&i(e)}}},[e,l,p,i,w,D]),I=(0,T.useCallback)(()=>{k.current?.click()},[]);return(0,E.jsxs)(f,{label:h,description:y,disabled:x,className:O,size:C,error:w,controlId:A,labelId:j,descriptionId:M,errorId:N,children:[(0,E.jsx)(`input`,{ref:k,id:A,type:`file`,accept:(s??l)?.join(`,`),disabled:x,className:S.hiddenInput,onChange:F,tabIndex:-1}),(0,E.jsx)(d,{endAdornment:n?(0,E.jsx)(u,{onClick:n,disabled:x}):void 0,endAdornmentWidth:n?`var(--control-height)`:void 0,children:({controlClassName:e})=>(0,E.jsx)(`div`,{role:`button`,tabIndex:x?-1:0,onClick:I,onKeyDown:e=>a(e,I,{disabled:x}),className:r(o.uiInputControl,S.control,e,!!w&&o.invalid),"data-disabled":x||void 0,"aria-invalid":!!w||void 0,"aria-disabled":x,"aria-labelledby":j,"aria-describedby":P,children:t?(0,E.jsx)(`span`,{className:S.fileName,children:t.meta.name}):(0,E.jsx)(`span`,{className:o.uiPlaceholder,children:b})})})]})}var T,E;function D(){return(D=e((()=>{T=t(),h(),i(),l(),p(),s(),C(),E=n(),w.__docgenInfo={description:'InputFile — компонент выбора одного файла.\n\nВизуально идентичен InputText: поле с label, description, placeholder,\nкнопкой очистки (крестик) и блоком ошибки.\n\nПри клике открывается нативный диалог выбора файла.\nПосле выбора файл читается через readFile, результат передаётся в onChange.\n\nInputFile позволяет выбрать один файл и передаёт наружу типизированный результат чтения.\nЕсли `readMode` не задан или равен `"data-url"`, в `onChange` приходит объект с `dataUrl`.\nЕсли `readMode` равен `"array-buffer"`, в `onChange` приходит объект с `buffer`.',methods:[],displayName:`InputFile`}})))()}export{D as n,w as t};
|
package/storybook-static/assets/{InputFile.stories-DrXG5hWA.js → InputFile.stories-B1PFNFPf.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-BaXmcmyl.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./InputFile-_65sKWXa.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:`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
2
|
render: renderInputFileDataUrlStory,
|
|
3
3
|
args: {
|
|
4
4
|
label: "Документ",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-BaXmcmyl.js";import{a as r,i,n as a}from"./utils-tg3ibbzi.js";import{n as o,t as s}from"./ui.module-SH8ehXul.js";import{d as c,l,r as u,s as d,u as f}from"./Input-95LKm7aK.js";import{a as p,i as m,o as h,r as g,s as _}from"./file-CwRoWxeB.js";import{i as v,n as y,r as b,t as x}from"./InputFilesList-Co__UO8B.js";function S(e){let{value:t,onReadError:n,accept:i,allowedMime:s,maxBytes:l,maxFiles:f,label:m,description:v,placeholder:y=`Выберите файлы`,disabled:S,size:T,error:E,onClearError:D,className:O}=e;p(s),h(i);let k=(0,C.useRef)(null),{controlId:A,labelId:j,descriptionId:M,errorId:N,describedBy:P}=c({hasLabel:m!=null,hasDescription:!!v,hasError:!!E}),F=typeof f==`number`&&t.length>=f,I=(0,C.useCallback)(async r=>{let i=r.target.files;if(!i||i.length===0)return;let a=Array.from(i);r.target.value=``,E&&D&&D();let o=typeof f==`number`?f-t.length:a.length,c=a.slice(0,o);if(e.readMode===`array-buffer`){let t=[];for(let e of c)try{let n=await _(e,{allowedMime:s,maxBytes:l,mode:`array-buffer`});t.push(n)}catch(e){e instanceof g&&n&&n(e)}t.length>0&&e.onChange([...e.value,...t]);return}let u=[];for(let e of c)try{let t=await _(e,{allowedMime:s,maxBytes:l});u.push(t)}catch(e){e instanceof g&&n&&n(e)}u.length>0&&e.onChange([...e.value,...u])},[e,f,t.length,s,l,n,E,D]),L=(0,C.useCallback)(()=>{k.current?.click()},[]),R=(e.readMode,(0,w.jsx)(x,{files:e.value,onChange:e.onChange}));return(0,w.jsxs)(d,{label:m,description:v,disabled:S,className:O,size:T,error:E,controlId:A,labelId:j,descriptionId:M,errorId:N,children:[(0,w.jsx)(`input`,{ref:k,id:A,type:`file`,accept:(i??s)?.join(`,`),multiple:!0,disabled:S||F,className:b.hiddenInput,onChange:I,tabIndex:-1}),(0,w.jsx)(u,{children:()=>(0,w.jsx)(`div`,{role:`button`,tabIndex:S||F?-1:0,onClick:L,onKeyDown:e=>a(e,L,{disabled:S||F}),className:r(o.uiInputControl,b.control,!!E&&`invalid`),"data-disabled":S||void 0,"aria-invalid":!!E||void 0,"aria-disabled":S||F,"aria-labelledby":j,"aria-describedby":P,children:(0,w.jsx)(`span`,{className:o.uiPlaceholder,children:F?`Максимум ${f} файлов`:y})})}),R]})}var C,w;function T(){return(T=e((()=>{C=t(),m(),i(),l(),f(),s(),v(),y(),w=n(),S.__docgenInfo={description:'InputFiles — компонент выбора нескольких файлов.\n\nПоле стилизовано как InputText. При клике открывается нативный\nдиалог с multiple. Каждый выбранный файл читается через readFile\nи добавляется в массив value.\n\nСписок выбранных файлов отображается под полем.\nКаждый файл можно удалить кнопкой «крестик».\n\nInputFiles типизирует массив по `readMode`.\nЕсли `readMode` не задан или равен `"data-url"`, в `value` и `onChange`\nиспользуется массив объектов с `dataUrl`. Если `readMode` равен\n`"array-buffer"`, используется массив объектов с `buffer`.',methods:[],displayName:`InputFiles`}})))()}export{T as n,S as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BaXmcmyl.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-BmNU_R5E.js";import{a as p,i as m,n as h,r as g,t as _}from"./InputFiles.stories-ZCzYnboY.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:h,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,b.jsx)(u,{children:`InputFiles`}),`
|
|
3
3
|
`,(0,b.jsx)(o,{children:`Выбор и хранение нескольких файлов в контролируемом режиме`}),`
|
|
4
4
|
`,(0,b.jsx)(t.p,{children:`InputFiles уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
package/storybook-static/assets/{InputFiles.stories-EZDcefG0.js → InputFiles.stories-ZCzYnboY.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-BaXmcmyl.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./InputFiles-CUYGDig8.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:`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
2
|
render: renderInputFilesStory,
|
|
3
3
|
args: {
|
|
4
4
|
label: "Вложения",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.h9SMea{height:var(--control-height);width:100%;padding:0 var(--space-sm);font-size:var(--font-size-md);cursor:pointer;align-items:center;display:flex}.rUyh0y{opacity:0;pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.Q0CY1r{gap:var(--space-xs);margin-top:var(--space-xs);flex-direction:column;display:flex}.AJuYXd{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background-color:var(--surface-2);border-radius:var(--radius-sm);display:flex}.CKKkOD{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.UgxhS1{width:1.25em;height:1.25em;color:var(--content-2);flex-shrink:0}.UgxhS1:hover{color:var(--
|
|
1
|
+
.h9SMea{height:var(--control-height);width:100%;padding:0 var(--space-sm);font-size:var(--font-size-md);cursor:pointer;align-items:center;display:flex}.rUyh0y{opacity:0;pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.Q0CY1r{gap:var(--space-xs);margin-top:var(--space-xs);flex-direction:column;display:flex}.AJuYXd{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background-color:var(--surface-2);border-radius:var(--radius-sm);display:flex}.CKKkOD{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.UgxhS1{width:1.25em;height:1.25em;color:var(--content-2);flex-shrink:0}.UgxhS1:hover{color:var(--accent-text)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./x-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./x-C5QCK6Ts.js";import{n as i}from"./iframe-BaXmcmyl.js";import{a,i as o}from"./utils-tg3ibbzi.js";var s,c,l,u,d,f,p;function m(){return(m=e((()=>{s=`h9SMea`,c=`rUyh0y`,l=`Q0CY1r`,u=`AJuYXd`,d=`CKKkOD`,f=`UgxhS1`,p={control:s,hiddenInput:c,fileList:l,fileItem:u,fileItemName:d,removeButton:f}})))()}function h({files:e,onChange:t}){let n=(0,g.useCallback)(n=>{t(e.filter((e,t)=>t!==n))},[e,t]);return!e||!e.length?null:(0,_.jsx)(`ul`,{className:p.fileList,children:e.map((e,t)=>(0,_.jsxs)(`li`,{className:p.fileItem,children:[(0,_.jsx)(`span`,{className:p.fileItemName,children:e.meta.name}),(0,_.jsx)(`button`,{type:`button`,className:a(p.removeButton,`flexCenter`),onClick:()=>n(t),"aria-label":`Удалить ${e.meta.name}`,children:(0,_.jsx)(r,{})})]},`${e.meta.name}-${e.meta.lastModified}`))})}var g,_;function v(){return(v=e((()=>{g=t(),o(),n(),m(),_=i(),h.__docgenInfo={description:``,methods:[],displayName:`InputFilesList`,props:{files:{required:!0,tsType:{name:`Array`,elements:[{name:`TFile`}],raw:`TFile[]`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(files: TFile[]) => void`,signature:{arguments:[{type:{name:`Array`,elements:[{name:`TFile`}],raw:`TFile[]`},name:`files`}],return:{name:`void`}}},description:``}}}})))()}export{m as i,v as n,p as r,h as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BaXmcmyl.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-BmNU_R5E.js";import{a as p,i as m,n as h,r as g,t as _}from"./InputImage.stories-B_R_kcCD.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,b.jsx)(u,{children:`InputImage`}),`
|
|
3
3
|
`,(0,b.jsx)(o,{children:`Контрол загрузки и предварительного просмотра изображения в формах и карточках`}),`
|
|
4
4
|
`,(0,b.jsx)(t.p,{children:`InputImage уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-BaXmcmyl.js";import{a as r,i,n as a}from"./utils-tg3ibbzi.js";import{n as o,t as s}from"./ui.module-SH8ehXul.js";import{d as c,l,n as u,r as d,s as f,u as p}from"./Input-95LKm7aK.js";import{i as m,n as h,t as g}from"./file-CwRoWxeB.js";var _,v,y,b;function x(){return(x=e((()=>{_=`EV-Vji`,v=`A5-T93`,y=`V1Rhiv`,b={control:_,fileName:v,hiddenInput:y}})))()}function S({value:e,onChange:t,onClear:n,onReadError:i,allowedMime:s,maxBytes:l,readMode:p,label:m,description:_,placeholder:v=`Выберите изображение`,disabled:y,size:x,error:S,onClearError:T,className:E}){let D=(0,C.useRef)(null),{controlId:O,labelId:k,descriptionId:A,errorId:j,describedBy:M}=c({hasLabel:m!=null,hasDescription:!!_,hasError:!!S}),N=(0,C.useCallback)(e=>p===`array-buffer`?g(e,{allowedMime:s,maxBytes:l,mode:`array-buffer`}):g(e,{allowedMime:s,maxBytes:l}),[s,l,p]),P=(0,C.useMemo)(()=>s&&s.length>0?s.join(`,`):`image/*`,[s]),F=(0,C.useCallback)(async e=>{let n=e.target.files?.[0];if(n){e.target.value=``,S&&T&&T();try{t(await N(n))}catch(e){e instanceof h&&i&&i(e)}}},[N,t,i,S,T]),I=(0,C.useCallback)(()=>{D.current?.click()},[]);return(0,w.jsxs)(f,{label:m,description:_,disabled:y,className:E,size:x,error:S,controlId:O,labelId:k,descriptionId:A,errorId:j,children:[(0,w.jsx)(`input`,{ref:D,id:O,type:`file`,accept:P,disabled:y,className:b.hiddenInput,onChange:F,tabIndex:-1}),(0,w.jsx)(d,{endAdornment:n?(0,w.jsx)(u,{onClick:n,disabled:y}):void 0,endAdornmentWidth:n?`var(--control-height)`:void 0,children:({controlClassName:t})=>(0,w.jsx)(`div`,{role:`button`,tabIndex:y?-1:0,onClick:I,onKeyDown:e=>a(e,I,{disabled:y}),className:r(o.uiInputControl,b.control,t,!!S&&`invalid`),"data-disabled":y||void 0,"aria-invalid":!!S||void 0,"aria-disabled":y,"aria-labelledby":k,"aria-describedby":M,children:e?(0,w.jsx)(`span`,{className:b.fileName,children:e.meta.name}):(0,w.jsx)(`span`,{className:o.uiPlaceholder,children:v})})})]})}var C,w;function T(){return(T=e((()=>{C=t(),m(),i(),l(),p(),s(),x(),w=n(),S.__docgenInfo={description:`InputImage — компонент выбора одного изображения.
|
|
2
2
|
|
|
3
3
|
Визуально идентичен InputText. Под капотом использует readImageFile,
|
|
4
4
|
который валидирует что файл — изображение и извлекает его размеры.
|
package/storybook-static/assets/{InputImage.stories-B32AtBda.js → InputImage.stories-B_R_kcCD.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-BaXmcmyl.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./InputImage-De56Jwx9.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:`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
2
|
render: renderInputImageStory,
|
|
3
3
|
args: {
|
|
4
4
|
label: "Аватар",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BaXmcmyl.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{l as i,m as a,r as o}from"./blocks-BmNU_R5E.js";import{n as ee,r as te,s as ne}from"./Badge.stories-mio0RhpX.js";import{n as re,o as ie,t as ae}from"./Button.stories-VUvnWRnm.js";import{n as oe,o as s,t as c}from"./CheckBox.stories-BoF97wxK.js";import{a as l,i as u,n as d,t as f}from"./ContextMenu.stories-D-jRdIZD.js";import{n as p,o as m,r as h,t as g}from"./DateInput.stories-C9hB_vFy.js";import{n as _,r as v,t as y}from"./DateRangePresetSelect.stories-Bx40H_O0.js";import{r as b,s as x,t as S}from"./SingleDateTimeInput.stories-BU_wyTmo.js";import{i as C,n as w,t as T}from"./Dialog.stories-CoU_PusF.js";import{a as E,n as D,t as O}from"./Disclosure.stories-CsR1_XK7.js";import{a as k,r as A,t as j}from"./DropZone.stories-KVDb6pHQ.js";import{n as M,r as N,t as P}from"./ExpandableActionPanel.stories-D-MYdCJ4.js";import{a as F,n as I,r as L}from"./InputFile.stories-B1PFNFPf.js";import{a as R,n as z,t as B}from"./InputFiles.stories-ZCzYnboY.js";import{a as V,n as H,r as U}from"./InputImage.stories-B_R_kcCD.js";import{i as W,n as G,o as K,t as q}from"./Input.stories-BDTI2nIV.js";import{c as se,o as ce,t as le}from"./LayoutPicker.stories-F7K4tSxT.js";import{a as ue,o as de,r as J}from"./Listbox.stories-Cp1Eq7Bz.js";import{n as fe,s as pe,t as me}from"./Modal.stories-Cz47rY2B.js";import{a as he,o as ge,t as _e}from"./MultiSelect.stories-DG6LGTC9.js";import{c as ve,i as ye,s as be}from"./PeriodSelect.stories-S2ndHVEQ.js";import{i as xe,o as Se,r as Ce}from"./Popover.stories-CZIBppwE.js";import{n as we,r as Te,t as Ee}from"./PresetRangeDateInput.stories-CShR-Eub.js";import{a as De,i as Oe,t as ke}from"./RadioButton.stories-aBnizEak.js";import{a as Ae,r as je,t as Me}from"./RadioGroup.stories--lDrmS8V.js";import{c as Ne,s as Pe,t as Fe}from"./Select.stories-BXj7A2gM.js";import{l as Y,o as Ie,s as Le,u as Re}from"./Slider.stories-PfQf9es7.js";import{c as ze,d as Be,t as Ve,u as X}from"./SliderInput.stories-yX8DU5pZ.js";import{a as He,r as Ue,t as We}from"./StateSelect.stories-D6atguQ6.js";import{a as Ge,r as Ke,t as qe}from"./Switch.stories-C0rVHcRq.js";import{l as Je,t as Ye,u as Xe}from"./Tabs.stories-Br4RCZKR.js";import{n as Ze,r as Qe,t as $e}from"./TagInput.stories-Db9DaNpW.js";import{a as et,r as tt,t as nt}from"./Textarea.stories-Ctjb3d47.js";import{a as rt,i as it,t as at}from"./Toggle.stories-C6Jf_KTc.js";import{c as ot,l as st,n as ct}from"./TreeMultiSelect.stories-C-uztFex.js";function Z(e){let t={code:`code`,h1:`h1`,h2:`h2`,h3:`h3`,p:`p`,...n(),...e.components};return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(i,{title:`Development/Interactive components/Catalog`}),`
|
|
2
2
|
`,(0,Q.jsx)(t.h1,{id:`каталог-интерактивных-компонентов`,children:`Каталог интерактивных компонентов`}),`
|
|
3
3
|
`,(0,Q.jsxs)(t.p,{children:[`Эта страница собирает существующие CSF-сторисы в одном месте. Каждый canvas использует канонический сценарий компонента, поэтому его состояние, `,(0,Q.jsx)(t.code,{children:`args`}),` и обработчики остаются в исходной story, а не дублируются в development-витрине.`]}),`
|
|
4
4
|
`,(0,Q.jsx)(t.h2,{id:`поля-ввода-и-простые-переключатели`,children:`Поля ввода и простые переключатели`}),`
|
|
@@ -1,4 +1,4 @@
|
|
|
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"./Switch-DE9rqHmp.js";import{i as a,n as o,r as s,t as ee}from"./DisclosureGroup-CJI8B2x_.js";import{n as c,t as te}from"./ExpandableActionPanel-B_pjHQ5m.js";import{n as ne,t as l}from"./RadioGroup-DkCSA8me.js";import{n as u,t as re}from"./RadioButton-BLHXpf6L.js";import{n as d,t as ie}from"./SingleDateTimeInput-BlpQ8t9f.js";import{n as f,t as p}from"./CheckBox-CzvA4ttT.js";import{n as m,t as ae}from"./DropZone-C7qTrvkq.js";import{n as h}from"./iframe-DWvPB8Sk.js";import{n as g,t as _}from"./Text-B4GUKigV.js";import{n as oe,t as v}from"./Popover-BTrxASXR.js";import{i as se,n as y,r as b,t as ce}from"./BadgeList-CnmQ4zmg.js";import{n as x,t as S}from"./Button-HheQm8vu.js";import{a as C,n as le,r as ue,t as de}from"./Modal-wGyoEzau.js";import{n as fe,t as pe}from"./GridContainer-fKYgDsLl.js";import{n as me,t as he}from"./ModalManagerProvider-DXPaYU4j.js";import{n as ge,t as w}from"./ContextMenu-BJnj7lO4.js";import{a as T,l as E,o as D,t as O}from"./Input-DebpyMJg.js";import{n as _e,t as k}from"./DropdownMenu-DqqPU9RU.js";import{n as ve,r as ye}from"./DateInput-DoMGeEvO.js";import{n as A,t as j}from"./Select-BEMtNq5M.js";import{n as M,t as be}from"./DateRangePresetSelect-C8jA3mur.js";import{n as xe,t as Se}from"./Dialog-DBh-yDZW.js";import{n as Ce,t as we}from"./InputFiles-DEBKMzlt.js";import{n as Te,t as Ee}from"./InputFile-DbRU7crz.js";import{n as De,t as Oe}from"./InputImage-CFFK9MbG.js";import{n as ke,t as Ae}from"./LayoutPicker-DwNtjoeb.js";import{n as je,t as Me}from"./Listbox-C9qCMY31.js";import{n as Ne,t as Pe}from"./MultiSelect-BxKmL7sF.js";import{n as Fe,t as Ie}from"./PeriodSelect-4LpRQDP5.js";import{n as Le,t as Re}from"./PresetRangeDateInput-Cp66aUGT.js";import{i as ze,r as Be,t as Ve}from"./Slider-CZa1f0vP.js";import{n as N,r as He,t as Ue}from"./SliderInput-BaZBNhhF.js";import{n as We,t as Ge}from"./StateSelect-DxH1oWnK.js";import{n as Ke,t as P}from"./TabsBox-DzfWhIHb.js";import{n as qe,t as Je}from"./TagInput-Tyn5Jgus.js";import{n as F,t as Ye}from"./Textarea-CNu-scX8.js";import{n as I,t as Xe}from"./Toggle-0-SlfDXC.js";import{n as Ze,t as L}from"./TreeMultiSelect-Cne9qXjN.js";import{n as Qe,t as $e}from"./treeStoryFixtures-DXHh9GL3.js";function et({onChange:e,...t}){let[n,r]=(0,R.useState)(()=>t.defaultValue??t.value??``),[i,a]=(0,R.useState)(()=>t.defaultValue??t.value??``),o=t=>{let n=t.trim();n!==i&&(a(n),e(n))},s=()=>{r(``),a(``),e(``)},ee=e=>{e.key===`Enter`&&(e.preventDefault(),o(n))},c=()=>{o(n)},te=e=>{r(e)};return(0,z.jsx)(O,{...t,value:n,onChange:te,onKeyDown:ee,onBlur:c,onClear:s})}var R,z;function B(){return(B=t((()=>{R=e(n(),1),E(),z=h(),et.__docgenInfo={description:``,methods:[],displayName:`InputSearch`,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: string) => void`,signature:{arguments:[{type:{name:`string`},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:``}},composes:[`Omit`]}})))()}function V({title:e,children:t}){return(0,W.jsxs)(`section`,{style:G,children:[(0,W.jsx)(`div`,{style:K,children:e}),t]})}function tt({initialValue:e={},label:t=`TreeMultiSelect`,description:n,optionsLayout:r=`tree`,nodes:i=$e,defaultExpandedCodeKeys:a}){let[o,s]=(0,U.useState)(e);return(0,W.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,W.jsx)(L,{label:t,description:n,nodes:i,value:o,onChange:s,optionsLayout:r,defaultExpandedCodeKeys:a}),(0,W.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,JSON.stringify(o)]})]})}function H(){let[e,t]=(0,U.useState)(`Значение`),[n,r]=(0,U.useState)(42),[a,o]=(0,U.useState)(``),[c,ne]=(0,U.useState)(`Комментарий`),[u,d]=(0,U.useState)(!0),[f,m]=(0,U.useState)(!1),[h,g]=(0,U.useState)(`first`),[oe,se]=(0,U.useState)(!0),[y,x]=(0,U.useState)(!1),[C,fe]=(0,U.useState)(3),[me,ge]=(0,U.useState)(),[E,O]=(0,U.useState)([0,0]),[_e,ye]=(0,U.useState)(60),[A,M]=(0,U.useState)(J[0]),[xe,Ce]=(0,U.useState)([Y[0]]),[Te,De]=(0,U.useState)([`UI`,`Стили`]),[ke,je]=(0,U.useState)(`week`),[Ne,Fe]=(0,U.useState)(`information`),[Le,ze]=(0,U.useState)(`two-columns`),[He,We]=(0,U.useState)(new Date(2026,2,10)),[Ke,qe]=(0,U.useState)(new Date(2026,2,10,10,30)),[F,I]=(0,U.useState)(`today`),[Ze,L]=(0,U.useState)([new Date(2026,2,1),new Date(2026,2,10)]),[Qe,$e]=(0,U.useState)(`month`),[R,z]=(0,U.useState)(),[B,H]=(0,U.useState)([]),[G,K]=(0,U.useState)(),[X,Z]=(0,U.useState)([]),[at,Q]=(0,U.useState)(!1),[ot,$]=(0,U.useState)(!1),[st,ct]=(0,U.useState)();return(0,W.jsxs)(`div`,{style:nt,children:[(0,W.jsxs)(V,{title:`Text`,children:[(0,W.jsx)(_,{color:`primary`,children:`Основной`}),(0,W.jsx)(_,{color:`secondary`,children:`Дополнительный`}),(0,W.jsx)(_,{color:`muted`,children:`Приглушенный`}),(0,W.jsx)(_,{color:`accent`,children:`Акцентированный`}),(0,W.jsx)(_,{color:`brand`,children:`Брендовый`}),(0,W.jsx)(_,{color:`info`,children:`Информация`}),(0,W.jsx)(_,{color:`success`,children:`Успешно`}),(0,W.jsx)(_,{color:`warning`,children:`Предупреждение`}),(0,W.jsx)(_,{color:`error`,children:`Ошибка`})]}),(0,W.jsx)(V,{title:`Badge`,children:(0,W.jsxs)(ce,{children:[(0,W.jsx)(b,{tone:`neutral`,appearance:`outline`,children:`Neutral`}),(0,W.jsx)(b,{tone:`success`,appearance:`solid`,children:`Успешно`}),(0,W.jsx)(b,{tone:`warning`,appearance:`solid`,children:`Внимание`}),(0,W.jsx)(b,{tone:`error`,appearance:`solid`,children:`Ошибка`}),(0,W.jsx)(b,{tone:`info`,appearance:`solid`,children:`Информация`})]})}),(0,W.jsx)(V,{title:`Button`,children:(0,W.jsxs)(pe,{gap:`sm`,templateColumns:`1fr 1fr`,children:[(0,W.jsx)(S,{variant:`transparent`,children:`Действие`}),(0,W.jsx)(S,{variant:`ghost`,children:`Действие`}),(0,W.jsx)(S,{variant:`neutralOutline`,children:`Действие`}),(0,W.jsx)(S,{variant:`infoOutline`,children:`Действие`}),(0,W.jsx)(S,{variant:`successOutline`,children:`Действие`}),(0,W.jsx)(S,{variant:`warningOutline`,children:`Действие`}),(0,W.jsx)(S,{variant:`errorOutline`,children:`Действие`}),(0,W.jsx)(S,{variant:`neutral`,children:`Действие`}),(0,W.jsx)(S,{variant:`info`,children:`Действие`}),(0,W.jsx)(S,{variant:`success`,children:`Действие`}),(0,W.jsx)(S,{variant:`warning`,children:`Действие`}),(0,W.jsx)(S,{variant:`error`,children:`Действие`})]})}),(0,W.jsxs)(V,{title:`InputText`,children:[(0,W.jsx)(D,{label:`Текст`,description:`Поле ввода текста`,placeholder:`Введите текст`,disabled:!0,value:e,onChange:t}),(0,W.jsx)(D,{label:`Текст`,description:`Поле ввода текста`,placeholder:`Введите текст`,value:e,onChange:t}),(0,W.jsx)(D,{required:!0,label:`Текст`,description:`Поле ввода текста`,placeholder:`Введите текст`,value:e,onChange:t,onClear:()=>t(``)})]}),(0,W.jsxs)(V,{title:`InputNumber`,children:[(0,W.jsx)(T,{label:`Количество`,description:`Поле ввода числа`,placeholder:`Введите число`,value:n,min:0,onChange:r,disabled:!0}),(0,W.jsx)(T,{label:`Количество`,description:`Поле ввода числа`,placeholder:`Введите число`,value:n,min:0,onChange:r,required:!0}),(0,W.jsx)(T,{label:`Количество`,description:`Поле ввода числа`,placeholder:`Введите число`,value:n,min:0,onChange:r}),(0,W.jsx)(T,{label:`Количество`,description:`Поле ввода числа`,placeholder:`Введите число`,value:n,min:0,onChange:r,onClear:()=>r(void 0)})]}),(0,W.jsx)(V,{title:`InputSearch`,children:(0,W.jsx)(et,{label:`Поиск`,placeholder:`Найти`,value:a,onChange:o})}),(0,W.jsx)(V,{title:`Textarea`,children:(0,W.jsx)(Ye,{label:`Комментарий`,required:!0,placeholder:`Многострочный комментарий`,rows:6,value:c,onChange:ne})}),(0,W.jsxs)(V,{title:`CheckBox`,children:[(0,W.jsx)(p,{label:`Опция`,description:`Описание чекбокса`,disabled:!0,value:u,onChange:d}),(0,W.jsx)(p,{label:`Опция`,description:`Описание чекбокса`,value:u,onChange:d}),(0,W.jsx)(p,{label:`Опция`,description:`Описание чекбокса`,value:u,onChange:d,indeterminate:!0})]}),(0,W.jsxs)(V,{title:`RadioButton`,children:[(0,W.jsx)(re,{label:`Опция`,description:`Описание радиокнопки`,disabled:!0,value:f,onChange:m}),(0,W.jsx)(re,{label:`Опция`,description:`Описание радиокнопки`,name:`radio-1`,value:f,onChange:m}),(0,W.jsx)(re,{label:`Опция`,description:`Описание радиокнопки`,name:`radio-1`,value:f,onChange:m})]}),(0,W.jsxs)(V,{title:`RadioGroup`,children:[(0,W.jsxs)(l,{label:`Радио группа`,description:`Вертикальная группа`,value:h,onChange:g,orientation:`vertical`,"aria-label":`Вариант`,children:[(0,W.jsx)(l.Option,{value:`first`,label:`Первый`}),(0,W.jsx)(l.Option,{value:`second`,label:`Второй`}),(0,W.jsx)(l.Option,{value:`third`,label:`Третий`,description:`Новая опциональная опция`})]}),(0,W.jsxs)(l,{label:`Радио группа`,description:`Горизонтальная группа`,value:h,onChange:g,orientation:`horizontal`,"aria-label":`Вариант`,children:[(0,W.jsx)(l.Option,{value:`first`,label:`Первый`}),(0,W.jsx)(l.Option,{value:`second`,label:`Второй`}),(0,W.jsx)(l.Option,{value:`third`,label:`Третий`,description:`Новая опциональная опция`})]})]}),(0,W.jsx)(V,{title:`Switch`,children:(0,W.jsx)(i,{label:`Уведомления`,description:`Устаревный компонент`,value:oe,onChange:se})}),(0,W.jsxs)(V,{title:`Toggle`,children:[(0,W.jsx)(Xe,{label:`Режим`,description:`Переключатель состояния`,value:y,onChange:x,checkedText:`Вкл`,uncheckedText:`Выкл`}),(0,W.jsx)(Xe,{label:`Режим`,description:`Переключатель состояния`,labelPosition:`after`,value:y,onChange:x,checkedText:`Вкл`,uncheckedText:`Выкл`})]}),(0,W.jsxs)(V,{title:`Slider`,children:[(0,W.jsx)(Ve,{label:`Уровень`,description:`Простой слайдер`,value:C,min:0,max:100,onChange:fe}),(0,W.jsx)(Ve,{label:`Уровень`,description:`Простой слайдер`,disabled:!0,marks:[{value:1,label:`m1`},{value:2,label:`m2`},{value:3,label:`m3`},{value:4,label:`m4`},{value:5,label:`m5`},{value:6,label:`m6`}],marksPosition:`index`,value:C,min:0,max:100,onChange:fe}),(0,W.jsx)(Be,{label:`Уровень`,description:`Диапазон`,marks:[{value:0,label:`m1`},{value:1,label:`m2`},{value:2,label:`m3`},{value:3,label:`m4`}],marksPosition:`index`,value:me,min:0,max:100,onChange:ge})]}),(0,W.jsxs)(V,{title:`SliderInput`,children:[(0,W.jsx)(Ue,{label:`Порог`,value:_e,min:0,max:100,onChange:ye}),(0,W.jsx)(N,{label:`Порог`,value:E,onChange:O,min:0,max:100,marks:[{value:0,label:`0`},{value:20,label:`20`},{value:40,label:`40`},{value:60,label:`60`},{value:80,label:`80`},{value:100,label:`100`}]}),(0,W.jsx)(N,{label:`Срок: открытые границы и дни в фильтре`,description:"Крайние marks отдают null, обычные marks отдают дни через `outputValue`.",min:0,max:25,marks:[{value:0,label:`-`,outputValue:null},{value:1,label:`1м.`,outputValue:30},{value:3,label:`3м.`,outputValue:90},{value:6,label:`6м.`,outputValue:180},{value:12,label:`1г.`,outputValue:360},{value:18,label:`1.5г.`,outputValue:540},{value:24,label:`2г.`,outputValue:720},{value:25,label:`-`,outputValue:null}],value:E,onChange:O}),(0,W.jsx)(N,{label:`Срок текстом`,description:`В поле выводится готовый текст по marks, а изменение через popover коммитится при закрытии.`,placeholder:`Любой срок`,readonlyValueText:!0,min:0,max:25,marks:[{value:0,label:`-`,outputValue:null},{value:1,label:`1м.`,outputValue:30},{value:3,label:`3м.`,outputValue:90},{value:6,label:`6м.`,outputValue:180},{value:12,label:`1г.`,outputValue:360},{value:18,label:`1.5г.`,outputValue:540},{value:24,label:`2г.`,outputValue:720},{value:25,label:`-`,outputValue:null}],marksPosition:`index`,value:E,onChange:O})]}),(0,W.jsxs)(V,{title:`Select`,children:[(0,W.jsx)(j,{label:`Статус`,description:`searchable`,searchable:!0,options:J,value:A,onChange:M,getOptionKey:e=>e.id,getOptionLabel:e=>e.label}),(0,W.jsx)(j,{label:`Статус`,description:`disabled`,disabled:!0,options:J,value:A,onChange:M,getOptionKey:e=>e.id,getOptionLabel:e=>e.label}),(0,W.jsx)(j,{label:`Статус`,description:`Пример использования низкоуровневого Select со строковыми значениями.`,placeholder:`Выберите статус`,options:J,value:A,onChange:M,getOptionKey:e=>e.id,getOptionLabel:e=>e.label}),(0,W.jsx)(j,{label:`Подразделение`,description:`Выберите подразделение из списка.`,placeholder:`Не выбрано`,options:it,value:st,onChange:ct,getOptionKey:e=>e.id,getOptionLabel:e=>e.name,getOptionCode:e=>e.code,getOptionDisabled:e=>e.disabled??!1,getOptionGroup:e=>({key:e.direction,label:e.direction}),optionsMaxWidth:`40em`})]}),(0,W.jsx)(V,{title:`MultiSelect`,children:(0,W.jsx)(Pe,{label:`Города`,items:Y,value:xe,query:``,codeKey:`code`,textKey:`label`,onChange:Ce,onQuery:()=>void 0,onOpen:()=>void 0,onClose:()=>void 0})}),(0,W.jsx)(V,{title:`TreeMultiSelect`,children:(0,W.jsx)(tt,{})}),(0,W.jsx)(V,{title:`TagInput`,children:(0,W.jsx)(Je,{label:`Теги`,placeholder:`Добавить`,value:Te,onChange:De})}),(0,W.jsx)(V,{title:`Listbox`,children:(0,W.jsx)(Me,{options:rt,value:ke,onChange:e=>je(e)})}),(0,W.jsx)(V,{title:`StateSelect`,children:(0,W.jsx)(Ge,{label:`Состояние`,value:Ne,onChange:Fe})}),(0,W.jsx)(V,{title:`LayoutPicker`,children:(0,W.jsx)(Ae,{label:`Раскладка`,value:Le,onChange:ze,showPlaceholder:!0})}),(0,W.jsx)(V,{title:`SingleDateInput`,children:(0,W.jsx)(ve,{label:`Дата`,value:He,onChange:We,selectionMode:`week`})}),(0,W.jsx)(V,{title:`SingleDateTimeInput`,children:(0,W.jsx)(ie,{label:`Дата и время`,value:Ke,onChange:qe})}),(0,W.jsx)(V,{title:`DateRangePresetSelect`,children:(0,W.jsx)(be,{label:`Период`,value:F??void 0,onChange:e=>I(e??null),onRangeChange:e=>L(e?.range??null),referenceDate:new Date(2026,2,10,12)})}),(0,W.jsx)(V,{title:`PresetRangeDateInput`,children:(0,W.jsx)(Re,{value:Ze,onChange:L,presetId:F??null,onPresetIdChange:e=>I(e??null),referenceDate:new Date(2026,2,10,12),presetLabel:`Быстрый диапазон`})}),(0,W.jsx)(V,{title:`PeriodSelect`,children:(0,W.jsx)(Ie,{label:`Группировка`,value:Qe,onChange:$e})}),(0,W.jsx)(V,{title:`InputFile`,children:(0,W.jsx)(Ee,{label:`Файл`,placeholder:`Выберите файл`,value:R,onChange:z,onClear:()=>z(void 0),readMode:`data-url`})}),(0,W.jsx)(V,{title:`InputFiles`,children:(0,W.jsx)(we,{label:`Файлы`,placeholder:`Выберите файлы`,value:B,onChange:H,readMode:`data-url`})}),(0,W.jsx)(V,{title:`InputImage`,children:(0,W.jsx)(Oe,{label:`Изображение`,value:G,onChange:K,onClear:()=>K(void 0)})}),(0,W.jsx)(V,{title:`DropZone`,children:(0,W.jsx)(ae,{value:X,multiple:!0,readMode:`data-url`,onChange:e=>Z(e),children:(0,W.jsx)(`div`,{style:{display:`grid`,placeItems:`center`,minHeight:`6em`,textAlign:`center`},children:X.length?`Файлов: ${X.length}`:`Перетащите файлы`})})}),(0,W.jsxs)(V,{title:`TabsBox`,children:[(0,W.jsx)(P,{defaultValue:`first`,items:[{id:`first`,title:`Первый`,content:`Содержимое`},{id:`second`,title:`Второй`,content:`Другая панель`},{id:`third`,title:`Ещё одна`,content:`Ещё одна панель`},{id:`quat`,title:`Четвертая`,content:`Четвертая панель`},{id:`five`,title:`Пятая`,content:`Пятая панель`}]}),(0,W.jsx)(P,{defaultValue:`first`,clean:!0,items:[{id:`first`,title:`Первый`,content:`Содержимое`},{id:`second`,title:`Второй`,content:`Другая панель`},{id:`third`,title:`Ещё одна`,content:`Ещё одна панель`},{id:`quat`,title:`Четвертая`,content:`Четвертая панель`},{id:`five`,title:`Пятая`,content:`Пятая панель`}]})]}),(0,W.jsxs)(V,{title:`TabsBox`,children:[(0,W.jsx)(P,{defaultValue:`first`,orientation:`vertical`,items:[{id:`first`,title:`Первый`,content:`Содержимое`},{id:`second`,title:`Второй`,content:`Другая панель`},{id:`third`,title:`Ещё одна`,content:`Другая панель`},{id:`quat`,title:`Четвертая`,content:`Другая панель`}]}),(0,W.jsx)(P,{defaultValue:`first`,orientation:`vertical`,clean:!0,items:[{id:`first`,title:`Первый`,content:`Содержимое`},{id:`second`,title:`Второй`,content:`Другая панель`},{id:`third`,title:`Ещё одна`,content:`Другая панель`},{id:`quat`,title:`Четвертая`,content:`Другая панель`}]})]}),(0,W.jsxs)(V,{title:`Disclosure`,children:[(0,W.jsxs)(ee,{children:[(0,W.jsx)(s,{label:`Раскрыть 1`,children:`Содержимое панели 1`}),(0,W.jsx)(s,{label:`Раскрыть 2`,children:`Содержимое панели 2`}),(0,W.jsx)(s,{label:`Раскрыть 3`,children:`Содержимое панели 3`}),(0,W.jsx)(s,{label:`Раскрыть 4`,children:`Содержимое панели 4`})]}),(0,W.jsx)(s,{label:`Раскрыть 1`,tone:`secondary`,children:`Содержимое панели 1`})]}),(0,W.jsx)(V,{title:`ExpandableActionPanel`,children:(0,W.jsx)(te,{children:(0,W.jsx)(S,{variant:`transparent`,children:`Действие`})})}),(0,W.jsx)(V,{title:`Popover`,children:(0,W.jsxs)(v,{children:[(0,W.jsx)(v.Trigger,{children:(0,W.jsx)(S,{style:q,children:`Открыть`})}),(0,W.jsx)(v.Content,{children:({setClose:e})=>(0,W.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`,padding:`1em`,maxWidth:`14em`},children:[(0,W.jsx)(`div`,{children:`Содержимое popover`}),(0,W.jsx)(S,{onClick:e,children:`Закрыть`})]})})]})}),(0,W.jsx)(V,{title:`DropdownMenu`,children:(0,W.jsxs)(k,{children:[(0,W.jsx)(k.Trigger,{children:(0,W.jsx)(S,{style:q,children:`Действия`})}),(0,W.jsxs)(k.Content,{children:[(0,W.jsx)(k.Item,{children:`Редактировать`}),(0,W.jsx)(k.Item,{children:`Удалить`})]})]})}),(0,W.jsx)(V,{title:`ContextMenu`,children:(0,W.jsxs)(w,{children:[(0,W.jsx)(w.Trigger,{children:(0,W.jsx)(`div`,{style:{display:`grid`,placeItems:`center`,minHeight:`6em`,padding:`0.75em`,border:`var(--border)`,borderRadius:`var(--radius-sm)`,textAlign:`center`},children:`Правая кнопка мыши`})}),(0,W.jsxs)(w.Content,{children:[(0,W.jsx)(w.Item,{children:`Переименовать`}),(0,W.jsx)(w.Item,{children:`Удалить`})]})]})}),(0,W.jsxs)(V,{title:`Dialog`,children:[(0,W.jsx)(S,{style:q,onClick:()=>Q(!0),children:`Открыть диалог`}),(0,W.jsx)(Se,{title:`Подтверждение`,description:`Подтвердите действие`,open:at,onClose:()=>Q(!1),children:(0,W.jsx)(S,{onClick:()=>Q(!1),children:`Закрыть`})})]}),(0,W.jsx)(V,{title:`Modal`,children:(0,W.jsxs)(he,{children:[(0,W.jsx)(S,{style:q,onClick:()=>$(!0),children:`Открыть модалку`}),(0,W.jsxs)(de,{title:`Параметры`,isOpen:ot,onClose:()=>$(!1),children:[(0,W.jsx)(le,{children:`Содержимое модального окна`}),(0,W.jsx)(ue,{children:(0,W.jsx)(S,{onClick:()=>$(!1),children:`Готово`})})]})]})})]})}var U,W,nt,G,K,q,J,Y,rt,it,X,Z,at;function Q(){return(Q=t((()=>{U=n(),se(),y(),x(),f(),ge(),_e(),ye(),M(),d(),xe(),a(),o(),m(),c(),fe(),E(),Te(),Ce(),De(),B(),ke(),je(),C(),me(),Ne(),Fe(),oe(),Le(),u(),ne(),A(),ze(),He(),We(),r(),Ke(),qe(),g(),F(),I(),Ze(),Qe(),W=h(),nt={display:`grid`,gridTemplateColumns:`repeat(auto-fit, minmax(var(--ui-width-xl), 1fr))`,alignItems:`start`,gap:`2em`,padding:`2em`,background:`var(--surface-2)`},G={display:`grid`,alignContent:`start`,gridTemplateColumns:`100%`,gap:`0.5em`,padding:`1em`,overflow:`hidden`,borderRadius:`var(--radius-md)`,background:`var(--surface-1)`,boxShadow:`var(--shadow-lg)`},K={fontWeight:700,color:`var(--content-0)`},q={width:`100%`},J=[{id:`draft`,label:`Черновик`},{id:`review`,label:`На согласовании`},{id:`published`,label:`Опубликован`}],Y=[{code:`EKB`,label:`Екатеринбург`},{code:`KZN`,label:`Казань`},{code:`MOW`,label:`Москва`}],rt=[{value:`day`,label:`День`},{value:`week`,label:`Неделя`},{value:`month`,label:`Месяц`}],it=[{id:1,name:`Отдел продаж`,code:`SLS`,manager:`Елена Миронова`,direction:`Коммерческий блок`},{id:2,name:`Закупки`,code:`PRC`,manager:`Антон Мелихов`,direction:`Коммерческий блок`},{id:3,name:`Логистика`,code:`LGS`,manager:`Мария Климова`,direction:`Операционный блок`,disabled:!0},{id:4,name:`Поддержка клиентов`,code:`SUP`,manager:`Ирина Белова`,direction:`Операционный блок`}],X={title:`Development/Interactive components`,component:H,parameters:{layout:`fullscreen`,docs:{description:{component:`Быстрая витрина интерактивных UI-компонентов для разработки и проверки общих стилей.`}}}},Z={},H.__docgenInfo={description:``,methods:[],displayName:`InteractiveComponents`},H.parameters={...H.parameters,docs:{...H.parameters?.docs,source:{originalSource:`function InteractiveComponents() {
|
|
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"./Switch-OPzpWcJw.js";import{i as a,n as o,r as s,t as ee}from"./DisclosureGroup-DvB5K7gZ.js";import{n as c,t as te}from"./ExpandableActionPanel-CWKJIcbQ.js";import{n as ne,t as l}from"./RadioGroup-34jH28Sk.js";import{n as u,t as re}from"./RadioButton-Ca0kZdMV.js";import{n as d,t as ie}from"./SingleDateTimeInput-oN2P3eYx.js";import{n as f,t as p}from"./CheckBox-C3n5T66c.js";import{n as m,t as ae}from"./DropZone-DZi2WVu9.js";import{n as h}from"./iframe-BaXmcmyl.js";import{n as g,t as _}from"./Text-BT0cn3Bk.js";import{n as oe,t as v}from"./Popover-BAp50b4b.js";import{i as se,n as y,r as b,t as ce}from"./BadgeList-rtyargPY.js";import{n as x,t as S}from"./Button-EVzvXVPh.js";import{a as C,n as le,r as ue,t as de}from"./Modal-vdSwQ6xw.js";import{n as fe,t as pe}from"./GridContainer-fKYgDsLl.js";import{n as me,t as he}from"./ModalManagerProvider-C_zd0fqC.js";import{n as ge,t as w}from"./ContextMenu-Dg65Ha7g.js";import{a as T,l as E,o as D,t as O}from"./Input-95LKm7aK.js";import{n as _e,t as k}from"./DropdownMenu-CRoQARS5.js";import{n as ve,r as ye}from"./DateInput-BpuC_NWD.js";import{n as A,t as j}from"./Select-CwNDJSmq.js";import{n as M,t as be}from"./DateRangePresetSelect-DYPoeqC2.js";import{n as xe,t as Se}from"./Dialog-D8GPZi6H.js";import{n as Ce,t as we}from"./InputFiles-CUYGDig8.js";import{n as Te,t as Ee}from"./InputFile-_65sKWXa.js";import{n as De,t as Oe}from"./InputImage-De56Jwx9.js";import{n as ke,t as Ae}from"./LayoutPicker-BMO8qfbL.js";import{n as je,t as Me}from"./Listbox-D_2t3NpM.js";import{n as Ne,t as Pe}from"./MultiSelect-Bl3q6kCP.js";import{n as Fe,t as Ie}from"./PeriodSelect-DQXZWIBX.js";import{n as Le,t as Re}from"./PresetRangeDateInput-EIlQEGr0.js";import{i as ze,r as Be,t as Ve}from"./Slider-CDJhhSWj.js";import{n as N,r as He,t as Ue}from"./SliderInput-C7TRql6-.js";import{n as We,t as Ge}from"./StateSelect-Cs9-kDRC.js";import{n as Ke,t as P}from"./TabsBox-X_7yoTw3.js";import{n as qe,t as Je}from"./TagInput-B2w5W05Z.js";import{n as F,t as Ye}from"./Textarea-B9MNOgmF.js";import{n as I,t as Xe}from"./Toggle-DxA-Q1KZ.js";import{n as Ze,t as L}from"./TreeMultiSelect-BKF7COzn.js";import{n as Qe,t as $e}from"./treeStoryFixtures-DXHh9GL3.js";function et({onChange:e,...t}){let[n,r]=(0,R.useState)(()=>t.defaultValue??t.value??``),[i,a]=(0,R.useState)(()=>t.defaultValue??t.value??``),o=t=>{let n=t.trim();n!==i&&(a(n),e(n))},s=()=>{r(``),a(``),e(``)},ee=e=>{e.key===`Enter`&&(e.preventDefault(),o(n))},c=()=>{o(n)},te=e=>{r(e)};return(0,z.jsx)(O,{...t,value:n,onChange:te,onKeyDown:ee,onBlur:c,onClear:s})}var R,z;function B(){return(B=t((()=>{R=e(n(),1),E(),z=h(),et.__docgenInfo={description:``,methods:[],displayName:`InputSearch`,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: string) => void`,signature:{arguments:[{type:{name:`string`},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:``}},composes:[`Omit`]}})))()}function V({title:e,children:t}){return(0,W.jsxs)(`section`,{style:G,children:[(0,W.jsx)(`div`,{style:K,children:e}),t]})}function tt({initialValue:e={},label:t=`TreeMultiSelect`,description:n,optionsLayout:r=`tree`,nodes:i=$e,defaultExpandedCodeKeys:a}){let[o,s]=(0,U.useState)(e);return(0,W.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,W.jsx)(L,{label:t,description:n,nodes:i,value:o,onChange:s,optionsLayout:r,defaultExpandedCodeKeys:a}),(0,W.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,JSON.stringify(o)]})]})}function H(){let[e,t]=(0,U.useState)(`Значение`),[n,r]=(0,U.useState)(42),[a,o]=(0,U.useState)(``),[c,ne]=(0,U.useState)(`Комментарий`),[u,d]=(0,U.useState)(!0),[f,m]=(0,U.useState)(!1),[h,g]=(0,U.useState)(`first`),[oe,se]=(0,U.useState)(!0),[y,x]=(0,U.useState)(!1),[C,fe]=(0,U.useState)(3),[me,ge]=(0,U.useState)(),[E,O]=(0,U.useState)([0,0]),[_e,ye]=(0,U.useState)(60),[A,M]=(0,U.useState)(J[0]),[xe,Ce]=(0,U.useState)([Y[0]]),[Te,De]=(0,U.useState)([`UI`,`Стили`]),[ke,je]=(0,U.useState)(`week`),[Ne,Fe]=(0,U.useState)(`information`),[Le,ze]=(0,U.useState)(`two-columns`),[He,We]=(0,U.useState)(new Date(2026,2,10)),[Ke,qe]=(0,U.useState)(new Date(2026,2,10,10,30)),[F,I]=(0,U.useState)(`today`),[Ze,L]=(0,U.useState)([new Date(2026,2,1),new Date(2026,2,10)]),[Qe,$e]=(0,U.useState)(`month`),[R,z]=(0,U.useState)(),[B,H]=(0,U.useState)([]),[G,K]=(0,U.useState)(),[X,Z]=(0,U.useState)([]),[at,Q]=(0,U.useState)(!1),[ot,$]=(0,U.useState)(!1),[st,ct]=(0,U.useState)();return(0,W.jsxs)(`div`,{style:nt,children:[(0,W.jsxs)(V,{title:`Text`,children:[(0,W.jsx)(_,{color:`primary`,children:`Основной`}),(0,W.jsx)(_,{color:`secondary`,children:`Дополнительный`}),(0,W.jsx)(_,{color:`muted`,children:`Приглушенный`}),(0,W.jsx)(_,{color:`accent`,children:`Акцентированный`}),(0,W.jsx)(_,{color:`brand`,children:`Брендовый`}),(0,W.jsx)(_,{color:`info`,children:`Информация`}),(0,W.jsx)(_,{color:`success`,children:`Успешно`}),(0,W.jsx)(_,{color:`warning`,children:`Предупреждение`}),(0,W.jsx)(_,{color:`error`,children:`Ошибка`})]}),(0,W.jsx)(V,{title:`Badge`,children:(0,W.jsxs)(ce,{children:[(0,W.jsx)(b,{tone:`neutral`,appearance:`outline`,children:`Neutral`}),(0,W.jsx)(b,{tone:`success`,appearance:`solid`,children:`Успешно`}),(0,W.jsx)(b,{tone:`warning`,appearance:`solid`,children:`Внимание`}),(0,W.jsx)(b,{tone:`error`,appearance:`solid`,children:`Ошибка`}),(0,W.jsx)(b,{tone:`info`,appearance:`solid`,children:`Информация`})]})}),(0,W.jsx)(V,{title:`Button`,children:(0,W.jsxs)(pe,{gap:`sm`,templateColumns:`1fr 1fr`,children:[(0,W.jsx)(S,{variant:`transparent`,children:`Действие`}),(0,W.jsx)(S,{variant:`ghost`,children:`Действие`}),(0,W.jsx)(S,{variant:`neutralOutline`,children:`Действие`}),(0,W.jsx)(S,{variant:`infoOutline`,children:`Действие`}),(0,W.jsx)(S,{variant:`successOutline`,children:`Действие`}),(0,W.jsx)(S,{variant:`warningOutline`,children:`Действие`}),(0,W.jsx)(S,{variant:`errorOutline`,children:`Действие`}),(0,W.jsx)(S,{variant:`neutral`,children:`Действие`}),(0,W.jsx)(S,{variant:`info`,children:`Действие`}),(0,W.jsx)(S,{variant:`success`,children:`Действие`}),(0,W.jsx)(S,{variant:`warning`,children:`Действие`}),(0,W.jsx)(S,{variant:`error`,children:`Действие`})]})}),(0,W.jsxs)(V,{title:`InputText`,children:[(0,W.jsx)(D,{label:`Текст`,description:`Поле ввода текста`,placeholder:`Введите текст`,disabled:!0,value:e,onChange:t}),(0,W.jsx)(D,{label:`Текст`,description:`Поле ввода текста`,placeholder:`Введите текст`,value:e,onChange:t}),(0,W.jsx)(D,{required:!0,label:`Текст`,description:`Поле ввода текста`,placeholder:`Введите текст`,value:e,onChange:t,onClear:()=>t(``)})]}),(0,W.jsxs)(V,{title:`InputNumber`,children:[(0,W.jsx)(T,{label:`Количество`,description:`Поле ввода числа`,placeholder:`Введите число`,value:n,min:0,onChange:r,disabled:!0}),(0,W.jsx)(T,{label:`Количество`,description:`Поле ввода числа`,placeholder:`Введите число`,value:n,min:0,onChange:r,required:!0}),(0,W.jsx)(T,{label:`Количество`,description:`Поле ввода числа`,placeholder:`Введите число`,value:n,min:0,onChange:r}),(0,W.jsx)(T,{label:`Количество`,description:`Поле ввода числа`,placeholder:`Введите число`,value:n,min:0,onChange:r,onClear:()=>r(void 0)})]}),(0,W.jsx)(V,{title:`InputSearch`,children:(0,W.jsx)(et,{label:`Поиск`,placeholder:`Найти`,value:a,onChange:o})}),(0,W.jsx)(V,{title:`Textarea`,children:(0,W.jsx)(Ye,{label:`Комментарий`,required:!0,placeholder:`Многострочный комментарий`,rows:6,value:c,onChange:ne})}),(0,W.jsxs)(V,{title:`CheckBox`,children:[(0,W.jsx)(p,{label:`Опция`,description:`Описание чекбокса`,disabled:!0,value:u,onChange:d}),(0,W.jsx)(p,{label:`Опция`,description:`Описание чекбокса`,value:u,onChange:d}),(0,W.jsx)(p,{label:`Опция`,description:`Описание чекбокса`,value:u,onChange:d,indeterminate:!0})]}),(0,W.jsxs)(V,{title:`RadioButton`,children:[(0,W.jsx)(re,{label:`Опция`,description:`Описание радиокнопки`,disabled:!0,value:f,onChange:m}),(0,W.jsx)(re,{label:`Опция`,description:`Описание радиокнопки`,name:`radio-1`,value:f,onChange:m}),(0,W.jsx)(re,{label:`Опция`,description:`Описание радиокнопки`,name:`radio-1`,value:f,onChange:m})]}),(0,W.jsxs)(V,{title:`RadioGroup`,children:[(0,W.jsxs)(l,{label:`Радио группа`,description:`Вертикальная группа`,value:h,onChange:g,orientation:`vertical`,"aria-label":`Вариант`,children:[(0,W.jsx)(l.Option,{value:`first`,label:`Первый`}),(0,W.jsx)(l.Option,{value:`second`,label:`Второй`}),(0,W.jsx)(l.Option,{value:`third`,label:`Третий`,description:`Новая опциональная опция`})]}),(0,W.jsxs)(l,{label:`Радио группа`,description:`Горизонтальная группа`,value:h,onChange:g,orientation:`horizontal`,"aria-label":`Вариант`,children:[(0,W.jsx)(l.Option,{value:`first`,label:`Первый`}),(0,W.jsx)(l.Option,{value:`second`,label:`Второй`}),(0,W.jsx)(l.Option,{value:`third`,label:`Третий`,description:`Новая опциональная опция`})]})]}),(0,W.jsx)(V,{title:`Switch`,children:(0,W.jsx)(i,{label:`Уведомления`,description:`Устаревный компонент`,value:oe,onChange:se})}),(0,W.jsxs)(V,{title:`Toggle`,children:[(0,W.jsx)(Xe,{label:`Режим`,description:`Переключатель состояния`,value:y,onChange:x,checkedText:`Вкл`,uncheckedText:`Выкл`}),(0,W.jsx)(Xe,{label:`Режим`,description:`Переключатель состояния`,labelPosition:`after`,value:y,onChange:x,checkedText:`Вкл`,uncheckedText:`Выкл`})]}),(0,W.jsxs)(V,{title:`Slider`,children:[(0,W.jsx)(Ve,{label:`Уровень`,description:`Простой слайдер`,value:C,min:0,max:100,onChange:fe}),(0,W.jsx)(Ve,{label:`Уровень`,description:`Простой слайдер`,disabled:!0,marks:[{value:1,label:`m1`},{value:2,label:`m2`},{value:3,label:`m3`},{value:4,label:`m4`},{value:5,label:`m5`},{value:6,label:`m6`}],marksPosition:`index`,value:C,min:0,max:100,onChange:fe}),(0,W.jsx)(Be,{label:`Уровень`,description:`Диапазон`,marks:[{value:0,label:`m1`},{value:1,label:`m2`},{value:2,label:`m3`},{value:3,label:`m4`}],marksPosition:`index`,value:me,min:0,max:100,onChange:ge})]}),(0,W.jsxs)(V,{title:`SliderInput`,children:[(0,W.jsx)(Ue,{label:`Порог`,value:_e,min:0,max:100,onChange:ye}),(0,W.jsx)(N,{label:`Порог`,value:E,onChange:O,min:0,max:100,marks:[{value:0,label:`0`},{value:20,label:`20`},{value:40,label:`40`},{value:60,label:`60`},{value:80,label:`80`},{value:100,label:`100`}]}),(0,W.jsx)(N,{label:`Срок: открытые границы и дни в фильтре`,description:"Крайние marks отдают null, обычные marks отдают дни через `outputValue`.",min:0,max:25,marks:[{value:0,label:`-`,outputValue:null},{value:1,label:`1м.`,outputValue:30},{value:3,label:`3м.`,outputValue:90},{value:6,label:`6м.`,outputValue:180},{value:12,label:`1г.`,outputValue:360},{value:18,label:`1.5г.`,outputValue:540},{value:24,label:`2г.`,outputValue:720},{value:25,label:`-`,outputValue:null}],value:E,onChange:O}),(0,W.jsx)(N,{label:`Срок текстом`,description:`В поле выводится готовый текст по marks, а изменение через popover коммитится при закрытии.`,placeholder:`Любой срок`,readonlyValueText:!0,min:0,max:25,marks:[{value:0,label:`-`,outputValue:null},{value:1,label:`1м.`,outputValue:30},{value:3,label:`3м.`,outputValue:90},{value:6,label:`6м.`,outputValue:180},{value:12,label:`1г.`,outputValue:360},{value:18,label:`1.5г.`,outputValue:540},{value:24,label:`2г.`,outputValue:720},{value:25,label:`-`,outputValue:null}],marksPosition:`index`,value:E,onChange:O})]}),(0,W.jsxs)(V,{title:`Select`,children:[(0,W.jsx)(j,{label:`Статус`,description:`searchable`,searchable:!0,options:J,value:A,onChange:M,getOptionKey:e=>e.id,getOptionLabel:e=>e.label}),(0,W.jsx)(j,{label:`Статус`,description:`disabled`,disabled:!0,options:J,value:A,onChange:M,getOptionKey:e=>e.id,getOptionLabel:e=>e.label}),(0,W.jsx)(j,{label:`Статус`,description:`Пример использования низкоуровневого Select со строковыми значениями.`,placeholder:`Выберите статус`,options:J,value:A,onChange:M,getOptionKey:e=>e.id,getOptionLabel:e=>e.label}),(0,W.jsx)(j,{label:`Подразделение`,description:`Выберите подразделение из списка.`,placeholder:`Не выбрано`,options:it,value:st,onChange:ct,getOptionKey:e=>e.id,getOptionLabel:e=>e.name,getOptionCode:e=>e.code,getOptionDisabled:e=>e.disabled??!1,getOptionGroup:e=>({key:e.direction,label:e.direction}),optionsMaxWidth:`40em`})]}),(0,W.jsx)(V,{title:`MultiSelect`,children:(0,W.jsx)(Pe,{label:`Города`,items:Y,value:xe,query:``,codeKey:`code`,textKey:`label`,onChange:Ce,onQuery:()=>void 0,onOpen:()=>void 0,onClose:()=>void 0})}),(0,W.jsx)(V,{title:`TreeMultiSelect`,children:(0,W.jsx)(tt,{})}),(0,W.jsx)(V,{title:`TagInput`,children:(0,W.jsx)(Je,{label:`Теги`,placeholder:`Добавить`,value:Te,onChange:De})}),(0,W.jsx)(V,{title:`Listbox`,children:(0,W.jsx)(Me,{options:rt,value:ke,onChange:e=>je(e)})}),(0,W.jsx)(V,{title:`StateSelect`,children:(0,W.jsx)(Ge,{label:`Состояние`,value:Ne,onChange:Fe})}),(0,W.jsx)(V,{title:`LayoutPicker`,children:(0,W.jsx)(Ae,{label:`Раскладка`,value:Le,onChange:ze,showPlaceholder:!0})}),(0,W.jsx)(V,{title:`SingleDateInput`,children:(0,W.jsx)(ve,{label:`Дата`,value:He,onChange:We,selectionMode:`week`})}),(0,W.jsx)(V,{title:`SingleDateTimeInput`,children:(0,W.jsx)(ie,{label:`Дата и время`,value:Ke,onChange:qe})}),(0,W.jsx)(V,{title:`DateRangePresetSelect`,children:(0,W.jsx)(be,{label:`Период`,value:F??void 0,onChange:e=>I(e??null),onRangeChange:e=>L(e?.range??null),referenceDate:new Date(2026,2,10,12)})}),(0,W.jsx)(V,{title:`PresetRangeDateInput`,children:(0,W.jsx)(Re,{value:Ze,onChange:L,presetId:F??null,onPresetIdChange:e=>I(e??null),referenceDate:new Date(2026,2,10,12),presetLabel:`Быстрый диапазон`})}),(0,W.jsx)(V,{title:`PeriodSelect`,children:(0,W.jsx)(Ie,{label:`Группировка`,value:Qe,onChange:$e})}),(0,W.jsx)(V,{title:`InputFile`,children:(0,W.jsx)(Ee,{label:`Файл`,placeholder:`Выберите файл`,value:R,onChange:z,onClear:()=>z(void 0),readMode:`data-url`})}),(0,W.jsx)(V,{title:`InputFiles`,children:(0,W.jsx)(we,{label:`Файлы`,placeholder:`Выберите файлы`,value:B,onChange:H,readMode:`data-url`})}),(0,W.jsx)(V,{title:`InputImage`,children:(0,W.jsx)(Oe,{label:`Изображение`,value:G,onChange:K,onClear:()=>K(void 0)})}),(0,W.jsx)(V,{title:`DropZone`,children:(0,W.jsx)(ae,{value:X,multiple:!0,readMode:`data-url`,onChange:e=>Z(e),children:(0,W.jsx)(`div`,{style:{display:`grid`,placeItems:`center`,minHeight:`6em`,textAlign:`center`},children:X.length?`Файлов: ${X.length}`:`Перетащите файлы`})})}),(0,W.jsxs)(V,{title:`TabsBox`,children:[(0,W.jsx)(P,{defaultValue:`first`,items:[{id:`first`,title:`Первый`,content:`Содержимое`},{id:`second`,title:`Второй`,content:`Другая панель`},{id:`third`,title:`Ещё одна`,content:`Ещё одна панель`},{id:`quat`,title:`Четвертая`,content:`Четвертая панель`},{id:`five`,title:`Пятая`,content:`Пятая панель`}]}),(0,W.jsx)(P,{defaultValue:`first`,clean:!0,items:[{id:`first`,title:`Первый`,content:`Содержимое`},{id:`second`,title:`Второй`,content:`Другая панель`},{id:`third`,title:`Ещё одна`,content:`Ещё одна панель`},{id:`quat`,title:`Четвертая`,content:`Четвертая панель`},{id:`five`,title:`Пятая`,content:`Пятая панель`}]})]}),(0,W.jsxs)(V,{title:`TabsBox`,children:[(0,W.jsx)(P,{defaultValue:`first`,orientation:`vertical`,items:[{id:`first`,title:`Первый`,content:`Содержимое`},{id:`second`,title:`Второй`,content:`Другая панель`},{id:`third`,title:`Ещё одна`,content:`Другая панель`},{id:`quat`,title:`Четвертая`,content:`Другая панель`}]}),(0,W.jsx)(P,{defaultValue:`first`,orientation:`vertical`,clean:!0,items:[{id:`first`,title:`Первый`,content:`Содержимое`},{id:`second`,title:`Второй`,content:`Другая панель`},{id:`third`,title:`Ещё одна`,content:`Другая панель`},{id:`quat`,title:`Четвертая`,content:`Другая панель`}]})]}),(0,W.jsxs)(V,{title:`Disclosure`,children:[(0,W.jsxs)(ee,{children:[(0,W.jsx)(s,{label:`Раскрыть 1`,children:`Содержимое панели 1`}),(0,W.jsx)(s,{label:`Раскрыть 2`,children:`Содержимое панели 2`}),(0,W.jsx)(s,{label:`Раскрыть 3`,children:`Содержимое панели 3`}),(0,W.jsx)(s,{label:`Раскрыть 4`,children:`Содержимое панели 4`})]}),(0,W.jsx)(s,{label:`Раскрыть 1`,tone:`secondary`,children:`Содержимое панели 1`})]}),(0,W.jsx)(V,{title:`ExpandableActionPanel`,children:(0,W.jsx)(te,{children:(0,W.jsx)(S,{variant:`transparent`,children:`Действие`})})}),(0,W.jsx)(V,{title:`Popover`,children:(0,W.jsxs)(v,{children:[(0,W.jsx)(v.Trigger,{children:(0,W.jsx)(S,{style:q,children:`Открыть`})}),(0,W.jsx)(v.Content,{children:({setClose:e})=>(0,W.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`,padding:`1em`,maxWidth:`14em`},children:[(0,W.jsx)(`div`,{children:`Содержимое popover`}),(0,W.jsx)(S,{onClick:e,children:`Закрыть`})]})})]})}),(0,W.jsx)(V,{title:`DropdownMenu`,children:(0,W.jsxs)(k,{children:[(0,W.jsx)(k.Trigger,{children:(0,W.jsx)(S,{style:q,children:`Действия`})}),(0,W.jsxs)(k.Content,{children:[(0,W.jsx)(k.Item,{children:`Редактировать`}),(0,W.jsx)(k.Item,{children:`Удалить`})]})]})}),(0,W.jsx)(V,{title:`ContextMenu`,children:(0,W.jsxs)(w,{children:[(0,W.jsx)(w.Trigger,{children:(0,W.jsx)(`div`,{style:{display:`grid`,placeItems:`center`,minHeight:`6em`,padding:`0.75em`,border:`var(--border)`,borderRadius:`var(--radius-sm)`,textAlign:`center`},children:`Правая кнопка мыши`})}),(0,W.jsxs)(w.Content,{children:[(0,W.jsx)(w.Item,{children:`Переименовать`}),(0,W.jsx)(w.Item,{children:`Удалить`})]})]})}),(0,W.jsxs)(V,{title:`Dialog`,children:[(0,W.jsx)(S,{style:q,onClick:()=>Q(!0),children:`Открыть диалог`}),(0,W.jsx)(Se,{title:`Подтверждение`,description:`Подтвердите действие`,open:at,onClose:()=>Q(!1),children:(0,W.jsx)(S,{onClick:()=>Q(!1),children:`Закрыть`})})]}),(0,W.jsx)(V,{title:`Modal`,children:(0,W.jsxs)(he,{children:[(0,W.jsx)(S,{style:q,onClick:()=>$(!0),children:`Открыть модалку`}),(0,W.jsxs)(de,{title:`Параметры`,isOpen:ot,onClose:()=>$(!1),children:[(0,W.jsx)(le,{children:`Содержимое модального окна`}),(0,W.jsx)(ue,{children:(0,W.jsx)(S,{onClick:()=>$(!1),children:`Готово`})})]})]})})]})}var U,W,nt,G,K,q,J,Y,rt,it,X,Z,at;function Q(){return(Q=t((()=>{U=n(),se(),y(),x(),f(),ge(),_e(),ye(),M(),d(),xe(),a(),o(),m(),c(),fe(),E(),Te(),Ce(),De(),B(),ke(),je(),C(),me(),Ne(),Fe(),oe(),Le(),u(),ne(),A(),ze(),He(),We(),r(),Ke(),qe(),g(),F(),I(),Ze(),Qe(),W=h(),nt={display:`grid`,gridTemplateColumns:`repeat(auto-fit, minmax(var(--ui-width-xl), 1fr))`,alignItems:`start`,gap:`2em`,padding:`2em`,background:`var(--surface-2)`},G={display:`grid`,alignContent:`start`,gridTemplateColumns:`100%`,gap:`0.5em`,padding:`1em`,overflow:`hidden`,borderRadius:`var(--radius-md)`,background:`var(--surface-1)`,boxShadow:`var(--shadow-lg)`},K={fontWeight:700,color:`var(--content-0)`},q={width:`100%`},J=[{id:`draft`,label:`Черновик`},{id:`review`,label:`На согласовании`},{id:`published`,label:`Опубликован`}],Y=[{code:`EKB`,label:`Екатеринбург`},{code:`KZN`,label:`Казань`},{code:`MOW`,label:`Москва`}],rt=[{value:`day`,label:`День`},{value:`week`,label:`Неделя`},{value:`month`,label:`Месяц`}],it=[{id:1,name:`Отдел продаж`,code:`SLS`,manager:`Елена Миронова`,direction:`Коммерческий блок`},{id:2,name:`Закупки`,code:`PRC`,manager:`Антон Мелихов`,direction:`Коммерческий блок`},{id:3,name:`Логистика`,code:`LGS`,manager:`Мария Климова`,direction:`Операционный блок`,disabled:!0},{id:4,name:`Поддержка клиентов`,code:`SUP`,manager:`Ирина Белова`,direction:`Операционный блок`}],X={title:`Development/Interactive components`,component:H,parameters:{layout:`fullscreen`,docs:{description:{component:`Быстрая витрина интерактивных UI-компонентов для разработки и проверки общих стилей.`}}}},Z={},H.__docgenInfo={description:``,methods:[],displayName:`InteractiveComponents`},H.parameters={...H.parameters,docs:{...H.parameters?.docs,source:{originalSource:`function InteractiveComponents() {
|
|
2
2
|
const [text, setText] = useState("Значение");
|
|
3
3
|
const [number, setNumber] = useState<number | undefined>(42);
|
|
4
4
|
const [search, setSearch] = useState("");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-DWvPB8Sk.js";import{a as r,i}from"./utils-tg3ibbzi.js";import{n as a,t as o}from"./Option-JgQ-duDq.js";import{n as s,t as c}from"./PickerField-BkqWIWZw.js";import{c as l,i as u,l as d,n as f,r as p,s as m,t as h,u as g}from"./usePickerTriggerController-Bqo5fhOa.js";import{n as _,t as v}from"./CustomOptionButton-B9bzr3ba.js";function y(e,t){return{gridTemplateColumns:`repeat(${e.columns}, minmax(0, 1fr))`,gridTemplateRows:`repeat(${e.rows}, minmax(${t??0}em, 1fr))`}}function b(e){return{gridColumn:`${e.column} / span ${e.columnSpan??1}`,gridRow:`${e.row} / span ${e.rowSpan??1}`}}var x;function S(){return(S=e((()=>{x=[{id:`1x1`,label:`1x1`,columns:1,rows:1,cells:[{id:`c11`,row:1,column:1}]},{id:`1x2`,label:`1x2`,columns:2,rows:1,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2}]},{id:`1x3`,label:`1x3`,columns:3,rows:1,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3}]},{id:`2x1`,label:`2x1`,columns:1,rows:2,cells:[{id:`c11`,row:1,column:1},{id:`c21`,row:2,column:1}]},{id:`2x2`,label:`2x2`,columns:2,rows:2,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2}]},{id:`2x3`,label:`2x3`,columns:3,rows:2,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3}]},{id:`3x1`,label:`3x1`,columns:1,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c21`,row:2,column:1},{id:`c31`,row:3,column:1}]},{id:`3x2`,label:`3x2`,columns:2,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2}]},{id:`3x3`,label:`3x3`,columns:3,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3}]},{id:`4x1`,label:`4x1`,columns:1,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c21`,row:2,column:1},{id:`c31`,row:3,column:1},{id:`c41`,row:4,column:1}]},{id:`4x2`,label:`4x2`,columns:2,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c41`,row:4,column:1},{id:`c42`,row:4,column:2}]},{id:`4x3`,label:`4x3`,columns:3,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3},{id:`c41`,row:4,column:1},{id:`c42`,row:4,column:2},{id:`c43`,row:4,column:3}]},{id:`2x2-l`,label:`Большая слева + две справа`,columns:2,rows:2,cells:[{id:`left`,row:1,column:1,rowSpan:2},{id:`rt`,row:1,column:2},{id:`rb`,row:2,column:2}]},{id:`2x2-r`,label:`Две слева + большая справа`,columns:2,rows:2,cells:[{id:`lt`,row:1,column:1},{id:`lb`,row:2,column:1},{id:`right`,row:1,column:2,rowSpan:2}]},{id:`2x2-t`,label:`Широкая сверху + две снизу`,columns:2,rows:2,cells:[{id:`top`,row:1,column:1,columnSpan:2},{id:`bl`,row:2,column:1},{id:`br`,row:2,column:2}]},{id:`2x2-b`,label:`Две сверху + широкая снизу`,columns:2,rows:2,cells:[{id:`tl`,row:1,column:1},{id:`tr`,row:1,column:2},{id:`bottom`,row:2,column:1,columnSpan:2}]},{id:`3x2-t`,label:`Широкая сверху + 2x2`,columns:2,rows:3,cells:[{id:`top`,row:1,column:1,columnSpan:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2}]},{id:`3x2-b`,label:`2x2 + широкая снизу`,columns:2,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`bottom`,row:3,column:1,columnSpan:2}]},{id:`3x2-m`,label:`Широкая по центру`,columns:2,rows:3,cells:[{id:`tl`,row:1,column:1},{id:`tr`,row:1,column:2},{id:`middle`,row:2,column:1,columnSpan:2},{id:`bl`,row:3,column:1},{id:`br`,row:3,column:2}]},{id:`3x3-l`,label:`Большая слева + 2x3 справа`,columns:3,rows:3,cells:[{id:`left`,row:1,column:1,rowSpan:3},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3}]},{id:`3x3-r`,label:`2x3 слева + большая справа`,columns:3,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`right`,row:1,column:3,rowSpan:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2}]},{id:`3x3-t`,label:`Широкая сверху + 2x3`,columns:3,rows:3,cells:[{id:`top`,row:1,column:1,columnSpan:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3}]},{id:`3x3-b`,label:`2x3 + широкая снизу`,columns:3,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`bottom`,row:3,column:1,columnSpan:3}]},{id:`4x2-t`,label:`Широкая сверху + 3x2`,columns:2,rows:4,cells:[{id:`top`,row:1,column:1,columnSpan:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c41`,row:4,column:1},{id:`c42`,row:4,column:2}]},{id:`4x2-b`,label:`3x2 + широкая снизу`,columns:2,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`bottom`,row:4,column:1,columnSpan:2}]},{id:`4x3-t`,label:`Широкая сверху + 3x3`,columns:3,rows:4,cells:[{id:`top`,row:1,column:1,columnSpan:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3},{id:`c41`,row:4,column:1},{id:`c42`,row:4,column:2},{id:`c43`,row:4,column:3}]},{id:`4x3-b`,label:`3x3 + широкая снизу`,columns:3,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3},{id:`bottom`,row:4,column:1,columnSpan:3}]}]})))()}var C,w,T,E,D,O,k,A,j,M,N,P;function F(){return(F=e((()=>{C=`SmdPit`,w=`giOtGs`,T=`_57Tr0T`,E=`Tkhulr`,D=`VQlniu`,O=`wb39Kf`,k=`VrHnjN`,A=`vNV6Q2`,j=`koxYU-`,M=`k8xLa2`,N=`_5pd3Bb`,P={triggerText:C,popup:w,popupLayout:T,popupBody:E,options:D,option:O,previewCell:k,optionPreviewWrap:A,preview:j,previewPlaceholder:M,previewCompact:N}})))()}function I({preset:e,compact:t=!1}){return(0,z.jsx)(`span`,{className:r(P.preview,t&&P.previewCompact),style:y(e),"aria-hidden":`true`,"data-ui":`layout-picker-preview`,children:e.cells.map(t=>(0,z.jsx)(`span`,{className:P.previewCell,style:b(t)},`${e.id}:${t.id}`))})}function L({id:e,label:t,description:n,value:i,onChange:a,presets:s=x,disabled:l,getPresetDisabled:p,placeholder:h=B,showPlaceholder:g=!1,size:_,ariaLabel:y,className:b,triggerClassName:S,popupClassName:C,placement:w=`bottom-start`}){let T=(0,R.useRef)(null),[E,D]=(0,R.useState)(!1),O=s.findIndex(e=>e.id===i),k=O>=0?s[O]:void 0,A=k?.label??h,{activeIndex:j,context:M,floatingStyles:N,getFloatingProps:F,setReference:L,setFloating:V,setOptionRef:H,close:U,openList:W,toggleOpen:G,selectOption:K,selectActiveOption:q,handleReferenceKeyDown:J,handleFloatingKeyDown:Y,getOptionId:X,getActiveOptionId:Z}=u({options:s,selectedIndex:O,open:E,onOpenChange:D,getOptionDisabled:p,onSelect:e=>a(e.id),disabled:l,placement:w,triggerMode:`display`}),Q=f({mode:`display`,open:E,currentQuery:``,hasDisplayValue:k!==void 0,inputRef:T,openList:W,close:U,toggleOpen:G}),$=e=>{T.current=e};return(0,z.jsx)(c,{id:e,label:t,description:n,disabled:l,size:_,className:b,children:({controlId:e,labelId:n,describedBy:i})=>{let a=`${e}-listbox`;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(m,{ref:$,rootRef:L,id:e,type:`button`,disabled:l,open:E,optionCount:s.length,label:t,placeholder:h,readOnly:!0,autoComplete:`off`,role:`combobox`,value:A,selectedValue:k?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(I,{preset:k,compact:!0}),g?(0,z.jsx)(`span`,{className:P.triggerText,"data-ui":`layout-picker-selected-label`,children:k.label}):null]}):void 0,hasSelection:k!==void 0,showSelectedValue:k!==void 0,onToggleMouseDown:Q.handleToggleMouseDown,onToggleClick:Q.handleToggleClick,openAriaLabel:`Открыть список layout`,closeAriaLabel:`Закрыть список layout`,"aria-haspopup":`listbox`,"aria-expanded":E,"aria-controls":E?a:void 0,"aria-labelledby":n,"aria-describedby":i,"aria-autocomplete":`none`,"aria-activedescendant":E?Z(a):void 0,"aria-label":n?void 0:y??`Выбрать layout. Текущее значение: ${A}`,"data-ui":`layout-picker-trigger`,rootClassName:S,onClick:Q.handleTriggerClick,onFocus:e=>{Q.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{J(e),!e.defaultPrevented&&Q.handleTriggerKeyDown({event:e,onActivateWhenOpen:q,enableSpaceActivation:!0})}}),(0,z.jsx)(d,{open:E,context:M,floatingStyles:N,listId:a,labelId:n,descriptionId:i,activeOptionId:Z(a),setFloating:V,getFloatingProps:F,onKeyDown:Y,className:r(P.popup,C),layoutClassName:P.popupLayout,bodyClassName:P.popupBody,children:(0,z.jsx)(`div`,{className:P.options,children:s.map((e,t)=>{let n=t===O,r=t===j,i=p?.(e)??!1,s=X(a,t);return(0,z.jsx)(o,{id:s,ref:e=>H(t,e),role:`option`,"aria-selected":n,"aria-disabled":i||void 0,"aria-label":e.description?`${e.label}. ${e.description}`:e.label,className:P.option,active:r,selected:n,disabled:i,"data-ui":`layout-picker-option`,"data-selected":n||void 0,children:(0,z.jsx)(v,{tabIndex:-1,disabled:i,onMouseDown:e=>e.preventDefault(),onClick:()=>K(e),children:(0,z.jsx)(`span`,{className:P.optionPreviewWrap,children:(0,z.jsx)(I,{preset:e})})})},e.id)})})})]})}})}var R,z,B;function V(){return(V=e((()=>{R=t(),i(),_(),a(),s(),g(),l(),p(),h(),S(),F(),z=n(),B=`Выберите раскладку`,L.__docgenInfo={description:`Контрол выбора layout-пресета. Не хранит бизнес-логику содержимого ячеек.`,methods:[],displayName:`LayoutPicker`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите раскладку"`,computed:!1}},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:``},id:{required:!1,tsType:{name:`string`},description:``},presets:{required:!1,tsType:{name:`unknown`},description:``,defaultValue:{value:`[
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-BaXmcmyl.js";import{a as r,i}from"./utils-tg3ibbzi.js";import{n as a,t as o}from"./Option-Cr3vYgCL.js";import{n as s,t as c}from"./PickerField-BeAXSQmp.js";import{c as l,i as u,l as d,n as f,r as p,s as m,t as h,u as g}from"./usePickerTriggerController-DMA4hla_.js";import{n as _,t as v}from"./CustomOptionButton-vfj1vLJM.js";function y(e,t){return{gridTemplateColumns:`repeat(${e.columns}, minmax(0, 1fr))`,gridTemplateRows:`repeat(${e.rows}, minmax(${t??0}em, 1fr))`}}function b(e){return{gridColumn:`${e.column} / span ${e.columnSpan??1}`,gridRow:`${e.row} / span ${e.rowSpan??1}`}}var x;function S(){return(S=e((()=>{x=[{id:`1x1`,label:`1x1`,columns:1,rows:1,cells:[{id:`c11`,row:1,column:1}]},{id:`1x2`,label:`1x2`,columns:2,rows:1,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2}]},{id:`1x3`,label:`1x3`,columns:3,rows:1,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3}]},{id:`2x1`,label:`2x1`,columns:1,rows:2,cells:[{id:`c11`,row:1,column:1},{id:`c21`,row:2,column:1}]},{id:`2x2`,label:`2x2`,columns:2,rows:2,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2}]},{id:`2x3`,label:`2x3`,columns:3,rows:2,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3}]},{id:`3x1`,label:`3x1`,columns:1,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c21`,row:2,column:1},{id:`c31`,row:3,column:1}]},{id:`3x2`,label:`3x2`,columns:2,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2}]},{id:`3x3`,label:`3x3`,columns:3,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3}]},{id:`4x1`,label:`4x1`,columns:1,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c21`,row:2,column:1},{id:`c31`,row:3,column:1},{id:`c41`,row:4,column:1}]},{id:`4x2`,label:`4x2`,columns:2,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c41`,row:4,column:1},{id:`c42`,row:4,column:2}]},{id:`4x3`,label:`4x3`,columns:3,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3},{id:`c41`,row:4,column:1},{id:`c42`,row:4,column:2},{id:`c43`,row:4,column:3}]},{id:`2x2-l`,label:`Большая слева + две справа`,columns:2,rows:2,cells:[{id:`left`,row:1,column:1,rowSpan:2},{id:`rt`,row:1,column:2},{id:`rb`,row:2,column:2}]},{id:`2x2-r`,label:`Две слева + большая справа`,columns:2,rows:2,cells:[{id:`lt`,row:1,column:1},{id:`lb`,row:2,column:1},{id:`right`,row:1,column:2,rowSpan:2}]},{id:`2x2-t`,label:`Широкая сверху + две снизу`,columns:2,rows:2,cells:[{id:`top`,row:1,column:1,columnSpan:2},{id:`bl`,row:2,column:1},{id:`br`,row:2,column:2}]},{id:`2x2-b`,label:`Две сверху + широкая снизу`,columns:2,rows:2,cells:[{id:`tl`,row:1,column:1},{id:`tr`,row:1,column:2},{id:`bottom`,row:2,column:1,columnSpan:2}]},{id:`3x2-t`,label:`Широкая сверху + 2x2`,columns:2,rows:3,cells:[{id:`top`,row:1,column:1,columnSpan:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2}]},{id:`3x2-b`,label:`2x2 + широкая снизу`,columns:2,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`bottom`,row:3,column:1,columnSpan:2}]},{id:`3x2-m`,label:`Широкая по центру`,columns:2,rows:3,cells:[{id:`tl`,row:1,column:1},{id:`tr`,row:1,column:2},{id:`middle`,row:2,column:1,columnSpan:2},{id:`bl`,row:3,column:1},{id:`br`,row:3,column:2}]},{id:`3x3-l`,label:`Большая слева + 2x3 справа`,columns:3,rows:3,cells:[{id:`left`,row:1,column:1,rowSpan:3},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3}]},{id:`3x3-r`,label:`2x3 слева + большая справа`,columns:3,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`right`,row:1,column:3,rowSpan:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2}]},{id:`3x3-t`,label:`Широкая сверху + 2x3`,columns:3,rows:3,cells:[{id:`top`,row:1,column:1,columnSpan:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3}]},{id:`3x3-b`,label:`2x3 + широкая снизу`,columns:3,rows:3,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`bottom`,row:3,column:1,columnSpan:3}]},{id:`4x2-t`,label:`Широкая сверху + 3x2`,columns:2,rows:4,cells:[{id:`top`,row:1,column:1,columnSpan:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c41`,row:4,column:1},{id:`c42`,row:4,column:2}]},{id:`4x2-b`,label:`3x2 + широкая снизу`,columns:2,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`bottom`,row:4,column:1,columnSpan:2}]},{id:`4x3-t`,label:`Широкая сверху + 3x3`,columns:3,rows:4,cells:[{id:`top`,row:1,column:1,columnSpan:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3},{id:`c41`,row:4,column:1},{id:`c42`,row:4,column:2},{id:`c43`,row:4,column:3}]},{id:`4x3-b`,label:`3x3 + широкая снизу`,columns:3,rows:4,cells:[{id:`c11`,row:1,column:1},{id:`c12`,row:1,column:2},{id:`c13`,row:1,column:3},{id:`c21`,row:2,column:1},{id:`c22`,row:2,column:2},{id:`c23`,row:2,column:3},{id:`c31`,row:3,column:1},{id:`c32`,row:3,column:2},{id:`c33`,row:3,column:3},{id:`bottom`,row:4,column:1,columnSpan:3}]}]})))()}var C,w,T,E,D,O,k,A,j,M,N,P;function F(){return(F=e((()=>{C=`SmdPit`,w=`giOtGs`,T=`_57Tr0T`,E=`Tkhulr`,D=`VQlniu`,O=`wb39Kf`,k=`VrHnjN`,A=`vNV6Q2`,j=`koxYU-`,M=`k8xLa2`,N=`_5pd3Bb`,P={triggerText:C,popup:w,popupLayout:T,popupBody:E,options:D,option:O,previewCell:k,optionPreviewWrap:A,preview:j,previewPlaceholder:M,previewCompact:N}})))()}function I({preset:e,compact:t=!1}){return(0,z.jsx)(`span`,{className:r(P.preview,t&&P.previewCompact),style:y(e),"aria-hidden":`true`,"data-ui":`layout-picker-preview`,children:e.cells.map(t=>(0,z.jsx)(`span`,{className:P.previewCell,style:b(t)},`${e.id}:${t.id}`))})}function L({id:e,label:t,description:n,value:i,onChange:a,presets:s=x,disabled:l,getPresetDisabled:p,placeholder:h=B,showPlaceholder:g=!1,size:_,ariaLabel:y,className:b,triggerClassName:S,popupClassName:C,placement:w=`bottom-start`}){let T=(0,R.useRef)(null),[E,D]=(0,R.useState)(!1),O=s.findIndex(e=>e.id===i),k=O>=0?s[O]:void 0,A=k?.label??h,{activeIndex:j,context:M,floatingStyles:N,getFloatingProps:F,setReference:L,setFloating:V,setOptionRef:H,close:U,openList:W,toggleOpen:G,selectOption:K,selectActiveOption:q,handleReferenceKeyDown:J,handleFloatingKeyDown:Y,getOptionId:X,getActiveOptionId:Z}=u({options:s,selectedIndex:O,open:E,onOpenChange:D,getOptionDisabled:p,onSelect:e=>a(e.id),disabled:l,placement:w,triggerMode:`display`}),Q=f({mode:`display`,open:E,currentQuery:``,hasDisplayValue:k!==void 0,inputRef:T,openList:W,close:U,toggleOpen:G}),$=e=>{T.current=e};return(0,z.jsx)(c,{id:e,label:t,description:n,disabled:l,size:_,className:b,children:({controlId:e,labelId:n,describedBy:i})=>{let a=`${e}-listbox`;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(m,{ref:$,rootRef:L,id:e,type:`button`,disabled:l,open:E,optionCount:s.length,label:t,placeholder:h,readOnly:!0,autoComplete:`off`,role:`combobox`,value:A,selectedValue:k?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(I,{preset:k,compact:!0}),g?(0,z.jsx)(`span`,{className:P.triggerText,"data-ui":`layout-picker-selected-label`,children:k.label}):null]}):void 0,hasSelection:k!==void 0,showSelectedValue:k!==void 0,onToggleMouseDown:Q.handleToggleMouseDown,onToggleClick:Q.handleToggleClick,openAriaLabel:`Открыть список layout`,closeAriaLabel:`Закрыть список layout`,"aria-haspopup":`listbox`,"aria-expanded":E,"aria-controls":E?a:void 0,"aria-labelledby":n,"aria-describedby":i,"aria-autocomplete":`none`,"aria-activedescendant":E?Z(a):void 0,"aria-label":n?void 0:y??`Выбрать layout. Текущее значение: ${A}`,"data-ui":`layout-picker-trigger`,rootClassName:S,onClick:Q.handleTriggerClick,onFocus:e=>{Q.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{J(e),!e.defaultPrevented&&Q.handleTriggerKeyDown({event:e,onActivateWhenOpen:q,enableSpaceActivation:!0})}}),(0,z.jsx)(d,{open:E,context:M,floatingStyles:N,listId:a,labelId:n,descriptionId:i,activeOptionId:Z(a),setFloating:V,getFloatingProps:F,onKeyDown:Y,className:r(P.popup,C),layoutClassName:P.popupLayout,bodyClassName:P.popupBody,children:(0,z.jsx)(`div`,{className:P.options,children:s.map((e,t)=>{let n=t===O,r=t===j,i=p?.(e)??!1,s=X(a,t);return(0,z.jsx)(o,{id:s,ref:e=>H(t,e),role:`option`,"aria-selected":n,"aria-disabled":i||void 0,"aria-label":e.description?`${e.label}. ${e.description}`:e.label,className:P.option,active:r,selected:n,disabled:i,"data-ui":`layout-picker-option`,"data-selected":n||void 0,children:(0,z.jsx)(v,{tabIndex:-1,disabled:i,onMouseDown:e=>e.preventDefault(),onClick:()=>K(e),children:(0,z.jsx)(`span`,{className:P.optionPreviewWrap,children:(0,z.jsx)(I,{preset:e})})})},e.id)})})})]})}})}var R,z,B;function V(){return(V=e((()=>{R=t(),i(),_(),a(),s(),g(),l(),p(),h(),S(),F(),z=n(),B=`Выберите раскладку`,L.__docgenInfo={description:`Контрол выбора layout-пресета. Не хранит бизнес-логику содержимого ячеек.`,methods:[],displayName:`LayoutPicker`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите раскладку"`,computed:!1}},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:``},id:{required:!1,tsType:{name:`string`},description:``},presets:{required:!1,tsType:{name:`unknown`},description:``,defaultValue:{value:`[
|
|
2
2
|
{
|
|
3
3
|
id: "1x1",
|
|
4
4
|
label: "1x1",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BaXmcmyl.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-BmNU_R5E.js";import{a as p,c as m,i as h,n as g,o as _,r as v,s as y,t as b}from"./LayoutPicker.stories-F7K4tSxT.js";function x(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(s,{of:_,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,C.jsx)(u,{children:`LayoutPicker`}),`
|
|
3
3
|
`,(0,C.jsx)(o,{children:`Контролируемый выбор layout-пресета со схематичным превью`}),`
|
|
4
4
|
`,(0,C.jsxs)(t.p,{children:[(0,C.jsx)(t.code,{children:`LayoutPicker`}),` нужен для выбора схемы размещения независимых областей: графиков, панелей, секций дашборда или другого UI, где сама раскладка хранится во внешней модели.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.SmdPit{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.giOtGs{width:min(100vw - var(--space-lg) * 2, 44em);max-height:min(75vh,34em)}._57Tr0T{max-height:inherit}.Tkhulr{padding:var(--space-xs);overflow:auto}.VQlniu{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(min(100%,5em),1fr));display:grid}.wb39Kf{padding:var(--space-sm);border-radius:var(--radius-sm);transition:background-color var(--transition-fast) ease, border-color var(--transition-fast) ease, color var(--transition-fast) ease;position:relative}.wb39Kf:focus-visible{background-color:var(--surface-2);border-color:var(--border-2)}@media (any-hover:hover){.wb39Kf:hover{background-color:var(--surface-2);border-color:var(--border-2)}}@media (any-hover:none){.wb39Kf:active{background-color:var(--surface-2);border-color:var(--border-2)}}.wb39Kf:disabled{cursor:default;opacity:var(--disabled-opacity)}.wb39Kf[data-selected]{border-color:var(--border-1);background-color:var(--surface-1)}.wb39Kf[data-selected] .VrHnjN{background-color:var(--
|
|
1
|
+
.SmdPit{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.giOtGs{width:min(100vw - var(--space-lg) * 2, 44em);max-height:min(75vh,34em)}._57Tr0T{max-height:inherit}.Tkhulr{padding:var(--space-xs);overflow:auto}.VQlniu{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(min(100%,5em),1fr));display:grid}.wb39Kf{padding:var(--space-sm);border-radius:var(--radius-sm);transition:background-color var(--transition-fast) ease, border-color var(--transition-fast) ease, color var(--transition-fast) ease;position:relative}.wb39Kf:focus-visible{background-color:var(--surface-2);border-color:var(--border-2)}@media (any-hover:hover){.wb39Kf:hover{background-color:var(--surface-2);border-color:var(--border-2)}}@media (any-hover:none){.wb39Kf:active{background-color:var(--surface-2);border-color:var(--border-2)}}.wb39Kf:disabled{cursor:default;opacity:var(--disabled-opacity)}.wb39Kf[data-selected]{border-color:var(--border-1);background-color:var(--surface-1)}.wb39Kf[data-selected] .VrHnjN{background-color:var(--accent-fill);border:var(--border-width) solid var(--accent-border)}.vNV6Q2{justify-content:center;align-items:center;display:flex}.koxYU-,.k8xLa2{--layout-picker-preview-size:3.5em;width:var(--layout-picker-preview-size);height:calc(var(--layout-picker-preview-size) * .72);flex:none}.koxYU-{gap:calc(var(--border-width) * 2);display:grid}._5pd3Bb,.k8xLa2{--layout-picker-preview-size:1.75rem}.VrHnjN{border-radius:var(--radius-xs);background-color:var(--surface-1);border:var(--border-width) solid var(--border-1);min-width:0;min-height:0}._5pd3Bb .VrHnjN{background-color:var(--brand-fill);border:none}
|
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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-BaXmcmyl.js";import{i,n as a,r as o,t as s}from"./LayoutPicker-BMO8qfbL.js";var c,l,u,d,f,p,m,h,g,_;function v(){return(v=e((()=>{c=`buT8ds`,l=`vDpJVR`,u=`-GMI1h`,d=`Xgkzn9`,f=`X--lo-`,p=`W5rEjx`,m=`BgilL7`,h=`ALGrVl`,g=`IrqK1d`,_={canvas:c,toolbar:l,summary:u,summaryItem:d,summaryValue:f,muted:p,layoutPreview:m,layoutCell:h,layoutCellTitle:g}})))()}var y=t({Controlled:()=>A,CustomPresets:()=>M,Disabled:()=>F,DisabledPresets:()=>N,InToolbar:()=>P,Placeholder:()=>j,__namedExportsOrder:()=>I,default:()=>k});function b(e,t){return t.find(t=>t.id===e)}function x({value:e,presets:t}){let n=b(e,t);return(0,T.jsxs)(`div`,{className:_.summary,"aria-live":`polite`,children:[(0,T.jsxs)(`div`,{className:_.summaryItem,children:[(0,T.jsx)(`span`,{children:`ID`}),(0,T.jsx)(`span`,{className:_.summaryValue,children:e||`не выбрано`})]}),(0,T.jsxs)(`div`,{className:_.summaryItem,children:[(0,T.jsx)(`span`,{children:`Название`}),(0,T.jsx)(`span`,{className:_.summaryValue,children:n?.label??`Layout не выбран`})]}),(0,T.jsxs)(`div`,{className:_.summaryItem,children:[(0,T.jsx)(`span`,{children:`Сетка`}),(0,T.jsx)(`span`,{className:_.summaryValue,children:n?`${n.columns} x ${n.rows}`:`нет данных`})]}),(0,T.jsxs)(`div`,{className:_.summaryItem,children:[(0,T.jsx)(`span`,{children:`Ячеек`}),(0,T.jsx)(`span`,{className:_.summaryValue,children:n?.cells.length??0})]})]})}function S({value:e,presets:t}){let n=b(e,t);if(!n)return null;let r=n.columns,i=n.rows,a=n.cells;return(0,T.jsx)(`div`,{className:_.layoutPreview,style:{gridTemplateColumns:`repeat(${r}, minmax(0, 1fr))`,gridTemplateRows:`repeat(${i}, minmax(0, 1fr))`},children:a.map((e,t)=>(0,T.jsxs)(`div`,{className:_.layoutCell,style:{gridColumn:`${e.column} / span ${e.columnSpan}`,gridRow:`${e.row} / span ${e.rowSpan}`},children:[(0,T.jsxs)(`span`,{className:_.layoutCellTitle,children:[`Область `,t+1]}),(0,T.jsxs)(`span`,{className:_.muted,children:[`Колонка `,e.column,`, строка `,e.row,`; span `,e.columnSpan,` x `,e.rowSpan]})]},e.id))})}function C(){let[e,t]=(0,w.useState)(`1x2`);return(0,T.jsxs)(`div`,{className:_.canvas,children:[(0,T.jsx)(`div`,{className:_.toolbar,children:(0,T.jsx)(s,{label:`Layout панели`,value:e,onChange:t,ariaLabel:`Выбрать layout панели`})}),(0,T.jsx)(x,{value:e,presets:o}),(0,T.jsx)(S,{value:e,presets:o})]})}var w,T,E,D,O,k,A,j,M,N,P,F,I;function L(){return(L=e((()=>{w=n(),i(),a(),v(),T=r(),{useArgs:E}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:D}=__STORYBOOK_MODULE_TEST__,O=[{id:`dashboard-summary`,label:`Сводка + детали`,description:`Один широкий блок сверху и две области детализации снизу.`,columns:2,rows:2,cells:[{id:`summary`,column:1,columnSpan:2,row:1,rowSpan:1},{id:`left-detail`,column:1,columnSpan:1,row:2,rowSpan:1},{id:`right-detail`,column:2,columnSpan:1,row:2,rowSpan:1}]},{id:`dashboard-main-aside`,label:`Основной блок + сайдбар`,description:`Большая рабочая область слева и вертикальная колонка справа.`,columns:3,rows:2,cells:[{id:`main`,column:1,columnSpan:2,row:1,rowSpan:2},{id:`aside-top`,column:3,columnSpan:1,row:1,rowSpan:1},{id:`aside-bottom`,column:3,columnSpan:1,row:2,rowSpan:1}]},{id:`dashboard-quad`,label:`Четыре равных блока`,description:`Плотная сетка для сравнения нескольких независимых виджетов.`,columns:2,rows:2,cells:[{id:`top-left`,column:1,columnSpan:1,row:1,rowSpan:1},{id:`top-right`,column:2,columnSpan:1,row:1,rowSpan:1},{id:`bottom-left`,column:1,columnSpan:1,row:2,rowSpan:1},{id:`bottom-right`,column:2,columnSpan:1,row:2,rowSpan:1}]}],k={title:`UI/LayoutPicker`,component:s,args:{label:`Layout панели`,description:`Выберите схему размещения областей.`,value:o[0].id,onChange:D(),presets:o,disabled:!1,placeholder:`Выберите layout`,showPlaceholder:!1,ariaLabel:`Выбрать layout`,placement:`bottom-start`},parameters:{atomicCanvas:!0,layout:`padded`,docs:{description:{component:`Контролируемый выбор layout-пресета со схематичным превью. Компонент хранит только UI-состояние popup и возвращает наружу ID выбранного пресета.`}}},argTypes:{id:{description:"ID кнопки выбора. Если не передан, компонент создаёт стабильный `useId`.",control:`text`},label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},value:{description:`ID текущего выбранного layout-пресета.`,control:`text`},onChange:{description:`Вызывается с ID выбранного layout-пресета.`,control:!1},presets:{description:"Список layout-пресетов. По умолчанию используется `DEFAULT_LAYOUT_PICKER_PRESETS`.",control:!1},disabled:{description:`Блокирует кнопку выбора и открытие popup.`,control:`boolean`},getPresetDisabled:{description:`Позволяет заблокировать отдельные пресеты внутри popup.`,control:!1},placeholder:{description:"Текст, который можно явно показать рядом с превью через `showPlaceholder`.",control:`text`},showPlaceholder:{description:"Показывает рядом с превью именно строку `placeholder`. По умолчанию trigger содержит только иконку.",control:`boolean`},ariaLabel:{description:`Доступное имя trigger-кнопки. Если не передано, строится из текущего значения.`,control:`text`},size:{description:"Размер поля из общего `UiBaseProps`.",control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},className:{description:`Дополнительный CSS-класс корневого контейнера.`,control:`text`},triggerClassName:{description:`Дополнительный CSS-класс trigger-кнопки.`,control:`text`},popupClassName:{description:`Дополнительный CSS-класс popup.`,control:`text`},placement:{description:`Позиционирование popup относительно trigger.`,control:`select`,options:[`bottom-start`,`bottom-end`,`top-start`,`top-end`,`right-start`,`left-start`]}}},A={args:{value:`2x1`},name:`Контролируемый выбор`,render:function(e){let[,t]=E(),n=e.presets??o;return(0,T.jsxs)(`div`,{className:_.canvas,children:[(0,T.jsx)(s,{...e,presets:n,onChange:n=>{e.onChange(n),t({value:n})}}),(0,T.jsx)(x,{value:e.value??``,presets:n})]})}},j={name:`Без выбранного значения`,render:e=>{let[t,n]=(0,w.useState)(``),r=e.presets??o;return(0,T.jsxs)(`div`,{className:_.canvas,children:[(0,T.jsx)(s,{...e,value:t,presets:r,placeholder:`Layout ещё не выбран`,showPlaceholder:!0,onChange:t=>{n(t),e.onChange(t)}}),(0,T.jsx)(x,{value:t,presets:r})]})},args:{value:``}},M={name:`Кастомные пресеты`,render:e=>{let[t,n]=(0,w.useState)(O[0].id);return(0,T.jsxs)(`div`,{className:_.canvas,children:[(0,T.jsx)(s,{...e,value:t,presets:O,ariaLabel:`Выбрать layout дашборда`,onChange:t=>{n(t),e.onChange(t)}}),(0,T.jsx)(x,{value:t,presets:O}),(0,T.jsx)(S,{value:t,presets:O})]})},args:{value:O[0].id,presets:O}},N={name:`Заблокированные пресеты`,render:e=>{let[t,n]=(0,w.useState)(`1x1`);return(0,T.jsxs)(`div`,{className:_.canvas,children:[(0,T.jsx)(s,{...e,value:t,getPresetDisabled:e=>e.id===`1x2`||e.id===`2x2-l`,onChange:t=>{n(t),e.onChange(t)}}),(0,T.jsx)(`div`,{className:_.muted,children:`Пресеты с двумя колонками в этом сценарии недоступны.`}),(0,T.jsx)(x,{value:t,presets:o})]})}},P={name:`В панели настройки`,render:()=>(0,T.jsx)(C,{})},F={name:`Заблокированный контрол`,args:{disabled:!0,value:`1x2`}},A.parameters={...A.parameters,docs:{...A.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
args: {
|
|
3
3
|
value: "2x1"
|
|
4
4
|
},
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BaXmcmyl.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-BmNU_R5E.js";import{a as p,i as m,n as h,o as g,r as _,t as v}from"./Listbox.stories-Cp1Eq7Bz.js";function y(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{of:_,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,x.jsx)(u,{children:`Listbox`}),`
|
|
3
3
|
`,(0,x.jsx)(o,{children:`Список выбора для single- и multi-select сценариев, кастомного рендера элементов и блокированного состояния`}),`
|
|
4
4
|
`,(0,x.jsx)(t.p,{children:`Listbox уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./check-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./check-HCQdrq3c.js";import{n as i}from"./iframe-BaXmcmyl.js";import{i as a,n as o,r as s,s as c,t as l}from"./utils-tg3ibbzi.js";import{n as u,t as d}from"./OptionButton-v-MO3VgJ.js";import{i as f,n as p,r as m,t as h}from"./Option-Cr3vYgCL.js";import{n as g,t as _}from"./PickerField-BeAXSQmp.js";import{n as v,t as y}from"./CustomOptionButton-vfj1vLJM.js";function b(e,t,n){if(n){if(Array.isArray(t)&&t.length>0){let n=e.findIndex(e=>t.includes(e.value)&&!e.disabled);if(n>=0)return n}return s(e,w)}if(t!==void 0){let n=e.findIndex(e=>e.value===t&&!e.disabled);if(n>=0)return n}return s(e,w)}function x(e){let{value:t,defaultValue:n,multiple:i,label:a,description:u,disabled:f,focusOnMount:p,renderItem:g,getKey:v,options:x,onChange:T,id:E,...D}=e,O=t!==void 0,[k,A]=(0,S.useState)(n),j=(0,S.useRef)(null),[M,N]=(0,S.useState)(()=>b(x,t??n,i)),P=(0,S.useRef)(!1),F=(0,S.useMemo)(()=>(O?t:k)??(i?[]:null),[k,O,i,t]),I=M,L=e=>{if(!(f||e.disabled)){if(i){let t=Array.isArray(F)?F:[],n=t.includes(e.value)?t.filter(t=>t!==e.value):[...t,e.value];T?.(n,e),O||A(n);return}T?.(e.value,e),O||A(e.value)}},R=e=>{if(!f){if(e.key===`ArrowDown`)e.preventDefault(),P.current=!0,N(e=>l(x,e,1,w));else if(e.key===`ArrowUp`)e.preventDefault(),P.current=!0,N(e=>l(x,e,-1,w));else if(e.key===`Home`)e.preventDefault(),P.current=!0,N(s(x,w));else if(e.key===`End`)e.preventDefault(),P.current=!0,N(c(x,w));else if(o(e,()=>{let e=x[I];e&&L(e)}))return}};return(0,S.useEffect)(()=>{if(!P.current)return;P.current=!1;let e=j.current?.querySelectorAll(`[role="option"]`)[I];e&&e.scrollIntoView({block:`nearest`})},[I]),(0,S.useLayoutEffect)(()=>{p&&j.current?.focus()},[p]),(0,C.jsx)(_,{id:E,label:a,description:u,disabled:f,children:({controlId:e,labelId:t,describedBy:n})=>(0,C.jsx)(m,{rootRef:j,id:e,role:`listbox`,"aria-multiselectable":i||void 0,"aria-activedescendant":I>=0?`${e}-option-${I}`:void 0,onKeyDown:R,...D,"aria-labelledby":t??D[`aria-labelledby`],"aria-describedby":n??D[`aria-describedby`],"aria-disabled":f||void 0,tabIndex:f?-1:0,className:D.className,children:x.map((t,n)=>{let a=i?Array.isArray(F)&&F.includes(t.value):F===t.value,o=n===I,s=f||t.disabled||void 0,c=e=>{e.preventDefault(),!s&&(N(n),L(t))};return(0,C.jsx)(h,{id:`${e}-option-${n}`,role:`option`,"aria-selected":a,"aria-disabled":s,disabled:s,active:o,selected:a,children:g?(0,C.jsx)(y,{tabIndex:-1,disabled:s,onMouseDown:c,children:g(t,a,o)}):(0,C.jsx)(d,{tabIndex:-1,disabled:s,onMouseDown:c,icon:a?(0,C.jsx)(r,{}):(0,C.jsx)(`span`,{}),text:t.label??String(t.value)})},v?v(t,n):n)})})})}var S,C,w;function T(){return(T=e((()=>{S=t(),a(),n(),v(),p(),u(),g(),f(),C=i(),w=e=>e.disabled===!0,x.__docgenInfo={description:``,methods:[],displayName:`Listbox`}})))()}export{T as n,x as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-BaXmcmyl.js";import{n as r,t as i}from"./Listbox-D_2t3NpM.js";var a=t({CustomRender:()=>p,Disabled:()=>m,MultiSelect:()=>f,SingleSelect:()=>d,__namedExportsOrder:()=>h,default:()=>u});function o(e){return e.multiple?(0,s.jsx)(i,{...e,multiple:!0}):(0,s.jsx)(i,{...e})}var s,c,l,u,d,f,p,m,h;function g(){return(g=e((()=>{r(),s=n(),{useArgs:c}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:l}=__STORYBOOK_MODULE_TEST__,u={title:`UI/Listbox`,component:o,args:{options:[{id:`low`,label:`Низкий`},{id:`medium`,label:`Средний`},{id:`high`,label:`Высокий`},{id:`critical`,label:`Критический`,disabled:!0}],multiple:!1,label:`Приоритет`,description:`Выберите приоритет задачи.`,value:`medium`,onChange:l()},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля, оформленный так же, как у Input.`},description:{description:`Описание под заголовком, связанное со списком через ARIA.`},options:{description:`Массив доступных опций списка.`,control:!1},multiple:{description:`Режим множественного выбора.`,control:`boolean`},value:{description:`Текущее выбранное значение (или массив значений).`,control:!1},defaultValue:{description:`Начальное значение для uncontrolled-режима.`,control:!1},disabled:{description:`Блокирует фокусировку, навигацию и изменение выбора.`,control:`boolean`},onChange:{description:`Вызывается при выборе опции.`,control:!1},focusOnMount:{description:`Автофокус списка при монтировании.`,control:`boolean`},renderItem:{description:`Кастомный рендер строки списка.`,control:!1},getKey:{description:`Функция генерации ключа для опции.`,control:!1}}},d={render:function(e){let[,t]=c(),n=typeof e.value==`string`?e.value:`medium`;return(0,s.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:280},children:[(0,s.jsx)(o,{...e,multiple:!1,value:n,onChange:(n,r)=>{typeof n==`string`&&(e.onChange?.(n,r),t({value:n}))}}),(0,s.jsxs)(`div`,{children:[`Выбрано: `,n]})]})}},f={render:function(e){let[,t]=c(),n=Array.isArray(e.value)?e.value:[`low`,`high`];return(0,s.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:320},children:[(0,s.jsx)(o,{...e,multiple:!0,value:n,onChange:(n,r)=>{Array.isArray(n)&&(e.onChange?.(n,r),t({value:n}))}}),(0,s.jsxs)(`div`,{children:[`Выбрано: `,n.join(`, `)||`пусто`]})]})},args:{multiple:!0}},p={render:function(e){let[,t]=c(),n=typeof e.value==`string`?e.value:`low`;return(0,s.jsx)(o,{...e,value:n,onChange:(n,r)=>{typeof n==`string`&&(e.onChange?.(n,r),t({value:n}))},renderItem:(e,t,n)=>(0,s.jsxs)(`div`,{style:{display:`flex`,justifyContent:`space-between`,width:`100%`,opacity:e.disabled?.5:1},children:[(0,s.jsx)(`span`,{children:e.label}),(0,s.jsx)(`span`,{children:t?`Выбрано`:n?`Фокус`:``})]})})}},m={args:{disabled:!0,value:`medium`},render:e=>(0,s.jsx)(o,{...e})},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
render: function Render(args) {
|
|
3
3
|
const [, updateArgs] = useArgs<ComponentProps<typeof StringListbox>>();
|
|
4
4
|
const value = typeof args.value === "string" ? args.value : "medium";
|
|
@@ -1 +1 @@
|
|
|
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-
|
|
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-C5QCK6Ts.js";import{n as a}from"./iframe-BaXmcmyl.js";import{t as o}from"./react-dom-BzEl8usk.js";import{a as s,i as c}from"./utils-tg3ibbzi.js";import{a as ee,n as te,r as l,t as ne}from"./dom-DBd_DWF8.js";import{n as u,t as d}from"./FlexContainer-BWyPlTMB.js";import{n as f,t as re}from"./Button-EVzvXVPh.js";import{a as p,c as m,l as h,n as ie,o as g,r as _,s as v,t as y}from"./react-BnjGKE7V.js";import{n as b,t as ae}from"./GridContainer-fKYgDsLl.js";import{n as x,t as S}from"./Scrollable-BJRiyp9q.js";function oe(){!v.current&&p();let[e]=(0,C.useState)(h.current);return e}var C;function w(){return(w=t((()=>{m(),g(),C=n()})))()}var T,E,D,O,k,A,j,M,N,P,F,I;function L(){return(L=t((()=>{T=`vGPUKV`,E=`WhUkxm`,D=`JDlse5`,O=`FaDKSt`,k=`NDgdMi`,A=`O7gb7P`,j=`RVq8v3`,M=`PCSUAL`,N=`XDCHzq`,P=`t1kl8L`,F=`o3PEEB`,I={modal:T,header:E,headerText:D,headerButton:O,body:k,sm:A,md:j,lg:M,xl:N,xxl:P,inside:F}})))()}var R,z,B;function V(){return(V=t((()=>{R={hidden:{opacity:0,scale:.96,y:12},visible:{opacity:1,scale:1,y:0}},z={duration:.18,ease:[.22,1,.36,1]},B={duration:0}})))()}var H,U,W;function G(){return(G=t((()=>{H=n(),U=(0,H.createContext)({modals:[],openModal:()=>{},closeModal:()=>{},isTopModal:()=>!1}),W=()=>(0,H.useContext)(U)})))()}var K,q,J,Y,X,Z,Q;function $(){return($=t((()=>{K=e(n(),1),l(),c(),r(),y(),q=o(),f(),u(),b(),x(),L(),V(),G(),J=a(),Y=({children:e,className:t})=>(0,J.jsx)(`div`,{className:s(`surface2 paddingMd borderBottom`,t),children:e}),Y.displayName=`Modal.Toolbar`,X=({children:e,className:t,scrollable:n})=>(0,J.jsx)(`div`,{className:s(`paddingMd h100 overflowHidden`,t),children:n?(0,J.jsx)(S,{className:`h100`,children:e}):e}),X.displayName=`Modal.Content`,Z=({children:e,className:t})=>(0,J.jsx)(`div`,{className:s(`surface2 borderTop paddingMd`,t),children:(0,J.jsx)(d,{gap:`sm`,align:`center`,justify:`end`,children:e})}),Z.displayName=`Modal.Footer`,Q=({isOpen:e,title:t,size:n=`sm`,height:r,onClose:a,children:o})=>{let c=(0,K.useId)(),l=(0,K.useId)(),{modals:u,openModal:d,closeModal:f,isTopModal:p}=W(),m=oe(),h=(0,K.useRef)(null),g=(0,K.useRef)(0),v={"--modal-height":r},y=e&&(u.length===0||p(c));(0,K.useEffect)(()=>{e&&(h.current=document.activeElement instanceof HTMLElement?document.activeElement:null)},[e]);let b=ee({active:e||!1,trapFocus:!0,restoreFocus:!1});te({active:y||!1,onDismiss:a,containerRef:b}),(0,K.useEffect)(()=>{e&&d(c)},[e,c,d]),(0,K.useEffect)(()=>()=>{window.cancelAnimationFrame(g.current),f(c)},[f,c]);function x(){f(c);let e=h.current;g.current=window.requestAnimationFrame(()=>{e?.isConnected&&e.focus(),h.current=null})}let S=ne(`modal-root`);if(!S)return null;let C=null,w=null,T=null,E=K.Children.toArray(o);for(let e of E)switch(e.type.displayName){case Y.displayName:if(C)throw Error(`Modal: duplicate <Toolbar> found`);C=e;break;case Z.displayName:if(T)throw Error(`Modal: duplicate <Footer> found`);T=e;break;case X.displayName:if(w)throw Error(`Modal: duplicate <Content> found`);w=e}return(0,q.createPortal)((0,J.jsx)(_,{onExitComplete:x,children:e?(0,J.jsxs)(ie.div,{ref:b,className:s(I.modal,I[n]),style:v,role:`dialog`,"aria-modal":`true`,"aria-labelledby":l,"aria-describedby":`${l}-content`,initial:`hidden`,animate:`visible`,exit:`hidden`,variants:R,transition:m?B:z,children:[(0,J.jsxs)(`div`,{className:s(I.header,C?``:`borderBottom`),children:[(0,J.jsx)(`h3`,{className:I.headerText,id:l,children:t}),(0,J.jsx)(re,{icon:(0,J.jsx)(i,{}),className:I.headerButton,variant:`ghost`,"aria-label":`Закрыть модальное окно`,onClick:a})]}),(0,J.jsxs)(ae,{id:`${l}-content`,templateRows:`${C?`auto`:``} 1fr ${T?`auto`:``}`.trim(),className:I.body,children:[C,w,T]})]}):null}),S)},Y.__docgenInfo={description:``,methods:[],displayName:`Modal.Toolbar`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},className:{required:!1,tsType:{name:`string`},description:``}}},X.__docgenInfo={description:``,methods:[],displayName:`Modal.Content`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},className:{required:!1,tsType:{name:`string`},description:``},scrollable:{required:!1,tsType:{name:`boolean`},description:``}}},Z.__docgenInfo={description:``,methods:[],displayName:`Modal.Footer`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},className:{required:!1,tsType:{name:`string`},description:``}}}})))()}export{$ as a,w as c,Y as i,X as n,U as o,Z as r,G as s,Q as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BaXmcmyl.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-BmNU_R5E.js";import{a as p,i as m,n as h,o as g,r as _,s as v,t as y}from"./Modal.stories-Cz47rY2B.js";function b(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{of:h,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,S.jsx)(u,{children:`Modal`}),`
|
|
3
3
|
`,(0,S.jsx)(o,{children:`Составная модалка с контентом, toolbar и footer для пользовательских диалоговых сценариев`}),`
|
|
4
4
|
`,(0,S.jsx)(t.p,{children:`Modal уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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-BaXmcmyl.js";import{n as i,t as a}from"./Button-EVzvXVPh.js";import{a as o,i as s,n as c,r as l,t as u}from"./Modal-vdSwQ6xw.js";import{n as d,t as f}from"./ModalManagerProvider-C_zd0fqC.js";import{l as p,t as m}from"./Input-95LKm7aK.js";var h=t({Controlled:()=>w,ScrollableContent:()=>E,Sizes:()=>D,StackedModals:()=>O,WithToolbarAndFooter:()=>T,__namedExportsOrder:()=>k,default:()=>C});function g({children:e}){return(0,b.jsx)(`div`,{style:{minHeight:`60dvh`,padding:24,display:`flex`,alignItems:`center`,justifyContent:`center`},children:e})}function _(){let[e,t]=(0,y.useState)(`Алексей`),[n,r]=(0,y.useState)(`Департамент автоматизации бизнеса`);return(0,b.jsxs)(`div`,{style:{display:`grid`,gap:16},children:[(0,b.jsx)(m,{label:`Имя`,value:e,onChange:t,placeholder:`Введите имя`}),(0,b.jsx)(m,{label:`Подразделение`,value:n,onChange:r,placeholder:`Введите подразделение`}),(0,b.jsxs)(`div`,{style:{padding:12,borderRadius:8,background:`var(--surface-1)`,border:`1px solid var(--border-1)`},children:[`Текущие значения: `,e||`не указано`,`, `,n||`не указано`]})]})}function v(){let[e,t]=x();return{args:e,updateArgs:t,close:()=>{e.onClose(),t({isOpen:!1})}}}var y,b,x,S,C,w,T,E,D,O,k;function A(){return(A=e((()=>{y=n(),i(),p(),o(),d(),b=r(),{useArgs:x}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:S}=__STORYBOOK_MODULE_TEST__,C={title:`UI/Modal`,component:u,parameters:{atomicCanvas:!0,layout:`fullscreen`,docs:{description:{component:"Композиционная модалка с `Toolbar`, `Content` и `Footer`, поддержкой focus trap, возврата фокуса, закрытия по `Escape` и менеджером стека через `ModalManagerProvider`."}}},decorators:[e=>(0,b.jsx)(f,{children:(0,b.jsx)(g,{children:e()})})],args:{isOpen:!1,title:`Редактирование профиля`,size:`md`,height:void 0,onClose:S(),children:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(c,{children:(0,b.jsx)(_,{})}),(0,b.jsxs)(l,{children:[(0,b.jsx)(a,{variant:`transparent`,children:`Отмена`}),(0,b.jsx)(a,{children:`Сохранить`})]})]})},argTypes:{isOpen:{description:`Управляет видимостью модального окна.`,control:`boolean`},title:{description:`Заголовок модального окна.`,control:`text`},size:{description:`Предустановленный размер модального окна.`,control:`inline-radio`,options:[`sm`,`md`,`lg`,`xl`,`xxl`,`inside`]},height:{description:`Явная высота модалки выше мобильного breakpoint. На мобильном модалка всегда занимает весь экран.`,control:`text`},onClose:{description:"Вызывается при закрытии по кнопке, `Escape` или пользовательскому действию.",control:!1},children:{description:"Композиция из `ModalToolbar`, `ModalContent`, `ModalFooter`.",control:!1}}},w={name:`Управляемая модалка`,render:function(){let{args:e,close:t,updateArgs:n}=v();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{onClick:()=>n({isOpen:!0}),children:`Открыть модалку`}),(0,b.jsxs)(u,{...e,isOpen:e.isOpen,onClose:t,children:[(0,b.jsx)(c,{children:(0,b.jsx)(_,{})}),(0,b.jsxs)(l,{children:[(0,b.jsx)(a,{variant:`transparent`,onClick:t,children:`Отмена`}),(0,b.jsx)(a,{onClick:t,children:`Сохранить`})]})]})]})}},T={name:`Полная композиция`,args:{title:`Редактирование профиля`,height:`min(34rem, 70dvh)`},render:function(){let{args:e,close:t,updateArgs:n}=v();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{onClick:()=>n({isOpen:!0}),children:`Открыть сценарий редактирования`}),(0,b.jsxs)(u,{...e,isOpen:e.isOpen,onClose:t,children:[(0,b.jsx)(s,{children:(0,b.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,gap:12,padding:12,borderRadius:8,background:`var(--surface-1)`,border:`1px solid var(--border-1)`},children:[(0,b.jsxs)(`div`,{children:[(0,b.jsx)(`div`,{style:{fontWeight:600},children:`Черновик обновлён автоматически`}),(0,b.jsx)(`div`,{style:{opacity:.72},children:`Последнее сохранение: 2 минуты назад`})]}),(0,b.jsx)(a,{variant:`transparent`,children:`Сбросить`})]})}),(0,b.jsx)(c,{children:(0,b.jsx)(_,{})}),(0,b.jsxs)(l,{children:[(0,b.jsx)(a,{variant:`transparent`,onClick:t,children:`Отмена`}),(0,b.jsx)(a,{variant:`success`,onClick:t,children:`Применить`})]})]})]})}},E={name:`Длинный контент`,args:{size:`lg`,title:`Журнал изменений`},render:function(){let{args:e,close:t,updateArgs:n}=v();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{onClick:()=>n({isOpen:!0}),children:`Открыть длинный контент`}),(0,b.jsxs)(u,{...e,isOpen:e.isOpen,onClose:t,children:[(0,b.jsx)(c,{scrollable:!0,children:(0,b.jsx)(`div`,{style:{display:`grid`,gap:12},children:Array.from({length:18},(e,t)=>(0,b.jsxs)(`div`,{style:{padding:12,borderRadius:8,border:`1px solid var(--border-1)`,background:`var(--surface-1)`},children:[(0,b.jsxs)(`div`,{style:{fontWeight:600},children:[`Событие #`,t+1]}),(0,b.jsx)(`div`,{style:{opacity:.72},children:`Пользователь обновил настройки карточки, изменил состав полей и подтвердил сохранение конфигурации.`})]},t))})}),(0,b.jsx)(l,{children:(0,b.jsx)(a,{onClick:t,children:`Закрыть`})})]})]})}},D={name:`Размеры`,args:{size:`sm`,title:`Размер SM`},render:function(){let{args:e,close:t,updateArgs:n}=v();return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`div`,{style:{display:`flex`,flexWrap:`wrap`,gap:12,justifyContent:`center`},children:[`sm`,`md`,`lg`,`xl`,`xxl`,`inside`].map(e=>(0,b.jsx)(a,{variant:`transparent`,onClick:()=>n({isOpen:!0,size:e,title:`Размер ${e.toUpperCase()}`}),children:e.toUpperCase()},e))}),(0,b.jsxs)(u,{...e,isOpen:e.isOpen,onClose:t,children:[(0,b.jsx)(c,{children:(0,b.jsxs)(`div`,{style:{display:`grid`,gap:12},children:[(0,b.jsx)(`div`,{children:`Этот сценарий помогает быстро сравнить ширину и поведение модалки для разных размеров.`}),(0,b.jsx)(`div`,{style:{opacity:.72},children:"Проверьте отступы, читабельность и поведение при `Escape`."})]})}),(0,b.jsx)(l,{children:(0,b.jsx)(a,{onClick:t,children:`Понятно`})})]})]})}},O={name:`Стек модалок`,args:{size:`lg`,title:`Первая модалка`},render:function(){let{args:e,updateArgs:t}=v(),[n,r]=(0,y.useState)(!1),i=()=>{r(!1),e.onClose(),t({isOpen:!1})};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{onClick:()=>t({isOpen:!0}),children:`Открыть первую модалку`}),(0,b.jsxs)(u,{...e,isOpen:e.isOpen,onClose:i,children:[(0,b.jsx)(c,{children:(0,b.jsxs)(`div`,{style:{display:`grid`,gap:16},children:[(0,b.jsx)(`div`,{children:"Откройте вторую модалку и проверьте, что `Escape` закрывает только верхний слой."}),(0,b.jsx)(a,{variant:`transparent`,onClick:()=>r(!0),children:`Открыть вторую модалку`})]})}),(0,b.jsx)(l,{children:(0,b.jsx)(a,{variant:`transparent`,onClick:i,children:`Закрыть первую`})})]}),(0,b.jsxs)(u,{isOpen:n,onClose:()=>r(!1),size:`sm`,title:`Вторая модалка`,children:[(0,b.jsx)(c,{children:(0,b.jsxs)(`div`,{style:{display:`grid`,gap:12},children:[(0,b.jsx)(`div`,{children:`Эта модалка должна считаться верхней в стеке.`}),(0,b.jsx)(m,{label:`Короткое поле`,value:`Фокус внутри`,onChange:()=>{}})]})}),(0,b.jsx)(l,{children:(0,b.jsx)(a,{onClick:()=>r(!1),children:`Закрыть вторую`})})]})]})}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
name: "Управляемая модалка",
|
|
3
3
|
render: function Render() {
|
|
4
4
|
const {
|