@ryuzaki13/react-foundation-ui 1.0.22 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +86 -0
- package/dist/image/index.d.ts +2 -0
- package/dist/image/index.d.ts.map +1 -1
- package/dist/image/index.js +337 -121
- package/dist/image/index.js.map +1 -1
- package/dist/image/lib/buildImageViewerSlides.d.ts +8 -0
- package/dist/image/lib/buildImageViewerSlides.d.ts.map +1 -0
- package/dist/image/lib/resolveImageViewerLabels.d.ts +24 -0
- package/dist/image/lib/resolveImageViewerLabels.d.ts.map +1 -0
- package/dist/image/model/imageViewerTypes.d.ts +70 -0
- package/dist/image/model/imageViewerTypes.d.ts.map +1 -0
- package/dist/image/ui/ImageViewer.d.ts +12 -0
- package/dist/image/ui/ImageViewer.d.ts.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/tag-input/TagInput.d.ts +40 -0
- package/dist/tag-input/TagInput.d.ts.map +1 -0
- package/dist/tag-input/index.d.ts +2 -0
- package/dist/tag-input/index.d.ts.map +1 -0
- package/dist/tag-input/index.js +180 -0
- package/dist/tag-input/index.js.map +1 -0
- package/dist/tag-input/lib/joinTagInputAriaIds.d.ts +3 -0
- package/dist/tag-input/lib/joinTagInputAriaIds.d.ts.map +1 -0
- package/dist/tag-input/lib/tagInputDefaults.d.ts +7 -0
- package/dist/tag-input/lib/tagInputDefaults.d.ts.map +1 -0
- package/package.json +10 -1
- package/src/styles/config/_index.scss +1 -0
- package/storybook-static/assets/{Badge-CYlSA6Vw.js → Badge-kXFWHX1o.js} +1 -1
- package/storybook-static/assets/{Badge.stories-D6UyHEn4.js → Badge.stories-fhovi8Mi.js} +1 -1
- package/storybook-static/assets/{Button-aNoMm3xs.js → Button-BzcIPScf.js} +1 -1
- package/storybook-static/assets/{Button-D5iLUeQv.js → Button-DuNV63ZS.js} +1 -1
- package/storybook-static/assets/{Button.stories-CNsB_F01.js → Button.stories-DehjFhSM.js} +1 -1
- package/storybook-static/assets/{CheckBox-BCgKBJVJ.js → CheckBox-BmyFh4i7.js} +1 -1
- package/storybook-static/assets/{CheckBox-KNAnK8-n.js → CheckBox-D6mLxi2P.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories-Dd7SzJDz.js → CheckBox.stories-Cb7RC2GA.js} +1 -1
- package/storybook-static/assets/{Color-KMSTOMOX-CNiU2Elq.js → Color-KMSTOMOX-CX-Xl_mX.js} +1 -1
- package/storybook-static/assets/{ContextMenu-D3k_Tu0Z.js → ContextMenu-Cef_K-t5.js} +1 -1
- package/storybook-static/assets/{ContextMenu.stories-C_i_uyc4.js → ContextMenu.stories-AZHC-8P9.js} +1 -1
- package/storybook-static/assets/{DateInput-BywQIAiH.js → DateInput-C55_ANq6.js} +1 -1
- package/storybook-static/assets/{DateInput-DGG89ygc.js → DateInput-DSVMF1gB.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-BaDGhCMe.js → DateInput.stories-CsC2qa2g.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-s_2StqMd.js → DateRangePresetSelect-B8rYDJ5X.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-BPyhIY3S.js → DateRangePresetSelect-CIFpis74.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect.stories-DF17STL9.js → DateRangePresetSelect.stories-BjtAEDa9.js} +1 -1
- package/storybook-static/assets/{Detail-BugMUTtW.js → Detail-BgqY0SrV.js} +1 -1
- package/storybook-static/assets/{Detail.stories-DHkuMfR7.js → Detail.stories-Co8o1gqx.js} +1 -1
- package/storybook-static/assets/{Dialog-DshCmYwr.js → Dialog-DoekeYCP.js} +1 -1
- package/storybook-static/assets/{Dialog.stories-BSi7akeW.js → Dialog.stories-v5TQS_1-.js} +1 -1
- package/storybook-static/assets/{Disclosure-CU-pegOS.js → Disclosure-E7Bm1F1a.js} +1 -1
- package/storybook-static/assets/{Disclosure.stories-B4AVnYzF.js → Disclosure.stories-CUYuBYh6.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-UspHN6Nr.js → DocsRenderer-JROSPFPF-9II2vBP-.js} +2 -2
- package/storybook-static/assets/{DropZone-CHT2yTPB.js → DropZone-COhh7w0P.js} +1 -1
- package/storybook-static/assets/{DropZone.stories-CNO0o4Zg.js → DropZone.stories-XU7u589t.js} +1 -1
- package/storybook-static/assets/{DropdownMenu-BiC8osPQ.js → DropdownMenu-3ney3Ng2.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel.stories-B7WYSnwP.js → ExpandableActionPanel.stories-DJOZxMv_.js} +2 -2
- package/storybook-static/assets/{Flex-BZTb6Ls6.js → Flex-BtfZvPDu.js} +1 -1
- package/storybook-static/assets/{Flex-BcPeLHNU.js → Flex-CN6FIOe5.js} +1 -1
- package/storybook-static/assets/{Flex.stories-uM7r49Jq.js → Flex.stories-BCZhfSVz.js} +1 -1
- package/storybook-static/assets/{Grid-EHSb1euM.js → Grid-CdgOXXxt.js} +1 -1
- package/storybook-static/assets/{Grid-fJQh5Vul.js → Grid-D_d69WcK.js} +1 -1
- package/storybook-static/assets/{Grid.stories-CqeiX_AH.js → Grid.stories-DQoSH4q8.js} +1 -1
- package/storybook-static/assets/{ImageCropper.stories-BZC2r8xr.js → ImageCropper.stories-BJiSLQAw.js} +1 -1
- package/storybook-static/assets/{ImageRenderer-Cnnx30sU.js → ImageRenderer-D6M62W6a.js} +1 -1
- package/storybook-static/assets/{ImageRenderer.stories-BgBvkbZ-.js → ImageRenderer.stories-BZFA51MD.js} +1 -1
- package/storybook-static/assets/{ImageView.stories-Bg85Aayj.js → ImageView.stories-DFvdAL1U.js} +1 -1
- package/storybook-static/assets/ImageViewer-kKDkAY87.css +1 -0
- package/storybook-static/assets/ImageViewer.stories-BzUxxQAO.js +72 -0
- package/storybook-static/assets/{Input-Cq_1mpmx.js → Input-BrEoa-ul.js} +1 -1
- package/storybook-static/assets/Input-DD9fx2Sx.js +3 -0
- package/storybook-static/assets/{Input.stories-BHTzCeNd.js → Input.stories-BmsoCBN4.js} +1 -1
- package/storybook-static/assets/{InputDateTime-Bwdn4dwr.js → InputDateTime-Cdmc7rX2.js} +1 -1
- package/storybook-static/assets/{InputDateTime.stories-DWZLY6-q.js → InputDateTime.stories-BhjQejJD.js} +1 -1
- package/storybook-static/assets/{InputFile-kjPD2D6b.js → InputFile-BJfA5xNs.js} +1 -1
- package/storybook-static/assets/{InputFile.stories-C9fMevjs.js → InputFile.stories-BIJaIWlj.js} +1 -1
- package/storybook-static/assets/{InputFiles-1i_xo439.js → InputFiles-DORMd5fm.js} +1 -1
- package/storybook-static/assets/{InputFiles-BPW2NUcJ.js → InputFiles-ZK4wdii7.js} +1 -1
- package/storybook-static/assets/{InputFiles.stories-DxdLOKbl.js → InputFiles.stories-CVr0ENgC.js} +1 -1
- package/storybook-static/assets/{InputImage-ClXtDHy9.js → InputImage-Dk4j2KMa.js} +1 -1
- package/storybook-static/assets/{InputImage.stories-D3hw0C1x.js → InputImage.stories-Dtx-ynMr.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-DmTnYW62.js → LayoutPicker-CCvATGnT.js} +1 -1
- package/storybook-static/assets/{LayoutPicker.stories-CZPA3-Ci.js → LayoutPicker.stories-MUwtf1U1.js} +1 -1
- package/storybook-static/assets/{Listbox-DV98iUDZ.js → Listbox-TfXOnGNL.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-BFHG7-fh.js → Listbox.stories-Bxx8eTZ9.js} +1 -1
- package/storybook-static/assets/{Modal-hL7CzAFH.js → Modal-CeXVAufO.js} +1 -1
- package/storybook-static/assets/{Modal.stories-DKyOv2Vj.js → Modal.stories-DmnMwG9h.js} +1 -1
- package/storybook-static/assets/{MultiSelect-D23pcECY.js → MultiSelect-Bq5Xj6i5.js} +1 -1
- package/storybook-static/assets/{MultiSelect-hT_fw4sf.js → MultiSelect-CdEQ7LE0.js} +1 -1
- package/storybook-static/assets/{MultiSelect.stories-B0gUdW3k.js → MultiSelect.stories-BgjuPpG-.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-ClQwHzJ_.js → NotificationsHost-B6xWf_Ae.js} +1 -1
- package/storybook-static/assets/{NotificationsHost.stories-BzPPbNiK.js → NotificationsHost.stories-BmnJ3G3S.js} +2 -2
- package/storybook-static/assets/{ODataMultiSelect-CCP1tbCi.js → ODataMultiSelect-BGFMSKC-.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect.stories-CnlXtZKW.js → ODataMultiSelect.stories-Cw3mS3ds.js} +1 -1
- package/storybook-static/assets/{ODataSelect-BJstdz9E.js → ODataSelect-9gP8ejA7.js} +1 -1
- package/storybook-static/assets/{ODataSelect-Du2-88av.js → ODataSelect-BTpRnB-o.js} +1 -1
- package/storybook-static/assets/{ODataSelect.stories-BvAeuhiH.js → ODataSelect.stories-C8XnS6W-.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect-BCm7XhFB.js → ODataTreeMultiSelect-TXpOQMB8.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-DKT1FMOy.js → ODataTreeMultiSelect.stories-ikxs50iA.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect-Bibf7s2z.js → ODataTreeSelect-CvgrWRYS.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-CCeNqvIR.js → ODataTreeSelect.stories-CWuZaxIF.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-DLs8Hg0X.js → PeriodSelect-CVT2XzOd.js} +1 -1
- package/storybook-static/assets/{PeriodSelect.stories-C_XS3c7e.js → PeriodSelect.stories-B5jJRelX.js} +1 -1
- package/storybook-static/assets/{Popover-SXa3jBxm.js → Popover-D9YhHWsi.js} +1 -1
- package/storybook-static/assets/{Popover.stories-rR7JkQfu.js → Popover.stories-CtEUOX4O.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-dfDuKD_z.js → PresetRangeDateInput-D3r0iIRk.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput.stories-CmRecC0S.js → PresetRangeDateInput.stories-Dcc1dGV0.js} +1 -1
- package/storybook-static/assets/{RadioButton-BivcuQIh.js → RadioButton-CWjkmWu9.js} +1 -1
- package/storybook-static/assets/{RadioButton.stories-Cio250wJ.js → RadioButton.stories-BXXJWoHz.js} +1 -1
- package/storybook-static/assets/{RadioGroup-D8LzcclQ.js → RadioGroup-Bjc2XTVk.js} +1 -1
- package/storybook-static/assets/{RadioGroup-C0Wirtog.js → RadioGroup-DCZdrs0C.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-gYFTEm7L.js → RadioGroup.stories-CsfVUt9l.js} +1 -1
- package/storybook-static/assets/{Select-B737vUeI.js → Select-BBFQZObL.js} +1 -1
- package/storybook-static/assets/Select-BGu6rVaZ.js +12 -0
- package/storybook-static/assets/{Select.stories-1-tb5-TQ.js → Select.stories-wIbcvZYi.js} +1 -1
- package/storybook-static/assets/{SelectOptionContent-RA3YQEN1.js → SelectOptionContent-DkTRrtFu.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-D6p7Qkk_.js → SerializableSelect-CJtNM-c6.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-CKOPEv90.js → SerializableSelect-CdnRBVHB.js} +1 -1
- package/storybook-static/assets/{SerializableSelect.stories-C3l_ojuW.js → SerializableSelect.stories-DVwxpiTF.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-C-EH5-4w.js → SingleDateTimeInput-BK2_uv0z.js} +1 -1
- package/storybook-static/assets/SingleDateTimeInput.stories-DPH4R-h9.js +78 -0
- package/storybook-static/assets/{Slider-DgZ9jGV_.js → Slider-f4VatXYq.js} +1 -1
- package/storybook-static/assets/{Slider.stories-BN6M0546.js → Slider.stories-CBnmt8h9.js} +1 -1
- package/storybook-static/assets/{SliderInput-BDDf5ljP.js → SliderInput-W2HVfY9Z.js} +1 -1
- package/storybook-static/assets/{SliderInput.stories-COR3rS29.js → SliderInput.stories-B7wzoUbu.js} +1 -1
- package/storybook-static/assets/{Sortable-DN7Kb-Q_.js → Sortable-CCL1UMb_.js} +1 -1
- package/storybook-static/assets/{Sortable.stories-zRM1Phps.js → Sortable.stories-B8SgFjl7.js} +1 -1
- package/storybook-static/assets/{Splitter-Bk98rR7j.js → Splitter-BsBb1sgN.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-B9CZFmcK.js → Splitter.stories-CuBHIA8-.js} +1 -1
- package/storybook-static/assets/{StateSelect-DFhsyVBP.js → StateSelect-BENsGD07.js} +1 -1
- package/storybook-static/assets/{StateSelect.stories-BcUz8RNT.js → StateSelect.stories-byEPoQ2E.js} +2 -2
- package/storybook-static/assets/{Switch-Cenm3lp0.js → Switch-DKXE4SVs.js} +1 -1
- package/storybook-static/assets/Switch.stories-BWQdJoJT.js +26 -0
- package/storybook-static/assets/{Table-D0mqxsmk.js → Table-D9w3ncNi.js} +1 -1
- package/storybook-static/assets/{Table.stories-DJdDS-vt.js → Table.stories-znqy5cLP.js} +1 -1
- package/storybook-static/assets/{Tabs-C_UydsUc.js → Tabs-D_OO95mK.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-DPN4f4ia.js → Tabs.stories-B2A1HYeH.js} +1 -1
- package/storybook-static/assets/TagInput-LeQAhDgs.css +1 -0
- package/storybook-static/assets/TagInput.stories-DaBnABh8.js +18 -0
- package/storybook-static/assets/{Textarea-DR_6_kXC.js → Textarea-Hwyvp6ll.js} +1 -1
- package/storybook-static/assets/{Textarea.stories-BY6wMIfV.js → Textarea.stories-DD3Icl3x.js} +1 -1
- package/storybook-static/assets/{TimePanel-D30NeTN1.js → TimePanel-CdpxiwMQ.js} +1 -1
- package/storybook-static/assets/{TimePanel.stories-DQebBAT1.js → TimePanel.stories-ytXuqm9R.js} +1 -1
- package/storybook-static/assets/{Toggle-CiKKBdwN.js → Toggle-Sdruy8bN.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-DhcLhXi0.js → Toggle.stories-qgeQLvRn.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-W7KfPR_Z.js → TreeMultiSelect-CKfmI37X.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-BKhWTTud.js → TreeMultiSelect-t2FNc6CY.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-nXP3P2Os.js → TreeMultiSelect.stories-k1NBsKij.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-BKBGeL6X.js → TreePickerBase-DXv--vBR.js} +2 -2
- package/storybook-static/assets/{TreeSelect-CwcGtVsA.js → TreeSelect-DYHpUNGC.js} +1 -1
- package/storybook-static/assets/{TreeSelect-CkDg1wJA.js → TreeSelect-DgKArbMR.js} +1 -1
- package/storybook-static/assets/{TreeSelect.stories-vOWRtovd.js → TreeSelect.stories-DTpkFKp7.js} +1 -1
- package/storybook-static/assets/{TreeTable-BiVd6vET.js → TreeTable-BOy0Tit-.js} +1 -1
- package/storybook-static/assets/{TreeTable.stories-CmH5jmwM.js → TreeTable.stories-By1BlhSx.js} +1 -1
- package/storybook-static/assets/{WithTooltip-7X4HQR7L-aLpVnFpb.js → WithTooltip-7X4HQR7L-D0sHKirZ.js} +1 -1
- package/storybook-static/assets/{base-table-BpVO9KT9.js → base-table-CYO33S-X.js} +1 -1
- package/storybook-static/assets/{blocks-DoPnTsyg.js → blocks-Be6sd6Mi.js} +6 -6
- package/storybook-static/assets/{button-GO_OT5aH.js → button-D2JNy4h8.js} +1 -1
- package/storybook-static/assets/{check-box-DAQgEdFF.js → check-box-B4tjJED4.js} +1 -1
- package/storybook-static/assets/{chunk-3LY4VQVK-BONHkyBf.js → chunk-3LY4VQVK-jaQG9QeP.js} +1 -1
- package/storybook-static/assets/{chunk-LITCR56V-BVF-KYVd.js → chunk-LITCR56V-HuSFGdRZ.js} +1 -1
- package/storybook-static/assets/{contextMenu-BN_nodeg.js → contextMenu-DIpGZPH1.js} +1 -1
- package/storybook-static/assets/{error-B6AQmhXG.js → error-DHDPaDqg.js} +1 -1
- package/storybook-static/assets/{flex-DVKfO80p.js → flex-BWOaXKdl.js} +1 -1
- package/storybook-static/assets/{floating-ui.react-DGTgiAdH.js → floating-ui.react-C83w-peW.js} +1 -1
- package/storybook-static/assets/formatter-L2YTDE3Q-CO9xKxzu.js +1 -0
- package/storybook-static/assets/{formatters-Dzo8Pnex.js → formatters-BaQpdAeu.js} +1 -1
- package/storybook-static/assets/grid-BwTl00V9.js +1 -0
- package/storybook-static/assets/{hooks-CpDSHDMN.js → hooks-5ZdxaH2L.js} +1 -1
- package/storybook-static/assets/{iframe-CTboIfoI.js → iframe-Dw3PG8YA.js} +4 -4
- package/storybook-static/assets/{input-DD2xaJKI.js → input-Cv9ps4La.js} +1 -1
- package/storybook-static/assets/lucide-react-DMM2-ayk.js +1 -0
- package/storybook-static/assets/{mdx-react-shim-DOISS71W.js → mdx-react-shim-Be8o0WOk.js} +1 -1
- package/storybook-static/assets/{media-xUSqwRJF.js → media-Bc0eGngh.js} +1 -1
- package/storybook-static/assets/misc-7hwZFEXA.js +5 -0
- package/storybook-static/assets/{notifications-CWxiJcV-.js → notifications-DkxUPPfB.js} +1 -1
- package/storybook-static/assets/{odata-PGHrDwPA.js → odata-nO_yW-3w.js} +1 -1
- package/storybook-static/assets/odata-service-RLReWm0A.js +1 -0
- package/storybook-static/assets/{odataStoryFixtures-B0ggeKvL.js → odataStoryFixtures-J-OBpNg6.js} +1 -1
- package/storybook-static/assets/{picker-DR1p3GaI.js → picker-BQr_wySR.js} +1 -1
- package/storybook-static/assets/{popover-D0spGyn8.js → popover-v9hxY66g.js} +1 -1
- package/storybook-static/assets/{preset-select-DIVtd6Ma.js → preset-select-d-pIvdGN.js} +1 -1
- package/storybook-static/assets/{react-18-BW39uoSY.js → react-18-CXAAUXpx.js} +1 -1
- package/storybook-static/assets/{react-D66xb1cV.js → react-ByWJZTAG.js} +1 -1
- package/storybook-static/assets/{react-dom-B8H6ZjRK.js → react-dom-DXk3dBb-.js} +1 -1
- package/storybook-static/assets/select-BessDJfg.js +1 -0
- package/storybook-static/assets/{slider-DBMU3Zyk.js → slider-tV7pXkKI.js} +1 -1
- package/storybook-static/assets/{sortable-aygBVsVu.js → sortable-CHwTYQdY.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-RTCFPKCB-BmTfzeWy.js → syntaxhighlighter-RTCFPKCB-CsqLGhls.js} +1 -1
- package/storybook-static/assets/{text-BE5Uqo4p.js → text-Bf_PqPja.js} +1 -1
- package/storybook-static/assets/{theming-A6fWw02F.js → theming-D37tYvvG.js} +1 -1
- package/storybook-static/assets/ui-QO8tRKaR.js +1 -0
- package/storybook-static/assets/{useODataSelectBase-BivsfJ24.js → useODataSelectBase-DSlg4q3l.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-DAop_xYb.js → useODataTreeData-d53TKU6r.js} +1 -1
- package/storybook-static/assets/{utils-BAfp5vsY.js → utils-CnV3Gszu.js} +1 -1
- package/storybook-static/iframe.html +1 -1
- package/storybook-static/index.json +1 -1
- package/storybook-static/project.json +1 -1
- package/storybook-static/assets/Input-DrlKVI51.js +0 -3
- package/storybook-static/assets/Select-C5ObFms-.js +0 -12
- package/storybook-static/assets/SingleDateTimeInput.stories-WcN90RJQ.js +0 -78
- package/storybook-static/assets/Switch.stories-Deck0xn9.js +0 -26
- package/storybook-static/assets/formatter-L2YTDE3Q-DT96-80k.js +0 -1
- package/storybook-static/assets/grid-BhEsHhF8.js +0 -1
- package/storybook-static/assets/lucide-react-gtfXEQZ7.js +0 -1
- package/storybook-static/assets/misc-D1Z0nw9S.js +0 -5
- package/storybook-static/assets/odata-service-XyWC7XJb.js +0 -1
- package/storybook-static/assets/select-Dr2NjwXE.js +0 -1
- package/storybook-static/assets/ui-DW-Seccl.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/tag-input/lib/joinTagInputAriaIds.ts","../../src/tag-input/lib/tagInputDefaults.ts","../../src/tag-input/TagInput.module.scss","../../src/tag-input/TagInput.tsx"],"sourcesContent":["/** Объединяет сгенерированные и пользовательские ARIA ID, исключая пустые части. */\nexport function joinTagInputAriaIds(...ids: Array<string | undefined>) {\n\treturn ids.filter(Boolean).join(\" \") || undefined;\n}\n","/** Удаляет внешние пробелы перед сохранением созданного тега. */\nexport function defaultNormalizeTag(value: string) {\n\treturn value.trim();\n}\n\n/** Сохраняет регистр и использует точное значение как ключ сравнения по умолчанию. */\nexport function defaultGetTagKey(value: string) {\n\treturn value;\n}\n\n/** Формирует доступное имя действия удаления с конкретным значением тега. */\nexport function defaultGetRemoveButtonAriaLabel(value: string) {\n\treturn `Удалить тег «${value}»`;\n}\n","@use \"@/styles/mixins\" as *;\n\n.control {\n\tmin-height: var(--control-height);\n\tdisplay: flex;\n\talign-items: center;\n\tflex-wrap: wrap;\n\tgap: var(--space-xs);\n\tpadding: calc(var(--space-xs) / 2) var(--space-sm);\n\tcursor: text;\n\n\t--ui-color: var(--content-0);\n\t--ui-color-hover: var(--content-0);\n\t--ui-color-active: var(--content-0);\n\n\t&[data-readonly] {\n\t\tcursor: default;\n\t\tbackground-color: var(--surface-1);\n\t}\n}\n\n.tagList {\n\tmin-width: 0;\n\tmax-width: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\tflex: 0 1 auto;\n\tflex-wrap: wrap;\n\tgap: var(--space-xs);\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.tag {\n\t@include ui-static-surface;\n\n\t--ui-color: var(--content-0);\n\t--ui-background: var(--surface-2);\n\t--ui-border-color: var(--border-0);\n\n\tmin-width: 0;\n\tmax-width: 100%;\n\tdisplay: inline-flex;\n\talign-items: center;\n\tgap: var(--space-xs);\n\tpadding: calc(var(--space-xs) / 2) var(--space-xs);\n\tfont-size: var(--font-size-sm);\n}\n\n.tagText {\n\tmin-width: 0;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n\n.removeButton {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-shrink: 0;\n\twidth: 1.25em;\n\theight: 1.25em;\n\tpadding: 0;\n\tborder: none;\n\tborder-radius: var(--radius-xs);\n\tbackground: transparent;\n\tcolor: inherit;\n\ttransition:\n\t\tcolor var(--transition-fast) ease,\n\t\tbackground-color var(--transition-fast) ease;\n\n\t&:hover {\n\t\tbackground-color: var(--status-error-soft);\n\t\tcolor: var(--status-error-text);\n\t}\n\n\t&:focus-visible {\n\t\t@include focusVisible;\n\t}\n\n\tsvg {\n\t\tdisplay: block;\n\t}\n}\n\n.input {\n\tmin-width: 8ch;\n\tmin-height: calc(var(--control-height) - var(--space-xs) - (var(--border-width) * 2));\n\tflex: 1 1 8rem;\n\tpadding: 0;\n\tborder: none;\n\toutline: none;\n\tbackground: transparent;\n\tcolor: inherit;\n\tfont: inherit;\n\n\t&::placeholder {\n\t\tcolor: var(--content-2);\n\t}\n\n\t&:read-only {\n\t\tcursor: default;\n\t}\n}\n","import {\n\ttype ClipboardEvent,\n\ttype CompositionEvent,\n\ttype InputHTMLAttributes,\n\ttype KeyboardEvent,\n\ttype Ref,\n\tuseImperativeHandle,\n\tuseRef,\n\tuseState\n} from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { XIcon } from \"lucide-react\";\n\nimport { InputUI, useInputFieldIds } from \"../input\";\nimport uiStyles from \"../ui.module.scss\";\n\nimport { joinTagInputAriaIds } from \"./lib/joinTagInputAriaIds\";\nimport { defaultGetRemoveButtonAriaLabel, defaultGetTagKey, defaultNormalizeTag } from \"./lib/tagInputDefaults\";\nimport styles from \"./TagInput.module.scss\";\n\nimport type { UiBaseProps } from \"../types\";\n\nconst TAG_DELIMITER_PATTERN = /[,\\r\\n]/;\nconst TAG_DELIMITER_SPLIT_PATTERN = /[,\\r\\n]+/;\n\nexport interface TagInputProps\n\textends\n\t\tOmit<InputHTMLAttributes<HTMLInputElement>, \"children\" | \"defaultValue\" | \"disabled\" | \"onChange\" | \"readOnly\" | \"size\" | \"value\">,\n\t\tUiBaseProps<string[], readonly string[]> {\n\t/** Ссылка на внутренний нативный `input`, передаваемая напрямую как React 19 prop. */\n\tref?: Ref<HTMLInputElement>;\n\n\t/** Сообщение валидации, связанное с полем через `aria-describedby`. */\n\terror?: string;\n\n\t/** Сбрасывает внешнюю ошибку после изменения черновика или набора тегов. */\n\tonClearError?: () => void;\n\n\t/** Запрещает изменение набора тегов, сохраняя возможность выделять и копировать текст. */\n\treadOnly?: boolean;\n\n\t/** Максимальное количество тегов. Отсутствие значения не ограничивает набор. */\n\tmaxTags?: number;\n\n\t/**\n\t * Нормализует введённое значение перед проверкой дубликата и добавлением.\n\t * По умолчанию удаляет пробелы в начале и конце.\n\t */\n\tnormalizeTag?: (value: string) => string;\n\n\t/**\n\t * Возвращает ключ сравнения тегов. Позволяет, например, запретить дубликаты без учёта регистра.\n\t * По умолчанию используется точное строковое сравнение.\n\t */\n\tgetTagKey?: (value: string) => string;\n\n\t/** Добавляет непустой черновик при уходе фокуса с input. По умолчанию включено. */\n\taddOnBlur?: boolean;\n\n\t/** Формирует доступное имя кнопки удаления конкретного тега. */\n\tgetRemoveButtonAriaLabel?: (value: string, index: number) => string;\n\n\t/** Доступное имя списка уже добавленных тегов. */\n\ttokensAriaLabel?: string;\n\n\t/** CSS-класс непосредственно для внутреннего `input`; `className` применяется к оболочке поля. */\n\tinputClassName?: string;\n}\n\n/**\n * Controlled-поле для создания коротких строковых тегов.\n *\n * Новое значение фиксируется по `Enter`, запятой, вставке списка или потере фокуса. Компонент хранит\n * только незавершённый текст input, а окончательный набор всегда принадлежит потребителю через `value`.\n */\nexport function TagInput({\n\tref,\n\tvalue,\n\tonChange,\n\tlabel,\n\tdescription,\n\tplaceholder,\n\tsize,\n\tdisabled,\n\treadOnly = false,\n\terror,\n\tonClearError,\n\tmaxTags,\n\tnormalizeTag = defaultNormalizeTag,\n\tgetTagKey = defaultGetTagKey,\n\taddOnBlur = true,\n\tgetRemoveButtonAriaLabel = defaultGetRemoveButtonAriaLabel,\n\ttokensAriaLabel = \"Добавленные теги\",\n\tinputClassName,\n\tclassName,\n\tid: externalId,\n\tname,\n\tform,\n\trequired,\n\tmaxLength,\n\tonKeyDown,\n\tonPaste,\n\tonBlur,\n\tonCompositionStart,\n\tonCompositionEnd,\n\t\"aria-describedby\": externalAriaDescribedBy,\n\t\"aria-labelledby\": externalAriaLabelledBy,\n\t...inputProps\n}: TagInputProps) {\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst controlRef = useRef<HTMLDivElement>(null);\n\tconst isComposingRef = useRef(false);\n\tconst [draft, setDraft] = useState(\"\");\n\tconst [announcement, setAnnouncement] = useState(\"\");\n\tconst { controlId, labelId, descriptionId, errorId, describedBy } = useInputFieldIds({\n\t\tid: externalId,\n\t\thasLabel: label !== undefined && label !== null,\n\t\thasDescription: !!description,\n\t\thasError: !!error\n\t});\n\tconst resolvedMaxTags = maxTags === undefined ? Number.POSITIVE_INFINITY : Math.max(0, Math.floor(maxTags));\n\tconst isEditingDisabled = disabled || readOnly;\n\tconst ariaDescribedBy = joinTagInputAriaIds(describedBy, externalAriaDescribedBy);\n\tconst ariaLabelledBy = joinTagInputAriaIds(labelId, externalAriaLabelledBy);\n\n\tuseImperativeHandle(\n\t\tref,\n\t\t() => {\n\t\t\tconst input = inputRef.current;\n\n\t\t\tif (!input) {\n\t\t\t\tthrow new Error(\"TagInput: внутренний input недоступен при создании imperative handle.\");\n\t\t\t}\n\n\t\t\treturn input;\n\t\t},\n\t\t[]\n\t);\n\n\t/** Добавляет сразу несколько кандидатов одним controlled-обновлением и сообщает результат screen reader. */\n\tconst appendTags = (rawTags: readonly string[]) => {\n\t\tif (isEditingDisabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tonClearError?.();\n\n\t\tconst nextTags = [...value];\n\t\tconst knownKeys = new Set(nextTags.map((tag) => getTagKey(tag)));\n\t\tconst added: string[] = [];\n\t\tlet duplicateCount = 0;\n\t\tlet limitReached = false;\n\n\t\tfor (const rawTag of rawTags) {\n\t\t\tconst tag = normalizeTag(rawTag);\n\n\t\t\tif (!tag) continue;\n\n\t\t\tif (maxLength !== undefined && tag.length > maxLength) {\n\t\t\t\tsetAnnouncement(`Тег «${tag}» длиннее допустимого значения.`);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst key = getTagKey(tag);\n\n\t\t\tif (knownKeys.has(key)) {\n\t\t\t\tduplicateCount += 1;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (nextTags.length >= resolvedMaxTags) {\n\t\t\t\tlimitReached = true;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tknownKeys.add(key);\n\t\t\tnextTags.push(tag);\n\t\t\tadded.push(tag);\n\t\t}\n\n\t\tif (added.length > 0) {\n\t\t\tonChange(nextTags);\n\t\t\tsetAnnouncement(added.length === 1 ? `Добавлен тег «${added[0]}».` : `Добавлено тегов: ${added.length}.`);\n\t\t} else if (limitReached) {\n\t\t\tsetAnnouncement(`Достигнуто максимальное количество тегов: ${resolvedMaxTags}.`);\n\t\t} else if (duplicateCount > 0) {\n\t\t\tsetAnnouncement(\"Такой тег уже добавлен.\");\n\t\t}\n\t};\n\n\tconst commitDraft = () => {\n\t\tif (!draft) return false;\n\n\t\tappendTags(draft.split(TAG_DELIMITER_SPLIT_PATTERN));\n\t\tsetDraft(\"\");\n\t\treturn true;\n\t};\n\n\tconst removeTag = (index: number) => {\n\t\tif (isEditingDisabled) return;\n\n\t\tconst removedTag = value[index];\n\t\tif (removedTag === undefined) return;\n\n\t\tonChange(value.filter((_, currentIndex) => currentIndex !== index));\n\t\tonClearError?.();\n\t\tsetAnnouncement(`Удалён тег «${removedTag}».`);\n\t\tinputRef.current?.focus();\n\t};\n\n\tconst handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n\t\tonKeyDown?.(event);\n\t\tif (event.defaultPrevented || event.nativeEvent.isComposing || isComposingRef.current || isEditingDisabled) return;\n\n\t\tif (event.key === \"Enter\" || event.key === \",\") {\n\t\t\tif (commitDraft() || event.key === \",\") {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif (event.key === \"Backspace\" && draft.length === 0 && value.length > 0) {\n\t\t\tevent.preventDefault();\n\t\t\tremoveTag(value.length - 1);\n\t\t}\n\t};\n\n\tconst handlePaste = (event: ClipboardEvent<HTMLInputElement>) => {\n\t\tonPaste?.(event);\n\t\tif (event.defaultPrevented || isEditingDisabled) return;\n\n\t\tconst clipboardText = event.clipboardData.getData(\"text\");\n\t\tif (!TAG_DELIMITER_PATTERN.test(clipboardText)) return;\n\n\t\tevent.preventDefault();\n\t\tconst selectionStart = event.currentTarget.selectionStart ?? draft.length;\n\t\tconst selectionEnd = event.currentTarget.selectionEnd ?? selectionStart;\n\t\tconst pastedValue = `${draft.slice(0, selectionStart)}${clipboardText}${draft.slice(selectionEnd)}`;\n\n\t\tappendTags(pastedValue.split(TAG_DELIMITER_SPLIT_PATTERN));\n\t\tsetDraft(\"\");\n\t};\n\n\treturn (\n\t\t<InputUI\n\t\t\tlabel={label}\n\t\t\tdescription={description}\n\t\t\tdisabled={disabled}\n\t\t\tclassName={className}\n\t\t\tsize={size}\n\t\t\terror={error}\n\t\t\tcontrolId={controlId}\n\t\t\tlabelId={labelId}\n\t\t\tdescriptionId={descriptionId}\n\t\t\terrorId={errorId}>\n\t\t\t<div\n\t\t\t\tref={controlRef}\n\t\t\t\tclassName={cn(uiStyles.uiControl, error && uiStyles.invalid, styles.control)}\n\t\t\t\tdata-disabled={disabled ? \"\" : undefined}\n\t\t\t\tdata-readonly={readOnly ? \"\" : undefined}\n\t\t\t\tdata-invalid={error ? \"\" : undefined}\n\t\t\t\tonClick={() => inputRef.current?.focus()}>\n\t\t\t\t{value.length > 0 && (\n\t\t\t\t\t<ul className={styles.tagList} aria-label={tokensAriaLabel}>\n\t\t\t\t\t\t{value.map((tag, index) => (\n\t\t\t\t\t\t\t<li className={styles.tag} key={`${getTagKey(tag)}-${index}`}>\n\t\t\t\t\t\t\t\t<span className={styles.tagText}>{tag}</span>\n\t\t\t\t\t\t\t\t{!isEditingDisabled && (\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tclassName={styles.removeButton}\n\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\tremoveTag(index);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\taria-label={getRemoveButtonAriaLabel(tag, index)}>\n\t\t\t\t\t\t\t\t\t\t<XIcon aria-hidden=\"true\" />\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</ul>\n\t\t\t\t)}\n\n\t\t\t\t<input\n\t\t\t\t\t{...inputProps}\n\t\t\t\t\tref={inputRef}\n\t\t\t\t\tid={controlId}\n\t\t\t\t\tform={form}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\trequired={required && value.length === 0}\n\t\t\t\t\tmaxLength={maxLength}\n\t\t\t\t\tvalue={draft}\n\t\t\t\t\tplaceholder={value.length === 0 ? placeholder : undefined}\n\t\t\t\t\taria-invalid={!!error || undefined}\n\t\t\t\t\taria-labelledby={ariaLabelledBy}\n\t\t\t\t\taria-describedby={ariaDescribedBy}\n\t\t\t\t\tclassName={cn(styles.input, inputClassName)}\n\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\tconst nextDraft = event.target.value;\n\t\t\t\t\t\tconst hasDelimiter = TAG_DELIMITER_PATTERN.test(nextDraft);\n\n\t\t\t\t\t\tif (isComposingRef.current) {\n\t\t\t\t\t\t\tsetDraft(nextDraft);\n\t\t\t\t\t\t} else if (hasDelimiter) {\n\t\t\t\t\t\t\tconst parts = nextDraft.split(TAG_DELIMITER_SPLIT_PATTERN);\n\t\t\t\t\t\t\tconst hasTrailingDelimiter = TAG_DELIMITER_PATTERN.test(nextDraft.at(-1) ?? \"\");\n\t\t\t\t\t\t\tconst uncommittedPart = hasTrailingDelimiter ? \"\" : (parts.pop() ?? \"\");\n\n\t\t\t\t\t\t\tappendTags(parts);\n\t\t\t\t\t\t\tsetDraft(uncommittedPart);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetDraft(nextDraft);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (isComposingRef.current || !hasDelimiter) {\n\t\t\t\t\t\t\tonClearError?.();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tonKeyDown={handleKeyDown}\n\t\t\t\t\tonPaste={handlePaste}\n\t\t\t\t\tonCompositionStart={(event: CompositionEvent<HTMLInputElement>) => {\n\t\t\t\t\t\tisComposingRef.current = true;\n\t\t\t\t\t\tonCompositionStart?.(event);\n\t\t\t\t\t}}\n\t\t\t\t\tonCompositionEnd={(event: CompositionEvent<HTMLInputElement>) => {\n\t\t\t\t\t\tisComposingRef.current = false;\n\t\t\t\t\t\tonCompositionEnd?.(event);\n\t\t\t\t\t}}\n\t\t\t\t\tonBlur={(event) => {\n\t\t\t\t\t\tonBlur?.(event);\n\t\t\t\t\t\tconst nextFocusedNode = event.relatedTarget;\n\t\t\t\t\t\tconst focusRemainsInside = nextFocusedNode instanceof Node && controlRef.current?.contains(nextFocusedNode);\n\n\t\t\t\t\t\tif (!event.defaultPrevented && !focusRemainsInside && addOnBlur && !isEditingDisabled) {\n\t\t\t\t\t\t\tcommitDraft();\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\n\t\t\t\t{name &&\n\t\t\t\t\tvalue.map((tag, index) => (\n\t\t\t\t\t\t<input key={`${getTagKey(tag)}-${index}`} type=\"hidden\" name={name} value={tag} form={form} disabled={disabled} />\n\t\t\t\t\t))}\n\t\t\t</div>\n\n\t\t\t<span className=\"visuallyHidden\" aria-live=\"polite\" aria-atomic=\"true\">\n\t\t\t\t{announcement}\n\t\t\t</span>\n\t\t</InputUI>\n\t);\n}\n"],"mappings":";;;;;;;AACA,SAAgB,EAAoB,GAAG,GAAgC;CACtE,OAAO,EAAI,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG,KAAK,KAAA;AACzC;;;ACFA,SAAgB,GAAoB,GAAe;CAClD,OAAO,EAAM,KAAK;AACnB;AAGA,SAAgB,GAAiB,GAAe;CAC/C,OAAO;AACR;AAGA,SAAgB,EAAgC,GAAe;CAC9D,OAAO,gBAAgB,EAAM;AAC9B;;;;;;;;GEUM,IAAwB,WACxB,IAA8B;AAoDpC,SAAgB,EAAS,EACxB,QACA,UACA,aACA,UACA,gBACA,iBACA,SACA,aACA,cAAW,IACX,UACA,iBACA,YACA,kBAAe,IACf,eAAY,IACZ,eAAY,IACZ,8BAA2B,GAC3B,sBAAkB,oBAClB,oBACA,eACA,IAAI,IACJ,SACA,SACA,cACA,cACA,eACA,YACA,WACA,uBACA,qBACA,oBAAoB,GACpB,mBAAmB,GACnB,GAAG,KACc;CACjB,IAAM,IAAW,EAAyB,IAAI,GACxC,IAAa,EAAuB,IAAI,GACxC,IAAiB,EAAO,EAAK,GAC7B,CAAC,GAAO,KAAY,EAAS,EAAE,GAC/B,CAAC,IAAc,KAAmB,EAAS,EAAE,GAC7C,EAAE,cAAW,YAAS,mBAAe,aAAS,oBAAgB,EAAiB;EACpF,IAAI;EACJ,UAAU,KAAiC;EAC3C,gBAAgB,CAAC,CAAC;EAClB,UAAU,CAAC,CAAC;CACb,CAAC,GACK,IAAkB,MAAY,KAAA,IAAY,WAA2B,KAAK,IAAI,GAAG,KAAK,MAAM,CAAO,CAAC,GACpG,IAAoB,KAAY,GAChC,IAAkB,EAAoB,IAAa,CAAuB,GAC1E,KAAiB,EAAoB,GAAS,CAAsB;CAE1E,EACC,SACM;EACL,IAAM,IAAQ,EAAS;EAEvB,IAAI,CAAC,GACJ,MAAU,MAAM,uEAAuE;EAGxF,OAAO;CACR,GACA,CAAC,CACF;CAGA,IAAM,KAAc,MAA+B;EAClD,IAAI,GACH;EAGD,IAAe;EAEf,IAAM,IAAW,CAAC,GAAG,CAAK,GACpB,IAAY,IAAI,IAAI,EAAS,KAAK,MAAQ,EAAU,CAAG,CAAC,CAAC,GACzD,IAAkB,CAAC,GACrB,IAAiB,GACjB,IAAe;EAEnB,KAAK,IAAM,KAAU,GAAS;GAC7B,IAAM,IAAM,EAAa,CAAM;GAE/B,IAAI,CAAC,GAAK;GAEV,IAAI,MAAc,KAAA,KAAa,EAAI,SAAS,GAAW;IACtD,EAAgB,QAAQ,EAAI,gCAAgC;IAC5D;GACD;GAEA,IAAM,IAAM,EAAU,CAAG;GAEzB,IAAI,EAAU,IAAI,CAAG,GAAG;IACvB,KAAkB;IAClB;GACD;GAEA,IAAI,EAAS,UAAU,GAAiB;IACvC,IAAe;IACf;GACD;GAIA,AAFA,EAAU,IAAI,CAAG,GACjB,EAAS,KAAK,CAAG,GACjB,EAAM,KAAK,CAAG;EACf;EAEA,AAAI,EAAM,SAAS,KAClB,EAAS,CAAQ,GACjB,EAAgB,EAAM,WAAW,IAAI,iBAAiB,EAAM,GAAG,MAAM,oBAAoB,EAAM,OAAO,EAAE,KAC9F,IACV,EAAgB,6CAA6C,EAAgB,EAAE,IACrE,IAAiB,KAC3B,EAAgB,yBAAyB;CAE3C,GAEM,UACA,KAEL,EAAW,EAAM,MAAM,CAA2B,CAAC,GACnD,EAAS,EAAE,GACJ,MAJY,IAOd,KAAa,MAAkB;EACpC,IAAI,GAAmB;EAEvB,IAAM,IAAa,EAAM;EACrB,MAAe,KAAA,MAEnB,EAAS,EAAM,QAAQ,GAAG,MAAiB,MAAiB,CAAK,CAAC,GAClE,IAAe,GACf,EAAgB,eAAe,EAAW,GAAG,GAC7C,EAAS,SAAS,MAAM;CACzB,GAEM,MAAiB,MAA2C;EACjE,SAAY,CAAK,GACb,IAAM,oBAAoB,EAAM,YAAY,eAAe,EAAe,WAAW,IAEzF;OAAI,EAAM,QAAQ,WAAW,EAAM,QAAQ,KAAK;IAC/C,CAAI,EAAY,KAAK,EAAM,QAAQ,QAClC,EAAM,eAAe;IAEtB;GACD;GAEA,AAAI,EAAM,QAAQ,eAAe,EAAM,WAAW,KAAK,EAAM,SAAS,MACrE,EAAM,eAAe,GACrB,EAAU,EAAM,SAAS,CAAC;EAJ3B;CAMD,GAEM,MAAe,MAA4C;EAEhE,IADA,IAAU,CAAK,GACX,EAAM,oBAAoB,GAAmB;EAEjD,IAAM,IAAgB,EAAM,cAAc,QAAQ,MAAM;EACxD,IAAI,CAAC,EAAsB,KAAK,CAAa,GAAG;EAEhD,EAAM,eAAe;EACrB,IAAM,IAAiB,EAAM,cAAc,kBAAkB,EAAM,QAC7D,IAAe,EAAM,cAAc,gBAAgB,GACnD,IAAc,GAAG,EAAM,MAAM,GAAG,CAAc,IAAI,IAAgB,EAAM,MAAM,CAAY;EAGhG,AADA,EAAW,EAAY,MAAM,CAA2B,CAAC,GACzD,EAAS,EAAE;CACZ;CAEA,OACC,kBAAC,GAAD;EACQ;EACM;EACH;EACC;EACL;EACC;EACI;EACF;EACM;EACN;YAVV,CAWC,kBAAC,OAAD;GACC,KAAK;GACL,WAAW,EAAG,EAAS,WAAW,KAAS,EAAS,SAAS,EAAO,OAAO;GAC3E,iBAAe,IAAW,KAAK,KAAA;GAC/B,iBAAe,IAAW,KAAK,KAAA;GAC/B,gBAAc,IAAQ,KAAK,KAAA;GAC3B,eAAe,EAAS,SAAS,MAAM;aANxC;IAOE,EAAM,SAAS,KACf,kBAAC,MAAD;KAAI,WAAW,EAAO;KAAS,cAAY;eACzC,EAAM,KAAK,GAAK,MAChB,kBAAC,MAAD;MAAI,WAAW,EAAO;gBAAtB,CACC,kBAAC,QAAD;OAAM,WAAW,EAAO;iBAAU;MAAU,CAAA,GAC3C,CAAC,KACD,kBAAC,UAAD;OACC,MAAK;OACL,WAAW,EAAO;OAClB,UAAU,MAAU;QAEnB,AADA,EAAM,gBAAgB,GACtB,EAAU,CAAK;OAChB;OACA,cAAY,EAAyB,GAAK,CAAK;iBAC/C,kBAAC,GAAD,EAAO,eAAY,OAAQ,CAAA;MACpB,CAAA,CAEN;QAd4B,GAAG,EAAU,CAAG,EAAE,GAAG,GAcjD,CACJ;IACE,CAAA;IAGL,kBAAC,SAAD;KACC,GAAI;KACJ,KAAK;KACL,IAAI;KACE;KACI;KACA;KACV,UAAU,MAAY,EAAM,WAAW;KAC5B;KACX,OAAO;KACP,aAAa,EAAM,WAAW,IAAI,KAAc,KAAA;KAChD,gBAAc,CAAC,CAAC,KAAS,KAAA;KACzB,mBAAiB;KACjB,oBAAkB;KAClB,WAAW,EAAG,EAAO,OAAO,EAAc;KAC1C,WAAW,MAAU;MACpB,IAAM,IAAY,EAAM,OAAO,OACzB,IAAe,EAAsB,KAAK,CAAS;MAEzD,IAAI,EAAe,SAClB,EAAS,CAAS;WACZ,IAAI,GAAc;OACxB,IAAM,IAAQ,EAAU,MAAM,CAA2B,GAEnD,IADuB,EAAsB,KAAK,EAAU,GAAG,EAAE,KAAK,EACpD,IAAuB,KAAM,EAAM,IAAI,KAAK;OAGpE,AADA,EAAW,CAAK,GAChB,EAAS,CAAe;MACzB,OACC,EAAS,CAAS;MAGnB,CAAI,EAAe,WAAW,CAAC,MAC9B,IAAe;KAEjB;KACA,WAAW;KACX,SAAS;KACT,qBAAqB,MAA8C;MAElE,AADA,EAAe,UAAU,IACzB,IAAqB,CAAK;KAC3B;KACA,mBAAmB,MAA8C;MAEhE,AADA,EAAe,UAAU,IACzB,IAAmB,CAAK;KACzB;KACA,SAAS,MAAU;MAClB,IAAS,CAAK;MACd,IAAM,IAAkB,EAAM,eACxB,IAAqB,aAA2B,QAAQ,EAAW,SAAS,SAAS,CAAe;MAE1G,AAAI,CAAC,EAAM,oBAAoB,CAAC,KAAsB,KAAa,CAAC,KACnE,EAAY;KAEd;IACA,CAAA;IAEA,KACA,EAAM,KAAK,GAAK,MACf,kBAAC,SAAD;KAA0C,MAAK;KAAe;KAAM,OAAO;KAAW;KAAgB;IAAW,GAArG,GAAG,EAAU,CAAG,EAAE,GAAG,GAAgF,CACjH;GACE;MAEL,kBAAC,QAAD;GAAM,WAAU;GAAiB,aAAU;GAAS,eAAY;aAC9D;EACI,CAAA,CACE;;AAEX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"joinTagInputAriaIds.d.ts","sourceRoot":"","sources":["../../../src/tag-input/lib/joinTagInputAriaIds.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,sBAEpE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Удаляет внешние пробелы перед сохранением созданного тега. */
|
|
2
|
+
export declare function defaultNormalizeTag(value: string): string;
|
|
3
|
+
/** Сохраняет регистр и использует точное значение как ключ сравнения по умолчанию. */
|
|
4
|
+
export declare function defaultGetTagKey(value: string): string;
|
|
5
|
+
/** Формирует доступное имя действия удаления с конкретным значением тега. */
|
|
6
|
+
export declare function defaultGetRemoveButtonAriaLabel(value: string): string;
|
|
7
|
+
//# sourceMappingURL=tagInputDefaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tagInputDefaults.d.ts","sourceRoot":"","sources":["../../../src/tag-input/lib/tagInputDefaults.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,UAEhD;AAED,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,UAE7C;AAED,6EAA6E;AAC7E,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,UAE5D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ryuzaki13/react-foundation-ui",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Reusable React foundation UI primitives and Storybook stories.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ryuzaki13",
|
|
@@ -266,6 +266,10 @@
|
|
|
266
266
|
"types": "./dist/switch/index.d.ts",
|
|
267
267
|
"import": "./dist/switch/index.js"
|
|
268
268
|
},
|
|
269
|
+
"./tag-input": {
|
|
270
|
+
"types": "./dist/tag-input/index.d.ts",
|
|
271
|
+
"import": "./dist/tag-input/index.js"
|
|
272
|
+
},
|
|
269
273
|
"./table": {
|
|
270
274
|
"types": "./dist/table/index.d.ts",
|
|
271
275
|
"import": "./dist/table/index.js"
|
|
@@ -375,6 +379,7 @@
|
|
|
375
379
|
"react-dom": "^19.2.7",
|
|
376
380
|
"react-easy-crop": "^6.0.2",
|
|
377
381
|
"storybook": "^10.4.6",
|
|
382
|
+
"yet-another-react-lightbox": "^3.32.1",
|
|
378
383
|
"zustand": "^5.0.14"
|
|
379
384
|
},
|
|
380
385
|
"peerDependenciesMeta": {
|
|
@@ -444,6 +449,9 @@
|
|
|
444
449
|
"storybook": {
|
|
445
450
|
"optional": true
|
|
446
451
|
},
|
|
452
|
+
"yet-another-react-lightbox": {
|
|
453
|
+
"optional": true
|
|
454
|
+
},
|
|
447
455
|
"@storybook/react-vite": {
|
|
448
456
|
"optional": true
|
|
449
457
|
}
|
|
@@ -501,6 +509,7 @@
|
|
|
501
509
|
"typescript-eslint": "^8.63.0",
|
|
502
510
|
"vite": "^8.1.0",
|
|
503
511
|
"vitest": "^4.1.9",
|
|
512
|
+
"yet-another-react-lightbox": "^3.32.1",
|
|
504
513
|
"zustand": "^5.0.14"
|
|
505
514
|
},
|
|
506
515
|
"engines": {
|
|
@@ -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-Be6sd6Mi.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-Be8o0WOk.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-fhovi8Mi.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-Dw3PG8YA.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,i as o}from"./utils-CnV3Gszu.js";import{o as s,t as c}from"./lucide-react-DMM2-ayk.js";import{n as l,t as u}from"./text-Bf_PqPja.js";import{i as d,n as f,r as p,t as m}from"./uiClasses-CaHp0EWd.js";import{o as h}from"./Flex-BtfZvPDu.js";import{t as g}from"./flex-BWOaXKdl.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-Be6sd6Mi.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-Be8o0WOk.js";import{Basic as p,ComposableScheme as m,Variants as h,WithIcons as g,n as _,t as v}from"./Button.stories-DehjFhSM.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-Dw3PG8YA.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,i as a}from"./utils-CnV3Gszu.js";import{n as o,t as s}from"./popover-v9hxY66g.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{
|
|
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-DMM2-ayk.js";import{n as c,t as l}from"./Button-DuNV63ZS.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-Dw3PG8YA.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,i as a}from"./utils-CnV3Gszu.js";import{g as o,t as s}from"./lucide-react-DMM2-ayk.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-Be6sd6Mi.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-Be8o0WOk.js";import{Controlled as p,Disabled as m,Sizes as h,Tones as g,n as _,t as v}from"./CheckBox.stories-Cb7RC2GA.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-Dd7SzJDz.js → CheckBox.stories-Cb7RC2GA.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-Dw3PG8YA.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{n as a,t as o}from"./CheckBox-BmyFh4i7.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-CTboIfoI.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-DoPnTsyg.js";import{a as m,l as h}from"./theming-A6fWw02F.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-Dw3PG8YA.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-Be6sd6Mi.js";import{a as m,l as h}from"./theming-D37tYvvG.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-Be6sd6Mi.js";import{t as u}from"./jsx-runtime-BBQGix-2.js";import{t as d}from"./mdx-react-shim-Be8o0WOk.js";import{ContextMenuBasic as f,ControlledDropdown as p,DropdownMenuBasic as m,n as h,t as g}from"./ContextMenu.stories-AZHC-8P9.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.
|
package/storybook-static/assets/{ContextMenu.stories-C_i_uyc4.js → ContextMenu.stories-AZHC-8P9.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-Dw3PG8YA.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{E as a,K as o,O as s,X as c,f as l,t as u,v as d}from"./lucide-react-DMM2-ayk.js";import{i as f,n as p,r as m,t as h}from"./DropdownMenu-3ney3Ng2.js";var g=e({ContextMenuBasic:()=>x,ContextMenuRadial:()=>S,ControlledDropdown:()=>C,DropdownMenuBasic:()=>b,__namedExportsOrder:()=>w,default:()=>y}),_,v,y,b,x,S,C,w,T=n((()=>{_=t(r(),1),u(),f(),p(),v=i(),y={title:`Shared/UI/ContextMenu`,parameters:{atomicCanvas:!0,layout:`centered`}},b={name:`DropdownMenu / Базовый`,render:()=>(0,v.jsxs)(h,{children:[(0,v.jsx)(h.Trigger,{children:(0,v.jsx)(`button`,{type:`button`,children:`Действия`})}),(0,v.jsxs)(h.Content,{children:[(0,v.jsx)(h.GroupLabel,{children:`Файл`}),(0,v.jsx)(h.Item,{icon:(0,v.jsx)(s,{size:14}),hotKey:`Ctrl+E`,children:`Редактировать`}),(0,v.jsx)(h.Item,{icon:(0,v.jsx)(c,{size:14}),hotKey:`Ctrl+C`,children:`Копировать`}),(0,v.jsx)(h.Separator,{}),(0,v.jsx)(h.Item,{icon:(0,v.jsx)(l,{size:14}),hotKey:`Del`,children:`Удалить`})]})]})},x={name:`ContextMenu / По правому клику`,render:()=>(0,v.jsxs)(m,{children:[(0,v.jsx)(m.Trigger,{children:(0,v.jsxs)(`div`,{style:{width:300,height:180,display:`grid`,placeItems:`center`,border:`1px dashed var(--border-1)`,borderRadius:`var(--radius-sm)`,background:`var(--surface-1)`,padding:16,textAlign:`center`},children:[`Нажмите правой кнопкой мыши`,(0,v.jsx)(`br`,{}),`или Shift+F10`]})}),(0,v.jsxs)(m.Content,{children:[(0,v.jsx)(m.Item,{icon:(0,v.jsx)(s,{size:14}),children:`Переименовать`}),(0,v.jsx)(m.Item,{icon:(0,v.jsx)(c,{size:14}),children:`Дублировать`}),(0,v.jsx)(m.Separator,{}),(0,v.jsx)(m.Item,{icon:(0,v.jsx)(l,{size:14}),children:`Переместить в корзину`})]})]})},S={name:`ContextMenu / Радиальное меню`,render:()=>(0,v.jsxs)(m,{children:[(0,v.jsx)(m.Trigger,{children:(0,v.jsxs)(`div`,{style:{width:360,height:220,display:`grid`,placeItems:`center`,border:`1px dashed var(--border-1)`,borderRadius:`var(--radius-sm)`,background:`var(--surface-1)`,padding:16,textAlign:`center`},children:[`Нажмите правой кнопкой мыши`,(0,v.jsx)(`br`,{}),`или Shift+F10`]})}),(0,v.jsxs)(m.RadialContent,{children:[(0,v.jsx)(m.RadialItem,{icon:(0,v.jsx)(s,{}),children:`Править`}),(0,v.jsx)(m.RadialItem,{icon:(0,v.jsx)(c,{}),children:`Копия`}),(0,v.jsx)(m.RadialItem,{icon:(0,v.jsx)(a,{}),children:`Закрепить`}),(0,v.jsx)(m.RadialItem,{icon:(0,v.jsx)(o,{}),children:`Просмотр`}),(0,v.jsx)(m.RadialItem,{icon:(0,v.jsx)(d,{}),children:`Опции`}),(0,v.jsx)(m.RadialItem,{icon:(0,v.jsx)(l,{}),children:`Удалить`})]})]})},C={name:`DropdownMenu / Контролируемый`,render:()=>{let[e,t]=(0,_.useState)(!1);return(0,v.jsxs)(h,{open:e,onOpenChange:t,children:[(0,v.jsx)(h.Trigger,{children:(0,v.jsx)(`button`,{type:`button`,children:e?`Скрыть меню`:`Показать меню`})}),(0,v.jsx)(h.Content,{children:(0,v.jsx)(h.Item,{onSelect:()=>t(!1),children:`Закрыть`})})]})}},b.parameters={...b.parameters,docs:{...b.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
name: "DropdownMenu / Базовый",
|
|
3
3
|
render: () => <DropdownMenu>
|
|
4
4
|
<DropdownMenu.Trigger>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-CTboIfoI.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,i as a}from"./utils-BAfp5vsY.js";import{ft as o,it as s,ot as c,t as l}from"./lucide-react-gtfXEQZ7.js";import{B as u,C as d,H as f,L as p,S as m,U as h,V as g,W as _,_ as v,b as y,h as b,i as x,q as S,r as C,t as w,u as T,v as E}from"./formatters-Dzo8Pnex.js";import{i as ee,t as D}from"./popover-D0spGyn8.js";import{t as O}from"./Button-D5iLUeQv.js";import{t as k}from"./button-GO_OT5aH.js";import{a as te}from"./Input-DrlKVI51.js";import{t as A}from"./input-DD2xaJKI.js";import{n as j,t as ne}from"./RadioGroup-D8LzcclQ.js";function re(e){return e===`month`?`month`:e===`year`?`year`:`day`}function M(e,t){return oe.indexOf(e)>=oe.indexOf(t)}function ie(e,t){let n=re(e);return M(n,t)?n:t}function N(e,t){return!e||!t?!1:e.start.getTime()===t.start.getTime()&&e.end.getTime()===t.end.getTime()}function ae(e,t,n){if(!e||!t||!n)return!1;let r=Math.min(t.start.getTime(),n.start.getTime()),i=Math.max(t.end.getTime(),n.end.getTime());return e.start.getTime()>=r&&e.end.getTime()<=i}function P({date:e,value:t,hoveredDate:n,selectsRange:r,selectionOptions:i}){let a=T(e,i),o=T(!r&&t instanceof Date?t:null,i);if(!r||!Array.isArray(t))return{selected:x(e,o),range:!1,rangeStart:!1,rangeEnd:!1};let[s,c]=t,l=T(s,i),u=T(c??(s?n:null),i),d=N(a,l),f=N(a,u);return{selected:!1,range:ae(a,l,u)&&!d&&!f,rangeStart:d,rangeEnd:f}}var oe,F,se,ce=t((()=>{w(),oe=[`day`,`month`,`year`],F=[`day`,`week`,`month`,`year`],se=[`friday`,`saturday`,`sunday`]}));function I(e){return e.selectionMode===`day`||e.selectionMode===`week`?`day`:e.selectionMode===`month`||e.selectionMode===`year`?e.selectionMode:e.datePickerLevel??`day`}function L(e){return{selectionMode:e?.selectionMode,weekEndDay:e?.weekEndDay}}function R(e,t){return typeof e==`string`||e===void 0?{datePreset:e,datePickerLevel:t}:t&&e.datePickerLevel===void 0?{...e,datePickerLevel:t}:e}function le(e){let t=S(e,U);return u(t)?t:U}function ue(e){return e.datePreset===void 0?e.dateFormat:le(e.datePreset)}function z(e){return e.datePreset===void 0?h(e.dateFormat,Se):le(e.datePreset)}function de(e,t){return g(e,ue(t),{defaultFormat:U,precision:I(t),referenceDate:t.referenceDate})?.date??null}function B(e,t){return T(e,L(t))?.start??null}function V(e,t){if(!y(e))return null;let[n,r]=e;return[B(n,t),fe(r,t)]}function fe(e,t){return T(e,L(t))?.end??null}function H(e){return e?.getTime()??null}function pe(e,t,n){return H(B(e,n))===H(B(t,n))}function me(e,t,n){let r=V(e,n),i=V(t,n);return H(r?.[0]??null)===H(i?.[0]??null)&&H(r?.[1]??null)===H(i?.[1]??null)}function he(e,t,n){if(!e)return``;let r=R(t,n),i=T(e,L(r));return r.selectionMode===`week`&&i?f(i.start,i.end,z(r),{precision:I(r)}):p(e,z(r),{precision:I(r)})}function ge(e,t,n){if(!y(e))return``;let r=R(t,n),[i,a]=e;return i&&a?f(i,a,z(r),{precision:I(r)}):i?`${p(i,z(r),{precision:I(r)})}${xe}`:``}function _e(e,t,n){return y(e)?ge(e,t,n):he(e,t,n)}function ve(e,t,n){let r=R(t,n);return B(de(r.selectionMode===`week`?e.split(xe)[0]??``:e,r),r)}function ye(e,t,n){let r=R(t,n),[i=``,a=``]=e.split(xe);return[ve(i,r),be(a,r)]}function be(e,t,n){let r=R(t,n);return fe(de(e,r),r)}var U,xe,Se,Ce=t((()=>{w(),U=_.date,xe=` - `,Se=Object.freeze({defaultFormat:U,patternPresetName:`__date_input__`})})),we=t((()=>{})),W=t((()=>{ce(),Ce(),we()})),Te=t((()=>{j()}));function Ee(e){return y(e)?e[0]??e[1]??void 0:e??void 0}var G,De,Oe=t((()=>{G=e(n(),1),w(),W(),De=e=>{let t=(0,G.useMemo)(()=>{let t={selectionMode:e.selectionMode,weekEndDay:e.weekEndDay};return e.selectsRange?V(e.value,t):B(e.value,t)},[e.selectsRange,e.selectionMode,e.value,e.weekEndDay]),[n,r]=(0,G.useState)(t),i=(0,G.useMemo)(()=>({datePreset:e.datePreset,dateFormat:e.dateFormat,datePickerLevel:e.datePickerLevel,selectionMode:e.selectionMode,weekEndDay:e.weekEndDay}),[e.dateFormat,e.datePickerLevel,e.datePreset,e.selectionMode,e.weekEndDay]),[a,o]=(0,G.useState)(()=>_e(t,i)),s=(0,G.useMemo)(()=>{if(e.selectsRange){let t=V(e.value,i);return`${t?.[0]?.getTime()??`null`}:${t?.[1]?.getTime()??`null`}`}let t=B(e.value,i);return String(t?.getTime()??`null`)},[i,e.selectsRange,e.value]),c=e=>_e(e,i),l=(0,G.useEffectEvent)(t=>{if(e.selectsRange){let e=V(t,i),n=c(e);r(t=>{let n=t;return(n?.[0]?.getTime()??null)===(e?.[0]?.getTime()??null)&&(n?.[1]?.getTime()??null)===(e?.[1]?.getTime()??null)?t:e}),o(e=>e===n?e:n);return}let n=B(t,i),a=c(n);r(e=>(e?.getTime()??null)===(n?.getTime()??null)?e:n),o(e=>e===a?e:a)});return(0,G.useEffect)(()=>{l(e.value)},[e.dateFormat,e.datePickerLevel,e.datePreset,e.selectsRange,e.selectionMode,e.value,e.weekEndDay,s]),{inputValue:a,setInputValue:o,selectedDate:n,setSelectedDate:r,handleSelect:t=>{let[n,a]=Array.isArray(t)?t:[t,null];if(e.selectsRange){let t=B(n,i),s=fe(a,i);if(t&&s){if(s<t){let t=[B(a,i),fe(n,i)];r(t),o(c(t)),e.onChange(t)}else{let n=[t,s];r(n),o(c(n)),e.onChange(n)}return!0}let l=[t,null];return r(l),o(c(l)),!1}let s=B(n,i);return r(s),o(c(s)),e.onChange(s),!0},formatDate:c,parseDate:t=>{let r={...i,referenceDate:Ee(n)};return e.selectsRange?ye(t,r):ve(t,r)}}}})),ke=t((()=>{Oe()})),Ae,je,Me,Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We,Ge,K,Ke=t((()=>{Ae=`Dshr-j`,je=`esetVt`,Me=`i-LJYe`,Ne=`XZsnCH`,Pe=`_2KDjTS`,Fe=`o-freG`,Ie=`GcV08-`,Le=`UCrE-I`,Re=`L2V3uq`,ze=`Te9oCq`,Be=`cUF2pQ`,Ve=`d1L5uw`,He=`LU0M9Y`,Ue=`MR3y5p`,We=`VDqDpm`,Ge=`CLR-7m`,K={dayView:Ae,weekdays:je,weekday:Me,daysGrid:Ne,week:Pe,day:Fe,disabled:Ie,outsideMonth:Le,periodSelection:Re,periodPreview:ze,selected:Be,range:Ve,rangeStart:He,rangeEnd:Ue,weekend:We,now:Ge}})),qe,q,Je,Ye,Xe,Ze=t((()=>{qe=e(n(),1),w(),a(),Ke(),q=r(),Je=[`Пн`,`Вт`,`Ср`,`Чт`,`Пт`,`Сб`,`Вс`],Ye=new Intl.DateTimeFormat(`ru-RU`,{weekday:`long`,year:`numeric`,month:`long`,day:`numeric`}),Xe=({now:e,currentDate:t,value:n,onChange:r,minDate:a,maxDate:o,selectsRange:s,selectionMode:c=`day`,weekEndDay:l=`sunday`})=>{let[u,d]=(0,qe.useState)(null),f={selectionMode:c,weekEndDay:l},p=(()=>{let e=t.getFullYear(),n=t.getMonth(),r=E(e,n,1),i=E(e,n+1,0),a=r.getDay()===0?6:r.getDay()-1,o=42-(a+i.getDate()),s=[],c=E(e,n,0).getDate();for(let t=a;t>0;--t)s.push(E(e,n-1,c-t+1));for(let t=1;t<=i.getDate();t+=1)s.push(E(e,n,t));for(let t=1;t<=o;t+=1)s.push(E(e,n+1,t));let l=[];for(let e=0;e<s.length;e+=7)l.push(s.slice(e,e+7));return l})(),h=s&&Array.isArray(n)?n[0]:null,g=s&&Array.isArray(n)?n[1]:null,_=T(s?null:n,f),y=T(u,f),b=g??(h?y?.end??null:null),S=c===`week`,w=S&&(!s||!h),ee=e=>{if(!s||!h||!b)return!1;let t=v(e).getTime(),n=h.getTime(),r=b.getTime();return t>=Math.min(n,r)&&t<=Math.max(n,r)},D=e=>!C(T(e,f),{minDate:a,maxDate:o}),O=(e,t)=>{t||(S&&d(e),!(!s||!h||g)&&(S||d(e)))};return(0,q.jsxs)(`div`,{className:K.dayView,children:[(0,q.jsx)(`div`,{className:K.weekdays,children:Je.map(e=>(0,q.jsx)(`div`,{className:K.weekday,children:e},e))}),(0,q.jsx)(`div`,{className:K.daysGrid,onMouseLeave:()=>{(S||!g)&&d(null)},children:p.map((n,a)=>(0,q.jsx)(`div`,{className:K.week,children:n.map((n,o)=>{let s=n.getMonth()===t.getMonth(),l=x(n,_),u=w&&x(n,y),d=ee(n),f=m(n,h),p=m(n,b),g=m(n,e),v=D(n);return(0,q.jsx)(`button`,{type:`button`,onClick:()=>!v&&r(n),onMouseEnter:()=>O(n,v),disabled:v,"data-ui":`calendar-day-button`,"data-action":`select-calendar-day`,className:i(K.day,{[K.outsideMonth]:!s,[K.periodSelection]:c===`week`,[K.periodPreview]:u&&!l,[K.selected]:l,[K.range]:d&&!f&&!p,[K.rangeStart]:f,[K.rangeEnd]:p,[K.disabled]:v,[K.weekend]:o>4,[K.now]:g}),"aria-label":Ye.format(n),"aria-pressed":l||d||f||p,children:n.getDate()},`${a}-${o}`)})},a))})]})},Xe.__docgenInfo={description:`Отображает сетку дней месяца в календарной семантике без timezone-сдвига.`,methods:[],displayName:`CalendarDayView`,props:{selectionMode:{defaultValue:{value:`"day"`,computed:!1},required:!1},weekEndDay:{defaultValue:{value:`"sunday"`,computed:!1},required:!1}}}})),Qe,$e,et,tt,nt,rt,it,at,J,ot=t((()=>{Qe=`p5pRGW`,$e=`pUHpxD`,et=`lwWv-z`,tt=`_8gn-3z`,nt=`b57d-c`,rt=`nGc5FO`,it=`JLqjri`,at=`UQMYwg`,J={monthView:Qe,monthsGrid:$e,month:et,disabled:tt,range:nt,selected:rt,rangeStart:it,rangeEnd:at}})),st,ct,lt,ut,dt,ft=t((()=>{st=e(n(),1),w(),a(),W(),ot(),ct=r(),lt=new Intl.DateTimeFormat(`ru-RU`,{month:`short`}),ut=new Intl.DateTimeFormat(`ru-RU`,{month:`long`,year:`numeric`}),dt=({currentDate:e,value:t,onChange:n,minDate:r,maxDate:a,selectsRange:o,selectsPeriod:s,selectionMode:c=`day`,weekEndDay:l=`sunday`})=>{let[u,d]=(0,st.useState)(null),f=Array.from({length:12},(e,t)=>t),p=e.getFullYear(),m={selectionMode:c,weekEndDay:l},h=o&&Array.isArray(t)?t[0]:null,g=o&&Array.isArray(t)?t[1]:null,_=e=>lt.format(E(p,e,1)),v=e=>{if(!r&&!a)return!1;let t=E(p,e,1),n=E(p,e+1,0,23,59,59);return s?!C(T(t,m),{minDate:r,maxDate:a}):!!(r&&n<r||a&&t>a)},y=(e,t)=>{!o||!h||g||t||d(e)};return(0,ct.jsx)(`div`,{className:J.monthView,children:(0,ct.jsx)(`div`,{className:J.monthsGrid,onMouseLeave:()=>{g||d(null)},children:f.map(e=>{let r=v(e),a=E(p,e,1),s=P({date:a,value:t,hoveredDate:u,selectsRange:o,selectionOptions:m});return(0,ct.jsx)(`button`,{type:`button`,onClick:()=>!r&&n(a),onMouseEnter:()=>y(a,r),disabled:r,"data-ui":`calendar-month-button`,"data-action":`select-calendar-month`,className:i(J.month,{[J.selected]:s.selected,[J.range]:s.range,[J.rangeStart]:s.rangeStart,[J.rangeEnd]:s.rangeEnd,[J.disabled]:r}),"aria-label":ut.format(a),"aria-pressed":s.selected||s.range||s.rangeStart||s.rangeEnd,children:_(e)},e)})})})},dt.__docgenInfo={description:`Отображает выбор месяца в календарной семантике без timezone-сдвига.`,methods:[],displayName:`CalendarMonthView`,props:{selectionMode:{defaultValue:{value:`"day"`,computed:!1},required:!1},weekEndDay:{defaultValue:{value:`"sunday"`,computed:!1},required:!1}}}})),pt,mt,ht,gt=t((()=>{pt=`E35KE6`,mt=`L14Qef`,ht={calendarView:pt,calendarHeader:mt}})),_t,vt,yt,bt,xt,St,Ct,wt,Y,Tt=t((()=>{_t=`_--xW7O`,vt=`-N-5Jk`,yt=`hhY92S`,bt=`IhX7jj`,xt=`NWNpWj`,St=`d1SfcV`,Ct=`Gkui4r`,wt=`_0dVZLW`,Y={yearView:_t,yearsGrid:vt,year:yt,disabled:bt,range:xt,selected:St,rangeStart:Ct,rangeEnd:wt}})),Et,Dt,Ot,kt=t((()=>{Et=e(n(),1),w(),a(),W(),Tt(),Dt=r(),Ot=({currentDate:e,value:t,onChange:n,minDate:r,maxDate:a,selectsRange:o,selectsPeriod:s,selectionMode:c=`day`,weekEndDay:l=`sunday`})=>{let[u,d]=(0,Et.useState)(null),f=Math.floor(e.getFullYear()/12)*12,p=Array.from({length:12},(e,t)=>f+t),m={selectionMode:c,weekEndDay:l},h=o&&Array.isArray(t)?t[0]:null,g=o&&Array.isArray(t)?t[1]:null,_=e=>{if(!r&&!a)return!1;let t=E(e,0,1),n=E(e,11,31,23,59,59);return s?!C(T(t,m),{minDate:r,maxDate:a}):!!(r&&n<r||a&&t>a)},v=(e,t)=>{!o||!h||g||t||d(e)};return(0,Dt.jsx)(`div`,{className:Y.yearView,children:(0,Dt.jsx)(`div`,{className:Y.yearsGrid,onMouseLeave:()=>{g||d(null)},children:p.map(e=>{let r=_(e),a=E(e,0,1),s=P({date:a,value:t,hoveredDate:u,selectsRange:o,selectionOptions:m});return(0,Dt.jsx)(`button`,{type:`button`,onClick:()=>!r&&n(a),onMouseEnter:()=>v(a,r),disabled:r,"data-ui":`calendar-year-button`,"data-action":`select-calendar-year`,className:i(Y.year,{[Y.selected]:s.selected,[Y.range]:s.range,[Y.rangeStart]:s.rangeStart,[Y.rangeEnd]:s.rangeEnd,[Y.disabled]:r}),"aria-label":e.toString(),"aria-pressed":s.selected||s.range||s.rangeStart||s.rangeEnd,children:e},e)})})})},Ot.__docgenInfo={description:`Отображает выбор года в календарной семантике без timezone-сдвига.`,methods:[],displayName:`CalendarYearView`,props:{selectionMode:{defaultValue:{value:`"day"`,computed:!1},required:!1},weekEndDay:{defaultValue:{value:`"sunday"`,computed:!1},required:!1}}}}));function At({view:e,datePickerLevel:t,selectionMode:n=`day`,weekEndDay:r=`sunday`,onViewChange:i,...a}){let[o]=(0,X.useState)(()=>v(new Date)),[l,u]=(0,X.useState)(()=>a.selectsRange&&y(a.value)&&a.value[0]instanceof Date?a.value[0]:!a.selectsRange&&a.value instanceof Date?a.value:v(new Date)),f=a.currentDate??l,p={selectionMode:n,weekEndDay:r},m=e=>{let t=typeof e==`function`?e(f):e;a.currentDate===void 0&&u(t),a.onCurrentDateChange?.(t)},h=(0,X.useEffectEvent)(e=>{if(a.selectsRange&&Array.isArray(e)&&e[0]instanceof Date){m(e[0]);return}!a.selectsRange&&e instanceof Date&&m(e)});(0,X.useEffect)(()=>{h(a.value)},[a.value]);let g=()=>{if(e===`day`){m(e=>d(e,-1));return}if(e===`month`){m(e=>b(e,-1));return}m(e=>b(e,-12))},_=()=>{if(e===`day`){m(e=>d(e,1));return}if(e===`month`){m(e=>b(e,1));return}m(e=>b(e,12))};return(0,Z.jsxs)(`div`,{className:ht.calendarView,children:[(()=>{let t=``;if(e===`day`)t=f.toLocaleDateString(`ru-RU`,{month:`long`,year:`numeric`});else if(e===`month`)t=f.getFullYear().toString();else{let e=Math.floor(f.getFullYear()/12)*12;t=`${e} - ${e+11}`}return(0,Z.jsxs)(`div`,{className:ht.calendarHeader,children:[(0,Z.jsx)(O,{icon:(0,Z.jsx)(c,{}),onClick:g,variant:`ghost`,"aria-label":`Предыдущий`,"data-action":`calendar-previous`}),(0,Z.jsx)(O,{onClick:()=>{e===`day`?i(`month`):e===`month`&&i(`year`)},variant:`ghost`,className:`flex1`,"data-ui":`calendar-view-switch-button`,"data-action":`calendar-switch-view`,children:t}),(0,Z.jsx)(O,{icon:(0,Z.jsx)(s,{}),onClick:_,variant:`ghost`,"aria-label":`Следующий`,"data-ui":`calendar-next-button`,"data-action":`calendar-next`})]})})(),(()=>{let s=e=>{let t=T(e,p);if(!(!t||!C(t,{minDate:a.minDate,maxDate:a.maxDate}))){if(a.selectsRange){let e=null,n=null;if(Array.isArray(a.value)&&([e,n]=a.value),!e||n){a.onChange([t.start,null]);return}let r=T(e,p);if(!r)return;if(t.start<r.start){a.onChange([t.start,r.end]);return}a.onChange([r.start,t.end]);return}a.onChange(t.start)}},c=e=>{if(m(e),n===`month`||!M(`day`,t)){s(e);return}i(`day`)},l=e=>{if(m(e),n===`year`||!M(`month`,t)){s(e);return}i(`month`)};switch(e){case`day`:return(0,Z.jsx)(Xe,{now:o,currentDate:f,value:a.value,onChange:s,minDate:a.minDate,maxDate:a.maxDate,selectsRange:a.selectsRange,selectionMode:n,weekEndDay:r});case`month`:return(0,Z.jsx)(dt,{currentDate:f,value:a.value,onChange:c,minDate:a.minDate,maxDate:a.maxDate,selectsRange:a.selectsRange,selectsPeriod:n===`month`||!M(`day`,t),selectionMode:n,weekEndDay:r});case`year`:return(0,Z.jsx)(Ot,{currentDate:f,value:a.value,onChange:l,minDate:a.minDate,maxDate:a.maxDate,selectsRange:a.selectsRange,selectsPeriod:n===`year`||!M(`month`,t),selectionMode:n,weekEndDay:r});default:return null}})()]})}var X,Z,jt=t((()=>{X=e(n(),1),w(),l(),k(),W(),Ze(),ft(),gt(),kt(),Z=r(),At.__docgenInfo={description:`Отображает календарь выбора даты в календарной семантике без timezone-сдвига.`,methods:[],displayName:`CalendarView`,props:{view:{required:!0,tsType:{name:`union`,raw:`"day" | "month" | "year"`,elements:[{name:`literal`,value:`"day"`},{name:`literal`,value:`"month"`},{name:`literal`,value:`"year"`}]},description:``},datePickerLevel:{required:!0,tsType:{name:`union`,raw:`"day" | "month" | "year"`,elements:[{name:`literal`,value:`"day"`},{name:`literal`,value:`"month"`},{name:`literal`,value:`"year"`}]},description:``},selectionMode:{required:!1,tsType:{name:`CalendarPeriodSelectionMode`},description:``,defaultValue:{value:`"day"`,computed:!1}},weekEndDay:{required:!1,tsType:{name:`CalendarWeekEndDay`},description:``,defaultValue:{value:`"sunday"`,computed:!1}},onViewChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(view: CalendarType) => void`,signature:{arguments:[{type:{name:`union`,raw:`"day" | "month" | "year"`,elements:[{name:`literal`,value:`"day"`},{name:`literal`,value:`"month"`},{name:`literal`,value:`"year"`}]},name:`view`}],return:{name:`void`}}},description:``},selectsRange:{required:!1,tsType:{name:`boolean`},description:``},value:{required:!0,tsType:{name:`union`,raw:`Date | NullableDateRange | null`,elements:[{name:`Date`},{name:`NullableDateRange`},{name:`null`}]},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(date: Date | NullableDateRange) => void`,signature:{arguments:[{type:{name:`union`,raw:`Date | NullableDateRange`,elements:[{name:`Date`},{name:`NullableDateRange`}]},name:`date`}],return:{name:`void`}}},description:``},minDate:{required:!1,tsType:{name:`Date`},description:``},maxDate:{required:!1,tsType:{name:`Date`},description:``},currentDate:{required:!1,tsType:{name:`Date`},description:``},onCurrentDateChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(date: Date) => void`,signature:{arguments:[{type:{name:`Date`},name:`date`}],return:{name:`void`}}},description:``}}}})),Mt,Nt,Pt,Ft=t((()=>{Mt=`HR4pgo`,Nt=`-tM-kj`,Pt={calendarButton:Mt,selectionModeControl:Nt}}));function It(e,t){let n=new Set(e?.length?e:F);return n.add(t),F.filter(e=>n.has(e))}function Lt({placeholder:e,disabled:t,error:n,onClearError:r,minDate:i,maxDate:a,datePickerLevel:s,selectionMode:c,weekEndDay:l=`sunday`,allowSelectionModeChange:u,selectionModeOptions:d,onSelectionModeChange:f,...p}){let[m,h]=(0,Q.useState)(!1),[g,_]=(0,Q.useState)(c??`day`),v=c??g,b=s??`day`,x=ie(v,b),[S,C]=(0,Q.useState)(()=>({view:x,selectionMode:v,minDatePickerLevel:b})),w=S.selectionMode===v&&S.minDatePickerLevel===b&&M(S.view,b)?S.view:x,T=(0,Q.useRef)(p.value),E={selectionMode:v,weekEndDay:l},{inputValue:D,setInputValue:k,selectedDate:A,setSelectedDate:j,handleSelect:re,formatDate:N,parseDate:ae}=De({...p,datePickerLevel:b,selectionMode:v,weekEndDay:l}),P=p.selectsRange?p.onChange:void 0,oe=(0,Q.useCallback)(e=>{M(e,b)&&C({view:e,selectionMode:v,minDatePickerLevel:b})},[b,v]);(0,Q.useEffect)(()=>{T.current=p.value},[p.value]);let F=()=>{if(D){let e=ae(D);if(e){if(k(N(e)),p.selectsRange&&y(e)){if(me(e,y(A)?A:null,E))return;j(e),p.onChange(e)}else if(!p.selectsRange&&e instanceof Date){if(pe(e,A instanceof Date?A:null,E))return;j(e),p.onChange(e)}}}},se=e=>{e.key===`Enter`&&(e.preventDefault(),F())},ce=(0,Q.useCallback)(e=>{re(e)&&h(!1)},[re]),I=(0,Q.useCallback)(e=>{c===void 0&&_(e),f?.(e),C({view:ie(e,b),selectionMode:e,minDatePickerLevel:b})},[c,b,f]),L=(0,Q.useCallback)(()=>{if(P){let[,e]=y(A)?A:[null,null];if(!e){let e=T.current,t=Array.isArray(e)?e:null,n=t?.[0]??null,r=t?.[1]??null;if(n&&r){let e=[n,r];j(e),k(N(e)),P(e)}else j([null,null]),k(``),P([null,null])}}},[P,A,j,k,N]),R=It(d,v),le=u&&R.length>1;return(0,$.jsxs)(ee,{open:m,onOpenChange:e=>{h(e),e||L()},children:[(0,$.jsx)(te,{label:p.label,description:p.description,size:p.size,value:D,onChange:k,onBlur:F,onKeyUp:se,placeholder:e,disabled:t,error:n,onClearError:r,endAdornmentWidth:`var(--control-height)`,endAdornment:(0,$.jsx)(ee.Trigger,{children:(0,$.jsx)(O,{variant:`transparent`,disabled:t,className:Pt.calendarButton,icon:(0,$.jsx)(o,{}),"aria-label":`Открыть календарь`})})}),(0,$.jsxs)(ee.Content,{background:`primary`,children:[(0,$.jsx)(At,{view:w,datePickerLevel:b,selectionMode:v,weekEndDay:l,onViewChange:oe,value:A??null,onChange:ce,minDate:i,maxDate:a,selectsRange:!!p.selectsRange}),le&&(0,$.jsx)(`div`,{className:Pt.selectionModeControl,children:(0,$.jsx)(ne,{value:v,onChange:I,noWrap:!0,"aria-label":`Режим выбора даты`,children:R.map(e=>(0,$.jsx)(ne.Option,{value:e,label:Bt[e]},e))})})]})]})}function Rt(e){return(0,$.jsx)(Lt,{...e})}function zt(e){return(0,$.jsx)(Lt,{...e,selectsRange:!0})}var Q,$,Bt,Vt=t((()=>{Q=e(n(),1),w(),l(),k(),A(),D(),Te(),W(),ke(),jt(),Ft(),$=r(),Bt={day:`День`,week:`Неделя`,month:`Месяц`,year:`Год`},Rt.__docgenInfo={description:``,methods:[],displayName:`SingleDateInput`},zt.__docgenInfo={description:``,methods:[],displayName:`RangeDateInput`}}));export{jt as a,se as c,At as i,ce as l,Rt as n,W as o,Vt as r,F as s,zt as t};
|
|
1
|
+
import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-Dw3PG8YA.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,i as a}from"./utils-CnV3Gszu.js";import{At as o,bt as s,t as c,vt as l}from"./lucide-react-DMM2-ayk.js";import{B as u,C as d,H as f,L as p,S as m,U as h,V as g,W as _,_ as v,b as y,h as b,i as x,q as S,r as C,t as w,u as T,v as E}from"./formatters-BaQpdAeu.js";import{i as ee,t as D}from"./popover-v9hxY66g.js";import{t as O}from"./Button-DuNV63ZS.js";import{t as k}from"./button-D2JNy4h8.js";import{a as te}from"./Input-DD9fx2Sx.js";import{t as A}from"./input-Cv9ps4La.js";import{n as j,t as ne}from"./RadioGroup-Bjc2XTVk.js";function re(e){return e===`month`?`month`:e===`year`?`year`:`day`}function M(e,t){return oe.indexOf(e)>=oe.indexOf(t)}function ie(e,t){let n=re(e);return M(n,t)?n:t}function N(e,t){return!e||!t?!1:e.start.getTime()===t.start.getTime()&&e.end.getTime()===t.end.getTime()}function ae(e,t,n){if(!e||!t||!n)return!1;let r=Math.min(t.start.getTime(),n.start.getTime()),i=Math.max(t.end.getTime(),n.end.getTime());return e.start.getTime()>=r&&e.end.getTime()<=i}function P({date:e,value:t,hoveredDate:n,selectsRange:r,selectionOptions:i}){let a=T(e,i),o=T(!r&&t instanceof Date?t:null,i);if(!r||!Array.isArray(t))return{selected:x(e,o),range:!1,rangeStart:!1,rangeEnd:!1};let[s,c]=t,l=T(s,i),u=T(c??(s?n:null),i),d=N(a,l),f=N(a,u);return{selected:!1,range:ae(a,l,u)&&!d&&!f,rangeStart:d,rangeEnd:f}}var oe,F,se,ce=t((()=>{w(),oe=[`day`,`month`,`year`],F=[`day`,`week`,`month`,`year`],se=[`friday`,`saturday`,`sunday`]}));function I(e){return e.selectionMode===`day`||e.selectionMode===`week`?`day`:e.selectionMode===`month`||e.selectionMode===`year`?e.selectionMode:e.datePickerLevel??`day`}function L(e){return{selectionMode:e?.selectionMode,weekEndDay:e?.weekEndDay}}function R(e,t){return typeof e==`string`||e===void 0?{datePreset:e,datePickerLevel:t}:t&&e.datePickerLevel===void 0?{...e,datePickerLevel:t}:e}function le(e){let t=S(e,U);return u(t)?t:U}function ue(e){return e.datePreset===void 0?e.dateFormat:le(e.datePreset)}function z(e){return e.datePreset===void 0?h(e.dateFormat,Se):le(e.datePreset)}function de(e,t){return g(e,ue(t),{defaultFormat:U,precision:I(t),referenceDate:t.referenceDate})?.date??null}function B(e,t){return T(e,L(t))?.start??null}function V(e,t){if(!y(e))return null;let[n,r]=e;return[B(n,t),fe(r,t)]}function fe(e,t){return T(e,L(t))?.end??null}function H(e){return e?.getTime()??null}function pe(e,t,n){return H(B(e,n))===H(B(t,n))}function me(e,t,n){let r=V(e,n),i=V(t,n);return H(r?.[0]??null)===H(i?.[0]??null)&&H(r?.[1]??null)===H(i?.[1]??null)}function he(e,t,n){if(!e)return``;let r=R(t,n),i=T(e,L(r));return r.selectionMode===`week`&&i?f(i.start,i.end,z(r),{precision:I(r)}):p(e,z(r),{precision:I(r)})}function ge(e,t,n){if(!y(e))return``;let r=R(t,n),[i,a]=e;return i&&a?f(i,a,z(r),{precision:I(r)}):i?`${p(i,z(r),{precision:I(r)})}${xe}`:``}function _e(e,t,n){return y(e)?ge(e,t,n):he(e,t,n)}function ve(e,t,n){let r=R(t,n);return B(de(r.selectionMode===`week`?e.split(xe)[0]??``:e,r),r)}function ye(e,t,n){let r=R(t,n),[i=``,a=``]=e.split(xe);return[ve(i,r),be(a,r)]}function be(e,t,n){let r=R(t,n);return fe(de(e,r),r)}var U,xe,Se,Ce=t((()=>{w(),U=_.date,xe=` - `,Se=Object.freeze({defaultFormat:U,patternPresetName:`__date_input__`})})),we=t((()=>{})),W=t((()=>{ce(),Ce(),we()})),Te=t((()=>{j()}));function Ee(e){return y(e)?e[0]??e[1]??void 0:e??void 0}var G,De,Oe=t((()=>{G=e(n(),1),w(),W(),De=e=>{let t=(0,G.useMemo)(()=>{let t={selectionMode:e.selectionMode,weekEndDay:e.weekEndDay};return e.selectsRange?V(e.value,t):B(e.value,t)},[e.selectsRange,e.selectionMode,e.value,e.weekEndDay]),[n,r]=(0,G.useState)(t),i=(0,G.useMemo)(()=>({datePreset:e.datePreset,dateFormat:e.dateFormat,datePickerLevel:e.datePickerLevel,selectionMode:e.selectionMode,weekEndDay:e.weekEndDay}),[e.dateFormat,e.datePickerLevel,e.datePreset,e.selectionMode,e.weekEndDay]),[a,o]=(0,G.useState)(()=>_e(t,i)),s=(0,G.useMemo)(()=>{if(e.selectsRange){let t=V(e.value,i);return`${t?.[0]?.getTime()??`null`}:${t?.[1]?.getTime()??`null`}`}let t=B(e.value,i);return String(t?.getTime()??`null`)},[i,e.selectsRange,e.value]),c=e=>_e(e,i),l=(0,G.useEffectEvent)(t=>{if(e.selectsRange){let e=V(t,i),n=c(e);r(t=>{let n=t;return(n?.[0]?.getTime()??null)===(e?.[0]?.getTime()??null)&&(n?.[1]?.getTime()??null)===(e?.[1]?.getTime()??null)?t:e}),o(e=>e===n?e:n);return}let n=B(t,i),a=c(n);r(e=>(e?.getTime()??null)===(n?.getTime()??null)?e:n),o(e=>e===a?e:a)});return(0,G.useEffect)(()=>{l(e.value)},[e.dateFormat,e.datePickerLevel,e.datePreset,e.selectsRange,e.selectionMode,e.value,e.weekEndDay,s]),{inputValue:a,setInputValue:o,selectedDate:n,setSelectedDate:r,handleSelect:t=>{let[n,a]=Array.isArray(t)?t:[t,null];if(e.selectsRange){let t=B(n,i),s=fe(a,i);if(t&&s){if(s<t){let t=[B(a,i),fe(n,i)];r(t),o(c(t)),e.onChange(t)}else{let n=[t,s];r(n),o(c(n)),e.onChange(n)}return!0}let l=[t,null];return r(l),o(c(l)),!1}let s=B(n,i);return r(s),o(c(s)),e.onChange(s),!0},formatDate:c,parseDate:t=>{let r={...i,referenceDate:Ee(n)};return e.selectsRange?ye(t,r):ve(t,r)}}}})),ke=t((()=>{Oe()})),Ae,je,Me,Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We,Ge,K,Ke=t((()=>{Ae=`Dshr-j`,je=`esetVt`,Me=`i-LJYe`,Ne=`XZsnCH`,Pe=`_2KDjTS`,Fe=`o-freG`,Ie=`GcV08-`,Le=`UCrE-I`,Re=`L2V3uq`,ze=`Te9oCq`,Be=`cUF2pQ`,Ve=`d1L5uw`,He=`LU0M9Y`,Ue=`MR3y5p`,We=`VDqDpm`,Ge=`CLR-7m`,K={dayView:Ae,weekdays:je,weekday:Me,daysGrid:Ne,week:Pe,day:Fe,disabled:Ie,outsideMonth:Le,periodSelection:Re,periodPreview:ze,selected:Be,range:Ve,rangeStart:He,rangeEnd:Ue,weekend:We,now:Ge}})),qe,q,Je,Ye,Xe,Ze=t((()=>{qe=e(n(),1),w(),a(),Ke(),q=r(),Je=[`Пн`,`Вт`,`Ср`,`Чт`,`Пт`,`Сб`,`Вс`],Ye=new Intl.DateTimeFormat(`ru-RU`,{weekday:`long`,year:`numeric`,month:`long`,day:`numeric`}),Xe=({now:e,currentDate:t,value:n,onChange:r,minDate:a,maxDate:o,selectsRange:s,selectionMode:c=`day`,weekEndDay:l=`sunday`})=>{let[u,d]=(0,qe.useState)(null),f={selectionMode:c,weekEndDay:l},p=(()=>{let e=t.getFullYear(),n=t.getMonth(),r=E(e,n,1),i=E(e,n+1,0),a=r.getDay()===0?6:r.getDay()-1,o=42-(a+i.getDate()),s=[],c=E(e,n,0).getDate();for(let t=a;t>0;--t)s.push(E(e,n-1,c-t+1));for(let t=1;t<=i.getDate();t+=1)s.push(E(e,n,t));for(let t=1;t<=o;t+=1)s.push(E(e,n+1,t));let l=[];for(let e=0;e<s.length;e+=7)l.push(s.slice(e,e+7));return l})(),h=s&&Array.isArray(n)?n[0]:null,g=s&&Array.isArray(n)?n[1]:null,_=T(s?null:n,f),y=T(u,f),b=g??(h?y?.end??null:null),S=c===`week`,w=S&&(!s||!h),ee=e=>{if(!s||!h||!b)return!1;let t=v(e).getTime(),n=h.getTime(),r=b.getTime();return t>=Math.min(n,r)&&t<=Math.max(n,r)},D=e=>!C(T(e,f),{minDate:a,maxDate:o}),O=(e,t)=>{t||(S&&d(e),!(!s||!h||g)&&(S||d(e)))};return(0,q.jsxs)(`div`,{className:K.dayView,children:[(0,q.jsx)(`div`,{className:K.weekdays,children:Je.map(e=>(0,q.jsx)(`div`,{className:K.weekday,children:e},e))}),(0,q.jsx)(`div`,{className:K.daysGrid,onMouseLeave:()=>{(S||!g)&&d(null)},children:p.map((n,a)=>(0,q.jsx)(`div`,{className:K.week,children:n.map((n,o)=>{let s=n.getMonth()===t.getMonth(),l=x(n,_),u=w&&x(n,y),d=ee(n),f=m(n,h),p=m(n,b),g=m(n,e),v=D(n);return(0,q.jsx)(`button`,{type:`button`,onClick:()=>!v&&r(n),onMouseEnter:()=>O(n,v),disabled:v,"data-ui":`calendar-day-button`,"data-action":`select-calendar-day`,className:i(K.day,{[K.outsideMonth]:!s,[K.periodSelection]:c===`week`,[K.periodPreview]:u&&!l,[K.selected]:l,[K.range]:d&&!f&&!p,[K.rangeStart]:f,[K.rangeEnd]:p,[K.disabled]:v,[K.weekend]:o>4,[K.now]:g}),"aria-label":Ye.format(n),"aria-pressed":l||d||f||p,children:n.getDate()},`${a}-${o}`)})},a))})]})},Xe.__docgenInfo={description:`Отображает сетку дней месяца в календарной семантике без timezone-сдвига.`,methods:[],displayName:`CalendarDayView`,props:{selectionMode:{defaultValue:{value:`"day"`,computed:!1},required:!1},weekEndDay:{defaultValue:{value:`"sunday"`,computed:!1},required:!1}}}})),Qe,$e,et,tt,nt,rt,it,at,J,ot=t((()=>{Qe=`p5pRGW`,$e=`pUHpxD`,et=`lwWv-z`,tt=`_8gn-3z`,nt=`b57d-c`,rt=`nGc5FO`,it=`JLqjri`,at=`UQMYwg`,J={monthView:Qe,monthsGrid:$e,month:et,disabled:tt,range:nt,selected:rt,rangeStart:it,rangeEnd:at}})),st,ct,lt,ut,dt,ft=t((()=>{st=e(n(),1),w(),a(),W(),ot(),ct=r(),lt=new Intl.DateTimeFormat(`ru-RU`,{month:`short`}),ut=new Intl.DateTimeFormat(`ru-RU`,{month:`long`,year:`numeric`}),dt=({currentDate:e,value:t,onChange:n,minDate:r,maxDate:a,selectsRange:o,selectsPeriod:s,selectionMode:c=`day`,weekEndDay:l=`sunday`})=>{let[u,d]=(0,st.useState)(null),f=Array.from({length:12},(e,t)=>t),p=e.getFullYear(),m={selectionMode:c,weekEndDay:l},h=o&&Array.isArray(t)?t[0]:null,g=o&&Array.isArray(t)?t[1]:null,_=e=>lt.format(E(p,e,1)),v=e=>{if(!r&&!a)return!1;let t=E(p,e,1),n=E(p,e+1,0,23,59,59);return s?!C(T(t,m),{minDate:r,maxDate:a}):!!(r&&n<r||a&&t>a)},y=(e,t)=>{!o||!h||g||t||d(e)};return(0,ct.jsx)(`div`,{className:J.monthView,children:(0,ct.jsx)(`div`,{className:J.monthsGrid,onMouseLeave:()=>{g||d(null)},children:f.map(e=>{let r=v(e),a=E(p,e,1),s=P({date:a,value:t,hoveredDate:u,selectsRange:o,selectionOptions:m});return(0,ct.jsx)(`button`,{type:`button`,onClick:()=>!r&&n(a),onMouseEnter:()=>y(a,r),disabled:r,"data-ui":`calendar-month-button`,"data-action":`select-calendar-month`,className:i(J.month,{[J.selected]:s.selected,[J.range]:s.range,[J.rangeStart]:s.rangeStart,[J.rangeEnd]:s.rangeEnd,[J.disabled]:r}),"aria-label":ut.format(a),"aria-pressed":s.selected||s.range||s.rangeStart||s.rangeEnd,children:_(e)},e)})})})},dt.__docgenInfo={description:`Отображает выбор месяца в календарной семантике без timezone-сдвига.`,methods:[],displayName:`CalendarMonthView`,props:{selectionMode:{defaultValue:{value:`"day"`,computed:!1},required:!1},weekEndDay:{defaultValue:{value:`"sunday"`,computed:!1},required:!1}}}})),pt,mt,ht,gt=t((()=>{pt=`E35KE6`,mt=`L14Qef`,ht={calendarView:pt,calendarHeader:mt}})),_t,vt,yt,bt,xt,St,Ct,wt,Y,Tt=t((()=>{_t=`_--xW7O`,vt=`-N-5Jk`,yt=`hhY92S`,bt=`IhX7jj`,xt=`NWNpWj`,St=`d1SfcV`,Ct=`Gkui4r`,wt=`_0dVZLW`,Y={yearView:_t,yearsGrid:vt,year:yt,disabled:bt,range:xt,selected:St,rangeStart:Ct,rangeEnd:wt}})),Et,Dt,Ot,kt=t((()=>{Et=e(n(),1),w(),a(),W(),Tt(),Dt=r(),Ot=({currentDate:e,value:t,onChange:n,minDate:r,maxDate:a,selectsRange:o,selectsPeriod:s,selectionMode:c=`day`,weekEndDay:l=`sunday`})=>{let[u,d]=(0,Et.useState)(null),f=Math.floor(e.getFullYear()/12)*12,p=Array.from({length:12},(e,t)=>f+t),m={selectionMode:c,weekEndDay:l},h=o&&Array.isArray(t)?t[0]:null,g=o&&Array.isArray(t)?t[1]:null,_=e=>{if(!r&&!a)return!1;let t=E(e,0,1),n=E(e,11,31,23,59,59);return s?!C(T(t,m),{minDate:r,maxDate:a}):!!(r&&n<r||a&&t>a)},v=(e,t)=>{!o||!h||g||t||d(e)};return(0,Dt.jsx)(`div`,{className:Y.yearView,children:(0,Dt.jsx)(`div`,{className:Y.yearsGrid,onMouseLeave:()=>{g||d(null)},children:p.map(e=>{let r=_(e),a=E(e,0,1),s=P({date:a,value:t,hoveredDate:u,selectsRange:o,selectionOptions:m});return(0,Dt.jsx)(`button`,{type:`button`,onClick:()=>!r&&n(a),onMouseEnter:()=>v(a,r),disabled:r,"data-ui":`calendar-year-button`,"data-action":`select-calendar-year`,className:i(Y.year,{[Y.selected]:s.selected,[Y.range]:s.range,[Y.rangeStart]:s.rangeStart,[Y.rangeEnd]:s.rangeEnd,[Y.disabled]:r}),"aria-label":e.toString(),"aria-pressed":s.selected||s.range||s.rangeStart||s.rangeEnd,children:e},e)})})})},Ot.__docgenInfo={description:`Отображает выбор года в календарной семантике без timezone-сдвига.`,methods:[],displayName:`CalendarYearView`,props:{selectionMode:{defaultValue:{value:`"day"`,computed:!1},required:!1},weekEndDay:{defaultValue:{value:`"sunday"`,computed:!1},required:!1}}}}));function At({view:e,datePickerLevel:t,selectionMode:n=`day`,weekEndDay:r=`sunday`,onViewChange:i,...a}){let[o]=(0,X.useState)(()=>v(new Date)),[c,u]=(0,X.useState)(()=>a.selectsRange&&y(a.value)&&a.value[0]instanceof Date?a.value[0]:!a.selectsRange&&a.value instanceof Date?a.value:v(new Date)),f=a.currentDate??c,p={selectionMode:n,weekEndDay:r},m=e=>{let t=typeof e==`function`?e(f):e;a.currentDate===void 0&&u(t),a.onCurrentDateChange?.(t)},h=(0,X.useEffectEvent)(e=>{if(a.selectsRange&&Array.isArray(e)&&e[0]instanceof Date){m(e[0]);return}!a.selectsRange&&e instanceof Date&&m(e)});(0,X.useEffect)(()=>{h(a.value)},[a.value]);let g=()=>{if(e===`day`){m(e=>d(e,-1));return}if(e===`month`){m(e=>b(e,-1));return}m(e=>b(e,-12))},_=()=>{if(e===`day`){m(e=>d(e,1));return}if(e===`month`){m(e=>b(e,1));return}m(e=>b(e,12))};return(0,Z.jsxs)(`div`,{className:ht.calendarView,children:[(()=>{let t=``;if(e===`day`)t=f.toLocaleDateString(`ru-RU`,{month:`long`,year:`numeric`});else if(e===`month`)t=f.getFullYear().toString();else{let e=Math.floor(f.getFullYear()/12)*12;t=`${e} - ${e+11}`}return(0,Z.jsxs)(`div`,{className:ht.calendarHeader,children:[(0,Z.jsx)(O,{icon:(0,Z.jsx)(s,{}),onClick:g,variant:`ghost`,"aria-label":`Предыдущий`,"data-action":`calendar-previous`}),(0,Z.jsx)(O,{onClick:()=>{e===`day`?i(`month`):e===`month`&&i(`year`)},variant:`ghost`,className:`flex1`,"data-ui":`calendar-view-switch-button`,"data-action":`calendar-switch-view`,children:t}),(0,Z.jsx)(O,{icon:(0,Z.jsx)(l,{}),onClick:_,variant:`ghost`,"aria-label":`Следующий`,"data-ui":`calendar-next-button`,"data-action":`calendar-next`})]})})(),(()=>{let s=e=>{let t=T(e,p);if(!(!t||!C(t,{minDate:a.minDate,maxDate:a.maxDate}))){if(a.selectsRange){let e=null,n=null;if(Array.isArray(a.value)&&([e,n]=a.value),!e||n){a.onChange([t.start,null]);return}let r=T(e,p);if(!r)return;if(t.start<r.start){a.onChange([t.start,r.end]);return}a.onChange([r.start,t.end]);return}a.onChange(t.start)}},c=e=>{if(m(e),n===`month`||!M(`day`,t)){s(e);return}i(`day`)},l=e=>{if(m(e),n===`year`||!M(`month`,t)){s(e);return}i(`month`)};switch(e){case`day`:return(0,Z.jsx)(Xe,{now:o,currentDate:f,value:a.value,onChange:s,minDate:a.minDate,maxDate:a.maxDate,selectsRange:a.selectsRange,selectionMode:n,weekEndDay:r});case`month`:return(0,Z.jsx)(dt,{currentDate:f,value:a.value,onChange:c,minDate:a.minDate,maxDate:a.maxDate,selectsRange:a.selectsRange,selectsPeriod:n===`month`||!M(`day`,t),selectionMode:n,weekEndDay:r});case`year`:return(0,Z.jsx)(Ot,{currentDate:f,value:a.value,onChange:l,minDate:a.minDate,maxDate:a.maxDate,selectsRange:a.selectsRange,selectsPeriod:n===`year`||!M(`month`,t),selectionMode:n,weekEndDay:r});default:return null}})()]})}var X,Z,jt=t((()=>{X=e(n(),1),w(),c(),k(),W(),Ze(),ft(),gt(),kt(),Z=r(),At.__docgenInfo={description:`Отображает календарь выбора даты в календарной семантике без timezone-сдвига.`,methods:[],displayName:`CalendarView`,props:{view:{required:!0,tsType:{name:`union`,raw:`"day" | "month" | "year"`,elements:[{name:`literal`,value:`"day"`},{name:`literal`,value:`"month"`},{name:`literal`,value:`"year"`}]},description:``},datePickerLevel:{required:!0,tsType:{name:`union`,raw:`"day" | "month" | "year"`,elements:[{name:`literal`,value:`"day"`},{name:`literal`,value:`"month"`},{name:`literal`,value:`"year"`}]},description:``},selectionMode:{required:!1,tsType:{name:`CalendarPeriodSelectionMode`},description:``,defaultValue:{value:`"day"`,computed:!1}},weekEndDay:{required:!1,tsType:{name:`CalendarWeekEndDay`},description:``,defaultValue:{value:`"sunday"`,computed:!1}},onViewChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(view: CalendarType) => void`,signature:{arguments:[{type:{name:`union`,raw:`"day" | "month" | "year"`,elements:[{name:`literal`,value:`"day"`},{name:`literal`,value:`"month"`},{name:`literal`,value:`"year"`}]},name:`view`}],return:{name:`void`}}},description:``},selectsRange:{required:!1,tsType:{name:`boolean`},description:``},value:{required:!0,tsType:{name:`union`,raw:`Date | NullableDateRange | null`,elements:[{name:`Date`},{name:`NullableDateRange`},{name:`null`}]},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(date: Date | NullableDateRange) => void`,signature:{arguments:[{type:{name:`union`,raw:`Date | NullableDateRange`,elements:[{name:`Date`},{name:`NullableDateRange`}]},name:`date`}],return:{name:`void`}}},description:``},minDate:{required:!1,tsType:{name:`Date`},description:``},maxDate:{required:!1,tsType:{name:`Date`},description:``},currentDate:{required:!1,tsType:{name:`Date`},description:``},onCurrentDateChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(date: Date) => void`,signature:{arguments:[{type:{name:`Date`},name:`date`}],return:{name:`void`}}},description:``}}}})),Mt,Nt,Pt,Ft=t((()=>{Mt=`HR4pgo`,Nt=`-tM-kj`,Pt={calendarButton:Mt,selectionModeControl:Nt}}));function It(e,t){let n=new Set(e?.length?e:F);return n.add(t),F.filter(e=>n.has(e))}function Lt({placeholder:e,disabled:t,error:n,onClearError:r,minDate:i,maxDate:a,datePickerLevel:s,selectionMode:c,weekEndDay:l=`sunday`,allowSelectionModeChange:u,selectionModeOptions:d,onSelectionModeChange:f,...p}){let[m,h]=(0,Q.useState)(!1),[g,_]=(0,Q.useState)(c??`day`),v=c??g,b=s??`day`,x=ie(v,b),[S,C]=(0,Q.useState)(()=>({view:x,selectionMode:v,minDatePickerLevel:b})),w=S.selectionMode===v&&S.minDatePickerLevel===b&&M(S.view,b)?S.view:x,T=(0,Q.useRef)(p.value),E={selectionMode:v,weekEndDay:l},{inputValue:D,setInputValue:k,selectedDate:A,setSelectedDate:j,handleSelect:re,formatDate:N,parseDate:ae}=De({...p,datePickerLevel:b,selectionMode:v,weekEndDay:l}),P=p.selectsRange?p.onChange:void 0,oe=(0,Q.useCallback)(e=>{M(e,b)&&C({view:e,selectionMode:v,minDatePickerLevel:b})},[b,v]);(0,Q.useEffect)(()=>{T.current=p.value},[p.value]);let F=()=>{if(D){let e=ae(D);if(e){if(k(N(e)),p.selectsRange&&y(e)){if(me(e,y(A)?A:null,E))return;j(e),p.onChange(e)}else if(!p.selectsRange&&e instanceof Date){if(pe(e,A instanceof Date?A:null,E))return;j(e),p.onChange(e)}}}},se=e=>{e.key===`Enter`&&(e.preventDefault(),F())},ce=(0,Q.useCallback)(e=>{re(e)&&h(!1)},[re]),I=(0,Q.useCallback)(e=>{c===void 0&&_(e),f?.(e),C({view:ie(e,b),selectionMode:e,minDatePickerLevel:b})},[c,b,f]),L=(0,Q.useCallback)(()=>{if(P){let[,e]=y(A)?A:[null,null];if(!e){let e=T.current,t=Array.isArray(e)?e:null,n=t?.[0]??null,r=t?.[1]??null;if(n&&r){let e=[n,r];j(e),k(N(e)),P(e)}else j([null,null]),k(``),P([null,null])}}},[P,A,j,k,N]),R=It(d,v),le=u&&R.length>1;return(0,$.jsxs)(ee,{open:m,onOpenChange:e=>{h(e),e||L()},children:[(0,$.jsx)(te,{label:p.label,description:p.description,size:p.size,value:D,onChange:k,onBlur:F,onKeyUp:se,placeholder:e,disabled:t,error:n,onClearError:r,endAdornmentWidth:`var(--control-height)`,endAdornment:(0,$.jsx)(ee.Trigger,{children:(0,$.jsx)(O,{variant:`transparent`,disabled:t,className:Pt.calendarButton,icon:(0,$.jsx)(o,{}),"aria-label":`Открыть календарь`})})}),(0,$.jsxs)(ee.Content,{background:`primary`,children:[(0,$.jsx)(At,{view:w,datePickerLevel:b,selectionMode:v,weekEndDay:l,onViewChange:oe,value:A??null,onChange:ce,minDate:i,maxDate:a,selectsRange:!!p.selectsRange}),le&&(0,$.jsx)(`div`,{className:Pt.selectionModeControl,children:(0,$.jsx)(ne,{value:v,onChange:I,noWrap:!0,"aria-label":`Режим выбора даты`,children:R.map(e=>(0,$.jsx)(ne.Option,{value:e,label:Bt[e]},e))})})]})]})}function Rt(e){return(0,$.jsx)(Lt,{...e})}function zt(e){return(0,$.jsx)(Lt,{...e,selectsRange:!0})}var Q,$,Bt,Vt=t((()=>{Q=e(n(),1),w(),c(),k(),A(),D(),Te(),W(),ke(),jt(),Ft(),$=r(),Bt={day:`День`,week:`Неделя`,month:`Месяц`,year:`Год`},Rt.__docgenInfo={description:``,methods:[],displayName:`SingleDateInput`},zt.__docgenInfo={description:``,methods:[],displayName:`RangeDateInput`}}));export{jt as a,se as c,At as i,ce as l,Rt as n,W as o,Vt as r,F as s,zt 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-Be6sd6Mi.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-Be8o0WOk.js";import{Range as p,Single as m,Sizes as h,WithLimits as g,n as _,t as v}from"./DateInput.stories-CsC2qa2g.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:`DateInput`}),`
|
|
3
3
|
`,(0,x.jsx)(i,{children:`Календарный ввод одной даты или диапазона с ограничениями и различными размерами`}),`
|
|
4
4
|
`,(0,x.jsx)(o.p,{children:`DateInput уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
|