@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
package/README.md
CHANGED
|
@@ -106,6 +106,92 @@ import "@ryuzaki13/react-foundation-ui/styles.css";
|
|
|
106
106
|
|
|
107
107
|
Обычно в host-проекте это оформляется отдельным entrypoint, например `src/app/styles/shared.scss`, который сначала настраивает foundation config, затем подключает foundation styles, темы и доменные CSS-переменные приложения.
|
|
108
108
|
|
|
109
|
+
## Просмотр изображений
|
|
110
|
+
|
|
111
|
+
`ImageViewer` из точечного entrypoint `@ryuzaki13/react-foundation-ui/image` предоставляет controlled lightbox для одного изображения или галереи. Реализация использует Yet Another React Lightbox как внутренний runtime, но наружу публикует только foundation-контракты `ImageViewerImage`, `ImageViewerFeatures`, `ImageViewerLabels` и `ImageViewerStyle`.
|
|
112
|
+
|
|
113
|
+
Поскольку lightbox подключён как optional peer dependency, host устанавливает совместимую версию явно:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
npm install yet-another-react-lightbox@^3.32.1
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Отдельно импортировать CSS Yet Another React Lightbox не нужно: необходимые core/plugin styles уже входят в общий `@ryuzaki13/react-foundation-ui/styles.css`.
|
|
120
|
+
|
|
121
|
+
```tsx
|
|
122
|
+
import { useState } from "react";
|
|
123
|
+
|
|
124
|
+
import { ImageViewer, type ImageViewerImage } from "@ryuzaki13/react-foundation-ui/image";
|
|
125
|
+
|
|
126
|
+
const images: readonly ImageViewerImage[] = [
|
|
127
|
+
{
|
|
128
|
+
src: "/images/42/primary-webp",
|
|
129
|
+
alt: "Учебный корпус",
|
|
130
|
+
intrinsicWidth: 1920,
|
|
131
|
+
intrinsicHeight: 1080,
|
|
132
|
+
candidates: [
|
|
133
|
+
{ src: "/images/42/640-webp", width: 640 },
|
|
134
|
+
{ src: "/images/42/1280-webp", width: 1280 }
|
|
135
|
+
],
|
|
136
|
+
thumbnail: "/images/42/320-webp"
|
|
137
|
+
}
|
|
138
|
+
];
|
|
139
|
+
|
|
140
|
+
export function MaterialGallery() {
|
|
141
|
+
const [open, setOpen] = useState(false);
|
|
142
|
+
const [index, setIndex] = useState(0);
|
|
143
|
+
|
|
144
|
+
return (
|
|
145
|
+
<>
|
|
146
|
+
<button type="button" onClick={() => setOpen(true)}>
|
|
147
|
+
Открыть галерею
|
|
148
|
+
</button>
|
|
149
|
+
<ImageViewer
|
|
150
|
+
open={open}
|
|
151
|
+
images={images}
|
|
152
|
+
index={index}
|
|
153
|
+
onIndexChange={setIndex}
|
|
154
|
+
onClose={() => setOpen(false)}
|
|
155
|
+
/>
|
|
156
|
+
</>
|
|
157
|
+
);
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
По умолчанию включены Zoom и Fullscreen; Captions включаются при наличии `title`, `description` или `alt`, а Thumbnails и Counter — для галереи из нескольких изображений. Download отключён до явного `features={{ download: true }}`. Поля `thumbnail` и `download` принимают уже разрешённые URL и не знают о правилах storage host-приложения.
|
|
162
|
+
|
|
163
|
+
Внешний вид настраивается стабильными CSS-переменными `--image-viewer-*`. Они могут быть глобальными либо scoped через переданные `className`/`style`; это важно, поскольку viewer рендерится в portal за пределами DOM-ветки trigger:
|
|
164
|
+
|
|
165
|
+
```scss
|
|
166
|
+
.projectImageViewer {
|
|
167
|
+
--image-viewer-z-index: 320;
|
|
168
|
+
--image-viewer-backdrop: rgb(5 10 20 / 96%);
|
|
169
|
+
--image-viewer-control-color: rgb(255 255 255 / 82%);
|
|
170
|
+
--image-viewer-control-active-color: #7dd3fc;
|
|
171
|
+
--image-viewer-control-disabled-color: rgb(255 255 255 / 38%);
|
|
172
|
+
--image-viewer-control-background: transparent;
|
|
173
|
+
--image-viewer-control-border: 0;
|
|
174
|
+
--image-viewer-control-radius: 0.3125rem;
|
|
175
|
+
--image-viewer-control-filter: drop-shadow(0 0.125rem 0.25rem rgb(0 0 0 / 70%));
|
|
176
|
+
--image-viewer-icon-size: 1.75rem;
|
|
177
|
+
--image-viewer-icon-stroke-width: 2;
|
|
178
|
+
--image-viewer-toolbar-padding: 0.625rem;
|
|
179
|
+
--image-viewer-focus: 0.125rem solid #7dd3fc;
|
|
180
|
+
--image-viewer-focus-offset: 0.125rem;
|
|
181
|
+
--image-viewer-image-radius: 0.3125rem;
|
|
182
|
+
--image-viewer-caption-background: rgb(5 10 20 / 72%);
|
|
183
|
+
--image-viewer-caption-color: #fff;
|
|
184
|
+
--image-viewer-counter-color: rgb(255 255 255 / 82%);
|
|
185
|
+
--image-viewer-thumbnail-background: rgb(255 255 255 / 8%);
|
|
186
|
+
--image-viewer-thumbnail-border-color: rgb(255 255 255 / 60%);
|
|
187
|
+
--image-viewer-thumbnail-active-border-color: #7dd3fc;
|
|
188
|
+
--image-viewer-loading-color: #fff;
|
|
189
|
+
--image-viewer-error-color: #ef4444;
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Публичный CSS-контракт не включает переменные `--yarl__*`: они остаются implementation detail и могут меняться вместе с внутренней библиотекой.
|
|
194
|
+
|
|
109
195
|
## Storybook
|
|
110
196
|
|
|
111
197
|
Stories и MDX не экспортируются как public API пакета. Вместо этого пакет собирает готовую статическую документацию:
|
package/dist/image/index.d.ts
CHANGED
|
@@ -6,9 +6,11 @@ export { ImageRenderer } from "./ui/ImageRenderer";
|
|
|
6
6
|
export { ImageSelectionModal } from "./ui/ImageSelectionModal";
|
|
7
7
|
export { ImageSelectionPanel } from "./ui/ImageSelectionPanel";
|
|
8
8
|
export { ImageView } from "./ui/ImageView";
|
|
9
|
+
export { ImageViewer } from "./ui/ImageViewer";
|
|
9
10
|
export type { ImageCropArea, ImageCropperObjectFit, ImageCropperProps, ImageCropPoint } from "./model/imageCropTypes";
|
|
10
11
|
export type { ImageCandidate, ImageDensityCandidate, ImageLayout, ImageSource, ImageWidthCandidate, ResponsiveImageData, ResponsiveImageSource } from "./model/imageTypes";
|
|
11
12
|
export type { ImageSelectionActionsData, ImageSelectionModalProps, ImageSelectionPanelProps, SelectedImageData, SelectedImageFile } from "./model/imageSelectionTypes";
|
|
13
|
+
export type { ImageViewerFeatures, ImageViewerImage, ImageViewerLabels, ImageViewerProps, ImageViewerStyle } from "./model/imageViewerTypes";
|
|
12
14
|
export type { ImagePlaceholderProps } from "./ui/ImagePlaceholder";
|
|
13
15
|
export type { ImageRendererProps } from "./ui/ImageRenderer";
|
|
14
16
|
export type { ImageViewProps } from "./ui/ImageView";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/image/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/image/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACtH,YAAY,EACX,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACX,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACX,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
|