@ryuzaki13/react-foundation-ui 1.1.0 → 1.1.2
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/README.md +1 -1
- package/dist/advanced-search/index.js +1 -1
- package/dist/chunks/ImageViewerRuntime-RN49by8Y.js +225 -0
- package/dist/chunks/ImageViewerRuntime-RN49by8Y.js.map +1 -0
- package/dist/chunks/{TextEditorLexicalClient-bDEyimUa.js → TextEditorLexicalClient-DDe1NezE.js} +2 -2
- package/dist/chunks/{TextEditorLexicalClient-bDEyimUa.js.map → TextEditorLexicalClient-DDe1NezE.js.map} +1 -1
- package/dist/chunks/modal-DiQ-yR71.js +183 -0
- package/dist/chunks/modal-DiQ-yR71.js.map +1 -0
- package/dist/image/index.js +140 -343
- package/dist/image/index.js.map +1 -1
- package/dist/image/ui/ImageViewer.d.ts +4 -4
- package/dist/image/ui/ImageViewer.d.ts.map +1 -1
- package/dist/image/ui/ImageViewerRuntime.d.ts +11 -0
- package/dist/image/ui/ImageViewerRuntime.d.ts.map +1 -0
- package/dist/modal/Modal.d.ts.map +1 -1
- package/dist/modal/index.js +1 -1
- package/dist/modal/modalMotion.d.ts +26 -0
- package/dist/modal/modalMotion.d.ts.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/text-editor/index.js +1 -1
- package/package.json +1 -1
- package/storybook-static/assets/{Badge-kXFWHX1o.js → Badge-ySHe8vmn.js} +1 -1
- package/storybook-static/assets/{Badge.stories-fhovi8Mi.js → Badge.stories-BYFVnpXD.js} +1 -1
- package/storybook-static/assets/{Button-BzcIPScf.js → Button-BSfih1w7.js} +1 -1
- package/storybook-static/assets/{Button-DuNV63ZS.js → Button-rWpfFmWo.js} +1 -1
- package/storybook-static/assets/{Button.stories-DehjFhSM.js → Button.stories-BPUX-pUU.js} +1 -1
- package/storybook-static/assets/{CheckBox-BmyFh4i7.js → CheckBox-BRmxHv5c.js} +1 -1
- package/storybook-static/assets/{CheckBox-D6mLxi2P.js → CheckBox-DJvchxuK.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories-Cb7RC2GA.js → CheckBox.stories-Zz7HW_Tt.js} +1 -1
- package/storybook-static/assets/{Color-KMSTOMOX-CX-Xl_mX.js → Color-KMSTOMOX-Bvh-Futk.js} +1 -1
- package/storybook-static/assets/{ContextMenu-Cef_K-t5.js → ContextMenu-K5hnbQwB.js} +1 -1
- package/storybook-static/assets/{ContextMenu.stories-AZHC-8P9.js → ContextMenu.stories-q25-a_KQ.js} +1 -1
- package/storybook-static/assets/{DateInput-C55_ANq6.js → DateInput-DgI18Wd3.js} +1 -1
- package/storybook-static/assets/{DateInput-DSVMF1gB.js → DateInput-ElFtdL37.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-CsC2qa2g.js → DateInput.stories-BfN_pYwR.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-B8rYDJ5X.js → DateRangePresetSelect-BvJ0OXbG.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-CIFpis74.js → DateRangePresetSelect-C6YNhNYJ.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect.stories-BjtAEDa9.js → DateRangePresetSelect.stories-DJIqYv8z.js} +1 -1
- package/storybook-static/assets/{Detail-BgqY0SrV.js → Detail-DyISI1K8.js} +1 -1
- package/storybook-static/assets/{Detail.stories-Co8o1gqx.js → Detail.stories-DGbd09Cm.js} +1 -1
- package/storybook-static/assets/{Dialog-DoekeYCP.js → Dialog-BP5LMJer.js} +1 -1
- package/storybook-static/assets/{Dialog.stories-v5TQS_1-.js → Dialog.stories-iAreH7Ft.js} +1 -1
- package/storybook-static/assets/{Disclosure-E7Bm1F1a.js → Disclosure-DbzW47oB.js} +1 -1
- package/storybook-static/assets/{Disclosure.stories-CUYuBYh6.js → Disclosure.stories-Iiobg__i.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-9II2vBP-.js → DocsRenderer-JROSPFPF-BoQ-Uqbl.js} +2 -2
- package/storybook-static/assets/{DropZone-COhh7w0P.js → DropZone-BFChZBSC.js} +1 -1
- package/storybook-static/assets/{DropZone.stories-XU7u589t.js → DropZone.stories-yf4h971Z.js} +1 -1
- package/storybook-static/assets/{DropdownMenu-3ney3Ng2.js → DropdownMenu-Dk5dGs-s.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel.stories-DJOZxMv_.js → ExpandableActionPanel.stories-kdhJaIZg.js} +1 -1
- package/storybook-static/assets/{Flex-CN6FIOe5.js → Flex-BHWaC8ei.js} +1 -1
- package/storybook-static/assets/{Flex-BtfZvPDu.js → Flex-D2dKtJQc.js} +1 -1
- package/storybook-static/assets/{Flex.stories-BCZhfSVz.js → Flex.stories-BB5qAL1v.js} +1 -1
- package/storybook-static/assets/{Grid-D_d69WcK.js → Grid-sojkTYwf.js} +1 -1
- package/storybook-static/assets/{Grid-CdgOXXxt.js → Grid-z6gyebzr.js} +1 -1
- package/storybook-static/assets/{Grid.stories-DQoSH4q8.js → Grid.stories-D4cAyXDs.js} +1 -1
- package/storybook-static/assets/{ImageCropper.stories-BJiSLQAw.js → ImageCropper.stories-FBR_3FWR.js} +1 -1
- package/storybook-static/assets/{ImageRenderer-D6M62W6a.js → ImageRenderer-CRBJvRub.js} +1 -1
- package/storybook-static/assets/{ImageRenderer.stories-BZFA51MD.js → ImageRenderer.stories-Bm5yzrQm.js} +1 -1
- package/storybook-static/assets/{ImageView.stories-DFvdAL1U.js → ImageView.stories-Dy6kw_ha.js} +1 -1
- package/storybook-static/assets/{ImageViewer-kKDkAY87.css → ImageViewer-imFO-FH3.css} +1 -1
- package/storybook-static/assets/ImageViewer.stories-CGTaIHxP.js +72 -0
- package/storybook-static/assets/ImageViewerRuntime-CRmlrtpL.css +1 -0
- package/storybook-static/assets/ImageViewerRuntime-DZ2d3UnD.js +51 -0
- package/storybook-static/assets/{Input-BrEoa-ul.js → Input-BClWQm32.js} +1 -1
- package/storybook-static/assets/{Input-DD9fx2Sx.js → Input-c3EhAUVg.js} +1 -1
- package/storybook-static/assets/{Input.stories-BmsoCBN4.js → Input.stories-BhCP8U4r.js} +1 -1
- package/storybook-static/assets/{InputDateTime-Cdmc7rX2.js → InputDateTime-B3e7QSbu.js} +1 -1
- package/storybook-static/assets/{InputDateTime.stories-BhjQejJD.js → InputDateTime.stories-lSHRzKkd.js} +1 -1
- package/storybook-static/assets/{InputFile-BJfA5xNs.js → InputFile-BaUvfw0y.js} +1 -1
- package/storybook-static/assets/{InputFile.stories-BIJaIWlj.js → InputFile.stories-xSZykMu5.js} +1 -1
- package/storybook-static/assets/{InputFiles-DORMd5fm.js → InputFiles-BeIHcYkg.js} +1 -1
- package/storybook-static/assets/{InputFiles-ZK4wdii7.js → InputFiles-Bz96ef5G.js} +1 -1
- package/storybook-static/assets/{InputFiles.stories-CVr0ENgC.js → InputFiles.stories-HYB4u-mB.js} +1 -1
- package/storybook-static/assets/{InputImage-Dk4j2KMa.js → InputImage-CZTnJ4ul.js} +1 -1
- package/storybook-static/assets/{InputImage.stories-Dtx-ynMr.js → InputImage.stories-DqjDYlZN.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-CCvATGnT.js → LayoutPicker-DvKs-0Fv.js} +1 -1
- package/storybook-static/assets/{LayoutPicker.stories-MUwtf1U1.js → LayoutPicker.stories-DmuTHfsc.js} +1 -1
- package/storybook-static/assets/{Listbox-TfXOnGNL.js → Listbox-mcm1KqjJ.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-Bxx8eTZ9.js → Listbox.stories-CtS-e5pi.js} +1 -1
- package/storybook-static/assets/{Modal-CeXVAufO.js → Modal-BqeKhT7H.js} +1 -1
- package/storybook-static/assets/Modal.stories-Gli7XX36.js +180 -0
- package/storybook-static/assets/{MultiSelect-CdEQ7LE0.js → MultiSelect-CIMJ-GDy.js} +1 -1
- package/storybook-static/assets/{MultiSelect-Bq5Xj6i5.js → MultiSelect-Cl6rIRPU.js} +1 -1
- package/storybook-static/assets/{MultiSelect.stories-BgjuPpG-.js → MultiSelect.stories-Dff66BK5.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-B6xWf_Ae.js → NotificationsHost-DowbxTw1.js} +1 -1
- package/storybook-static/assets/{NotificationsHost.stories-BmnJ3G3S.js → NotificationsHost.stories-nbb74ArB.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect-BGFMSKC-.js → ODataMultiSelect-BwjM7TCI.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect.stories-Cw3mS3ds.js → ODataMultiSelect.stories-DqjbgljQ.js} +1 -1
- package/storybook-static/assets/{ODataSelect-BTpRnB-o.js → ODataSelect-BfFCFPKT.js} +1 -1
- package/storybook-static/assets/{ODataSelect-9gP8ejA7.js → ODataSelect-CUb853Wg.js} +1 -1
- package/storybook-static/assets/{ODataSelect.stories-C8XnS6W-.js → ODataSelect.stories-yivutwVc.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect-TXpOQMB8.js → ODataTreeMultiSelect-Dd7RuuQJ.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-ikxs50iA.js → ODataTreeMultiSelect.stories-fr3DsJrU.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect-CvgrWRYS.js → ODataTreeSelect-CPpbLgIt.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-CWuZaxIF.js → ODataTreeSelect.stories-DmEX0dcP.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-CVT2XzOd.js → PeriodSelect-D5kBTYIo.js} +1 -1
- package/storybook-static/assets/{PeriodSelect.stories-B5jJRelX.js → PeriodSelect.stories-BQ8Fe5La.js} +1 -1
- package/storybook-static/assets/{Popover-D9YhHWsi.js → Popover-BXriLIId.js} +1 -1
- package/storybook-static/assets/{Popover.stories-CtEUOX4O.js → Popover.stories-CKXTLaPn.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-D3r0iIRk.js → PresetRangeDateInput-BAeztTbq.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput.stories-Dcc1dGV0.js → PresetRangeDateInput.stories-DHErwmMR.js} +1 -1
- package/storybook-static/assets/{RadioButton-CWjkmWu9.js → RadioButton-CHmZgd5q.js} +1 -1
- package/storybook-static/assets/{RadioButton.stories-BXXJWoHz.js → RadioButton.stories-aa0vDs3Q.js} +1 -1
- package/storybook-static/assets/{RadioGroup-DCZdrs0C.js → RadioGroup-DPeAo49R.js} +1 -1
- package/storybook-static/assets/{RadioGroup-Bjc2XTVk.js → RadioGroup-DvOxoOpU.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-CsfVUt9l.js → RadioGroup.stories-R2DhGaUo.js} +1 -1
- package/storybook-static/assets/{Select-BGu6rVaZ.js → Select-CMFiMGUD.js} +1 -1
- package/storybook-static/assets/{Select-BBFQZObL.js → Select-DAgVgEuM.js} +1 -1
- package/storybook-static/assets/{Select.stories-wIbcvZYi.js → Select.stories-DnDwuoSb.js} +1 -1
- package/storybook-static/assets/{SelectOptionContent-DkTRrtFu.js → SelectOptionContent-DlUoa2zi.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-CdnRBVHB.js → SerializableSelect-BL6Sy3b_.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-CJtNM-c6.js → SerializableSelect-CHAD3r9t.js} +1 -1
- package/storybook-static/assets/{SerializableSelect.stories-DVwxpiTF.js → SerializableSelect.stories-tcz7KvtM.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-BK2_uv0z.js → SingleDateTimeInput-BTjmZ93p.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput.stories-DPH4R-h9.js → SingleDateTimeInput.stories-fAE8JkXx.js} +1 -1
- package/storybook-static/assets/{Slider-f4VatXYq.js → Slider-BT1LHZ79.js} +1 -1
- package/storybook-static/assets/{Slider.stories-CBnmt8h9.js → Slider.stories-D936g26I.js} +1 -1
- package/storybook-static/assets/{SliderInput-W2HVfY9Z.js → SliderInput-BhFLXhLl.js} +1 -1
- package/storybook-static/assets/{SliderInput.stories-B7wzoUbu.js → SliderInput.stories-BVdD9tEX.js} +1 -1
- package/storybook-static/assets/{Sortable-CCL1UMb_.js → Sortable-SmbXEzK3.js} +1 -1
- package/storybook-static/assets/{Sortable.stories-B8SgFjl7.js → Sortable.stories-CkCKnV-o.js} +1 -1
- package/storybook-static/assets/{Splitter-BsBb1sgN.js → Splitter-HnrBItZh.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-CuBHIA8-.js → Splitter.stories-DW1Cs65Y.js} +1 -1
- package/storybook-static/assets/{StateSelect-BENsGD07.js → StateSelect-j73SSm6j.js} +1 -1
- package/storybook-static/assets/{StateSelect.stories-byEPoQ2E.js → StateSelect.stories-DlYcFCZu.js} +1 -1
- package/storybook-static/assets/{Switch-DKXE4SVs.js → Switch-Df9CUFzH.js} +1 -1
- package/storybook-static/assets/{Switch.stories-BWQdJoJT.js → Switch.stories-CLj7D165.js} +1 -1
- package/storybook-static/assets/{Table-D9w3ncNi.js → Table-DQNIWsu6.js} +1 -1
- package/storybook-static/assets/{Table.stories-znqy5cLP.js → Table.stories-PauSY-JA.js} +1 -1
- package/storybook-static/assets/{Tabs-D_OO95mK.js → Tabs-Dk5gLtMV.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-B2A1HYeH.js → Tabs.stories-QbqForCs.js} +1 -1
- package/storybook-static/assets/{TagInput.stories-DaBnABh8.js → TagInput.stories-BKDMX-Xf.js} +1 -1
- package/storybook-static/assets/{Textarea-Hwyvp6ll.js → Textarea-DysJ81Q0.js} +1 -1
- package/storybook-static/assets/{Textarea.stories-DD3Icl3x.js → Textarea.stories-BjwiGsRE.js} +1 -1
- package/storybook-static/assets/{TimePanel-CdpxiwMQ.js → TimePanel-B3ydmHaY.js} +1 -1
- package/storybook-static/assets/{TimePanel.stories-ytXuqm9R.js → TimePanel.stories-BKywSX32.js} +1 -1
- package/storybook-static/assets/{Toggle-Sdruy8bN.js → Toggle-KdmtodIb.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-qgeQLvRn.js → Toggle.stories-Bhb_z8Jz.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-t2FNc6CY.js → TreeMultiSelect-CwW9N9Ig.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-CKfmI37X.js → TreeMultiSelect-DsmEfu72.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-k1NBsKij.js → TreeMultiSelect.stories-C6D2dAVV.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-DXv--vBR.js → TreePickerBase-KscLSAmI.js} +1 -1
- package/storybook-static/assets/{TreeSelect-DYHpUNGC.js → TreeSelect-CaZc5mMy.js} +1 -1
- package/storybook-static/assets/{TreeSelect-DgKArbMR.js → TreeSelect-Dyzfh0j1.js} +1 -1
- package/storybook-static/assets/{TreeSelect.stories-DTpkFKp7.js → TreeSelect.stories-DgPobNFf.js} +1 -1
- package/storybook-static/assets/{TreeTable-BOy0Tit-.js → TreeTable-Cp-3yiUl.js} +1 -1
- package/storybook-static/assets/{TreeTable.stories-By1BlhSx.js → TreeTable.stories-Ch5zCYJv.js} +1 -1
- package/storybook-static/assets/{WithTooltip-7X4HQR7L-D0sHKirZ.js → WithTooltip-7X4HQR7L-Bvci3679.js} +1 -1
- package/storybook-static/assets/{base-table-CYO33S-X.js → base-table-4j0yzCkY.js} +1 -1
- package/storybook-static/assets/{blocks-Be6sd6Mi.js → blocks-B-ZSUli0.js} +6 -6
- package/storybook-static/assets/{button-D2JNy4h8.js → button-PJeFaVDD.js} +1 -1
- package/storybook-static/assets/{check-box-B4tjJED4.js → check-box-B0-G8LQm.js} +1 -1
- package/storybook-static/assets/{chunk-3LY4VQVK-jaQG9QeP.js → chunk-3LY4VQVK-D6w4YoJz.js} +1 -1
- package/storybook-static/assets/{chunk-LITCR56V-HuSFGdRZ.js → chunk-LITCR56V-CO50GA85.js} +1 -1
- package/storybook-static/assets/{contextMenu-DIpGZPH1.js → contextMenu-CnU3cBnI.js} +1 -1
- package/storybook-static/assets/{error-DHDPaDqg.js → error-BSGcuIkS.js} +1 -1
- package/storybook-static/assets/{flex-BWOaXKdl.js → flex-DH0uZKDL.js} +1 -1
- package/storybook-static/assets/{floating-ui.react-C83w-peW.js → floating-ui.react-D1gWigwt.js} +1 -1
- package/storybook-static/assets/formatter-L2YTDE3Q-CTky3r2k.js +1 -0
- package/storybook-static/assets/{formatters-BaQpdAeu.js → formatters-q62UjZF6.js} +1 -1
- package/storybook-static/assets/grid-rDCrr9Aa.js +1 -0
- package/storybook-static/assets/{hooks-5ZdxaH2L.js → hooks-C0kO8ifn.js} +1 -1
- package/storybook-static/assets/{iframe-Dw3PG8YA.js → iframe-D1kbCBk7.js} +3 -3
- package/storybook-static/assets/{input-Cv9ps4La.js → input-D8SCvYlc.js} +1 -1
- package/storybook-static/assets/{lucide-react-DMM2-ayk.js → lucide-react-DItxRogI.js} +1 -1
- package/storybook-static/assets/{mdx-react-shim-Be8o0WOk.js → mdx-react-shim-B8QUPqDz.js} +1 -1
- package/storybook-static/assets/{media-Bc0eGngh.js → media-DgzbAjsg.js} +1 -1
- package/storybook-static/assets/{misc-7hwZFEXA.js → misc-CzV_PQE6.js} +1 -1
- package/storybook-static/assets/{notifications-DkxUPPfB.js → notifications-CdohXJuf.js} +1 -1
- package/storybook-static/assets/{odata-nO_yW-3w.js → odata-BCXcLElA.js} +1 -1
- package/storybook-static/assets/odata-service-tcECnUvF.js +1 -0
- package/storybook-static/assets/{odataStoryFixtures-J-OBpNg6.js → odataStoryFixtures-KJnMeJob.js} +1 -1
- package/storybook-static/assets/{picker-BQr_wySR.js → picker-BILXnlvH.js} +1 -1
- package/storybook-static/assets/{popover-v9hxY66g.js → popover-Bmfe__Oe.js} +1 -1
- package/storybook-static/assets/{preset-select-d-pIvdGN.js → preset-select-C3eeRGrr.js} +1 -1
- package/storybook-static/assets/{react-18-CXAAUXpx.js → react-18-C05GCNzp.js} +1 -1
- package/storybook-static/assets/{react-ByWJZTAG.js → react-C7-n-j-7.js} +2 -2
- package/storybook-static/assets/{react-dom-DXk3dBb-.js → react-dom-BuBaXqtP.js} +1 -1
- package/storybook-static/assets/select-DOX3d-Dq.js +1 -0
- package/storybook-static/assets/{slider-tV7pXkKI.js → slider-mYXodgoS.js} +1 -1
- package/storybook-static/assets/{sortable-CHwTYQdY.js → sortable-DFt3FEPe.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-RTCFPKCB-CsqLGhls.js → syntaxhighlighter-RTCFPKCB-DpuAtHAL.js} +1 -1
- package/storybook-static/assets/{text-Bf_PqPja.js → text-CxC7Ibdz.js} +1 -1
- package/storybook-static/assets/{theming-D37tYvvG.js → theming-LaAgw3BX.js} +1 -1
- package/storybook-static/assets/ui-CidvNniM.js +1 -0
- package/storybook-static/assets/{useODataSelectBase-DSlg4q3l.js → useODataSelectBase-D8W-kHaa.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-d53TKU6r.js → useODataTreeData-CdDBNi-n.js} +1 -1
- package/storybook-static/assets/{utils-CnV3Gszu.js → utils-Bgk51jNr.js} +1 -1
- package/storybook-static/iframe.html +1 -1
- package/storybook-static/project.json +1 -1
- package/dist/chunks/modal-Cll8YZ7b.js +0 -153
- package/dist/chunks/modal-Cll8YZ7b.js.map +0 -1
- package/storybook-static/assets/ImageViewer.stories-BzUxxQAO.js +0 -72
- package/storybook-static/assets/Modal.stories-DmnMwG9h.js +0 -180
- package/storybook-static/assets/formatter-L2YTDE3Q-CO9xKxzu.js +0 -1
- package/storybook-static/assets/grid-BwTl00V9.js +0 -1
- package/storybook-static/assets/odata-service-RLReWm0A.js +0 -1
- package/storybook-static/assets/select-BessDJfg.js +0 -1
- package/storybook-static/assets/ui-QO8tRKaR.js +0 -1
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { o as e } from "./flex-DYZ0IbU6.js";
|
|
2
|
+
import { n as t } from "./button-CC0Jdx1j.js";
|
|
3
|
+
import { r as n } from "./grid-dI94AAbi.js";
|
|
4
|
+
import { c as r } from "./misc-DIF5h9ba.js";
|
|
5
|
+
import { Children as i, createContext as a, useCallback as o, useContext as s, useEffect as c, useId as l, useRef as u, useState as d } from "react";
|
|
6
|
+
import { cn as f } from "@ryuzaki13/react-foundation-lib/utils";
|
|
7
|
+
import { X as p } from "lucide-react";
|
|
8
|
+
import { jsx as m, jsxs as h } from "react/jsx-runtime";
|
|
9
|
+
import { getOrCreatePortalRoot as g, useEscapeDismiss as _, useFocusTrap as v } from "@ryuzaki13/react-foundation-lib/dom";
|
|
10
|
+
import { createPortal as y } from "react-dom";
|
|
11
|
+
import { AnimatePresence as b, motion as x, useReducedMotion as S } from "motion/react";
|
|
12
|
+
var C = {
|
|
13
|
+
modal: "vGPUKV",
|
|
14
|
+
sm: "O7gb7P",
|
|
15
|
+
md: "RVq8v3",
|
|
16
|
+
lg: "PCSUAL",
|
|
17
|
+
xl: "XDCHzq",
|
|
18
|
+
xxl: "t1kl8L",
|
|
19
|
+
inside: "o3PEEB",
|
|
20
|
+
header: "WhUkxm",
|
|
21
|
+
body: "NDgdMi",
|
|
22
|
+
headerText: "JDlse5",
|
|
23
|
+
headerButton: "FaDKSt"
|
|
24
|
+
}, w = {
|
|
25
|
+
hidden: {
|
|
26
|
+
opacity: 0,
|
|
27
|
+
scale: .96,
|
|
28
|
+
y: 12
|
|
29
|
+
},
|
|
30
|
+
visible: {
|
|
31
|
+
opacity: 1,
|
|
32
|
+
scale: 1,
|
|
33
|
+
y: 0
|
|
34
|
+
}
|
|
35
|
+
}, T = {
|
|
36
|
+
duration: .18,
|
|
37
|
+
ease: [
|
|
38
|
+
.22,
|
|
39
|
+
1,
|
|
40
|
+
.36,
|
|
41
|
+
1
|
|
42
|
+
]
|
|
43
|
+
}, E = { duration: 0 }, D = a({
|
|
44
|
+
modals: [],
|
|
45
|
+
openModal: () => {},
|
|
46
|
+
closeModal: () => {},
|
|
47
|
+
isTopModal: () => !1
|
|
48
|
+
}), O = () => s(D), k = ({ children: e, className: t }) => /* @__PURE__ */ m("div", {
|
|
49
|
+
className: f("surface2 paddingMd borderBottom", t),
|
|
50
|
+
children: e
|
|
51
|
+
});
|
|
52
|
+
k.displayName = "Modal.Toolbar";
|
|
53
|
+
var A = ({ children: e, className: t, scrollable: n }) => /* @__PURE__ */ m("div", {
|
|
54
|
+
className: f("paddingMd h100 overflowHidden", t),
|
|
55
|
+
children: n ? /* @__PURE__ */ m(r, {
|
|
56
|
+
className: "h100",
|
|
57
|
+
children: e
|
|
58
|
+
}) : e
|
|
59
|
+
});
|
|
60
|
+
A.displayName = "Modal.Content";
|
|
61
|
+
var j = ({ children: t, className: n }) => /* @__PURE__ */ m("div", {
|
|
62
|
+
className: f("surface2 borderTop paddingMd", n),
|
|
63
|
+
children: /* @__PURE__ */ m(e, {
|
|
64
|
+
gap: "sm",
|
|
65
|
+
align: "center",
|
|
66
|
+
justify: "end",
|
|
67
|
+
children: t
|
|
68
|
+
})
|
|
69
|
+
});
|
|
70
|
+
j.displayName = "Modal.Footer";
|
|
71
|
+
var M = ({ isOpen: e, title: r, size: a = "sm", height: o, onClose: s, children: u }) => {
|
|
72
|
+
let d = l(), D = l(), { modals: M, openModal: N, closeModal: P, isTopModal: F } = O(), I = S(), L = e && (M.length === 0 || F(d)), R = v(e || !1);
|
|
73
|
+
_({
|
|
74
|
+
active: L || !1,
|
|
75
|
+
onDismiss: s,
|
|
76
|
+
containerRef: R
|
|
77
|
+
}), c(() => {
|
|
78
|
+
e && N(d);
|
|
79
|
+
}, [
|
|
80
|
+
e,
|
|
81
|
+
d,
|
|
82
|
+
N
|
|
83
|
+
]), c(() => () => P(d), [P, d]);
|
|
84
|
+
function z() {
|
|
85
|
+
P(d);
|
|
86
|
+
}
|
|
87
|
+
let B = g("modal-root");
|
|
88
|
+
if (!B) return null;
|
|
89
|
+
let V = null, H = null, U = null, W = i.toArray(u);
|
|
90
|
+
for (let e of W) switch (e.type.displayName) {
|
|
91
|
+
case k.displayName:
|
|
92
|
+
if (V) throw Error("Modal: duplicate <Toolbar> found");
|
|
93
|
+
V = e;
|
|
94
|
+
break;
|
|
95
|
+
case j.displayName:
|
|
96
|
+
if (U) throw Error("Modal: duplicate <Footer> found");
|
|
97
|
+
U = e;
|
|
98
|
+
break;
|
|
99
|
+
case A.displayName:
|
|
100
|
+
if (H) throw Error("Modal: duplicate <Content> found");
|
|
101
|
+
H = e;
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
return y(/* @__PURE__ */ m(b, {
|
|
105
|
+
onExitComplete: z,
|
|
106
|
+
children: e ? /* @__PURE__ */ h(x.div, {
|
|
107
|
+
ref: R,
|
|
108
|
+
className: f(C.modal, C[a]),
|
|
109
|
+
style: { height: o },
|
|
110
|
+
role: "dialog",
|
|
111
|
+
"aria-modal": "true",
|
|
112
|
+
"aria-labelledby": D,
|
|
113
|
+
"aria-describedby": `${D}-content`,
|
|
114
|
+
initial: "hidden",
|
|
115
|
+
animate: "visible",
|
|
116
|
+
exit: "hidden",
|
|
117
|
+
variants: w,
|
|
118
|
+
transition: I ? E : T,
|
|
119
|
+
children: [/* @__PURE__ */ h("div", {
|
|
120
|
+
className: f(C.header, V ? "" : "borderBottom"),
|
|
121
|
+
children: [/* @__PURE__ */ m("h3", {
|
|
122
|
+
className: C.headerText,
|
|
123
|
+
id: D,
|
|
124
|
+
children: r
|
|
125
|
+
}), /* @__PURE__ */ m(t, {
|
|
126
|
+
icon: /* @__PURE__ */ m(p, {}),
|
|
127
|
+
className: C.headerButton,
|
|
128
|
+
variant: "ghost",
|
|
129
|
+
autoFocus: !0,
|
|
130
|
+
"aria-label": "Закрыть модальное окно",
|
|
131
|
+
onClick: s
|
|
132
|
+
})]
|
|
133
|
+
}), /* @__PURE__ */ h(n, {
|
|
134
|
+
id: `${D}-content`,
|
|
135
|
+
templateRows: `${V ? "auto" : ""} 1fr ${U ? "auto" : ""}`.trim(),
|
|
136
|
+
className: C.body,
|
|
137
|
+
children: [
|
|
138
|
+
V,
|
|
139
|
+
H,
|
|
140
|
+
U
|
|
141
|
+
]
|
|
142
|
+
})]
|
|
143
|
+
}) : null
|
|
144
|
+
}), B);
|
|
145
|
+
};
|
|
146
|
+
//#endregion
|
|
147
|
+
//#region src/modal/ModalManagerProvider.tsx
|
|
148
|
+
function N({ children: e, compensateScrollbar: t = !1 }) {
|
|
149
|
+
let [n, r] = d([]), i = u(0), a = u(0), s = u(""), l = u(!1), f = o((e) => {
|
|
150
|
+
r((t) => [...t, e]);
|
|
151
|
+
}, []), p = o((e) => {
|
|
152
|
+
r((t) => t.filter((t) => t !== e));
|
|
153
|
+
}, []), h = o((e) => n[n.length - 1] === e, [n]);
|
|
154
|
+
return c(() => {
|
|
155
|
+
let e = i.current === 0;
|
|
156
|
+
if (e && n.length > 0) {
|
|
157
|
+
let e = window.scrollY, r = document.querySelector("#app-root");
|
|
158
|
+
a.current = Math.max(0, window.innerWidth - document.documentElement.clientWidth), s.current = document.body.style.paddingRight, document.body.style.position = "fixed", document.body.style.top = `-${e}px`, document.body.style.width = "100%", t && (document.body.style.paddingRight = `${a.current}px`, l.current = !0), r?.setAttribute("inert", "true"), i.current = n.length;
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
if (!e && n.length > 0 && t !== l.current && (document.body.style.paddingRight = t ? `${a.current}px` : s.current, l.current = t), !e && n.length === 0) {
|
|
162
|
+
let e = document.querySelector("#app-root"), t = parseInt(document.body.style.top || "0") * -1;
|
|
163
|
+
document.body.style.position = "", document.body.style.top = "", document.body.style.width = "", l.current &&= (document.body.style.paddingRight = s.current, !1), e?.removeAttribute("inert"), window.scrollTo({
|
|
164
|
+
top: t,
|
|
165
|
+
left: 0,
|
|
166
|
+
behavior: "instant"
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
i.current = n.length;
|
|
170
|
+
}, [t, n.length]), /* @__PURE__ */ m(D.Provider, {
|
|
171
|
+
value: {
|
|
172
|
+
modals: n,
|
|
173
|
+
openModal: f,
|
|
174
|
+
closeModal: p,
|
|
175
|
+
isTopModal: h
|
|
176
|
+
},
|
|
177
|
+
children: e
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
//#endregion
|
|
181
|
+
export { k as a, j as i, M as n, D as o, A as r, O as s, N as t };
|
|
182
|
+
|
|
183
|
+
//# sourceMappingURL=modal-DiQ-yR71.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal-DiQ-yR71.js","names":[],"sources":["../../src/modal/Modal.module.scss","../../src/modal/modalMotion.ts","../../src/modal/useModalManager.ts","../../src/modal/Modal.tsx","../../src/modal/ModalManagerProvider.tsx"],"sourcesContent":["@use \"@/styles/mixins\" as *;\n\n.modal {\n\tdisplay: grid;\n\tgrid-auto-rows: auto 1fr;\n\n\tposition: fixed;\n\tinset: 0;\n\tmargin: auto;\n\tz-index: var(--z-modal);\n\twidth: 90%;\n\theight: fit-content;\n\tmax-height: calc(100dvh - var(--space-lg));\n\tborder: var(--border);\n\tborder-radius: var(--radius-md);\n\tbackground-color: var(--surface-1);\n\tbox-shadow: var(--shadow-lg);\n\n\t&:not(:last-child) {\n\t\tpointer-events: none;\n\t\tfilter: grayscale(0.5) opacity(0.75);\n\t\t// opacity: 0.5;\n\t}\n\n\t&.sm {\n\t\tmax-width: min(30em, 93dvw);\n\t}\n\n\t&.md {\n\t\tmax-width: min(50em, 93dvw);\n\t}\n\n\t&.lg {\n\t\tmax-width: min(70em, 93dvw);\n\t}\n\n\t&.xl {\n\t\tmax-width: min(80em, 93dvw);\n\t}\n\n\t&.xxl {\n\t\twidth: 93dvw;\n\t\theight: 90dvh;\n\t\tmax-width: none;\n\t\tmax-height: none;\n\t}\n\n\t&.inside {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tmax-width: none;\n\t\tmax-height: none;\n\n\t\t.header,\n\t\t.body {\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n}\n\n.header {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tbackground-color: var(--surface-2);\n\tborder-top-left-radius: var(--radius-md);\n\tborder-top-right-radius: var(--radius-md);\n}\n\n.headerText {\n\tmargin: 0;\n\tpadding-inline: var(--space-md);\n\tfont-size: var(--font-size-md);\n\tfont-variation-settings: \"wght\" 600;\n}\n\n.headerButton {\n\tmargin-block: var(--space-xs);\n\tmargin-inline: var(--space-sm);\n\tflex: 0;\n}\n\n.body {\n\toverflow: hidden;\n\tborder-bottom-left-radius: var(--radius-md);\n\tborder-bottom-right-radius: var(--radius-md);\n}\n","import { type Transition, type Variants } from \"motion/react\";\n\n/**\n * Варианты задают единый спокойный переход для появления и удаления modal-панели.\n * Конфигурация приватна для primitive: потребители управляют только состоянием `isOpen`.\n */\nexport const modalMotionVariants = {\n\thidden: {\n\t\topacity: 0,\n\t\tscale: 0.96,\n\t\ty: 12\n\t},\n\tvisible: {\n\t\topacity: 1,\n\t\tscale: 1,\n\t\ty: 0\n\t}\n} satisfies Variants;\n\n/** Переход сохраняет отзывчивое открытие и дает exit-анимации завершиться до удаления portal content. */\nexport const modalMotionTransition = {\n\tduration: 0.18,\n\tease: [0.22, 1, 0.36, 1]\n} satisfies Transition;\n\n/** При системном reduced-motion остается только мгновенная смена видимости без пространственного движения. */\nexport const reducedModalMotionTransition = {\n\tduration: 0\n} satisfies Transition;\n","import { createContext, useContext } from \"react\";\n\nexport const ModalManagerContext = createContext<{\n\tmodals: string[];\n\topenModal: (id: string) => void;\n\tcloseModal: (id: string) => void;\n\tisTopModal: (id: string) => boolean;\n}>({\n\tmodals: [],\n\topenModal: () => {},\n\tcloseModal: () => {},\n\tisTopModal: () => false\n});\n\nexport const useModalManager = () => useContext(ModalManagerContext);\n","import React, { Children, useEffect, useId } from \"react\";\n\nimport { getOrCreatePortalRoot, useEscapeDismiss, useFocusTrap } from \"@ryuzaki13/react-foundation-lib/dom\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { X } from \"lucide-react\";\nimport { AnimatePresence, motion, useReducedMotion } from \"motion/react\";\nimport { createPortal } from \"react-dom\";\n\nimport { Button } from \"../button\";\nimport { FlexContainer } from \"../flex\";\nimport { GridContainer } from \"../grid\";\nimport { Scrollable } from \"../misc\";\n\nimport styles from \"./Modal.module.scss\";\nimport { modalMotionTransition, modalMotionVariants, reducedModalMotionTransition } from \"./modalMotion\";\nimport { ModalSize } from \"./types\";\nimport { useModalManager } from \"./useModalManager\";\n\n// Подкомпоненты\nexport interface ModalCompositionProps {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport const ModalToolbar: React.FC<ModalCompositionProps> = ({ children, className }) => {\n\treturn <div className={cn(\"surface2 paddingMd borderBottom\", className)}>{children}</div>;\n};\nModalToolbar.displayName = \"Modal.Toolbar\";\n\nexport const ModalContent: React.FC<ModalCompositionProps & { scrollable?: boolean }> = ({ children, className, scrollable }) => {\n\treturn (\n\t\t<div className={cn(\"paddingMd h100 overflowHidden\", className)}>\n\t\t\t{scrollable ? <Scrollable className=\"h100\">{children}</Scrollable> : children}\n\t\t</div>\n\t);\n};\nModalContent.displayName = \"Modal.Content\";\n\nexport const ModalFooter: React.FC<ModalCompositionProps> = ({ children, className }) => {\n\treturn (\n\t\t<div className={cn(\"surface2 borderTop paddingMd\", className)}>\n\t\t\t<FlexContainer gap=\"sm\" align=\"center\" justify=\"end\">\n\t\t\t\t{children}\n\t\t\t</FlexContainer>\n\t\t</div>\n\t);\n};\nModalFooter.displayName = \"Modal.Footer\";\n\ntype ToolbarElement = React.ReactElement<ModalCompositionProps, typeof ModalToolbar>;\ntype ContentElement = React.ReactElement<ModalCompositionProps, typeof ModalContent>;\ntype FooterElement = React.ReactElement<ModalCompositionProps, typeof ModalFooter>;\n\ntype ModalChildren =\n\t[ToolbarElement, ContentElement, FooterElement] | [ToolbarElement, ContentElement] | [ContentElement, FooterElement] | ContentElement;\n\nexport interface ModalProps {\n\t/** Открыто ли модальное окно */\n\tisOpen?: boolean;\n\t/** Заголовок */\n\ttitle?: string;\n\t/** Размер модального окна */\n\tsize?: keyof typeof ModalSize;\n\theight?: string;\n\t/** Обработчик закрытия */\n\tonClose: () => void;\n\tchildren: ModalChildren;\n}\n\nexport const Modal: React.FC<ModalProps> = ({ isOpen, title, size = \"sm\", height, onClose, children }) => {\n\tconst modalId = useId();\n\tconst titleId = useId();\n\n\tconst { modals, openModal, closeModal, isTopModal } = useModalManager();\n\tconst shouldReduceMotion = useReducedMotion();\n\n\t/**\n\t * Если provider менеджера не подключен, считаем одиночную модалку активной,\n\t * иначе логика Escape/focus trap никогда не включится.\n\t */\n\tconst isActive = isOpen && (modals.length === 0 || isTopModal(modalId));\n\n\tconst modalRef = useFocusTrap(isOpen || false);\n\n\tuseEscapeDismiss({\n\t\tactive: isActive || false,\n\t\tonDismiss: onClose,\n\t\tcontainerRef: modalRef\n\t});\n\n\tuseEffect(() => {\n\t\tif (isOpen) {\n\t\t\topenModal(modalId);\n\t\t}\n\t}, [isOpen, modalId, openModal]);\n\n\tuseEffect(() => {\n\t\treturn () => closeModal(modalId);\n\t}, [closeModal, modalId]);\n\n\tfunction handleExitComplete() {\n\t\t// Блокировка страницы снимается после exit, пока исчезающая modal-панель еще защищает фон.\n\t\tcloseModal(modalId);\n\t}\n\n\tconst modalRoot = getOrCreatePortalRoot(\"modal-root\");\n\n\tif (!modalRoot) {\n\t\treturn null;\n\t}\n\n\tlet toolbar: React.ReactNode = null;\n\tlet content: React.ReactNode = null;\n\tlet footer: React.ReactNode = null;\n\n\tconst childArray = Children.toArray(children) as (ToolbarElement | ContentElement | FooterElement)[];\n\n\tfor (const child of childArray) {\n\t\tconst typeName = child.type.displayName;\n\n\t\tswitch (typeName) {\n\t\t\tcase ModalToolbar.displayName:\n\t\t\t\tif (toolbar) throw new Error(\"Modal: duplicate <Toolbar> found\");\n\t\t\t\ttoolbar = child; //.props.children;\n\t\t\t\tbreak;\n\t\t\tcase ModalFooter.displayName:\n\t\t\t\tif (footer) throw new Error(\"Modal: duplicate <Footer> found\");\n\t\t\t\tfooter = child; //props.children;\n\t\t\t\tbreak;\n\t\t\tcase ModalContent.displayName:\n\t\t\t\tif (content) throw new Error(\"Modal: duplicate <Content> found\");\n\t\t\t\tcontent = child; //.props.children;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn createPortal(\n\t\t<AnimatePresence onExitComplete={handleExitComplete}>\n\t\t\t{isOpen ? (\n\t\t\t\t<motion.div\n\t\t\t\t\tref={modalRef}\n\t\t\t\t\tclassName={cn(styles.modal, styles[size])}\n\t\t\t\t\tstyle={{ height }}\n\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\taria-labelledby={titleId}\n\t\t\t\t\taria-describedby={`${titleId}-content`}\n\t\t\t\t\tinitial=\"hidden\"\n\t\t\t\t\tanimate=\"visible\"\n\t\t\t\t\texit=\"hidden\"\n\t\t\t\t\tvariants={modalMotionVariants}\n\t\t\t\t\ttransition={shouldReduceMotion ? reducedModalMotionTransition : modalMotionTransition}>\n\t\t\t\t\t<div className={cn(styles.header, toolbar ? \"\" : \"borderBottom\")}>\n\t\t\t\t\t\t<h3 className={styles.headerText} id={titleId}>\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t</h3>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={<X />}\n\t\t\t\t\t\t\tclassName={styles.headerButton}\n\t\t\t\t\t\t\tvariant={\"ghost\"}\n\t\t\t\t\t\t\tautoFocus={true}\n\t\t\t\t\t\t\taria-label={\"Закрыть модальное окно\"}\n\t\t\t\t\t\t\tonClick={onClose}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<GridContainer\n\t\t\t\t\t\tid={`${titleId}-content`}\n\t\t\t\t\t\ttemplateRows={`${toolbar ? \"auto\" : \"\"} 1fr ${footer ? \"auto\" : \"\"}`.trim()}\n\t\t\t\t\t\t// gap=\"md\"\n\t\t\t\t\t\tclassName={styles.body}>\n\t\t\t\t\t\t{toolbar}\n\t\t\t\t\t\t{content}\n\t\t\t\t\t\t{footer}\n\t\t\t\t\t</GridContainer>\n\t\t\t\t</motion.div>\n\t\t\t) : null}\n\t\t</AnimatePresence>,\n\t\tmodalRoot\n\t);\n};\n","// ModalManagerContext.tsx\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport { ModalManagerContext } from \"./useModalManager\";\n\nexport interface ModalManagerProviderProps {\n\tchildren: React.ReactNode;\n\t/** Компенсирует исчезновение скроллбара правым padding у body. */\n\tcompensateScrollbar?: boolean;\n}\n\n/**\n * Провайдер для централизованного управления стеком модальных окон. Дает вложенным компонентам доступ к открытию и закрытию модалок через контекст.\n */\nexport function ModalManagerProvider({ children, compensateScrollbar = false }: ModalManagerProviderProps) {\n\tconst [modals, setModals] = useState<string[]>([]);\n\tconst prevModalsLength = useRef(0);\n\tconst scrollbarWidth = useRef(0);\n\tconst bodyPaddingRight = useRef(\"\");\n\tconst isScrollbarCompensated = useRef(false);\n\n\tconst openModal = useCallback((id: string) => {\n\t\tsetModals((prev) => [...prev, id]);\n\t}, []);\n\n\tconst closeModal = useCallback((id: string) => {\n\t\tsetModals((prev) => prev.filter((mid) => mid !== id));\n\t}, []);\n\n\tconst isTopModal = useCallback(\n\t\t(id: string) => {\n\t\t\treturn modals[modals.length - 1] === id;\n\t\t},\n\t\t[modals]\n\t);\n\n\tuseEffect(() => {\n\t\tconst wasEmpty = prevModalsLength.current === 0;\n\n\t\tif (wasEmpty && modals.length > 0) {\n\t\t\t// первая модалка открыта — ставим стили\n\t\t\tconst scrollY = window.scrollY;\n\t\t\tconst appRoot = document.querySelector(\"#app-root\");\n\t\t\tscrollbarWidth.current = Math.max(0, window.innerWidth - document.documentElement.clientWidth);\n\t\t\tbodyPaddingRight.current = document.body.style.paddingRight;\n\n\t\t\tdocument.body.style.position = \"fixed\";\n\t\t\tdocument.body.style.top = `-${scrollY}px`;\n\t\t\tdocument.body.style.width = \"100%\";\n\n\t\t\tif (compensateScrollbar) {\n\t\t\t\tdocument.body.style.paddingRight = `${scrollbarWidth.current}px`;\n\t\t\t\tisScrollbarCompensated.current = true;\n\t\t\t}\n\n\t\t\tappRoot?.setAttribute(\"inert\", \"true\");\n\n\t\t\tprevModalsLength.current = modals.length;\n\t\t\treturn;\n\t\t}\n\n\t\tif (!wasEmpty && modals.length > 0 && compensateScrollbar !== isScrollbarCompensated.current) {\n\t\t\tdocument.body.style.paddingRight = compensateScrollbar ? `${scrollbarWidth.current}px` : bodyPaddingRight.current;\n\t\t\tisScrollbarCompensated.current = compensateScrollbar;\n\t\t}\n\n\t\tif (!wasEmpty && modals.length === 0) {\n\t\t\t// последняя модалка закрыта — снимаем стили\n\t\t\tconst appRoot = document.querySelector(\"#app-root\");\n\t\t\tconst scrollY = parseInt(document.body.style.top || \"0\") * -1;\n\n\t\t\tdocument.body.style.position = \"\";\n\t\t\tdocument.body.style.top = \"\";\n\t\t\tdocument.body.style.width = \"\";\n\n\t\t\tif (isScrollbarCompensated.current) {\n\t\t\t\tdocument.body.style.paddingRight = bodyPaddingRight.current;\n\t\t\t\tisScrollbarCompensated.current = false;\n\t\t\t}\n\n\t\t\tappRoot?.removeAttribute(\"inert\");\n\n\t\t\twindow.scrollTo({ top: scrollY, left: 0, behavior: \"instant\" });\n\t\t}\n\n\t\tprevModalsLength.current = modals.length;\n\t}, [compensateScrollbar, modals.length]);\n\n\treturn <ModalManagerContext.Provider value={{ modals, openModal, closeModal, isTopModal }}>{children}</ModalManagerContext.Provider>;\n}\n"],"mappings":"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"}
|