@ryuzaki13/react-foundation-ui 1.1.1 → 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/dist/advanced-search/index.js +1 -1
- 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 +1 -1
- 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/text-editor/index.js +1 -1
- package/package.json +1 -1
- package/storybook-static/assets/{Badge-D4ZNwyJI.js → Badge-ySHe8vmn.js} +1 -1
- package/storybook-static/assets/{Badge.stories-QbQZ3Lun.js → Badge.stories-BYFVnpXD.js} +1 -1
- package/storybook-static/assets/{Button-dAzTo4v8.js → Button-BSfih1w7.js} +1 -1
- package/storybook-static/assets/{Button-CO9qTYjf.js → Button-rWpfFmWo.js} +1 -1
- package/storybook-static/assets/{Button.stories-wcPcMM2N.js → Button.stories-BPUX-pUU.js} +1 -1
- package/storybook-static/assets/{CheckBox-IVs8Ft1J.js → CheckBox-BRmxHv5c.js} +1 -1
- package/storybook-static/assets/{CheckBox-BuWKFvO2.js → CheckBox-DJvchxuK.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories-B2P4Xgjx.js → CheckBox.stories-Zz7HW_Tt.js} +1 -1
- package/storybook-static/assets/{Color-KMSTOMOX-DO11DnAB.js → Color-KMSTOMOX-Bvh-Futk.js} +1 -1
- package/storybook-static/assets/{ContextMenu-YIVSJPGZ.js → ContextMenu-K5hnbQwB.js} +1 -1
- package/storybook-static/assets/{ContextMenu.stories-pPfA4c51.js → ContextMenu.stories-q25-a_KQ.js} +1 -1
- package/storybook-static/assets/{DateInput-CJjcOU3w.js → DateInput-DgI18Wd3.js} +1 -1
- package/storybook-static/assets/{DateInput-CMk0Q3-1.js → DateInput-ElFtdL37.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-BeYqSTLP.js → DateInput.stories-BfN_pYwR.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-HobGj82_.js → DateRangePresetSelect-BvJ0OXbG.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-CprGmjzY.js → DateRangePresetSelect-C6YNhNYJ.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect.stories-C0C1Z7Ef.js → DateRangePresetSelect.stories-DJIqYv8z.js} +1 -1
- package/storybook-static/assets/{Detail-7DE7B2fS.js → Detail-DyISI1K8.js} +1 -1
- package/storybook-static/assets/{Detail.stories-BI42UERO.js → Detail.stories-DGbd09Cm.js} +1 -1
- package/storybook-static/assets/{Dialog-CPl9ePpk.js → Dialog-BP5LMJer.js} +1 -1
- package/storybook-static/assets/{Dialog.stories-DLlXkr6b.js → Dialog.stories-iAreH7Ft.js} +1 -1
- package/storybook-static/assets/{Disclosure-DiE1KhPu.js → Disclosure-DbzW47oB.js} +1 -1
- package/storybook-static/assets/{Disclosure.stories-DZj3PP0E.js → Disclosure.stories-Iiobg__i.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-BarB-6yi.js → DocsRenderer-JROSPFPF-BoQ-Uqbl.js} +2 -2
- package/storybook-static/assets/{DropZone-BH0RZWxI.js → DropZone-BFChZBSC.js} +1 -1
- package/storybook-static/assets/{DropZone.stories-CMgWL5O8.js → DropZone.stories-yf4h971Z.js} +1 -1
- package/storybook-static/assets/{DropdownMenu-Bg9OjuHI.js → DropdownMenu-Dk5dGs-s.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel.stories-Bs5nj5tL.js → ExpandableActionPanel.stories-kdhJaIZg.js} +1 -1
- package/storybook-static/assets/{Flex-B7YhSwT5.js → Flex-BHWaC8ei.js} +1 -1
- package/storybook-static/assets/{Flex-DTualGXt.js → Flex-D2dKtJQc.js} +1 -1
- package/storybook-static/assets/{Flex.stories-CJZWUeDx.js → Flex.stories-BB5qAL1v.js} +1 -1
- package/storybook-static/assets/{Grid-NUIGfEZg.js → Grid-sojkTYwf.js} +1 -1
- package/storybook-static/assets/{Grid-D3pn3Bv6.js → Grid-z6gyebzr.js} +1 -1
- package/storybook-static/assets/{Grid.stories-BU3qiQ_o.js → Grid.stories-D4cAyXDs.js} +1 -1
- package/storybook-static/assets/{ImageCropper.stories-B8LIeZot.js → ImageCropper.stories-FBR_3FWR.js} +1 -1
- package/storybook-static/assets/{ImageRenderer-D6m0TXv1.js → ImageRenderer-CRBJvRub.js} +1 -1
- package/storybook-static/assets/{ImageRenderer.stories-Bwv7-mmo.js → ImageRenderer.stories-Bm5yzrQm.js} +1 -1
- package/storybook-static/assets/{ImageView.stories-B2bnEYTW.js → ImageView.stories-Dy6kw_ha.js} +1 -1
- package/storybook-static/assets/{ImageViewer.stories-DaMTLSzl.js → ImageViewer.stories-CGTaIHxP.js} +2 -2
- package/storybook-static/assets/{ImageViewerRuntime-nB82ciX9.js → ImageViewerRuntime-DZ2d3UnD.js} +1 -1
- package/storybook-static/assets/{Input-NjYnjmpA.js → Input-BClWQm32.js} +1 -1
- package/storybook-static/assets/{Input-XmHlbTYH.js → Input-c3EhAUVg.js} +1 -1
- package/storybook-static/assets/{Input.stories-B2NJY4s9.js → Input.stories-BhCP8U4r.js} +1 -1
- package/storybook-static/assets/{InputDateTime-DYx7fZqV.js → InputDateTime-B3e7QSbu.js} +1 -1
- package/storybook-static/assets/{InputDateTime.stories-BP70hMlC.js → InputDateTime.stories-lSHRzKkd.js} +1 -1
- package/storybook-static/assets/{InputFile-cDPgb3yd.js → InputFile-BaUvfw0y.js} +1 -1
- package/storybook-static/assets/{InputFile.stories-B8l1oAAa.js → InputFile.stories-xSZykMu5.js} +1 -1
- package/storybook-static/assets/{InputFiles-C54yHWFW.js → InputFiles-BeIHcYkg.js} +1 -1
- package/storybook-static/assets/{InputFiles-RV5Ldp6x.js → InputFiles-Bz96ef5G.js} +1 -1
- package/storybook-static/assets/{InputFiles.stories-DBpBymQR.js → InputFiles.stories-HYB4u-mB.js} +1 -1
- package/storybook-static/assets/{InputImage-CCz9j5pF.js → InputImage-CZTnJ4ul.js} +1 -1
- package/storybook-static/assets/{InputImage.stories-_p9hjvIE.js → InputImage.stories-DqjDYlZN.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-rkC7rVNj.js → LayoutPicker-DvKs-0Fv.js} +1 -1
- package/storybook-static/assets/{LayoutPicker.stories-Dua-laJ2.js → LayoutPicker.stories-DmuTHfsc.js} +1 -1
- package/storybook-static/assets/{Listbox-C9gRtOeO.js → Listbox-mcm1KqjJ.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-m8Brn-ay.js → Listbox.stories-CtS-e5pi.js} +1 -1
- package/storybook-static/assets/{Modal-D62mL35g.js → Modal-BqeKhT7H.js} +1 -1
- package/storybook-static/assets/Modal.stories-Gli7XX36.js +180 -0
- package/storybook-static/assets/{MultiSelect-C5W7r_IH.js → MultiSelect-CIMJ-GDy.js} +1 -1
- package/storybook-static/assets/{MultiSelect-LhGz99f4.js → MultiSelect-Cl6rIRPU.js} +1 -1
- package/storybook-static/assets/{MultiSelect.stories-DcHKp4JR.js → MultiSelect.stories-Dff66BK5.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-BSH5jCG2.js → NotificationsHost-DowbxTw1.js} +1 -1
- package/storybook-static/assets/{NotificationsHost.stories-DTM5-qkf.js → NotificationsHost.stories-nbb74ArB.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect-C2S7qyv5.js → ODataMultiSelect-BwjM7TCI.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect.stories-DOzE_OKZ.js → ODataMultiSelect.stories-DqjbgljQ.js} +1 -1
- package/storybook-static/assets/{ODataSelect-BG7NWPTV.js → ODataSelect-BfFCFPKT.js} +1 -1
- package/storybook-static/assets/{ODataSelect-lT0xOKvb.js → ODataSelect-CUb853Wg.js} +1 -1
- package/storybook-static/assets/{ODataSelect.stories-CKBvtx-H.js → ODataSelect.stories-yivutwVc.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect-u8tiVTCb.js → ODataTreeMultiSelect-Dd7RuuQJ.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-CzH4V42Q.js → ODataTreeMultiSelect.stories-fr3DsJrU.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect-CwOHUVab.js → ODataTreeSelect-CPpbLgIt.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-DjVMiCJ1.js → ODataTreeSelect.stories-DmEX0dcP.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-BFGqQf0k.js → PeriodSelect-D5kBTYIo.js} +1 -1
- package/storybook-static/assets/{PeriodSelect.stories-BG6WXQ18.js → PeriodSelect.stories-BQ8Fe5La.js} +1 -1
- package/storybook-static/assets/{Popover-OlRhMSrF.js → Popover-BXriLIId.js} +1 -1
- package/storybook-static/assets/{Popover.stories-C5FOSas_.js → Popover.stories-CKXTLaPn.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-Dtisg-hx.js → PresetRangeDateInput-BAeztTbq.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput.stories-DKW4o_cP.js → PresetRangeDateInput.stories-DHErwmMR.js} +1 -1
- package/storybook-static/assets/{RadioButton-B6Kj1uHa.js → RadioButton-CHmZgd5q.js} +1 -1
- package/storybook-static/assets/{RadioButton.stories-0YupGfXc.js → RadioButton.stories-aa0vDs3Q.js} +1 -1
- package/storybook-static/assets/{RadioGroup-b972E4de.js → RadioGroup-DPeAo49R.js} +1 -1
- package/storybook-static/assets/{RadioGroup-g9jHDZ1a.js → RadioGroup-DvOxoOpU.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-CncOV2Km.js → RadioGroup.stories-R2DhGaUo.js} +1 -1
- package/storybook-static/assets/{Select-V5lTi2fc.js → Select-CMFiMGUD.js} +1 -1
- package/storybook-static/assets/{Select-Deq1B8d4.js → Select-DAgVgEuM.js} +1 -1
- package/storybook-static/assets/{Select.stories-ehFtiqH9.js → Select.stories-DnDwuoSb.js} +1 -1
- package/storybook-static/assets/{SelectOptionContent-CCp1Zygd.js → SelectOptionContent-DlUoa2zi.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-CvMVlLei.js → SerializableSelect-BL6Sy3b_.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-IyNh3eLS.js → SerializableSelect-CHAD3r9t.js} +1 -1
- package/storybook-static/assets/{SerializableSelect.stories-wcj4bFZq.js → SerializableSelect.stories-tcz7KvtM.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-DyLXAP7B.js → SingleDateTimeInput-BTjmZ93p.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput.stories-WvQxqelt.js → SingleDateTimeInput.stories-fAE8JkXx.js} +1 -1
- package/storybook-static/assets/{Slider-Cp8CtB-I.js → Slider-BT1LHZ79.js} +1 -1
- package/storybook-static/assets/{Slider.stories-BsIcLc-d.js → Slider.stories-D936g26I.js} +1 -1
- package/storybook-static/assets/{SliderInput-4jPJ7yM1.js → SliderInput-BhFLXhLl.js} +1 -1
- package/storybook-static/assets/{SliderInput.stories-DPK4tJ2q.js → SliderInput.stories-BVdD9tEX.js} +1 -1
- package/storybook-static/assets/{Sortable-CAX_xvIn.js → Sortable-SmbXEzK3.js} +1 -1
- package/storybook-static/assets/{Sortable.stories-Dn2kDyA2.js → Sortable.stories-CkCKnV-o.js} +1 -1
- package/storybook-static/assets/{Splitter-Blfeifky.js → Splitter-HnrBItZh.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-k9ZItdL9.js → Splitter.stories-DW1Cs65Y.js} +1 -1
- package/storybook-static/assets/{StateSelect-CSDCsDb8.js → StateSelect-j73SSm6j.js} +1 -1
- package/storybook-static/assets/{StateSelect.stories-DwdGHqbu.js → StateSelect.stories-DlYcFCZu.js} +1 -1
- package/storybook-static/assets/{Switch-BUhpEhzV.js → Switch-Df9CUFzH.js} +1 -1
- package/storybook-static/assets/{Switch.stories-BC2DPnRn.js → Switch.stories-CLj7D165.js} +1 -1
- package/storybook-static/assets/{Table-9XwMCwrN.js → Table-DQNIWsu6.js} +1 -1
- package/storybook-static/assets/{Table.stories-BYXgzUfU.js → Table.stories-PauSY-JA.js} +1 -1
- package/storybook-static/assets/{Tabs-Bow33W8U.js → Tabs-Dk5gLtMV.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-CZT7skiV.js → Tabs.stories-QbqForCs.js} +1 -1
- package/storybook-static/assets/{TagInput.stories-b8xiLHof.js → TagInput.stories-BKDMX-Xf.js} +1 -1
- package/storybook-static/assets/{Textarea-DpY7S_ja.js → Textarea-DysJ81Q0.js} +1 -1
- package/storybook-static/assets/{Textarea.stories-Dd223jGP.js → Textarea.stories-BjwiGsRE.js} +1 -1
- package/storybook-static/assets/{TimePanel-CVg_B6n6.js → TimePanel-B3ydmHaY.js} +1 -1
- package/storybook-static/assets/{TimePanel.stories-BLQ1P0G1.js → TimePanel.stories-BKywSX32.js} +1 -1
- package/storybook-static/assets/{Toggle-DFqklqKe.js → Toggle-KdmtodIb.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-Dn1ZNjzs.js → Toggle.stories-Bhb_z8Jz.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-CUVgAxbI.js → TreeMultiSelect-CwW9N9Ig.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-KJZy7baA.js → TreeMultiSelect-DsmEfu72.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-BwgaL6Xq.js → TreeMultiSelect.stories-C6D2dAVV.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-pdzKfA0G.js → TreePickerBase-KscLSAmI.js} +1 -1
- package/storybook-static/assets/{TreeSelect-CVwWW2jD.js → TreeSelect-CaZc5mMy.js} +1 -1
- package/storybook-static/assets/{TreeSelect-5pb94-io.js → TreeSelect-Dyzfh0j1.js} +1 -1
- package/storybook-static/assets/{TreeSelect.stories-BYqkPLt1.js → TreeSelect.stories-DgPobNFf.js} +1 -1
- package/storybook-static/assets/{TreeTable-CkBy8VlX.js → TreeTable-Cp-3yiUl.js} +1 -1
- package/storybook-static/assets/{TreeTable.stories-BXWFw5wG.js → TreeTable.stories-Ch5zCYJv.js} +1 -1
- package/storybook-static/assets/{WithTooltip-7X4HQR7L-tzCCckGL.js → WithTooltip-7X4HQR7L-Bvci3679.js} +1 -1
- package/storybook-static/assets/{base-table-J0VmPU8w.js → base-table-4j0yzCkY.js} +1 -1
- package/storybook-static/assets/{blocks-BqMyWalM.js → blocks-B-ZSUli0.js} +6 -6
- package/storybook-static/assets/{button-BOWFIeDh.js → button-PJeFaVDD.js} +1 -1
- package/storybook-static/assets/{check-box-CPBNfroU.js → check-box-B0-G8LQm.js} +1 -1
- package/storybook-static/assets/{chunk-3LY4VQVK-cdx-m4dV.js → chunk-3LY4VQVK-D6w4YoJz.js} +1 -1
- package/storybook-static/assets/{chunk-LITCR56V-B9dgggkx.js → chunk-LITCR56V-CO50GA85.js} +1 -1
- package/storybook-static/assets/{contextMenu-DtwOXbRw.js → contextMenu-CnU3cBnI.js} +1 -1
- package/storybook-static/assets/{error-C-yEsKLJ.js → error-BSGcuIkS.js} +1 -1
- package/storybook-static/assets/{flex-Cf2jLP1U.js → flex-DH0uZKDL.js} +1 -1
- package/storybook-static/assets/{floating-ui.react-6B4p8HDR.js → floating-ui.react-D1gWigwt.js} +1 -1
- package/storybook-static/assets/formatter-L2YTDE3Q-CTky3r2k.js +1 -0
- package/storybook-static/assets/{formatters-DXHNQSpS.js → formatters-q62UjZF6.js} +1 -1
- package/storybook-static/assets/grid-rDCrr9Aa.js +1 -0
- package/storybook-static/assets/{hooks-Cp3Hd96H.js → hooks-C0kO8ifn.js} +1 -1
- package/storybook-static/assets/{iframe-B1CjCwLr.js → iframe-D1kbCBk7.js} +3 -3
- package/storybook-static/assets/{input-Ciguy4IH.js → input-D8SCvYlc.js} +1 -1
- package/storybook-static/assets/{lucide-react-DNKi1M4I.js → lucide-react-DItxRogI.js} +1 -1
- package/storybook-static/assets/{mdx-react-shim-BmHrz8Qy.js → mdx-react-shim-B8QUPqDz.js} +1 -1
- package/storybook-static/assets/{media-CYiNdyXU.js → media-DgzbAjsg.js} +1 -1
- package/storybook-static/assets/{misc-C0xWU5l4.js → misc-CzV_PQE6.js} +1 -1
- package/storybook-static/assets/{notifications-BnIn-1bS.js → notifications-CdohXJuf.js} +1 -1
- package/storybook-static/assets/{odata-CBfXwTuv.js → odata-BCXcLElA.js} +1 -1
- package/storybook-static/assets/odata-service-tcECnUvF.js +1 -0
- package/storybook-static/assets/{odataStoryFixtures-B4Ph79L8.js → odataStoryFixtures-KJnMeJob.js} +1 -1
- package/storybook-static/assets/{picker-hyCPyMP8.js → picker-BILXnlvH.js} +1 -1
- package/storybook-static/assets/{popover-DLIoVp94.js → popover-Bmfe__Oe.js} +1 -1
- package/storybook-static/assets/{preset-select-BjG9VTrg.js → preset-select-C3eeRGrr.js} +1 -1
- package/storybook-static/assets/{react-18-Bz7Vh-KR.js → react-18-C05GCNzp.js} +1 -1
- package/storybook-static/assets/{react-D7DXSuVH.js → react-C7-n-j-7.js} +2 -2
- package/storybook-static/assets/{react-dom-Wlkt-dsb.js → react-dom-BuBaXqtP.js} +1 -1
- package/storybook-static/assets/select-DOX3d-Dq.js +1 -0
- package/storybook-static/assets/{slider-DMChsrbR.js → slider-mYXodgoS.js} +1 -1
- package/storybook-static/assets/{sortable-BPfL-XUN.js → sortable-DFt3FEPe.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-RTCFPKCB-BA7fKjuW.js → syntaxhighlighter-RTCFPKCB-DpuAtHAL.js} +1 -1
- package/storybook-static/assets/{text-9sGnwPB7.js → text-CxC7Ibdz.js} +1 -1
- package/storybook-static/assets/{theming-4yGRJc-V.js → theming-LaAgw3BX.js} +1 -1
- package/storybook-static/assets/ui-CidvNniM.js +1 -0
- package/storybook-static/assets/{useODataSelectBase-CIjzs3rn.js → useODataSelectBase-D8W-kHaa.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-BnifkleR.js → useODataTreeData-CdDBNi-n.js} +1 -1
- package/storybook-static/assets/{utils-BY_HhyoQ.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/Modal.stories-DOU0t6f-.js +0 -180
- package/storybook-static/assets/formatter-L2YTDE3Q-BEJcUUWn.js +0 -1
- package/storybook-static/assets/grid-0riWQzPS.js +0 -1
- package/storybook-static/assets/odata-service-C5AB3b3v.js +0 -1
- package/storybook-static/assets/select-C3btTxoQ.js +0 -1
- package/storybook-static/assets/ui-krJ8_ODv.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":";;;;;;;;;;;;;;;;;;;;;;;GCMa,IAAsB;CAClC,QAAQ;EACP,SAAS;EACT,OAAO;EACP,GAAG;CACJ;CACA,SAAS;EACR,SAAS;EACT,OAAO;EACP,GAAG;CACJ;AACD,GAGa,IAAwB;CACpC,UAAU;CACV,MAAM;EAAC;EAAM;EAAG;EAAM;CAAC;AACxB,GAGa,IAA+B,EAC3C,UAAU,EACX,GC1Ba,IAAsB,EAKhC;CACF,QAAQ,CAAC;CACT,iBAAiB,CAAC;CAClB,kBAAkB,CAAC;CACnB,kBAAkB;AACnB,CAAC,GAEY,UAAwB,EAAW,CAAmB,GCUtD,KAAiD,EAAE,aAAU,mBAClE,kBAAC,OAAD;CAAK,WAAW,EAAG,mCAAmC,CAAS;CAAI;AAAc,CAAA;AAEzF,EAAa,cAAc;AAE3B,IAAa,KAA4E,EAAE,aAAU,cAAW,oBAE9G,kBAAC,OAAD;CAAK,WAAW,EAAG,iCAAiC,CAAS;WAC3D,IAAa,kBAAC,GAAD;EAAY,WAAU;EAAQ;CAAqB,CAAA,IAAI;AACjE,CAAA;AAGP,EAAa,cAAc;AAE3B,IAAa,KAAgD,EAAE,aAAU,mBAEvE,kBAAC,OAAD;CAAK,WAAW,EAAG,gCAAgC,CAAS;WAC3D,kBAAC,GAAD;EAAe,KAAI;EAAK,OAAM;EAAS,SAAQ;EAC7C;CACa,CAAA;AACX,CAAA;AAGP,EAAY,cAAc;AAsB1B,IAAa,KAA+B,EAAE,WAAQ,UAAO,UAAO,MAAM,WAAQ,YAAS,kBAAe;CACzG,IAAM,IAAU,EAAM,GAChB,IAAU,EAAM,GAEhB,EAAE,WAAQ,cAAW,eAAY,kBAAe,EAAgB,GAChE,IAAqB,EAAiB,GAMtC,IAAW,MAAW,EAAO,WAAW,KAAK,EAAW,CAAO,IAE/D,IAAW,EAAa,KAAU,EAAK;CAc7C,AAZA,EAAiB;EAChB,QAAQ,KAAY;EACpB,WAAW;EACX,cAAc;CACf,CAAC,GAED,QAAgB;EACf,AAAI,KACH,EAAU,CAAO;CAEnB,GAAG;EAAC;EAAQ;EAAS;CAAS,CAAC,GAE/B,cACc,EAAW,CAAO,GAC7B,CAAC,GAAY,CAAO,CAAC;CAExB,SAAS,IAAqB;EAE7B,EAAW,CAAO;CACnB;CAEA,IAAM,IAAY,EAAsB,YAAY;CAEpD,IAAI,CAAC,GACJ,OAAO;CAGR,IAAI,IAA2B,MAC3B,IAA2B,MAC3B,IAA0B,MAExB,IAAa,EAAS,QAAQ,CAAQ;CAE5C,KAAK,IAAM,KAAS,GAGnB,QAFiB,EAAM,KAAK,aAE5B;EACC,KAAK,EAAa;GACjB,IAAI,GAAS,MAAU,MAAM,kCAAkC;GAC/D,IAAU;GACV;EACD,KAAK,EAAY;GAChB,IAAI,GAAQ,MAAU,MAAM,iCAAiC;GAC7D,IAAS;GACT;EACD,KAAK,EAAa;GACjB,IAAI,GAAS,MAAU,MAAM,kCAAkC;GAC/D,IAAU;GACV;CACF;CAGD,OAAO,EACN,kBAAC,GAAD;EAAiB,gBAAgB;YAC/B,IACA,kBAAC,EAAO,KAAR;GACC,KAAK;GACL,WAAW,EAAG,EAAO,OAAO,EAAO,EAAK;GACxC,OAAO,EAAE,UAAO;GAChB,MAAK;GACL,cAAW;GACX,mBAAiB;GACjB,oBAAkB,GAAG,EAAQ;GAC7B,SAAQ;GACR,SAAQ;GACR,MAAK;GACL,UAAU;GACV,YAAY,IAAqB,IAA+B;aAZjE,CAaC,kBAAC,OAAD;IAAK,WAAW,EAAG,EAAO,QAAQ,IAAU,KAAK,cAAc;cAA/D,CACC,kBAAC,MAAD;KAAI,WAAW,EAAO;KAAY,IAAI;eACpC;IACE,CAAA,GACJ,kBAAC,GAAD;KACC,MAAM,kBAAC,GAAD,CAAI,CAAA;KACV,WAAW,EAAO;KAClB,SAAS;KACT,WAAW;KACX,cAAY;KACZ,SAAS;IACT,CAAA,CACG;OAEL,kBAAC,GAAD;IACC,IAAI,GAAG,EAAQ;IACf,cAAc,GAAG,IAAU,SAAS,GAAG,OAAO,IAAS,SAAS,KAAK,KAAK;IAE1E,WAAW,EAAO;cAJnB;KAKE;KACA;KACA;IACa;KACJ;OACT;CACY,CAAA,GACjB,CACD;AACD;;;ACtKA,SAAgB,EAAqB,EAAE,aAAU,yBAAsB,MAAoC;CAC1G,IAAM,CAAC,GAAQ,KAAa,EAAmB,CAAC,CAAC,GAC3C,IAAmB,EAAO,CAAC,GAC3B,IAAiB,EAAO,CAAC,GACzB,IAAmB,EAAO,EAAE,GAC5B,IAAyB,EAAO,EAAK,GAErC,IAAY,GAAa,MAAe;EAC7C,GAAW,MAAS,CAAC,GAAG,GAAM,CAAE,CAAC;CAClC,GAAG,CAAC,CAAC,GAEC,IAAa,GAAa,MAAe;EAC9C,GAAW,MAAS,EAAK,QAAQ,MAAQ,MAAQ,CAAE,CAAC;CACrD,GAAG,CAAC,CAAC,GAEC,IAAa,GACjB,MACO,EAAO,EAAO,SAAS,OAAO,GAEtC,CAAC,CAAM,CACR;CAsDA,OApDA,QAAgB;EACf,IAAM,IAAW,EAAiB,YAAY;EAE9C,IAAI,KAAY,EAAO,SAAS,GAAG;GAElC,IAAM,IAAU,OAAO,SACjB,IAAU,SAAS,cAAc,WAAW;GAelD,AAdA,EAAe,UAAU,KAAK,IAAI,GAAG,OAAO,aAAa,SAAS,gBAAgB,WAAW,GAC7F,EAAiB,UAAU,SAAS,KAAK,MAAM,cAE/C,SAAS,KAAK,MAAM,WAAW,SAC/B,SAAS,KAAK,MAAM,MAAM,IAAI,EAAQ,KACtC,SAAS,KAAK,MAAM,QAAQ,QAExB,MACH,SAAS,KAAK,MAAM,eAAe,GAAG,EAAe,QAAQ,KAC7D,EAAuB,UAAU,KAGlC,GAAS,aAAa,SAAS,MAAM,GAErC,EAAiB,UAAU,EAAO;GAClC;EACD;EAOA,IALI,CAAC,KAAY,EAAO,SAAS,KAAK,MAAwB,EAAuB,YACpF,SAAS,KAAK,MAAM,eAAe,IAAsB,GAAG,EAAe,QAAQ,MAAM,EAAiB,SAC1G,EAAuB,UAAU,IAG9B,CAAC,KAAY,EAAO,WAAW,GAAG;GAErC,IAAM,IAAU,SAAS,cAAc,WAAW,GAC5C,IAAU,SAAS,SAAS,KAAK,MAAM,OAAO,GAAG,IAAI;GAa3D,AAXA,SAAS,KAAK,MAAM,WAAW,IAC/B,SAAS,KAAK,MAAM,MAAM,IAC1B,SAAS,KAAK,MAAM,QAAQ,IAE5B,AAEC,EAAuB,aADvB,SAAS,KAAK,MAAM,eAAe,EAAiB,SACnB,KAGlC,GAAS,gBAAgB,OAAO,GAEhC,OAAO,SAAS;IAAE,KAAK;IAAS,MAAM;IAAG,UAAU;GAAU,CAAC;EAC/D;EAEA,EAAiB,UAAU,EAAO;CACnC,GAAG,CAAC,GAAqB,EAAO,MAAM,CAAC,GAEhC,kBAAC,EAAoB,UAArB;EAA8B,OAAO;GAAE;GAAQ;GAAW;GAAY;EAAW;EAAI;CAAuC,CAAA;AACpI"}
|
package/dist/image/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { n as e } from "../chunks/button-CC0Jdx1j.js";
|
|
2
2
|
import { r as t } from "../chunks/grid-dI94AAbi.js";
|
|
3
3
|
import { o as n } from "../chunks/input-CZLUUggm.js";
|
|
4
|
-
import { i as r, n as i, r as a } from "../chunks/modal-
|
|
4
|
+
import { i as r, n as i, r as a } from "../chunks/modal-DiQ-yR71.js";
|
|
5
5
|
import { t as o } from "../chunks/input-files-aB8iaqGk.js";
|
|
6
6
|
import { Suspense as s, lazy as c, useCallback as l, useEffect as u, useMemo as d, useRef as f, useState as p } from "react";
|
|
7
7
|
import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../src/modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../src/modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAe1D,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpC,MAAM,WAAW,qBAAqB;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAExD,CAAC;AAGF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,CAMnF,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAQvD,CAAC;AAGF,KAAK,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC,qBAAqB,EAAE,OAAO,YAAY,CAAC,CAAC;AACrF,KAAK,cAAc,GAAG,KAAK,CAAC,YAAY,CAAC,qBAAqB,EAAE,OAAO,YAAY,CAAC,CAAC;AACrF,KAAK,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC,qBAAqB,EAAE,OAAO,WAAW,CAAC,CAAC;AAEnF,KAAK,aAAa,GACjB;IAAC,cAAc;IAAE,cAAc;IAAE,aAAa;CAAC,GAAG,CAAC,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,GAAG,cAAc,CAAC;AAEvI,MAAM,WAAW,UAAU;IAC1B,gCAAgC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,OAAO,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,aAAa,CAAC;CACxB;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CA+GtC,CAAC"}
|
package/dist/modal/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../chunks/modal-
|
|
1
|
+
import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "../chunks/modal-DiQ-yR71.js";
|
|
2
2
|
export { n as Modal, i as ModalContent, t as ModalFooter, r as ModalManagerContext, o as ModalManagerProvider, e as ModalToolbar, a as useModalManager };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Варианты задают единый спокойный переход для появления и удаления modal-панели.
|
|
3
|
+
* Конфигурация приватна для primitive: потребители управляют только состоянием `isOpen`.
|
|
4
|
+
*/
|
|
5
|
+
export declare const modalMotionVariants: {
|
|
6
|
+
hidden: {
|
|
7
|
+
opacity: number;
|
|
8
|
+
scale: number;
|
|
9
|
+
y: number;
|
|
10
|
+
};
|
|
11
|
+
visible: {
|
|
12
|
+
opacity: number;
|
|
13
|
+
scale: number;
|
|
14
|
+
y: number;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
/** Переход сохраняет отзывчивое открытие и дает exit-анимации завершиться до удаления portal content. */
|
|
18
|
+
export declare const modalMotionTransition: {
|
|
19
|
+
duration: number;
|
|
20
|
+
ease: [number, number, number, number];
|
|
21
|
+
};
|
|
22
|
+
/** При системном reduced-motion остается только мгновенная смена видимости без пространственного движения. */
|
|
23
|
+
export declare const reducedModalMotionTransition: {
|
|
24
|
+
duration: number;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=modalMotion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modalMotion.d.ts","sourceRoot":"","sources":["../../src/modal/modalMotion.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;CAWZ,CAAC;AAErB,yGAAyG;AACzG,eAAO,MAAM,qBAAqB;;;CAGZ,CAAC;AAEvB,8GAA8G;AAC9G,eAAO,MAAM,4BAA4B;;CAEnB,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { a as t, n, t as r } from "../chunks/types-CxXyru6U.js";
|
|
|
3
3
|
import { jsx as i } from "react/jsx-runtime";
|
|
4
4
|
//#region src/text-editor/TextEditorLexical.tsx
|
|
5
5
|
function a() {
|
|
6
|
-
return import("../chunks/TextEditorLexicalClient-
|
|
6
|
+
return import("../chunks/TextEditorLexicalClient-DDe1NezE.js").then((e) => ({ TextEditorLexicalClient: e.TextEditorLexicalClient }));
|
|
7
7
|
}
|
|
8
8
|
function o(t) {
|
|
9
9
|
return /* @__PURE__ */ i(e, {
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,n as s,p as c,r as l,u}from"./blocks-
|
|
1
|
+
import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,n as s,p as c,r as l,u}from"./blocks-B-ZSUli0.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-B8QUPqDz.js";import{Appearances as p,Basic as m,RemovableList as h,Sizes as g,Tones as _,n as v,t as y}from"./Badge.stories-BYFVnpXD.js";function b(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(a,{of:y,parameters:{atomicCanvas:!0,layout:`padded`,docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,S.jsx)(c,{children:`Badge`}),`
|
|
3
3
|
`,(0,S.jsx)(i,{children:`Компактная текстовая метка для статусов, категорий, фильтров и коротких служебных пометок`}),`
|
|
4
4
|
`,(0,S.jsx)(o.p,{children:`Badge подходит для коротких подписей, которые должны быстро читаться и не перегружать интерфейс:`}),`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{C as r}from"./iframe-
|
|
1
|
+
import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{C as r}from"./iframe-D1kbCBk7.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,i as o}from"./utils-Bgk51jNr.js";import{o as s,t as c}from"./lucide-react-DItxRogI.js";import{n as l,t as u}from"./text-CxC7Ibdz.js";import{i as d,n as f,r as p,t as m}from"./uiClasses-CaHp0EWd.js";import{o as h}from"./Flex-D2dKtJQc.js";import{t as g}from"./flex-DH0uZKDL.js";var _,v,y,b,x,S,C,w,T,E,D=n((()=>{_=`qBtmnH`,v=`p-HsHY`,y=`u9tQAE`,b=`FRScRz`,x=`W13uQO`,S=`_3IRcM9`,C=`R3ybI7`,w=`DdWAaC`,T=`_5cXBQF`,E={badge:_,passive:v,sizeXs:y,sizeSm:b,sizeMd:x,sizeLg:S,sizeXl:C,content:w,removeButton:T}}));function O({children:e,size:t=`sm`,tone:n,appearance:r,className:i,onRemove:o}){let c=n??`neutral`,u=d({tone:n,appearance:r,fallbackTone:c,fallbackAppearance:c===`neutral`?`outline`:`solid`});return(0,k.jsxs)(`div`,{className:a(E.badge,A[t],f(u.tone),m(u.appearance),!o&&E.passive,i),children:[(0,k.jsx)(l,{maxChar:25,placement:`top`,block:!0,textWrapProps:{className:E.content},children:String(e)}),o&&(0,k.jsx)(`button`,{type:`button`,onClick:o,className:E.removeButton,"aria-label":`Удалить бейдж`,"data-ui":`badge-remove-button`,"data-action":`remove-badge`,children:(0,k.jsx)(s,{})})]})}var k,A,j=n((()=>{o(),c(),u(),p(),D(),k=i(),A={xs:E.sizeXs,sm:E.sizeSm,md:E.sizeMd,lg:E.sizeLg,xl:E.sizeXl},O.__docgenInfo={description:`Компактный индикатор для статусов, категорий и коротких служебных меток.`,methods:[],displayName:`Badge`,props:{children:{required:!0,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},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:``,defaultValue:{value:`"sm"`,computed:!1}},tone:{required:!1,tsType:{name:`union`,raw:`"neutral" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"neutral"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`}]},description:``},appearance:{required:!1,tsType:{name:`union`,raw:`"solid" | "outline" | "ghost" | "transparent"`,elements:[{name:`literal`,value:`"solid"`},{name:`literal`,value:`"outline"`},{name:`literal`,value:`"ghost"`},{name:`literal`,value:`"transparent"`}]},description:``},className:{required:!1,tsType:{name:`string`},description:``},onRemove:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}}}}));function M({children:e}){return(0,P.jsx)(h,{inline:!0,wrap:!0,gap:`sm`,align:`baseline`,children:N.Children.map(e,(e,t)=>(0,P.jsx)(N.Fragment,{children:e},t))})}var N,P,F=n((()=>{N=t(r(),1),g(),P=i(),M.__docgenInfo={description:"Контейнер для группы `Badge`, который выстраивает элементы в единый список с предсказуемыми отступами. Используется для компактного вывода набора меток или фильтров.",methods:[],displayName:`BadgeList`,props:{children:{required:!0,tsType:{name:`Array`,elements:[{name:`ReactElement`,elements:[{name:`union`,raw:`typeof Badge | null | undefined | false`,elements:[{name:`Badge`},{name:`null`},{name:`undefined`},{name:`literal`,value:`false`}]}],raw:`ReactElement<typeof Badge | null | undefined | false>`}],raw:`ReactElement<typeof Badge | null | undefined | false>[]`},description:``}}}})),I=e({Appearances:()=>H,Basic:()=>B,RemovableList:()=>W,Sizes:()=>U,Tones:()=>V,__namedExportsOrder:()=>G,default:()=>z}),L,R,z,B,V,H,U,W,G,K=n((()=>{L=t(r(),1),j(),F(),R=i(),z={title:`Shared/UI/Badge`,component:O,args:{children:`Новый`,size:`md`,tone:`info`,appearance:`solid`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{children:{description:`Текст внутри бейджа.`,control:`text`},size:{description:`Размер бейджа.`,control:`inline-radio`,options:[`sm`,`md`,`lg`]},tone:{description:`Семантический тон бейджа.`,control:`inline-radio`,options:[`neutral`,`success`,`warning`,`error`,`info`]},appearance:{description:`Форма бейджа.`,control:`inline-radio`,options:[`solid`,`outline`,`ghost`,`transparent`]},onRemove:{description:`Показывает кнопку удаления и вызывает обработчик по клику.`,control:!1},className:{description:`Дополнительный CSS-класс контейнера.`,control:`text`}}},B={},V={render:()=>(0,R.jsxs)(M,{children:[(0,R.jsx)(O,{tone:`neutral`,appearance:`outline`,children:`Neutral`}),(0,R.jsx)(O,{tone:`success`,appearance:`solid`,children:`Успешно`}),(0,R.jsx)(O,{tone:`warning`,appearance:`solid`,children:`Внимание`}),(0,R.jsx)(O,{tone:`error`,appearance:`solid`,children:`Ошибка`}),(0,R.jsx)(O,{tone:`info`,appearance:`solid`,children:`Информация`})]})},H={render:()=>(0,R.jsxs)(M,{children:[(0,R.jsx)(O,{tone:`neutral`,appearance:`solid`,children:`Solid`}),(0,R.jsx)(O,{tone:`neutral`,appearance:`outline`,children:`Outline`}),(0,R.jsx)(O,{tone:`info`,appearance:`ghost`,children:`Ghost`}),(0,R.jsx)(O,{tone:`warning`,appearance:`transparent`,children:`Transparent`})]})},U={render:()=>(0,R.jsxs)(M,{children:[(0,R.jsx)(O,{size:`xs`,children:`Extra Small`}),(0,R.jsx)(O,{size:`sm`,children:`Small`}),(0,R.jsx)(O,{size:`md`,children:`Medium`}),(0,R.jsx)(O,{size:`lg`,children:`Large`}),(0,R.jsx)(O,{size:`xl`,children:`Extra Large`})]})},W={render:()=>{let[e,t]=(0,L.useState)([`Фильтр A`,`Фильтр B`,`Фильтр C`]);return(0,R.jsx)(M,{children:e.map(e=>(0,R.jsx)(O,{tone:`info`,appearance:`outline`,onRemove:()=>t(t=>t.filter(t=>t!==e)),children:e},e))})}},B.parameters={...B.parameters,docs:{...B.parameters?.docs,source:{originalSource:`{}`,...B.parameters?.docs?.source}}},V.parameters={...V.parameters,docs:{...V.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
render: () => <BadgeList>
|
|
3
3
|
<Badge tone="neutral" appearance="outline">
|
|
4
4
|
Neutral
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,n as s,p as c,r as l,u}from"./blocks-
|
|
1
|
+
import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,n as s,p as c,r as l,u}from"./blocks-B-ZSUli0.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-B8QUPqDz.js";import{Basic as p,ComposableScheme as m,Variants as h,WithIcons as g,n as _,t as v}from"./Button.stories-BPUX-pUU.js";function y(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(a,{of:v,parameters:{atomicCanvas:!0,layout:`padded`,docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,x.jsx)(c,{children:`Button`}),`
|
|
3
3
|
`,(0,x.jsx)(i,{children:`Базовая action-кнопка дизайн-системы для пользовательских действий, подтверждений и быстрых операций`}),`
|
|
4
4
|
`,(0,x.jsxs)(o.p,{children:[(0,x.jsx)(o.code,{children:`Button`}),` используется как универсальная кнопка интерфейса: в формах, тулбарах, модальных окнах, карточках, таблицах и компактных icon-only сценариях.`]}),`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-
|
|
1
|
+
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-D1kbCBk7.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,i as a}from"./utils-Bgk51jNr.js";import{n as o,t as s}from"./popover-Bmfe__Oe.js";import{n as c,t as l}from"./ui.module-wFHXkJzp.js";import{i as u,n as d,r as f,t as p}from"./uiClasses-CaHp0EWd.js";var m,h,g,_,v,y=t((()=>{m=`wLOHwj`,h=`lFsM-Y`,g=`LPob63`,_=`tsaGtv`,v={button:m,iconOnly:h,buttonInner:g,buttonIcon:_}})),b,x,S,C=t((()=>{b=e(n(),1),a(),s(),l(),f(),y(),x=r(),S=(0,b.forwardRef)(function({children:e,disabled:t,className:n,icon:r,iconEnd:a,title:s,variant:l,tone:f,appearance:m,type:h=`button`,"aria-label":g,..._},y){let S=b.Children.count(e)>0,C=!!r&&!S,w=u({variant:l,tone:f,appearance:m,fallbackAppearance:f&&f!==`neutral`?`solid`:`outline`}),T=C?g??s:g,E=(0,x.jsx)(`button`,{..._,ref:y,type:h,disabled:t,"aria-label":T,className:i(c.uiElement,c.uiInputControl,v.button,d(w.tone),p(w.appearance),C?v.iconOnly:``,`textNoWrap`,n??``),children:(0,x.jsxs)(`span`,{className:v.buttonInner,children:[r&&!a&&(0,x.jsx)(`span`,{"aria-hidden":`true`,className:v.buttonIcon,children:r}),S&&(0,x.jsx)(`span`,{className:`flexEllipsis`,children:e}),r&&a&&(0,x.jsx)(`span`,{"aria-hidden":`true`,className:v.buttonIcon,children:r})]})});return s?(0,x.jsx)(o,{placement:`bottom`,tooltip:!0,content:(0,x.jsx)(x.Fragment,{children:s}),children:E}):E}),S.__docgenInfo={description:'Базовая кнопка дизайн-системы для пользовательских действий.\nПоддерживает состояния, tone + appearance, иконки и безопасный `type="button"` по умолчанию.',methods:[],displayName:`Button`,props:{variant:{required:!1,tsType:{name:`union`,raw:`| "transparent"
|
|
2
2
|
| "ghost"
|
|
3
3
|
| "neutral"
|
|
4
4
|
| "error"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,i as t}from"./preload-helper-B45gAKPr.js";import{t as n}from"./jsx-runtime-BBQGix-2.js";import{J as r,Mt as i,t as a,w as o,wt as s}from"./lucide-react-
|
|
1
|
+
import{a as e,i as t}from"./preload-helper-B45gAKPr.js";import{t as n}from"./jsx-runtime-BBQGix-2.js";import{J as r,Mt as i,t as a,w as o,wt as s}from"./lucide-react-DItxRogI.js";import{n as c,t as l}from"./Button-rWpfFmWo.js";var u=e({Basic:()=>m,ComposableScheme:()=>g,Variants:()=>h,WithIcons:()=>_,__namedExportsOrder:()=>v,default:()=>p}),d,f,p,m,h,g,_,v,y=t((()=>{a(),c(),d=n(),{fn:f}=__STORYBOOK_MODULE_TEST__,p={title:`Shared/UI/Button`,component:l,args:{children:`Действие`,variant:`neutralOutline`,disabled:!1,iconEnd:!1,onClick:f()},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{children:{description:`Текстовое содержимое кнопки.`,control:`text`},variant:{description:"Готовая схема для обратной совместимости. Если заданы `tone` или `appearance`, они имеют приоритет.",control:`select`,options:[`neutral`,`neutralOutline`,`ghost`,`error`,`warning`,`success`,`info`,`errorOutline`,`warningOutline`,`successOutline`,`infoOutline`,`transparent`]},tone:{description:`Семантический тон кнопки.`,control:`inline-radio`,options:[`neutral`,`error`,`warning`,`success`,`info`]},appearance:{description:`Визуальная форма кнопки.`,control:`inline-radio`,options:[`solid`,`outline`,`ghost`,`transparent`]},icon:{description:`Иконка слева или справа от текста.`,control:!1},iconEnd:{description:`Перемещает иконку в конец кнопки.`,control:`boolean`},title:{description:"Текст тултипа и `aria-label` для кнопки.",control:`text`},disabled:{description:`Блокирует нажатие.`,control:`boolean`},onClick:{description:`Вызывается при нажатии на кнопку.`,control:!1},className:{description:`Дополнительный CSS-класс.`,control:`text`}}},m={},h={render:()=>(0,d.jsxs)(`div`,{style:{display:`grid`,gap:12,gridTemplateColumns:`repeat(auto-fit, minmax(180px, 1fr))`},children:[(0,d.jsx)(l,{variant:`neutral`,children:`Neutral Solid`}),(0,d.jsx)(l,{variant:`neutralOutline`,children:`Neutral Outline`}),(0,d.jsx)(l,{variant:`ghost`,children:`Ghost`}),(0,d.jsx)(l,{variant:`info`,children:`Info Solid`}),(0,d.jsx)(l,{variant:`success`,children:`Success Solid`}),(0,d.jsx)(l,{variant:`warning`,children:`Warning Solid`}),(0,d.jsx)(l,{variant:`error`,children:`Error Solid`}),(0,d.jsx)(l,{variant:`infoOutline`,children:`Info Outline`}),(0,d.jsx)(l,{variant:`successOutline`,children:`Success Outline`}),(0,d.jsx)(l,{variant:`warningOutline`,children:`Warning Outline`}),(0,d.jsx)(l,{variant:`errorOutline`,children:`Error Outline`}),(0,d.jsx)(l,{variant:`transparent`,children:`Transparent`})]}),args:{children:`Действие`}},g={render:()=>(0,d.jsxs)(`div`,{style:{display:`grid`,gap:12,gridTemplateColumns:`repeat(auto-fit, minmax(180px, 1fr))`},children:[(0,d.jsx)(l,{tone:`neutral`,appearance:`solid`,children:`Neutral Solid`}),(0,d.jsx)(l,{tone:`neutral`,appearance:`outline`,children:`Neutral Outline`}),(0,d.jsx)(l,{tone:`neutral`,appearance:`ghost`,children:`Neutral Ghost`}),(0,d.jsx)(l,{tone:`info`,appearance:`outline`,children:`Info Outline`}),(0,d.jsx)(l,{tone:`success`,appearance:`solid`,children:`Success Solid`}),(0,d.jsx)(l,{tone:`error`,appearance:`transparent`,children:`Error Transparent`})]})},_={render:()=>(0,d.jsxs)(`div`,{style:{display:`flex`,gap:12,flexWrap:`wrap`},children:[(0,d.jsx)(l,{icon:(0,d.jsx)(r,{}),children:`Скачать`}),(0,d.jsx)(l,{icon:(0,d.jsx)(o,{}),tone:`info`,appearance:`solid`,children:`Создать`}),(0,d.jsx)(l,{icon:(0,d.jsx)(s,{}),iconEnd:!0,tone:`success`,appearance:`solid`,children:`Подтвердить`}),(0,d.jsx)(l,{icon:(0,d.jsx)(i,{}),title:`Уведомления`})]}),args:{children:`Действие`}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
// play: async function ({ args, canvas, userEvent }) {
|
|
3
3
|
// const button = canvas.getByRole("button", { name: /button/i });
|
|
4
4
|
// // 👇 Simulate behavior
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-
|
|
1
|
+
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-D1kbCBk7.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,i as a}from"./utils-Bgk51jNr.js";import{g as o,t as s}from"./lucide-react-DItxRogI.js";import{n as c,t as l}from"./ui.module-wFHXkJzp.js";import{n as u,r as d}from"./uiClasses-CaHp0EWd.js";import{n as f,t as p}from"./CheckBox.module-Hr3mvdAC.js";function m({label:e,description:t,placeholder:n,disabled:r,size:a,className:s,onChange:l,value:d,noWrap:f,id:m,tone:_=`neutral`,...v}){let y=(0,h.useId)(),b=m??y,x=t?`${b}-description`:void 0,S=e??n,C=d??!1;return(0,g.jsxs)(`div`,{className:i(c.uiElement,a&&c.uiSizable,a&&c[a],r&&c.disabled,s),"aria-disabled":r||void 0,children:[(0,g.jsxs)(`div`,{className:p.row,children:[(0,g.jsxs)(`div`,{className:i(p.wrapper,u(_)),children:[(0,g.jsx)(`input`,{...v,id:b,type:`checkbox`,checked:C,disabled:r,"aria-checked":C,"aria-describedby":x,className:i(c.uiSelectionControl,p.input),onChange:()=>l?.(!C)}),(0,g.jsx)(`div`,{className:i(c.uiSelectionIcon,p.icon),"aria-hidden":`true`,children:(0,g.jsx)(o,{})})]}),S&&(0,g.jsx)(`label`,{htmlFor:b,className:i(c.uiLabelBase,f&&`textNoWrap`),children:S})]}),t&&(0,g.jsx)(`p`,{id:x,className:c.uiDescription,children:t})]})}var h,g,_=t((()=>{h=e(n(),1),a(),s(),l(),d(),f(),g=r(),m.__docgenInfo={description:`Компонент флажка для выбора булевого значения в формах и списках.
|
|
2
2
|
Поддерживает tone + appearance и использует общие selection utility-классы из ui.module.scss.`,methods:[],displayName:`CheckBox`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},tone:{required:!1,tsType:{name:`union`,raw:`"neutral" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"neutral"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`}]},description:``,defaultValue:{value:`"neutral"`,computed:!1}},noWrap:{required:!1,tsType:{name:`boolean`},description:``}},composes:[`Omit`]}}));export{_ as n,m as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,n as s,p as c,r as l,u}from"./blocks-
|
|
1
|
+
import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,n as s,p as c,r as l,u}from"./blocks-B-ZSUli0.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-B8QUPqDz.js";import{Controlled as p,Disabled as m,Sizes as h,Tones as g,n as _,t as v}from"./CheckBox.stories-Zz7HW_Tt.js";function y(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(a,{of:v,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,x.jsx)(c,{children:`CheckBox`}),`
|
|
3
3
|
`,(0,x.jsx)(i,{children:`Флажок для булевых полей с общими UI-схемами tone и appearance`}),`
|
|
4
4
|
`,(0,x.jsx)(o.p,{children:`CheckBox уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|
package/storybook-static/assets/{CheckBox.stories-B2P4Xgjx.js → CheckBox.stories-Zz7HW_Tt.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{C as r}from"./iframe-
|
|
1
|
+
import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{C as r}from"./iframe-D1kbCBk7.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{n as a,t as o}from"./CheckBox-BRmxHv5c.js";var s=e({Controlled:()=>d,Disabled:()=>m,Sizes:()=>p,Tones:()=>f,__namedExportsOrder:()=>h,default:()=>u}),c,l,u,d,f,p,m,h,g=n((()=>{c=t(r(),1),a(),l=i(),u={title:`Shared/UI/CheckBox`,component:o,args:{value:!1,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст основной подписи чекбокса.`,control:`text`},description:{description:`Дополнительное описание под элементом.`,control:`text`},placeholder:{description:"Текст подписи, если `label` не задан.",control:`text`},value:{description:`Текущее состояние чекбокса.`,control:`boolean`},onChange:{description:`Вызывается при изменении состояния.`,control:!1},disabled:{description:`Блокирует взаимодействие с элементом.`,control:`boolean`},size:{description:`Размер визуального контрола и текста.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},tone:{description:`Семантический тон чекбокса.`,control:`inline-radio`,options:[`neutral`,`error`,`warning`,`success`,`info`]}}},d={render:e=>{let[t,n]=(0,c.useState)(e.value??!1);return(0,l.jsx)(o,{...e,value:t,onChange:n})},args:{label:`Принимать условия`,description:`Подтверждение условий использования сервиса.`,value:!1,size:`md`,disabled:!1,tone:`neutral`}},f={render:()=>{let[e,t]=(0,c.useState)({neutral:!0,info:!0,success:!0,warning:!0,error:!0});return(0,l.jsx)(`div`,{style:{display:`grid`,gap:12},children:[`neutral`,`info`,`success`,`warning`,`error`].map(n=>(0,l.jsx)(o,{tone:n,label:`Тон ${n}`,value:e[n],onChange:e=>t(t=>({...t,[n]:e}))},n))})}},p={render:()=>{let[e,t]=(0,c.useState)({xs:!1,sm:!0,md:!1,lg:!0,xl:!1});return(0,l.jsx)(`div`,{style:{display:`grid`,gap:12},children:[`xs`,`sm`,`md`,`lg`,`xl`].map(n=>(0,l.jsx)(o,{size:n,label:`Размер ${n}`,value:e[n],onChange:e=>t(t=>({...t,[n]:e}))},n))})}},m={args:{label:`Недоступный чекбокс`,description:`Изменение недоступно из-за прав доступа.`,value:!0,disabled:!0,tone:`neutral`}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
render: args => {
|
|
3
3
|
const [value, setValue] = useState(args.value ?? false);
|
|
4
4
|
return <CheckBox {...args} value={value} onChange={setValue} />;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n,n as r,r as i,t as a}from"./iframe-B1CjCwLr.js";import{S as o,_ as s,b as c,g as l,h as u,v as d,x as f,y as p}from"./blocks-BqMyWalM.js";import{a as m,l as h}from"./theming-4yGRJc-V.js";function ee(e,t,{signal:n,edges:r}={}){let i,a=null,o=r!=null&&r.includes(`leading`),s=r==null||r.includes(`trailing`),c=()=>{a!==null&&(e.apply(i,a),i=void 0,a=null)},l=()=>{s&&c(),p()},u=null,d=()=>{u!=null&&clearTimeout(u),u=setTimeout(()=>{u=null,l()},t)},f=()=>{u!==null&&(clearTimeout(u),u=null)},p=()=>{f(),i=void 0,a=null},m=()=>{c()},h=function(...e){if(n?.aborted)return;i=this,a=e;let t=u==null;d(),o&&t&&c()};return h.schedule=d,h.cancel=p,h.flush=m,n?.addEventListener(`abort`,p,{once:!0}),h}function g(e,...t){return _(e,ae,...t)}function _(e,t,...n){let r=function(...r){let i=0,a=n.slice().map(e=>e===t?r[i++]:e),o=r.slice(i);return e.apply(this,a.concat(o))};return e.prototype&&(r.prototype=Object.create(e.prototype)),r}function te(e,...t){return v(e,E,...t)}function v(e,t,...n){let r=function(...r){let i=n.filter(e=>e===t).length,a=Math.max(r.length-i,0),o=r.slice(0,a),s=a,c=n.slice().map(e=>e===t?r[s++]:e);return e.apply(this,o.concat(c))};return e.prototype&&(r.prototype=Object.create(e.prototype)),r}function y(){return(y=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function b(e,t){if(e==null)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(i[n]=e[n]);return i}function x(e){var t=(0,w.useRef)(e),n=(0,w.useRef)(function(e){t.current&&t.current(e)});return t.current=e,n.current}function S(e,t,n){var r=x(n),i=(0,w.useState)(function(){return e.toHsva(t)}),a=i[0],o=i[1],s=(0,w.useRef)({color:t,hsva:a});return(0,w.useEffect)(function(){if(!e.equal(t,s.current.color)){var n=e.toHsva(t);s.current={hsva:n,color:t},o(n)}},[t,e]),(0,w.useEffect)(function(){var t;W(a,s.current.hsva)||e.equal(t=e.fromHsva(a),s.current.color)||(s.current={hsva:a,color:t},r(t))},[a,e,r]),[a,(0,w.useCallback)(function(e){o(function(t){return Object.assign({},t,e)})},[])]}var C,w,ne,re,ie,T,ae,E,D,O,k,A,oe,j,M,N,P,se,ce,F,le,ue,de,fe,I,L,R,z,pe,B,me,V,H,U,W,G,he,ge,_e,ve,K,q,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,ke,Ae,je,Me,Ne,Pe,Fe,Ie,J,Le,Re,ze,Y,Be,Ve,X,He,Ue,We,Ge,Z,Ke,qe,Q,Je,$,Ye;t((()=>{o(),i(),C=e(n(),1),d(),c(),w=e(n(),1),m(),ne=a({"../../../node_modules/color-name/index.js"(e,t){t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}}}),re=a({"../../../node_modules/color-convert/conversions.js"(e,t){var n=ne(),r={};for(let e of Object.keys(n))r[n[e]]=e;var i={rgb:{channels:3,labels:`rgb`},hsl:{channels:3,labels:`hsl`},hsv:{channels:3,labels:`hsv`},hwb:{channels:3,labels:`hwb`},cmyk:{channels:4,labels:`cmyk`},xyz:{channels:3,labels:`xyz`},lab:{channels:3,labels:`lab`},lch:{channels:3,labels:`lch`},hex:{channels:1,labels:[`hex`]},keyword:{channels:1,labels:[`keyword`]},ansi16:{channels:1,labels:[`ansi16`]},ansi256:{channels:1,labels:[`ansi256`]},hcg:{channels:3,labels:[`h`,`c`,`g`]},apple:{channels:3,labels:[`r16`,`g16`,`b16`]},gray:{channels:1,labels:[`gray`]}};t.exports=i;for(let e of Object.keys(i)){if(!(`channels`in i[e]))throw Error(`missing channels property: `+e);if(!(`labels`in i[e]))throw Error(`missing channel labels property: `+e);if(i[e].labels.length!==i[e].channels)throw Error(`channel and label counts mismatch: `+e);let{channels:t,labels:n}=i[e];delete i[e].channels,delete i[e].labels,Object.defineProperty(i[e],"channels",{value:t}),Object.defineProperty(i[e],"labels",{value:n})}i.rgb.hsl=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=a-i,s,c;a===i?s=0:t===a?s=(n-r)/o:n===a?s=2+(r-t)/o:r===a&&(s=4+(t-n)/o),s=Math.min(s*60,360),s<0&&(s+=360);let l=(i+a)/2;return c=a===i?0:l<=.5?o/(a+i):o/(2-a-i),[s,c*100,l*100]},i.rgb.hsv=function(e){let t,n,r,i,a,o=e[0]/255,s=e[1]/255,c=e[2]/255,l=Math.max(o,s,c),u=l-Math.min(o,s,c),d=function(e){return(l-e)/6/u+1/2};return u===0?(i=0,a=0):(a=u/l,t=d(o),n=d(s),r=d(c),o===l?i=r-n:s===l?i=1/3+t-r:c===l&&(i=2/3+n-t),i<0?i+=1:i>1&&--i),[i*360,a*100,l*100]},i.rgb.hwb=function(e){let t=e[0],n=e[1],r=e[2],a=i.rgb.hsl(e)[0],o=1/255*Math.min(t,Math.min(n,r));return r=1-1/255*Math.max(t,Math.max(n,r)),[a,o*100,r*100]},i.rgb.cmyk=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(1-t,1-n,1-r),a=(1-t-i)/(1-i)||0,o=(1-n-i)/(1-i)||0,s=(1-r-i)/(1-i)||0;return[a*100,o*100,s*100,i*100]};function a(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}i.rgb.keyword=function(e){let t=r[e];if(t)return t;let i=1/0,o;for(let t of Object.keys(n)){let r=n[t],s=a(e,r);s<i&&(i=s,o=t)}return o},i.keyword.rgb=function(e){return n[e]},i.rgb.xyz=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;let i=t*.4124+n*.3576+r*.1805,a=t*.2126+n*.7152+r*.0722,o=t*.0193+n*.1192+r*.9505;return[i*100,a*100,o*100]},i.rgb.lab=function(e){let t=i.rgb.xyz(e),n=t[0],r=t[1],a=t[2];return n/=95.047,r/=100,a/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,[116*r-16,500*(n-r),200*(r-a)]},i.hsl.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100,i,a,o;if(n===0)return o=r*255,[o,o,o];i=r<.5?r*(1+n):r+n-r*n;let s=2*r-i,c=[0,0,0];for(let e=0;e<3;e++)a=t+1/3*-(e-1),a<0&&a++,a>1&&a--,o=6*a<1?s+(i-s)*6*a:2*a<1?i:3*a<2?s+(i-s)*(2/3-a)*6:s,c[e]=o*255;return c},i.hsl.hsv=function(e){let t=e[0],n=e[1]/100,r=e[2]/100,i=n,a=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,i*=a<=1?a:2-a;let o=(r+n)/2;return[t,(r===0?2*i/(a+i):2*n/(r+n))*100,o*100]},i.hsv.rgb=function(e){let t=e[0]/60,n=e[1]/100,r=e[2]/100,i=Math.floor(t)%6,a=t-Math.floor(t),o=255*r*(1-n),s=255*r*(1-n*a),c=255*r*(1-n*(1-a));switch(r*=255,i){case 0:return[r,c,o];case 1:return[s,r,o];case 2:return[o,r,c];case 3:return[o,s,r];case 4:return[c,o,r];case 5:return[r,o,s]}},i.hsv.hsl=function(e){let t=e[0],n=e[1]/100,r=e[2]/100,i=Math.max(r,.01),a,o;o=(2-n)*r;let s=(2-n)*i;return a=n*i,a/=s<=1?s:2-s,a||=0,o/=2,[t,a*100,o*100]},i.hwb.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100,i=n+r,a;i>1&&(n/=i,r/=i);let o=Math.floor(6*t),s=1-r;a=6*t-o,o&1&&(a=1-a);let c=n+a*(s-n),l,u,d;switch(o){default:case 6:case 0:l=s,u=c,d=n;break;case 1:l=c,u=s,d=n;break;case 2:l=n,u=s,d=c;break;case 3:l=n,u=c,d=s;break;case 4:l=c,u=n,d=s;break;case 5:l=s,u=n,d=c;break}return[l*255,u*255,d*255]},i.cmyk.rgb=function(e){let t=e[0]/100,n=e[1]/100,r=e[2]/100,i=e[3]/100,a=1-Math.min(1,t*(1-i)+i),o=1-Math.min(1,n*(1-i)+i),s=1-Math.min(1,r*(1-i)+i);return[a*255,o*255,s*255]},i.xyz.rgb=function(e){let t=e[0]/100,n=e[1]/100,r=e[2]/100,i,a,o;return i=t*3.2406+n*-1.5372+r*-.4986,a=t*-.9689+n*1.8758+r*.0415,o=t*.0557+n*-.204+r*1.057,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,i=Math.min(Math.max(0,i),1),a=Math.min(Math.max(0,a),1),o=Math.min(Math.max(0,o),1),[i*255,a*255,o*255]},i.xyz.lab=function(e){let t=e[0],n=e[1],r=e[2];return t/=95.047,n/=100,r/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,[116*n-16,500*(t-n),200*(n-r)]},i.lab.xyz=function(e){let t=e[0],n=e[1],r=e[2],i,a,o;a=(t+16)/116,i=n/500+a,o=a-r/200;let s=a**3,c=i**3,l=o**3;return a=s>.008856?s:(a-16/116)/7.787,i=c>.008856?c:(i-16/116)/7.787,o=l>.008856?l:(o-16/116)/7.787,i*=95.047,a*=100,o*=108.883,[i,a,o]},i.lab.lch=function(e){let t=e[0],n=e[1],r=e[2],i;return i=Math.atan2(r,n)*360/2/Math.PI,i<0&&(i+=360),[t,Math.sqrt(n*n+r*r),i]},i.lch.lab=function(e){let t=e[0],n=e[1],r=e[2]/360*2*Math.PI;return[t,n*Math.cos(r),n*Math.sin(r)]},i.rgb.ansi16=function(e,t=null){let[n,r,a]=e,o=t===null?i.rgb.hsv(e)[2]:t;if(o=Math.round(o/50),o===0)return 30;let s=30+(Math.round(a/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return o===2&&(s+=60),s},i.hsv.ansi16=function(e){return i.rgb.ansi16(i.hsv.rgb(e),e[2])},i.rgb.ansi256=function(e){let t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},i.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let n=(~~(e>50)+1)*.5;return[(t&1)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},i.ansi256.rgb=function(e){if(e>=232){let t=(e-232)*10+8;return[t,t,t]}e-=16;let t;return[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},i.rgb.hex=function(e){let t=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return`000000`.substring(t.length)+t},i.hex.rgb=function(e){let t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let n=t[0];t[0].length===3&&(n=n.split(``).map(e=>e+e).join(``));let r=parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},i.rgb.hcg=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.max(Math.max(t,n),r),a=Math.min(Math.min(t,n),r),o=i-a,s,c;return s=o<1?a/(1-o):0,c=o<=0?0:i===t?(n-r)/o%6:i===n?2+(r-t)/o:4+(t-n)/o,c/=6,c%=1,[c*360,o*100,s*100]},i.hsl.hcg=function(e){let t=e[1]/100,n=e[2]/100,r=n<.5?2*t*n:2*t*(1-n),i=0;return r<1&&(i=(n-.5*r)/(1-r)),[e[0],r*100,i*100]},i.hsv.hcg=function(e){let t=e[1]/100,n=e[2]/100,r=t*n,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],r*100,i*100]},i.hcg.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100;if(n===0)return[r*255,r*255,r*255];let i=[0,0,0],a=t%1*6,o=a%1,s=1-o,c=0;switch(Math.floor(a)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=s,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=s,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=s}return c=(1-n)*r,[(n*i[0]+c)*255,(n*i[1]+c)*255,(n*i[2]+c)*255]},i.hcg.hsv=function(e){let t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],r*100,n*100]},i.hcg.hsl=function(e){let t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],r*100,n*100]},i.hcg.hwb=function(e){let t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],(n-t)*100,(1-n)*100]},i.hwb.hcg=function(e){let t=e[1]/100,n=1-e[2]/100,r=n-t,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],r*100,i*100]},i.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},i.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},i.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},i.gray.hsl=function(e){return[0,0,e[0]]},i.gray.hsv=i.gray.hsl,i.gray.hwb=function(e){return[0,100,e[0]]},i.gray.cmyk=function(e){return[0,0,0,e[0]]},i.gray.lab=function(e){return[e[0],0,0]},i.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return`000000`.substring(n.length)+n},i.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}}),ie=a({"../../../node_modules/color-convert/route.js"(e,t){var n=re();function r(){let e={},t=Object.keys(n);for(let n=t.length,r=0;r<n;r++)e[t[r]]={distance:-1,parent:null};return e}function i(e){let t=r(),i=[e];for(t[e].distance=0;i.length;){let e=i.pop(),r=Object.keys(n[e]);for(let n=r.length,a=0;a<n;a++){let n=r[a],o=t[n];o.distance===-1&&(o.distance=t[e].distance+1,o.parent=e,i.unshift(n))}}return t}function a(e,t){return function(n){return t(e(n))}}function o(e,t){let r=[t[e].parent,e],i=n[t[e].parent][e],o=t[e].parent;for(;t[o].parent;)r.unshift(t[o].parent),i=a(n[t[o].parent][o],i),o=t[o].parent;return i.conversion=r,i}t.exports=function(e){let t=i(e),n={},r=Object.keys(t);for(let e=r.length,i=0;i<e;i++){let e=r[i];t[e].parent!==null&&(n[e]=o(e,t))}return n}}}),T=r(a({"../../../node_modules/color-convert/index.js"(e,t){var n=re(),r=ie(),i={},a=Object.keys(n);function o(e){let t=function(...t){let n=t[0];return n==null?n:(n.length>1&&(t=n),e(t))};return`conversion`in e&&(t.conversion=e.conversion),t}function s(e){let t=function(...t){let n=t[0];if(n==null)return n;n.length>1&&(t=n);let r=e(t);if(typeof r==`object`)for(let e=r.length,t=0;t<e;t++)r[t]=Math.round(r[t]);return r};return`conversion`in e&&(t.conversion=e.conversion),t}a.forEach(e=>{i[e]={},Object.defineProperty(i[e],"channels",{value:n[e].channels}),Object.defineProperty(i[e],"labels",{value:n[e].labels});let t=r(e);Object.keys(t).forEach(n=>{let r=t[n];i[e][n]=s(r),i[e][n].raw=o(r)})}),t.exports=i}})(),1),ae=Symbol(`partial.placeholder`),g.placeholder=ae,E=Symbol(`partialRight.placeholder`),te.placeholder=E,D=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e<t?t:e},O=function(e){return`touches`in e},k=function(e){return e&&e.ownerDocument.defaultView||self},A=function(e,t,n){var r=e.getBoundingClientRect(),i=O(t)?(function(e,t){for(var n=0;n<e.length;n++)if(e[n].identifier===t)return e[n];return e[0]})(t.touches,n):t;return{left:D((i.pageX-(r.left+k(e).pageXOffset))/r.width),top:D((i.pageY-(r.top+k(e).pageYOffset))/r.height)}},oe=function(e){!O(e)&&e.preventDefault()},j=w.memo(function(e){var t=e.onMove,n=e.onKey,r=b(e,[`onMove`,`onKey`]),i=(0,w.useRef)(null),a=x(t),o=x(n),s=(0,w.useRef)(null),c=(0,w.useRef)(!1),l=(0,w.useMemo)(function(){var e=function(e){oe(e),(O(e)?e.touches.length>0:e.buttons>0)&&i.current?a(A(i.current,e,s.current)):n(!1)},t=function(){return n(!1)};function n(n){var r=c.current,a=k(i.current),o=n?a.addEventListener:a.removeEventListener;o(r?`touchmove`:`mousemove`,e),o(r?`touchend`:`mouseup`,t)}return[function(e){var t=e.nativeEvent,r=i.current;if(r&&(oe(t),!(function(e,t){return t&&!O(e)})(t,c.current)&&r)){if(O(t)){c.current=!0;var o=t.changedTouches||[];o.length&&(s.current=o[0].identifier)}r.focus(),a(A(r,t,s.current)),n(!0)}},function(e){var t=e.which||e.keyCode;t<37||t>40||(e.preventDefault(),o({left:t===39?.05:t===37?-.05:0,top:t===40?.05:t===38?-.05:0}))},n]},[o,a]),u=l[0],d=l[1],f=l[2];return(0,w.useEffect)(function(){return f},[f]),w.createElement(`div`,y({},r,{onTouchStart:u,onMouseDown:u,className:`react-colorful__interactive`,ref:i,onKeyDown:d,tabIndex:0,role:`slider`}))}),M=function(e){return e.filter(Boolean).join(` `)},N=function(e){var t=e.color,n=e.left,r=e.top,i=r===void 0?.5:r,a=M([`react-colorful__pointer`,e.className]);return w.createElement(`div`,{className:a,style:{top:100*i+`%`,left:100*n+`%`}},w.createElement(`div`,{className:`react-colorful__pointer-fill`,style:{backgroundColor:t}}))},P=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=10**t),Math.round(n*e)/n},se={grad:.9,turn:360,rad:360/(2*Math.PI)},ce=function(e){return V(F(e))},F=function(e){return e[0]===`#`&&(e=e.substring(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?P(parseInt(e[3]+e[3],16)/255,2):1}:{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:e.length===8?P(parseInt(e.substring(6,8),16)/255,2):1}},le=function(e,t){return t===void 0&&(t=`deg`),Number(e)*(se[t]||1)},ue=function(e){var t=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return t?de({h:le(t[1],t[2]),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)}):{h:0,s:0,v:0,a:1}},de=function(e){var t=e.s,n=e.l;return{h:e.h,s:(t*=(n<50?n:100-n)/100)>0?2*t/(n+t)*100:0,v:n+t,a:e.a}},fe=function(e){return me(z(e))},I=function(e){var t=e.s,n=e.v,r=e.a,i=(200-t)*n/100;return{h:P(e.h),s:P(i>0&&i<200?t*n/100/(i<=100?i:200-i)*100:0),l:P(i/2),a:P(r,2)}},L=function(e){var t=I(e);return`hsl(`+t.h+`, `+t.s+`%, `+t.l+`%)`},R=function(e){var t=I(e);return`hsla(`+t.h+`, `+t.s+`%, `+t.l+`%, `+t.a+`)`},z=function(e){var t=e.h,n=e.s,r=e.v,i=e.a;t=t/360*6,n/=100,r/=100;var a=Math.floor(t),o=r*(1-n),s=r*(1-(t-a)*n),c=r*(1-(1-t+a)*n),l=a%6;return{r:P(255*[r,s,o,o,c,r][l]),g:P(255*[c,r,r,s,o,o][l]),b:P(255*[o,o,c,r,r,s][l]),a:P(i,2)}},pe=function(e){var t=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return t?V({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):{h:0,s:0,v:0,a:1}},B=function(e){var t=e.toString(16);return t.length<2?`0`+t:t},me=function(e){var t=e.r,n=e.g,r=e.b,i=e.a,a=i<1?B(P(255*i)):``;return`#`+B(t)+B(n)+B(r)+a},V=function(e){var t=e.r,n=e.g,r=e.b,i=e.a,a=Math.max(t,n,r),o=a-Math.min(t,n,r),s=o?a===t?(n-r)/o:a===n?2+(r-t)/o:4+(t-n)/o:0;return{h:P(60*(s<0?s+6:s)),s:P(a?o/a*100:0),v:P(a/255*100),a:i}},H=w.memo(function(e){var t=e.hue,n=e.onChange,r=M([`react-colorful__hue`,e.className]);return w.createElement(`div`,{className:r},w.createElement(j,{onMove:function(e){n({h:360*e.left})},onKey:function(e){n({h:D(t+360*e.left,0,360)})},"aria-label":`Hue`,"aria-valuenow":P(t),"aria-valuemax":`360`,"aria-valuemin":`0`},w.createElement(N,{className:`react-colorful__hue-pointer`,left:t/360,color:L({h:t,s:100,v:100,a:1})})))}),U=w.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:L({h:t.h,s:100,v:100,a:1})};return w.createElement(`div`,{className:`react-colorful__saturation`,style:r},w.createElement(j,{onMove:function(e){n({s:100*e.left,v:100-100*e.top})},onKey:function(e){n({s:D(t.s+100*e.left,0,100),v:D(t.v-100*e.top,0,100)})},"aria-label":`Color`,"aria-valuetext":`Saturation `+P(t.s)+`%, Brightness `+P(t.v)+`%`},w.createElement(N,{className:`react-colorful__saturation-pointer`,top:1-t.v/100,left:t.s/100,color:L(t)})))}),W=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0},G=function(e,t){return e.replace(/\s/g,``)===t.replace(/\s/g,``)},he=function(e,t){return e.toLowerCase()===t.toLowerCase()||W(F(e),F(t))},_e=typeof window<`u`?w.useLayoutEffect:w.useEffect,ve=function(){return ge||(typeof __webpack_nonce__<`u`?__webpack_nonce__:void 0)},K=new Map,q=function(e){_e(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!K.has(t)){var n=t.createElement(`style`);n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,K.set(t,n);var r=ve();r&&n.setAttribute(`nonce`,r),t.head.appendChild(n)}},[])},ye=function(e){var t=e.className,n=e.colorModel,r=e.color,i=r===void 0?n.defaultColor:r,a=e.onChange,o=b(e,[`className`,`colorModel`,`color`,`onChange`]),s=(0,w.useRef)(null);q(s);var c=S(n,i,a),l=c[0],u=c[1],d=M([`react-colorful`,t]);return w.createElement(`div`,y({},o,{ref:s,className:d}),w.createElement(U,{hsva:l,onChange:u}),w.createElement(H,{hue:l.h,onChange:u,className:`react-colorful__last-control`}))},be={defaultColor:`000`,toHsva:ce,fromHsva:function(e){return fe({h:e.h,s:e.s,v:e.v,a:1})},equal:he},xe=function(e){return w.createElement(ye,y({},e,{colorModel:be}))},Se=function(e){var t=e.className,n=e.hsva,r=e.onChange,i={backgroundImage:`linear-gradient(90deg, `+R(Object.assign({},n,{a:0}))+`, `+R(Object.assign({},n,{a:1}))+`)`},a=M([`react-colorful__alpha`,t]),o=P(100*n.a);return w.createElement(`div`,{className:a},w.createElement(`div`,{className:`react-colorful__alpha-gradient`,style:i}),w.createElement(j,{onMove:function(e){r({a:e.left})},onKey:function(e){r({a:D(n.a+e.left)})},"aria-label":`Alpha`,"aria-valuetext":o+`%`,"aria-valuenow":o,"aria-valuemin":`0`,"aria-valuemax":`100`},w.createElement(N,{className:`react-colorful__alpha-pointer`,left:n.a,color:R(n)})))},Ce=function(e){var t=e.className,n=e.colorModel,r=e.color,i=r===void 0?n.defaultColor:r,a=e.onChange,o=b(e,[`className`,`colorModel`,`color`,`onChange`]),s=(0,w.useRef)(null);q(s);var c=S(n,i,a),l=c[0],u=c[1],d=M([`react-colorful`,t]);return w.createElement(`div`,y({},o,{ref:s,className:d}),w.createElement(U,{hsva:l,onChange:u}),w.createElement(H,{hue:l.h,onChange:u}),w.createElement(Se,{hsva:l,onChange:u,className:`react-colorful__last-control`}))},we={defaultColor:`hsla(0, 0%, 0%, 1)`,toHsva:ue,fromHsva:R,equal:G},Te=function(e){return w.createElement(Ce,y({},e,{colorModel:we}))},Ee={defaultColor:`rgba(0, 0, 0, 1)`,toHsva:pe,fromHsva:function(e){var t=z(e);return`rgba(`+t.r+`, `+t.g+`, `+t.b+`, `+t.a+`)`},equal:G},De=function(e){return w.createElement(Ce,y({},e,{colorModel:Ee}))},Oe=h.div({position:`relative`,maxWidth:250}),ke=h.div({width:200,margin:5,".react-colorful__saturation":{borderRadius:`4px 4px 0 0`},".react-colorful__hue":{boxShadow:`inset 0 0 0 1px rgb(0 0 0 / 5%)`},".react-colorful__last-control":{borderRadius:`0 0 4px 4px`}}),Ae=h.div({display:`grid`,gridTemplateColumns:`repeat(9, 16px)`,gap:6,padding:3,marginTop:5,width:200}),je=e=>`url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity="0.05" fill="${e?`white`:`black`}"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')`,Me=h(u)(({value:e,selected:t,theme:n})=>({width:16,height:16,boxShadow:t?`${n.appBorderColor} 0 0 0 1px inset, ${n.textMutedColor}50 0 0 0 4px`:`${n.appBorderColor} 0 0 0 1px inset`,border:`none`,borderRadius:n.appBorderRadius,"&, &:hover":{background:`unset`,backgroundColor:`unset`,backgroundImage:`linear-gradient(${e}, ${e}), ${je(n.base===`dark`)}`}})),Ne=h(l.Input)(({theme:e})=>({width:`100%`,paddingLeft:30,paddingRight:30,boxSizing:`border-box`,fontFamily:e.typography.fonts.base,'[aria-readonly="true"] > &':{background:e.base===`light`?e.color.lighter:`transparent`}})),Pe=h(Me)(({disabled:e})=>({position:`absolute`,top:4,left:4,zIndex:1,cursor:e?`not-allowed`:`pointer`})),Fe=h(u)(({theme:e})=>({position:`absolute`,zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:`border-box`,cursor:`pointer`,color:e.input.color})),Ie=(e=>(e.RGB=`rgb`,e.HSL=`hsl`,e.HEX=`hex`,e))(Ie||{}),J=Object.values(Ie),Le=/\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/,Re=/^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i,ze=/^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i,Y=/^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i,Be=/^\s*#?([0-9a-f]{3})\s*$/i,Ve={hex:xe,rgb:De,hsl:Te},X={hex:`transparent`,rgb:`rgba(0, 0, 0, 0)`,hsl:`hsla(0, 0%, 0%, 0)`},He=e=>{let t=e?.match(Le);if(!t)return[0,0,0,1];let[,n,r,i,a=1]=t;return[n,r,i,a].map(Number)},Ue=e=>{let[t,n,r,i]=He(e),[a,o,s]=T.default.rgb.hsl([t,n,r])||[0,0,0];return{valid:!0,value:e,keyword:T.default.rgb.keyword([t,n,r]),colorSpace:`rgb`,rgb:e,hsl:`hsla(${a}, ${o}%, ${s}%, ${i})`,hex:`#${T.default.rgb.hex([t,n,r]).toLowerCase()}`}},We=e=>{let[t,n,r,i]=He(e),[a,o,s]=T.default.hsl.rgb([t,n,r])||[0,0,0];return{valid:!0,value:e,keyword:T.default.hsl.keyword([t,n,r]),colorSpace:`hsl`,rgb:`rgba(${a}, ${o}, ${s}, ${i})`,hsl:e,hex:`#${T.default.hsl.hex([t,n,r]).toLowerCase()}`}},Ge=e=>{let t=e.replace(`#`,``),n=T.default.keyword.rgb(t)||T.default.hex.rgb(t),r=T.default.rgb.hsl(n),i=e;/[^#a-f0-9]/i.test(e)?i=t:Y.test(e)&&(i=`#${t}`);let a=!0;if(i.startsWith(`#`))a=Y.test(i);else try{T.default.keyword.hex(i)}catch{a=!1}return{valid:a,value:i,keyword:T.default.rgb.keyword(n),colorSpace:`hex`,rgb:`rgba(${n[0]}, ${n[1]}, ${n[2]}, 1)`,hsl:`hsla(${r[0]}, ${r[1]}%, ${r[2]}%, 1)`,hex:i}},Z=e=>{if(e)return Re.test(e)?Ue(e):ze.test(e)?We(e):Ge(e)},Ke=(e,t,n)=>{if(!e||!t?.valid)return X[n];if(n!==`hex`)return t?.[n]||X[n];if(!t.hex.startsWith(`#`))try{return`#${T.default.keyword.hex(t.hex)}`}catch{return X.hex}let r=t.hex.match(Be);if(!r)return Y.test(t.hex)?t.hex:X.hex;let[i,a,o]=r[1].split(``);return`#${i}${i}${a}${a}${o}${o}`},qe=(e,t)=>{let[n,r]=(0,C.useState)(e||``),[i,a]=(0,C.useState)(()=>Z(n)),[o,s]=(0,C.useState)(i?.colorSpace||`hex`);return(0,C.useEffect)(()=>{let t=e||``,n=Z(t);r(t),a(n),s(n?.colorSpace||`hex`)},[e]),{value:n,realValue:(0,C.useMemo)(()=>Ke(n,i,o).toLowerCase(),[n,i,o]),updateValue:(0,C.useCallback)(e=>{let n=Z(e),i=n?.value||e||``;r(i),i===``&&(a(void 0),t(void 0)),n&&(a(n),s(n.colorSpace),t(n.value))},[t]),color:i,colorSpace:o,cycleColorSpace:(0,C.useCallback)(()=>{let e=J[(J.indexOf(o)+1)%J.length];s(e);let n=i?.[e]||``;r(n),t(n)},[i,o,t])}},Q=e=>e.replace(/\s*/,``).toLowerCase(),Je=(e,t,n,r=27)=>{let[i,a]=(0,C.useState)(t?.valid?[t]:[]);(0,C.useEffect)(()=>{t===void 0&&a([])},[t]);let o=(0,C.useMemo)(()=>{let t=(e||[]).map(e=>typeof e==`string`?Z(e):e.title?{...Z(e.color),keyword:e.title}:Z(e.color)).concat(i).filter(Boolean);if(r===0||r===1/0)return t;let n=Number.isInteger(r)&&r>0?r:27;return t.slice(-n)},[e,i,r]);return{presets:o,addPreset:(0,C.useCallback)(e=>{e?.valid&&(o.some(t=>t&&t[n]&&Q(t[n]||``)===Q(e[n]||``))||a(t=>t.concat(e)))},[n,o])}},$=({name:e,storyId:t,value:n,onChange:r,onFocus:i,onBlur:a,presetColors:o,maxPresetColors:c,startOpen:l=!1,argType:u})=>{let{value:d,realValue:m,updateValue:h,color:g,colorSpace:_,cycleColorSpace:te}=qe(n,(0,C.useCallback)(ee(r,200),[r])),{presets:v,addPreset:y}=Je(o??[],g,_,c),b=Ve[_],x=!!u?.table?.readonly,S=f(e,t);return C.createElement(Oe,null,C.createElement(`label`,{htmlFor:S,className:`sb-sr-only`},e),C.createElement(Ne,{id:S,value:d,onChange:e=>h(e.target.value),onFocus:e=>e.target.select(),readOnly:x,placeholder:`Choose color...`}),C.createElement(s,{ariaLabel:`Color picker`,defaultVisible:l,visible:x?!1:void 0,onVisibleChange:()=>g&&y(g),popover:C.createElement(ke,null,C.createElement(b,{color:m===`transparent`?`#000000`:m,onChange:h,onFocus:i,onBlur:a}),v.length>0&&C.createElement(Ae,null,v.map((e,t)=>C.createElement(Me,{key:`${e?.value||t}-${t}`,variant:`ghost`,padding:`small`,size:`small`,ariaLabel:`Pick this color`,tooltip:e?.keyword||e?.value||``,value:e?.value||``,selected:!!(g&&e&&e[_]&&Q(e[_]||``)===Q(g[_])),onClick:()=>e&&h(e.value||``)}))))},C.createElement(Pe,{variant:`ghost`,padding:`small`,size:`small`,ariaLabel:`Open color picker`,value:m,style:{margin:4},disabled:x})),d?C.createElement(Fe,{variant:`ghost`,padding:`small`,size:`small`,ariaLabel:`Cycle through color spaces`,disabled:x,onClick:x?void 0:te},C.createElement(p,null)):null)},Ye=$}))();export{$ as ColorControl,Ye as default};
|
|
1
|
+
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n,n as r,r as i,t as a}from"./iframe-D1kbCBk7.js";import{S as o,_ as s,b as c,g as l,h as u,v as d,x as f,y as p}from"./blocks-B-ZSUli0.js";import{a as m,l as h}from"./theming-LaAgw3BX.js";function ee(e,t,{signal:n,edges:r}={}){let i,a=null,o=r!=null&&r.includes(`leading`),s=r==null||r.includes(`trailing`),c=()=>{a!==null&&(e.apply(i,a),i=void 0,a=null)},l=()=>{s&&c(),p()},u=null,d=()=>{u!=null&&clearTimeout(u),u=setTimeout(()=>{u=null,l()},t)},f=()=>{u!==null&&(clearTimeout(u),u=null)},p=()=>{f(),i=void 0,a=null},m=()=>{c()},h=function(...e){if(n?.aborted)return;i=this,a=e;let t=u==null;d(),o&&t&&c()};return h.schedule=d,h.cancel=p,h.flush=m,n?.addEventListener(`abort`,p,{once:!0}),h}function g(e,...t){return _(e,ae,...t)}function _(e,t,...n){let r=function(...r){let i=0,a=n.slice().map(e=>e===t?r[i++]:e),o=r.slice(i);return e.apply(this,a.concat(o))};return e.prototype&&(r.prototype=Object.create(e.prototype)),r}function te(e,...t){return v(e,E,...t)}function v(e,t,...n){let r=function(...r){let i=n.filter(e=>e===t).length,a=Math.max(r.length-i,0),o=r.slice(0,a),s=a,c=n.slice().map(e=>e===t?r[s++]:e);return e.apply(this,o.concat(c))};return e.prototype&&(r.prototype=Object.create(e.prototype)),r}function y(){return(y=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function b(e,t){if(e==null)return{};var n,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)t.indexOf(n=a[r])>=0||(i[n]=e[n]);return i}function x(e){var t=(0,w.useRef)(e),n=(0,w.useRef)(function(e){t.current&&t.current(e)});return t.current=e,n.current}function S(e,t,n){var r=x(n),i=(0,w.useState)(function(){return e.toHsva(t)}),a=i[0],o=i[1],s=(0,w.useRef)({color:t,hsva:a});return(0,w.useEffect)(function(){if(!e.equal(t,s.current.color)){var n=e.toHsva(t);s.current={hsva:n,color:t},o(n)}},[t,e]),(0,w.useEffect)(function(){var t;W(a,s.current.hsva)||e.equal(t=e.fromHsva(a),s.current.color)||(s.current={hsva:a,color:t},r(t))},[a,e,r]),[a,(0,w.useCallback)(function(e){o(function(t){return Object.assign({},t,e)})},[])]}var C,w,ne,re,ie,T,ae,E,D,O,k,A,oe,j,M,N,P,se,ce,F,le,ue,de,fe,I,L,R,z,pe,B,me,V,H,U,W,G,he,ge,_e,ve,K,q,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,ke,Ae,je,Me,Ne,Pe,Fe,Ie,J,Le,Re,ze,Y,Be,Ve,X,He,Ue,We,Ge,Z,Ke,qe,Q,Je,$,Ye;t((()=>{o(),i(),C=e(n(),1),d(),c(),w=e(n(),1),m(),ne=a({"../../../node_modules/color-name/index.js"(e,t){t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}}}),re=a({"../../../node_modules/color-convert/conversions.js"(e,t){var n=ne(),r={};for(let e of Object.keys(n))r[n[e]]=e;var i={rgb:{channels:3,labels:`rgb`},hsl:{channels:3,labels:`hsl`},hsv:{channels:3,labels:`hsv`},hwb:{channels:3,labels:`hwb`},cmyk:{channels:4,labels:`cmyk`},xyz:{channels:3,labels:`xyz`},lab:{channels:3,labels:`lab`},lch:{channels:3,labels:`lch`},hex:{channels:1,labels:[`hex`]},keyword:{channels:1,labels:[`keyword`]},ansi16:{channels:1,labels:[`ansi16`]},ansi256:{channels:1,labels:[`ansi256`]},hcg:{channels:3,labels:[`h`,`c`,`g`]},apple:{channels:3,labels:[`r16`,`g16`,`b16`]},gray:{channels:1,labels:[`gray`]}};t.exports=i;for(let e of Object.keys(i)){if(!(`channels`in i[e]))throw Error(`missing channels property: `+e);if(!(`labels`in i[e]))throw Error(`missing channel labels property: `+e);if(i[e].labels.length!==i[e].channels)throw Error(`channel and label counts mismatch: `+e);let{channels:t,labels:n}=i[e];delete i[e].channels,delete i[e].labels,Object.defineProperty(i[e],"channels",{value:t}),Object.defineProperty(i[e],"labels",{value:n})}i.rgb.hsl=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=a-i,s,c;a===i?s=0:t===a?s=(n-r)/o:n===a?s=2+(r-t)/o:r===a&&(s=4+(t-n)/o),s=Math.min(s*60,360),s<0&&(s+=360);let l=(i+a)/2;return c=a===i?0:l<=.5?o/(a+i):o/(2-a-i),[s,c*100,l*100]},i.rgb.hsv=function(e){let t,n,r,i,a,o=e[0]/255,s=e[1]/255,c=e[2]/255,l=Math.max(o,s,c),u=l-Math.min(o,s,c),d=function(e){return(l-e)/6/u+1/2};return u===0?(i=0,a=0):(a=u/l,t=d(o),n=d(s),r=d(c),o===l?i=r-n:s===l?i=1/3+t-r:c===l&&(i=2/3+n-t),i<0?i+=1:i>1&&--i),[i*360,a*100,l*100]},i.rgb.hwb=function(e){let t=e[0],n=e[1],r=e[2],a=i.rgb.hsl(e)[0],o=1/255*Math.min(t,Math.min(n,r));return r=1-1/255*Math.max(t,Math.max(n,r)),[a,o*100,r*100]},i.rgb.cmyk=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(1-t,1-n,1-r),a=(1-t-i)/(1-i)||0,o=(1-n-i)/(1-i)||0,s=(1-r-i)/(1-i)||0;return[a*100,o*100,s*100,i*100]};function a(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}i.rgb.keyword=function(e){let t=r[e];if(t)return t;let i=1/0,o;for(let t of Object.keys(n)){let r=n[t],s=a(e,r);s<i&&(i=s,o=t)}return o},i.keyword.rgb=function(e){return n[e]},i.rgb.xyz=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255;t=t>.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;let i=t*.4124+n*.3576+r*.1805,a=t*.2126+n*.7152+r*.0722,o=t*.0193+n*.1192+r*.9505;return[i*100,a*100,o*100]},i.rgb.lab=function(e){let t=i.rgb.xyz(e),n=t[0],r=t[1],a=t[2];return n/=95.047,r/=100,a/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,a=a>.008856?a**(1/3):7.787*a+16/116,[116*r-16,500*(n-r),200*(r-a)]},i.hsl.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100,i,a,o;if(n===0)return o=r*255,[o,o,o];i=r<.5?r*(1+n):r+n-r*n;let s=2*r-i,c=[0,0,0];for(let e=0;e<3;e++)a=t+1/3*-(e-1),a<0&&a++,a>1&&a--,o=6*a<1?s+(i-s)*6*a:2*a<1?i:3*a<2?s+(i-s)*(2/3-a)*6:s,c[e]=o*255;return c},i.hsl.hsv=function(e){let t=e[0],n=e[1]/100,r=e[2]/100,i=n,a=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,i*=a<=1?a:2-a;let o=(r+n)/2;return[t,(r===0?2*i/(a+i):2*n/(r+n))*100,o*100]},i.hsv.rgb=function(e){let t=e[0]/60,n=e[1]/100,r=e[2]/100,i=Math.floor(t)%6,a=t-Math.floor(t),o=255*r*(1-n),s=255*r*(1-n*a),c=255*r*(1-n*(1-a));switch(r*=255,i){case 0:return[r,c,o];case 1:return[s,r,o];case 2:return[o,r,c];case 3:return[o,s,r];case 4:return[c,o,r];case 5:return[r,o,s]}},i.hsv.hsl=function(e){let t=e[0],n=e[1]/100,r=e[2]/100,i=Math.max(r,.01),a,o;o=(2-n)*r;let s=(2-n)*i;return a=n*i,a/=s<=1?s:2-s,a||=0,o/=2,[t,a*100,o*100]},i.hwb.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100,i=n+r,a;i>1&&(n/=i,r/=i);let o=Math.floor(6*t),s=1-r;a=6*t-o,o&1&&(a=1-a);let c=n+a*(s-n),l,u,d;switch(o){default:case 6:case 0:l=s,u=c,d=n;break;case 1:l=c,u=s,d=n;break;case 2:l=n,u=s,d=c;break;case 3:l=n,u=c,d=s;break;case 4:l=c,u=n,d=s;break;case 5:l=s,u=n,d=c;break}return[l*255,u*255,d*255]},i.cmyk.rgb=function(e){let t=e[0]/100,n=e[1]/100,r=e[2]/100,i=e[3]/100,a=1-Math.min(1,t*(1-i)+i),o=1-Math.min(1,n*(1-i)+i),s=1-Math.min(1,r*(1-i)+i);return[a*255,o*255,s*255]},i.xyz.rgb=function(e){let t=e[0]/100,n=e[1]/100,r=e[2]/100,i,a,o;return i=t*3.2406+n*-1.5372+r*-.4986,a=t*-.9689+n*1.8758+r*.0415,o=t*.0557+n*-.204+r*1.057,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,o=o>.0031308?1.055*o**(1/2.4)-.055:o*12.92,i=Math.min(Math.max(0,i),1),a=Math.min(Math.max(0,a),1),o=Math.min(Math.max(0,o),1),[i*255,a*255,o*255]},i.xyz.lab=function(e){let t=e[0],n=e[1],r=e[2];return t/=95.047,n/=100,r/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,[116*n-16,500*(t-n),200*(n-r)]},i.lab.xyz=function(e){let t=e[0],n=e[1],r=e[2],i,a,o;a=(t+16)/116,i=n/500+a,o=a-r/200;let s=a**3,c=i**3,l=o**3;return a=s>.008856?s:(a-16/116)/7.787,i=c>.008856?c:(i-16/116)/7.787,o=l>.008856?l:(o-16/116)/7.787,i*=95.047,a*=100,o*=108.883,[i,a,o]},i.lab.lch=function(e){let t=e[0],n=e[1],r=e[2],i;return i=Math.atan2(r,n)*360/2/Math.PI,i<0&&(i+=360),[t,Math.sqrt(n*n+r*r),i]},i.lch.lab=function(e){let t=e[0],n=e[1],r=e[2]/360*2*Math.PI;return[t,n*Math.cos(r),n*Math.sin(r)]},i.rgb.ansi16=function(e,t=null){let[n,r,a]=e,o=t===null?i.rgb.hsv(e)[2]:t;if(o=Math.round(o/50),o===0)return 30;let s=30+(Math.round(a/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return o===2&&(s+=60),s},i.hsv.ansi16=function(e){return i.rgb.ansi16(i.hsv.rgb(e),e[2])},i.rgb.ansi256=function(e){let t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},i.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let n=(~~(e>50)+1)*.5;return[(t&1)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},i.ansi256.rgb=function(e){if(e>=232){let t=(e-232)*10+8;return[t,t,t]}e-=16;let t;return[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},i.rgb.hex=function(e){let t=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return`000000`.substring(t.length)+t},i.hex.rgb=function(e){let t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let n=t[0];t[0].length===3&&(n=n.split(``).map(e=>e+e).join(``));let r=parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},i.rgb.hcg=function(e){let t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.max(Math.max(t,n),r),a=Math.min(Math.min(t,n),r),o=i-a,s,c;return s=o<1?a/(1-o):0,c=o<=0?0:i===t?(n-r)/o%6:i===n?2+(r-t)/o:4+(t-n)/o,c/=6,c%=1,[c*360,o*100,s*100]},i.hsl.hcg=function(e){let t=e[1]/100,n=e[2]/100,r=n<.5?2*t*n:2*t*(1-n),i=0;return r<1&&(i=(n-.5*r)/(1-r)),[e[0],r*100,i*100]},i.hsv.hcg=function(e){let t=e[1]/100,n=e[2]/100,r=t*n,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],r*100,i*100]},i.hcg.rgb=function(e){let t=e[0]/360,n=e[1]/100,r=e[2]/100;if(n===0)return[r*255,r*255,r*255];let i=[0,0,0],a=t%1*6,o=a%1,s=1-o,c=0;switch(Math.floor(a)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=s,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=s,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=s}return c=(1-n)*r,[(n*i[0]+c)*255,(n*i[1]+c)*255,(n*i[2]+c)*255]},i.hcg.hsv=function(e){let t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],r*100,n*100]},i.hcg.hsl=function(e){let t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],r*100,n*100]},i.hcg.hwb=function(e){let t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],(n-t)*100,(1-n)*100]},i.hwb.hcg=function(e){let t=e[1]/100,n=1-e[2]/100,r=n-t,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],r*100,i*100]},i.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},i.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},i.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},i.gray.hsl=function(e){return[0,0,e[0]]},i.gray.hsv=i.gray.hsl,i.gray.hwb=function(e){return[0,100,e[0]]},i.gray.cmyk=function(e){return[0,0,0,e[0]]},i.gray.lab=function(e){return[e[0],0,0]},i.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return`000000`.substring(n.length)+n},i.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}}}),ie=a({"../../../node_modules/color-convert/route.js"(e,t){var n=re();function r(){let e={},t=Object.keys(n);for(let n=t.length,r=0;r<n;r++)e[t[r]]={distance:-1,parent:null};return e}function i(e){let t=r(),i=[e];for(t[e].distance=0;i.length;){let e=i.pop(),r=Object.keys(n[e]);for(let n=r.length,a=0;a<n;a++){let n=r[a],o=t[n];o.distance===-1&&(o.distance=t[e].distance+1,o.parent=e,i.unshift(n))}}return t}function a(e,t){return function(n){return t(e(n))}}function o(e,t){let r=[t[e].parent,e],i=n[t[e].parent][e],o=t[e].parent;for(;t[o].parent;)r.unshift(t[o].parent),i=a(n[t[o].parent][o],i),o=t[o].parent;return i.conversion=r,i}t.exports=function(e){let t=i(e),n={},r=Object.keys(t);for(let e=r.length,i=0;i<e;i++){let e=r[i];t[e].parent!==null&&(n[e]=o(e,t))}return n}}}),T=r(a({"../../../node_modules/color-convert/index.js"(e,t){var n=re(),r=ie(),i={},a=Object.keys(n);function o(e){let t=function(...t){let n=t[0];return n==null?n:(n.length>1&&(t=n),e(t))};return`conversion`in e&&(t.conversion=e.conversion),t}function s(e){let t=function(...t){let n=t[0];if(n==null)return n;n.length>1&&(t=n);let r=e(t);if(typeof r==`object`)for(let e=r.length,t=0;t<e;t++)r[t]=Math.round(r[t]);return r};return`conversion`in e&&(t.conversion=e.conversion),t}a.forEach(e=>{i[e]={},Object.defineProperty(i[e],"channels",{value:n[e].channels}),Object.defineProperty(i[e],"labels",{value:n[e].labels});let t=r(e);Object.keys(t).forEach(n=>{let r=t[n];i[e][n]=s(r),i[e][n].raw=o(r)})}),t.exports=i}})(),1),ae=Symbol(`partial.placeholder`),g.placeholder=ae,E=Symbol(`partialRight.placeholder`),te.placeholder=E,D=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e<t?t:e},O=function(e){return`touches`in e},k=function(e){return e&&e.ownerDocument.defaultView||self},A=function(e,t,n){var r=e.getBoundingClientRect(),i=O(t)?(function(e,t){for(var n=0;n<e.length;n++)if(e[n].identifier===t)return e[n];return e[0]})(t.touches,n):t;return{left:D((i.pageX-(r.left+k(e).pageXOffset))/r.width),top:D((i.pageY-(r.top+k(e).pageYOffset))/r.height)}},oe=function(e){!O(e)&&e.preventDefault()},j=w.memo(function(e){var t=e.onMove,n=e.onKey,r=b(e,[`onMove`,`onKey`]),i=(0,w.useRef)(null),a=x(t),o=x(n),s=(0,w.useRef)(null),c=(0,w.useRef)(!1),l=(0,w.useMemo)(function(){var e=function(e){oe(e),(O(e)?e.touches.length>0:e.buttons>0)&&i.current?a(A(i.current,e,s.current)):n(!1)},t=function(){return n(!1)};function n(n){var r=c.current,a=k(i.current),o=n?a.addEventListener:a.removeEventListener;o(r?`touchmove`:`mousemove`,e),o(r?`touchend`:`mouseup`,t)}return[function(e){var t=e.nativeEvent,r=i.current;if(r&&(oe(t),!(function(e,t){return t&&!O(e)})(t,c.current)&&r)){if(O(t)){c.current=!0;var o=t.changedTouches||[];o.length&&(s.current=o[0].identifier)}r.focus(),a(A(r,t,s.current)),n(!0)}},function(e){var t=e.which||e.keyCode;t<37||t>40||(e.preventDefault(),o({left:t===39?.05:t===37?-.05:0,top:t===40?.05:t===38?-.05:0}))},n]},[o,a]),u=l[0],d=l[1],f=l[2];return(0,w.useEffect)(function(){return f},[f]),w.createElement(`div`,y({},r,{onTouchStart:u,onMouseDown:u,className:`react-colorful__interactive`,ref:i,onKeyDown:d,tabIndex:0,role:`slider`}))}),M=function(e){return e.filter(Boolean).join(` `)},N=function(e){var t=e.color,n=e.left,r=e.top,i=r===void 0?.5:r,a=M([`react-colorful__pointer`,e.className]);return w.createElement(`div`,{className:a,style:{top:100*i+`%`,left:100*n+`%`}},w.createElement(`div`,{className:`react-colorful__pointer-fill`,style:{backgroundColor:t}}))},P=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=10**t),Math.round(n*e)/n},se={grad:.9,turn:360,rad:360/(2*Math.PI)},ce=function(e){return V(F(e))},F=function(e){return e[0]===`#`&&(e=e.substring(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?P(parseInt(e[3]+e[3],16)/255,2):1}:{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:e.length===8?P(parseInt(e.substring(6,8),16)/255,2):1}},le=function(e,t){return t===void 0&&(t=`deg`),Number(e)*(se[t]||1)},ue=function(e){var t=/hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return t?de({h:le(t[1],t[2]),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)}):{h:0,s:0,v:0,a:1}},de=function(e){var t=e.s,n=e.l;return{h:e.h,s:(t*=(n<50?n:100-n)/100)>0?2*t/(n+t)*100:0,v:n+t,a:e.a}},fe=function(e){return me(z(e))},I=function(e){var t=e.s,n=e.v,r=e.a,i=(200-t)*n/100;return{h:P(e.h),s:P(i>0&&i<200?t*n/100/(i<=100?i:200-i)*100:0),l:P(i/2),a:P(r,2)}},L=function(e){var t=I(e);return`hsl(`+t.h+`, `+t.s+`%, `+t.l+`%)`},R=function(e){var t=I(e);return`hsla(`+t.h+`, `+t.s+`%, `+t.l+`%, `+t.a+`)`},z=function(e){var t=e.h,n=e.s,r=e.v,i=e.a;t=t/360*6,n/=100,r/=100;var a=Math.floor(t),o=r*(1-n),s=r*(1-(t-a)*n),c=r*(1-(1-t+a)*n),l=a%6;return{r:P(255*[r,s,o,o,c,r][l]),g:P(255*[c,r,r,s,o,o][l]),b:P(255*[o,o,c,r,r,s][l]),a:P(i,2)}},pe=function(e){var t=/rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i.exec(e);return t?V({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):{h:0,s:0,v:0,a:1}},B=function(e){var t=e.toString(16);return t.length<2?`0`+t:t},me=function(e){var t=e.r,n=e.g,r=e.b,i=e.a,a=i<1?B(P(255*i)):``;return`#`+B(t)+B(n)+B(r)+a},V=function(e){var t=e.r,n=e.g,r=e.b,i=e.a,a=Math.max(t,n,r),o=a-Math.min(t,n,r),s=o?a===t?(n-r)/o:a===n?2+(r-t)/o:4+(t-n)/o:0;return{h:P(60*(s<0?s+6:s)),s:P(a?o/a*100:0),v:P(a/255*100),a:i}},H=w.memo(function(e){var t=e.hue,n=e.onChange,r=M([`react-colorful__hue`,e.className]);return w.createElement(`div`,{className:r},w.createElement(j,{onMove:function(e){n({h:360*e.left})},onKey:function(e){n({h:D(t+360*e.left,0,360)})},"aria-label":`Hue`,"aria-valuenow":P(t),"aria-valuemax":`360`,"aria-valuemin":`0`},w.createElement(N,{className:`react-colorful__hue-pointer`,left:t/360,color:L({h:t,s:100,v:100,a:1})})))}),U=w.memo(function(e){var t=e.hsva,n=e.onChange,r={backgroundColor:L({h:t.h,s:100,v:100,a:1})};return w.createElement(`div`,{className:`react-colorful__saturation`,style:r},w.createElement(j,{onMove:function(e){n({s:100*e.left,v:100-100*e.top})},onKey:function(e){n({s:D(t.s+100*e.left,0,100),v:D(t.v-100*e.top,0,100)})},"aria-label":`Color`,"aria-valuetext":`Saturation `+P(t.s)+`%, Brightness `+P(t.v)+`%`},w.createElement(N,{className:`react-colorful__saturation-pointer`,top:1-t.v/100,left:t.s/100,color:L(t)})))}),W=function(e,t){if(e===t)return!0;for(var n in e)if(e[n]!==t[n])return!1;return!0},G=function(e,t){return e.replace(/\s/g,``)===t.replace(/\s/g,``)},he=function(e,t){return e.toLowerCase()===t.toLowerCase()||W(F(e),F(t))},_e=typeof window<`u`?w.useLayoutEffect:w.useEffect,ve=function(){return ge||(typeof __webpack_nonce__<`u`?__webpack_nonce__:void 0)},K=new Map,q=function(e){_e(function(){var t=e.current?e.current.ownerDocument:document;if(t!==void 0&&!K.has(t)){var n=t.createElement(`style`);n.innerHTML=`.react-colorful{position:relative;display:flex;flex-direction:column;width:200px;height:200px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.react-colorful__saturation{position:relative;flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(0deg,#000,transparent),linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.react-colorful__alpha-gradient,.react-colorful__pointer-fill{content:"";position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;border-radius:inherit}.react-colorful__alpha-gradient,.react-colorful__saturation{box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.react-colorful__alpha,.react-colorful__hue{position:relative;height:24px}.react-colorful__hue{background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.react-colorful__last-control{border-radius:0 0 8px 8px}.react-colorful__interactive{position:absolute;left:0;top:0;right:0;bottom:0;border-radius:inherit;outline:none;touch-action:none}.react-colorful__pointer{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}.react-colorful__interactive:focus .react-colorful__pointer{transform:translate(-50%,-50%) scale(1.1)}.react-colorful__alpha,.react-colorful__alpha-pointer{background-color:#fff;background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity=".05"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')}.react-colorful__saturation-pointer{z-index:3}.react-colorful__hue-pointer{z-index:2}`,K.set(t,n);var r=ve();r&&n.setAttribute(`nonce`,r),t.head.appendChild(n)}},[])},ye=function(e){var t=e.className,n=e.colorModel,r=e.color,i=r===void 0?n.defaultColor:r,a=e.onChange,o=b(e,[`className`,`colorModel`,`color`,`onChange`]),s=(0,w.useRef)(null);q(s);var c=S(n,i,a),l=c[0],u=c[1],d=M([`react-colorful`,t]);return w.createElement(`div`,y({},o,{ref:s,className:d}),w.createElement(U,{hsva:l,onChange:u}),w.createElement(H,{hue:l.h,onChange:u,className:`react-colorful__last-control`}))},be={defaultColor:`000`,toHsva:ce,fromHsva:function(e){return fe({h:e.h,s:e.s,v:e.v,a:1})},equal:he},xe=function(e){return w.createElement(ye,y({},e,{colorModel:be}))},Se=function(e){var t=e.className,n=e.hsva,r=e.onChange,i={backgroundImage:`linear-gradient(90deg, `+R(Object.assign({},n,{a:0}))+`, `+R(Object.assign({},n,{a:1}))+`)`},a=M([`react-colorful__alpha`,t]),o=P(100*n.a);return w.createElement(`div`,{className:a},w.createElement(`div`,{className:`react-colorful__alpha-gradient`,style:i}),w.createElement(j,{onMove:function(e){r({a:e.left})},onKey:function(e){r({a:D(n.a+e.left)})},"aria-label":`Alpha`,"aria-valuetext":o+`%`,"aria-valuenow":o,"aria-valuemin":`0`,"aria-valuemax":`100`},w.createElement(N,{className:`react-colorful__alpha-pointer`,left:n.a,color:R(n)})))},Ce=function(e){var t=e.className,n=e.colorModel,r=e.color,i=r===void 0?n.defaultColor:r,a=e.onChange,o=b(e,[`className`,`colorModel`,`color`,`onChange`]),s=(0,w.useRef)(null);q(s);var c=S(n,i,a),l=c[0],u=c[1],d=M([`react-colorful`,t]);return w.createElement(`div`,y({},o,{ref:s,className:d}),w.createElement(U,{hsva:l,onChange:u}),w.createElement(H,{hue:l.h,onChange:u}),w.createElement(Se,{hsva:l,onChange:u,className:`react-colorful__last-control`}))},we={defaultColor:`hsla(0, 0%, 0%, 1)`,toHsva:ue,fromHsva:R,equal:G},Te=function(e){return w.createElement(Ce,y({},e,{colorModel:we}))},Ee={defaultColor:`rgba(0, 0, 0, 1)`,toHsva:pe,fromHsva:function(e){var t=z(e);return`rgba(`+t.r+`, `+t.g+`, `+t.b+`, `+t.a+`)`},equal:G},De=function(e){return w.createElement(Ce,y({},e,{colorModel:Ee}))},Oe=h.div({position:`relative`,maxWidth:250}),ke=h.div({width:200,margin:5,".react-colorful__saturation":{borderRadius:`4px 4px 0 0`},".react-colorful__hue":{boxShadow:`inset 0 0 0 1px rgb(0 0 0 / 5%)`},".react-colorful__last-control":{borderRadius:`0 0 4px 4px`}}),Ae=h.div({display:`grid`,gridTemplateColumns:`repeat(9, 16px)`,gap:6,padding:3,marginTop:5,width:200}),je=e=>`url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill-opacity="0.05" fill="${e?`white`:`black`}"><path d="M8 0h8v8H8zM0 8h8v8H0z"/></svg>')`,Me=h(u)(({value:e,selected:t,theme:n})=>({width:16,height:16,boxShadow:t?`${n.appBorderColor} 0 0 0 1px inset, ${n.textMutedColor}50 0 0 0 4px`:`${n.appBorderColor} 0 0 0 1px inset`,border:`none`,borderRadius:n.appBorderRadius,"&, &:hover":{background:`unset`,backgroundColor:`unset`,backgroundImage:`linear-gradient(${e}, ${e}), ${je(n.base===`dark`)}`}})),Ne=h(l.Input)(({theme:e})=>({width:`100%`,paddingLeft:30,paddingRight:30,boxSizing:`border-box`,fontFamily:e.typography.fonts.base,'[aria-readonly="true"] > &':{background:e.base===`light`?e.color.lighter:`transparent`}})),Pe=h(Me)(({disabled:e})=>({position:`absolute`,top:4,left:4,zIndex:1,cursor:e?`not-allowed`:`pointer`})),Fe=h(u)(({theme:e})=>({position:`absolute`,zIndex:1,top:6,right:7,width:20,height:20,padding:4,boxSizing:`border-box`,cursor:`pointer`,color:e.input.color})),Ie=(e=>(e.RGB=`rgb`,e.HSL=`hsl`,e.HEX=`hex`,e))(Ie||{}),J=Object.values(Ie),Le=/\(([0-9]+),\s*([0-9]+)%?,\s*([0-9]+)%?,?\s*([0-9.]+)?\)/,Re=/^\s*rgba?\(([0-9]+),\s*([0-9]+),\s*([0-9]+),?\s*([0-9.]+)?\)\s*$/i,ze=/^\s*hsla?\(([0-9]+),\s*([0-9]+)%,\s*([0-9]+)%,?\s*([0-9.]+)?\)\s*$/i,Y=/^\s*#?([0-9a-f]{3}|[0-9a-f]{6})\s*$/i,Be=/^\s*#?([0-9a-f]{3})\s*$/i,Ve={hex:xe,rgb:De,hsl:Te},X={hex:`transparent`,rgb:`rgba(0, 0, 0, 0)`,hsl:`hsla(0, 0%, 0%, 0)`},He=e=>{let t=e?.match(Le);if(!t)return[0,0,0,1];let[,n,r,i,a=1]=t;return[n,r,i,a].map(Number)},Ue=e=>{let[t,n,r,i]=He(e),[a,o,s]=T.default.rgb.hsl([t,n,r])||[0,0,0];return{valid:!0,value:e,keyword:T.default.rgb.keyword([t,n,r]),colorSpace:`rgb`,rgb:e,hsl:`hsla(${a}, ${o}%, ${s}%, ${i})`,hex:`#${T.default.rgb.hex([t,n,r]).toLowerCase()}`}},We=e=>{let[t,n,r,i]=He(e),[a,o,s]=T.default.hsl.rgb([t,n,r])||[0,0,0];return{valid:!0,value:e,keyword:T.default.hsl.keyword([t,n,r]),colorSpace:`hsl`,rgb:`rgba(${a}, ${o}, ${s}, ${i})`,hsl:e,hex:`#${T.default.hsl.hex([t,n,r]).toLowerCase()}`}},Ge=e=>{let t=e.replace(`#`,``),n=T.default.keyword.rgb(t)||T.default.hex.rgb(t),r=T.default.rgb.hsl(n),i=e;/[^#a-f0-9]/i.test(e)?i=t:Y.test(e)&&(i=`#${t}`);let a=!0;if(i.startsWith(`#`))a=Y.test(i);else try{T.default.keyword.hex(i)}catch{a=!1}return{valid:a,value:i,keyword:T.default.rgb.keyword(n),colorSpace:`hex`,rgb:`rgba(${n[0]}, ${n[1]}, ${n[2]}, 1)`,hsl:`hsla(${r[0]}, ${r[1]}%, ${r[2]}%, 1)`,hex:i}},Z=e=>{if(e)return Re.test(e)?Ue(e):ze.test(e)?We(e):Ge(e)},Ke=(e,t,n)=>{if(!e||!t?.valid)return X[n];if(n!==`hex`)return t?.[n]||X[n];if(!t.hex.startsWith(`#`))try{return`#${T.default.keyword.hex(t.hex)}`}catch{return X.hex}let r=t.hex.match(Be);if(!r)return Y.test(t.hex)?t.hex:X.hex;let[i,a,o]=r[1].split(``);return`#${i}${i}${a}${a}${o}${o}`},qe=(e,t)=>{let[n,r]=(0,C.useState)(e||``),[i,a]=(0,C.useState)(()=>Z(n)),[o,s]=(0,C.useState)(i?.colorSpace||`hex`);return(0,C.useEffect)(()=>{let t=e||``,n=Z(t);r(t),a(n),s(n?.colorSpace||`hex`)},[e]),{value:n,realValue:(0,C.useMemo)(()=>Ke(n,i,o).toLowerCase(),[n,i,o]),updateValue:(0,C.useCallback)(e=>{let n=Z(e),i=n?.value||e||``;r(i),i===``&&(a(void 0),t(void 0)),n&&(a(n),s(n.colorSpace),t(n.value))},[t]),color:i,colorSpace:o,cycleColorSpace:(0,C.useCallback)(()=>{let e=J[(J.indexOf(o)+1)%J.length];s(e);let n=i?.[e]||``;r(n),t(n)},[i,o,t])}},Q=e=>e.replace(/\s*/,``).toLowerCase(),Je=(e,t,n,r=27)=>{let[i,a]=(0,C.useState)(t?.valid?[t]:[]);(0,C.useEffect)(()=>{t===void 0&&a([])},[t]);let o=(0,C.useMemo)(()=>{let t=(e||[]).map(e=>typeof e==`string`?Z(e):e.title?{...Z(e.color),keyword:e.title}:Z(e.color)).concat(i).filter(Boolean);if(r===0||r===1/0)return t;let n=Number.isInteger(r)&&r>0?r:27;return t.slice(-n)},[e,i,r]);return{presets:o,addPreset:(0,C.useCallback)(e=>{e?.valid&&(o.some(t=>t&&t[n]&&Q(t[n]||``)===Q(e[n]||``))||a(t=>t.concat(e)))},[n,o])}},$=({name:e,storyId:t,value:n,onChange:r,onFocus:i,onBlur:a,presetColors:o,maxPresetColors:c,startOpen:l=!1,argType:u})=>{let{value:d,realValue:m,updateValue:h,color:g,colorSpace:_,cycleColorSpace:te}=qe(n,(0,C.useCallback)(ee(r,200),[r])),{presets:v,addPreset:y}=Je(o??[],g,_,c),b=Ve[_],x=!!u?.table?.readonly,S=f(e,t);return C.createElement(Oe,null,C.createElement(`label`,{htmlFor:S,className:`sb-sr-only`},e),C.createElement(Ne,{id:S,value:d,onChange:e=>h(e.target.value),onFocus:e=>e.target.select(),readOnly:x,placeholder:`Choose color...`}),C.createElement(s,{ariaLabel:`Color picker`,defaultVisible:l,visible:x?!1:void 0,onVisibleChange:()=>g&&y(g),popover:C.createElement(ke,null,C.createElement(b,{color:m===`transparent`?`#000000`:m,onChange:h,onFocus:i,onBlur:a}),v.length>0&&C.createElement(Ae,null,v.map((e,t)=>C.createElement(Me,{key:`${e?.value||t}-${t}`,variant:`ghost`,padding:`small`,size:`small`,ariaLabel:`Pick this color`,tooltip:e?.keyword||e?.value||``,value:e?.value||``,selected:!!(g&&e&&e[_]&&Q(e[_]||``)===Q(g[_])),onClick:()=>e&&h(e.value||``)}))))},C.createElement(Pe,{variant:`ghost`,padding:`small`,size:`small`,ariaLabel:`Open color picker`,value:m,style:{margin:4},disabled:x})),d?C.createElement(Fe,{variant:`ghost`,padding:`small`,size:`small`,ariaLabel:`Cycle through color spaces`,disabled:x,onClick:x?void 0:te},C.createElement(p,null)):null)},Ye=$}))();export{$ as ColorControl,Ye as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,p as s,r as c,u as l}from"./blocks-
|
|
1
|
+
import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,p as s,r as c,u as l}from"./blocks-B-ZSUli0.js";import{t as u}from"./jsx-runtime-BBQGix-2.js";import{t as d}from"./mdx-react-shim-B8QUPqDz.js";import{ContextMenuBasic as f,ControlledDropdown as p,DropdownMenuBasic as m,n as h,t as g}from"./ContextMenu.stories-q25-a_KQ.js";function _(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(a,{of:g,parameters:{docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,y.jsx)(s,{children:`ContextMenu`}),`
|
|
3
3
|
`,(0,y.jsx)(i,{children:`Контекстные и dropdown-меню для локальных действий в списках, карточках и рабочих областях`}),`
|
|
4
4
|
`,(0,y.jsx)(o.p,{children:`ContextMenu уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|