@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.
Files changed (206) hide show
  1. package/README.md +86 -0
  2. package/dist/image/index.d.ts +2 -0
  3. package/dist/image/index.d.ts.map +1 -1
  4. package/dist/image/index.js +337 -121
  5. package/dist/image/index.js.map +1 -1
  6. package/dist/image/lib/buildImageViewerSlides.d.ts +8 -0
  7. package/dist/image/lib/buildImageViewerSlides.d.ts.map +1 -0
  8. package/dist/image/lib/resolveImageViewerLabels.d.ts +24 -0
  9. package/dist/image/lib/resolveImageViewerLabels.d.ts.map +1 -0
  10. package/dist/image/model/imageViewerTypes.d.ts +70 -0
  11. package/dist/image/model/imageViewerTypes.d.ts.map +1 -0
  12. package/dist/image/ui/ImageViewer.d.ts +12 -0
  13. package/dist/image/ui/ImageViewer.d.ts.map +1 -0
  14. package/dist/styles.css +1 -1
  15. package/dist/tag-input/TagInput.d.ts +40 -0
  16. package/dist/tag-input/TagInput.d.ts.map +1 -0
  17. package/dist/tag-input/index.d.ts +2 -0
  18. package/dist/tag-input/index.d.ts.map +1 -0
  19. package/dist/tag-input/index.js +180 -0
  20. package/dist/tag-input/index.js.map +1 -0
  21. package/dist/tag-input/lib/joinTagInputAriaIds.d.ts +3 -0
  22. package/dist/tag-input/lib/joinTagInputAriaIds.d.ts.map +1 -0
  23. package/dist/tag-input/lib/tagInputDefaults.d.ts +7 -0
  24. package/dist/tag-input/lib/tagInputDefaults.d.ts.map +1 -0
  25. package/package.json +10 -1
  26. package/src/styles/config/_index.scss +1 -0
  27. package/storybook-static/assets/{Badge-CYlSA6Vw.js → Badge-kXFWHX1o.js} +1 -1
  28. package/storybook-static/assets/{Badge.stories-D6UyHEn4.js → Badge.stories-fhovi8Mi.js} +1 -1
  29. package/storybook-static/assets/{Button-aNoMm3xs.js → Button-BzcIPScf.js} +1 -1
  30. package/storybook-static/assets/{Button-D5iLUeQv.js → Button-DuNV63ZS.js} +1 -1
  31. package/storybook-static/assets/{Button.stories-CNsB_F01.js → Button.stories-DehjFhSM.js} +1 -1
  32. package/storybook-static/assets/{CheckBox-BCgKBJVJ.js → CheckBox-BmyFh4i7.js} +1 -1
  33. package/storybook-static/assets/{CheckBox-KNAnK8-n.js → CheckBox-D6mLxi2P.js} +1 -1
  34. package/storybook-static/assets/{CheckBox.stories-Dd7SzJDz.js → CheckBox.stories-Cb7RC2GA.js} +1 -1
  35. package/storybook-static/assets/{Color-KMSTOMOX-CNiU2Elq.js → Color-KMSTOMOX-CX-Xl_mX.js} +1 -1
  36. package/storybook-static/assets/{ContextMenu-D3k_Tu0Z.js → ContextMenu-Cef_K-t5.js} +1 -1
  37. package/storybook-static/assets/{ContextMenu.stories-C_i_uyc4.js → ContextMenu.stories-AZHC-8P9.js} +1 -1
  38. package/storybook-static/assets/{DateInput-BywQIAiH.js → DateInput-C55_ANq6.js} +1 -1
  39. package/storybook-static/assets/{DateInput-DGG89ygc.js → DateInput-DSVMF1gB.js} +1 -1
  40. package/storybook-static/assets/{DateInput.stories-BaDGhCMe.js → DateInput.stories-CsC2qa2g.js} +1 -1
  41. package/storybook-static/assets/{DateRangePresetSelect-s_2StqMd.js → DateRangePresetSelect-B8rYDJ5X.js} +1 -1
  42. package/storybook-static/assets/{DateRangePresetSelect-BPyhIY3S.js → DateRangePresetSelect-CIFpis74.js} +1 -1
  43. package/storybook-static/assets/{DateRangePresetSelect.stories-DF17STL9.js → DateRangePresetSelect.stories-BjtAEDa9.js} +1 -1
  44. package/storybook-static/assets/{Detail-BugMUTtW.js → Detail-BgqY0SrV.js} +1 -1
  45. package/storybook-static/assets/{Detail.stories-DHkuMfR7.js → Detail.stories-Co8o1gqx.js} +1 -1
  46. package/storybook-static/assets/{Dialog-DshCmYwr.js → Dialog-DoekeYCP.js} +1 -1
  47. package/storybook-static/assets/{Dialog.stories-BSi7akeW.js → Dialog.stories-v5TQS_1-.js} +1 -1
  48. package/storybook-static/assets/{Disclosure-CU-pegOS.js → Disclosure-E7Bm1F1a.js} +1 -1
  49. package/storybook-static/assets/{Disclosure.stories-B4AVnYzF.js → Disclosure.stories-CUYuBYh6.js} +1 -1
  50. package/storybook-static/assets/{DocsRenderer-JROSPFPF-UspHN6Nr.js → DocsRenderer-JROSPFPF-9II2vBP-.js} +2 -2
  51. package/storybook-static/assets/{DropZone-CHT2yTPB.js → DropZone-COhh7w0P.js} +1 -1
  52. package/storybook-static/assets/{DropZone.stories-CNO0o4Zg.js → DropZone.stories-XU7u589t.js} +1 -1
  53. package/storybook-static/assets/{DropdownMenu-BiC8osPQ.js → DropdownMenu-3ney3Ng2.js} +1 -1
  54. package/storybook-static/assets/{ExpandableActionPanel.stories-B7WYSnwP.js → ExpandableActionPanel.stories-DJOZxMv_.js} +2 -2
  55. package/storybook-static/assets/{Flex-BZTb6Ls6.js → Flex-BtfZvPDu.js} +1 -1
  56. package/storybook-static/assets/{Flex-BcPeLHNU.js → Flex-CN6FIOe5.js} +1 -1
  57. package/storybook-static/assets/{Flex.stories-uM7r49Jq.js → Flex.stories-BCZhfSVz.js} +1 -1
  58. package/storybook-static/assets/{Grid-EHSb1euM.js → Grid-CdgOXXxt.js} +1 -1
  59. package/storybook-static/assets/{Grid-fJQh5Vul.js → Grid-D_d69WcK.js} +1 -1
  60. package/storybook-static/assets/{Grid.stories-CqeiX_AH.js → Grid.stories-DQoSH4q8.js} +1 -1
  61. package/storybook-static/assets/{ImageCropper.stories-BZC2r8xr.js → ImageCropper.stories-BJiSLQAw.js} +1 -1
  62. package/storybook-static/assets/{ImageRenderer-Cnnx30sU.js → ImageRenderer-D6M62W6a.js} +1 -1
  63. package/storybook-static/assets/{ImageRenderer.stories-BgBvkbZ-.js → ImageRenderer.stories-BZFA51MD.js} +1 -1
  64. package/storybook-static/assets/{ImageView.stories-Bg85Aayj.js → ImageView.stories-DFvdAL1U.js} +1 -1
  65. package/storybook-static/assets/ImageViewer-kKDkAY87.css +1 -0
  66. package/storybook-static/assets/ImageViewer.stories-BzUxxQAO.js +72 -0
  67. package/storybook-static/assets/{Input-Cq_1mpmx.js → Input-BrEoa-ul.js} +1 -1
  68. package/storybook-static/assets/Input-DD9fx2Sx.js +3 -0
  69. package/storybook-static/assets/{Input.stories-BHTzCeNd.js → Input.stories-BmsoCBN4.js} +1 -1
  70. package/storybook-static/assets/{InputDateTime-Bwdn4dwr.js → InputDateTime-Cdmc7rX2.js} +1 -1
  71. package/storybook-static/assets/{InputDateTime.stories-DWZLY6-q.js → InputDateTime.stories-BhjQejJD.js} +1 -1
  72. package/storybook-static/assets/{InputFile-kjPD2D6b.js → InputFile-BJfA5xNs.js} +1 -1
  73. package/storybook-static/assets/{InputFile.stories-C9fMevjs.js → InputFile.stories-BIJaIWlj.js} +1 -1
  74. package/storybook-static/assets/{InputFiles-1i_xo439.js → InputFiles-DORMd5fm.js} +1 -1
  75. package/storybook-static/assets/{InputFiles-BPW2NUcJ.js → InputFiles-ZK4wdii7.js} +1 -1
  76. package/storybook-static/assets/{InputFiles.stories-DxdLOKbl.js → InputFiles.stories-CVr0ENgC.js} +1 -1
  77. package/storybook-static/assets/{InputImage-ClXtDHy9.js → InputImage-Dk4j2KMa.js} +1 -1
  78. package/storybook-static/assets/{InputImage.stories-D3hw0C1x.js → InputImage.stories-Dtx-ynMr.js} +1 -1
  79. package/storybook-static/assets/{LayoutPicker-DmTnYW62.js → LayoutPicker-CCvATGnT.js} +1 -1
  80. package/storybook-static/assets/{LayoutPicker.stories-CZPA3-Ci.js → LayoutPicker.stories-MUwtf1U1.js} +1 -1
  81. package/storybook-static/assets/{Listbox-DV98iUDZ.js → Listbox-TfXOnGNL.js} +1 -1
  82. package/storybook-static/assets/{Listbox.stories-BFHG7-fh.js → Listbox.stories-Bxx8eTZ9.js} +1 -1
  83. package/storybook-static/assets/{Modal-hL7CzAFH.js → Modal-CeXVAufO.js} +1 -1
  84. package/storybook-static/assets/{Modal.stories-DKyOv2Vj.js → Modal.stories-DmnMwG9h.js} +1 -1
  85. package/storybook-static/assets/{MultiSelect-D23pcECY.js → MultiSelect-Bq5Xj6i5.js} +1 -1
  86. package/storybook-static/assets/{MultiSelect-hT_fw4sf.js → MultiSelect-CdEQ7LE0.js} +1 -1
  87. package/storybook-static/assets/{MultiSelect.stories-B0gUdW3k.js → MultiSelect.stories-BgjuPpG-.js} +1 -1
  88. package/storybook-static/assets/{NotificationsHost-ClQwHzJ_.js → NotificationsHost-B6xWf_Ae.js} +1 -1
  89. package/storybook-static/assets/{NotificationsHost.stories-BzPPbNiK.js → NotificationsHost.stories-BmnJ3G3S.js} +2 -2
  90. package/storybook-static/assets/{ODataMultiSelect-CCP1tbCi.js → ODataMultiSelect-BGFMSKC-.js} +1 -1
  91. package/storybook-static/assets/{ODataMultiSelect.stories-CnlXtZKW.js → ODataMultiSelect.stories-Cw3mS3ds.js} +1 -1
  92. package/storybook-static/assets/{ODataSelect-BJstdz9E.js → ODataSelect-9gP8ejA7.js} +1 -1
  93. package/storybook-static/assets/{ODataSelect-Du2-88av.js → ODataSelect-BTpRnB-o.js} +1 -1
  94. package/storybook-static/assets/{ODataSelect.stories-BvAeuhiH.js → ODataSelect.stories-C8XnS6W-.js} +1 -1
  95. package/storybook-static/assets/{ODataTreeMultiSelect-BCm7XhFB.js → ODataTreeMultiSelect-TXpOQMB8.js} +1 -1
  96. package/storybook-static/assets/{ODataTreeMultiSelect.stories-DKT1FMOy.js → ODataTreeMultiSelect.stories-ikxs50iA.js} +1 -1
  97. package/storybook-static/assets/{ODataTreeSelect-Bibf7s2z.js → ODataTreeSelect-CvgrWRYS.js} +1 -1
  98. package/storybook-static/assets/{ODataTreeSelect.stories-CCeNqvIR.js → ODataTreeSelect.stories-CWuZaxIF.js} +1 -1
  99. package/storybook-static/assets/{PeriodSelect-DLs8Hg0X.js → PeriodSelect-CVT2XzOd.js} +1 -1
  100. package/storybook-static/assets/{PeriodSelect.stories-C_XS3c7e.js → PeriodSelect.stories-B5jJRelX.js} +1 -1
  101. package/storybook-static/assets/{Popover-SXa3jBxm.js → Popover-D9YhHWsi.js} +1 -1
  102. package/storybook-static/assets/{Popover.stories-rR7JkQfu.js → Popover.stories-CtEUOX4O.js} +1 -1
  103. package/storybook-static/assets/{PresetRangeDateInput-dfDuKD_z.js → PresetRangeDateInput-D3r0iIRk.js} +1 -1
  104. package/storybook-static/assets/{PresetRangeDateInput.stories-CmRecC0S.js → PresetRangeDateInput.stories-Dcc1dGV0.js} +1 -1
  105. package/storybook-static/assets/{RadioButton-BivcuQIh.js → RadioButton-CWjkmWu9.js} +1 -1
  106. package/storybook-static/assets/{RadioButton.stories-Cio250wJ.js → RadioButton.stories-BXXJWoHz.js} +1 -1
  107. package/storybook-static/assets/{RadioGroup-D8LzcclQ.js → RadioGroup-Bjc2XTVk.js} +1 -1
  108. package/storybook-static/assets/{RadioGroup-C0Wirtog.js → RadioGroup-DCZdrs0C.js} +1 -1
  109. package/storybook-static/assets/{RadioGroup.stories-gYFTEm7L.js → RadioGroup.stories-CsfVUt9l.js} +1 -1
  110. package/storybook-static/assets/{Select-B737vUeI.js → Select-BBFQZObL.js} +1 -1
  111. package/storybook-static/assets/Select-BGu6rVaZ.js +12 -0
  112. package/storybook-static/assets/{Select.stories-1-tb5-TQ.js → Select.stories-wIbcvZYi.js} +1 -1
  113. package/storybook-static/assets/{SelectOptionContent-RA3YQEN1.js → SelectOptionContent-DkTRrtFu.js} +1 -1
  114. package/storybook-static/assets/{SerializableSelect-D6p7Qkk_.js → SerializableSelect-CJtNM-c6.js} +1 -1
  115. package/storybook-static/assets/{SerializableSelect-CKOPEv90.js → SerializableSelect-CdnRBVHB.js} +1 -1
  116. package/storybook-static/assets/{SerializableSelect.stories-C3l_ojuW.js → SerializableSelect.stories-DVwxpiTF.js} +1 -1
  117. package/storybook-static/assets/{SingleDateTimeInput-C-EH5-4w.js → SingleDateTimeInput-BK2_uv0z.js} +1 -1
  118. package/storybook-static/assets/SingleDateTimeInput.stories-DPH4R-h9.js +78 -0
  119. package/storybook-static/assets/{Slider-DgZ9jGV_.js → Slider-f4VatXYq.js} +1 -1
  120. package/storybook-static/assets/{Slider.stories-BN6M0546.js → Slider.stories-CBnmt8h9.js} +1 -1
  121. package/storybook-static/assets/{SliderInput-BDDf5ljP.js → SliderInput-W2HVfY9Z.js} +1 -1
  122. package/storybook-static/assets/{SliderInput.stories-COR3rS29.js → SliderInput.stories-B7wzoUbu.js} +1 -1
  123. package/storybook-static/assets/{Sortable-DN7Kb-Q_.js → Sortable-CCL1UMb_.js} +1 -1
  124. package/storybook-static/assets/{Sortable.stories-zRM1Phps.js → Sortable.stories-B8SgFjl7.js} +1 -1
  125. package/storybook-static/assets/{Splitter-Bk98rR7j.js → Splitter-BsBb1sgN.js} +1 -1
  126. package/storybook-static/assets/{Splitter.stories-B9CZFmcK.js → Splitter.stories-CuBHIA8-.js} +1 -1
  127. package/storybook-static/assets/{StateSelect-DFhsyVBP.js → StateSelect-BENsGD07.js} +1 -1
  128. package/storybook-static/assets/{StateSelect.stories-BcUz8RNT.js → StateSelect.stories-byEPoQ2E.js} +2 -2
  129. package/storybook-static/assets/{Switch-Cenm3lp0.js → Switch-DKXE4SVs.js} +1 -1
  130. package/storybook-static/assets/Switch.stories-BWQdJoJT.js +26 -0
  131. package/storybook-static/assets/{Table-D0mqxsmk.js → Table-D9w3ncNi.js} +1 -1
  132. package/storybook-static/assets/{Table.stories-DJdDS-vt.js → Table.stories-znqy5cLP.js} +1 -1
  133. package/storybook-static/assets/{Tabs-C_UydsUc.js → Tabs-D_OO95mK.js} +1 -1
  134. package/storybook-static/assets/{Tabs.stories-DPN4f4ia.js → Tabs.stories-B2A1HYeH.js} +1 -1
  135. package/storybook-static/assets/TagInput-LeQAhDgs.css +1 -0
  136. package/storybook-static/assets/TagInput.stories-DaBnABh8.js +18 -0
  137. package/storybook-static/assets/{Textarea-DR_6_kXC.js → Textarea-Hwyvp6ll.js} +1 -1
  138. package/storybook-static/assets/{Textarea.stories-BY6wMIfV.js → Textarea.stories-DD3Icl3x.js} +1 -1
  139. package/storybook-static/assets/{TimePanel-D30NeTN1.js → TimePanel-CdpxiwMQ.js} +1 -1
  140. package/storybook-static/assets/{TimePanel.stories-DQebBAT1.js → TimePanel.stories-ytXuqm9R.js} +1 -1
  141. package/storybook-static/assets/{Toggle-CiKKBdwN.js → Toggle-Sdruy8bN.js} +1 -1
  142. package/storybook-static/assets/{Toggle.stories-DhcLhXi0.js → Toggle.stories-qgeQLvRn.js} +1 -1
  143. package/storybook-static/assets/{TreeMultiSelect-W7KfPR_Z.js → TreeMultiSelect-CKfmI37X.js} +1 -1
  144. package/storybook-static/assets/{TreeMultiSelect-BKhWTTud.js → TreeMultiSelect-t2FNc6CY.js} +1 -1
  145. package/storybook-static/assets/{TreeMultiSelect.stories-nXP3P2Os.js → TreeMultiSelect.stories-k1NBsKij.js} +1 -1
  146. package/storybook-static/assets/{TreePickerBase-BKBGeL6X.js → TreePickerBase-DXv--vBR.js} +2 -2
  147. package/storybook-static/assets/{TreeSelect-CwcGtVsA.js → TreeSelect-DYHpUNGC.js} +1 -1
  148. package/storybook-static/assets/{TreeSelect-CkDg1wJA.js → TreeSelect-DgKArbMR.js} +1 -1
  149. package/storybook-static/assets/{TreeSelect.stories-vOWRtovd.js → TreeSelect.stories-DTpkFKp7.js} +1 -1
  150. package/storybook-static/assets/{TreeTable-BiVd6vET.js → TreeTable-BOy0Tit-.js} +1 -1
  151. package/storybook-static/assets/{TreeTable.stories-CmH5jmwM.js → TreeTable.stories-By1BlhSx.js} +1 -1
  152. package/storybook-static/assets/{WithTooltip-7X4HQR7L-aLpVnFpb.js → WithTooltip-7X4HQR7L-D0sHKirZ.js} +1 -1
  153. package/storybook-static/assets/{base-table-BpVO9KT9.js → base-table-CYO33S-X.js} +1 -1
  154. package/storybook-static/assets/{blocks-DoPnTsyg.js → blocks-Be6sd6Mi.js} +6 -6
  155. package/storybook-static/assets/{button-GO_OT5aH.js → button-D2JNy4h8.js} +1 -1
  156. package/storybook-static/assets/{check-box-DAQgEdFF.js → check-box-B4tjJED4.js} +1 -1
  157. package/storybook-static/assets/{chunk-3LY4VQVK-BONHkyBf.js → chunk-3LY4VQVK-jaQG9QeP.js} +1 -1
  158. package/storybook-static/assets/{chunk-LITCR56V-BVF-KYVd.js → chunk-LITCR56V-HuSFGdRZ.js} +1 -1
  159. package/storybook-static/assets/{contextMenu-BN_nodeg.js → contextMenu-DIpGZPH1.js} +1 -1
  160. package/storybook-static/assets/{error-B6AQmhXG.js → error-DHDPaDqg.js} +1 -1
  161. package/storybook-static/assets/{flex-DVKfO80p.js → flex-BWOaXKdl.js} +1 -1
  162. package/storybook-static/assets/{floating-ui.react-DGTgiAdH.js → floating-ui.react-C83w-peW.js} +1 -1
  163. package/storybook-static/assets/formatter-L2YTDE3Q-CO9xKxzu.js +1 -0
  164. package/storybook-static/assets/{formatters-Dzo8Pnex.js → formatters-BaQpdAeu.js} +1 -1
  165. package/storybook-static/assets/grid-BwTl00V9.js +1 -0
  166. package/storybook-static/assets/{hooks-CpDSHDMN.js → hooks-5ZdxaH2L.js} +1 -1
  167. package/storybook-static/assets/{iframe-CTboIfoI.js → iframe-Dw3PG8YA.js} +4 -4
  168. package/storybook-static/assets/{input-DD2xaJKI.js → input-Cv9ps4La.js} +1 -1
  169. package/storybook-static/assets/lucide-react-DMM2-ayk.js +1 -0
  170. package/storybook-static/assets/{mdx-react-shim-DOISS71W.js → mdx-react-shim-Be8o0WOk.js} +1 -1
  171. package/storybook-static/assets/{media-xUSqwRJF.js → media-Bc0eGngh.js} +1 -1
  172. package/storybook-static/assets/misc-7hwZFEXA.js +5 -0
  173. package/storybook-static/assets/{notifications-CWxiJcV-.js → notifications-DkxUPPfB.js} +1 -1
  174. package/storybook-static/assets/{odata-PGHrDwPA.js → odata-nO_yW-3w.js} +1 -1
  175. package/storybook-static/assets/odata-service-RLReWm0A.js +1 -0
  176. package/storybook-static/assets/{odataStoryFixtures-B0ggeKvL.js → odataStoryFixtures-J-OBpNg6.js} +1 -1
  177. package/storybook-static/assets/{picker-DR1p3GaI.js → picker-BQr_wySR.js} +1 -1
  178. package/storybook-static/assets/{popover-D0spGyn8.js → popover-v9hxY66g.js} +1 -1
  179. package/storybook-static/assets/{preset-select-DIVtd6Ma.js → preset-select-d-pIvdGN.js} +1 -1
  180. package/storybook-static/assets/{react-18-BW39uoSY.js → react-18-CXAAUXpx.js} +1 -1
  181. package/storybook-static/assets/{react-D66xb1cV.js → react-ByWJZTAG.js} +1 -1
  182. package/storybook-static/assets/{react-dom-B8H6ZjRK.js → react-dom-DXk3dBb-.js} +1 -1
  183. package/storybook-static/assets/select-BessDJfg.js +1 -0
  184. package/storybook-static/assets/{slider-DBMU3Zyk.js → slider-tV7pXkKI.js} +1 -1
  185. package/storybook-static/assets/{sortable-aygBVsVu.js → sortable-CHwTYQdY.js} +1 -1
  186. package/storybook-static/assets/{syntaxhighlighter-RTCFPKCB-BmTfzeWy.js → syntaxhighlighter-RTCFPKCB-CsqLGhls.js} +1 -1
  187. package/storybook-static/assets/{text-BE5Uqo4p.js → text-Bf_PqPja.js} +1 -1
  188. package/storybook-static/assets/{theming-A6fWw02F.js → theming-D37tYvvG.js} +1 -1
  189. package/storybook-static/assets/ui-QO8tRKaR.js +1 -0
  190. package/storybook-static/assets/{useODataSelectBase-BivsfJ24.js → useODataSelectBase-DSlg4q3l.js} +1 -1
  191. package/storybook-static/assets/{useODataTreeData-DAop_xYb.js → useODataTreeData-d53TKU6r.js} +1 -1
  192. package/storybook-static/assets/{utils-BAfp5vsY.js → utils-CnV3Gszu.js} +1 -1
  193. package/storybook-static/iframe.html +1 -1
  194. package/storybook-static/index.json +1 -1
  195. package/storybook-static/project.json +1 -1
  196. package/storybook-static/assets/Input-DrlKVI51.js +0 -3
  197. package/storybook-static/assets/Select-C5ObFms-.js +0 -12
  198. package/storybook-static/assets/SingleDateTimeInput.stories-WcN90RJQ.js +0 -78
  199. package/storybook-static/assets/Switch.stories-Deck0xn9.js +0 -26
  200. package/storybook-static/assets/formatter-L2YTDE3Q-DT96-80k.js +0 -1
  201. package/storybook-static/assets/grid-BhEsHhF8.js +0 -1
  202. package/storybook-static/assets/lucide-react-gtfXEQZ7.js +0 -1
  203. package/storybook-static/assets/misc-D1Z0nw9S.js +0 -5
  204. package/storybook-static/assets/odata-service-XyWC7XJb.js +0 -1
  205. package/storybook-static/assets/select-Dr2NjwXE.js +0 -1
  206. package/storybook-static/assets/ui-DW-Seccl.js +0 -1
@@ -1,4 +1,4 @@
1
- import{c as e,i as t,r as n}from"./preload-helper-B45gAKPr.js";import{C as r}from"./iframe-CTboIfoI.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";var a=n(((e,t)=>{var n=!1,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_;function v(){if(!n){n=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),v=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(m=/\b(iPhone|iP[ao]d)/.exec(e),h=/\b(iP[ao]d)/.exec(e),f=/Android/i.exec(e),g=/FBAN\/\w+;/i.exec(e),_=/Mobile/i.exec(e),p=!!/Win64/.exec(e),t){r=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,r&&document&&document.documentMode&&(r=document.documentMode);var y=/(?:Trident\/(\d+.\d+))/.exec(e);c=y?parseFloat(y[1])+4:r,i=t[2]?parseFloat(t[2]):NaN,a=t[3]?parseFloat(t[3]):NaN,o=t[4]?parseFloat(t[4]):NaN,o?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),s=t&&t[1]?parseFloat(t[1]):NaN):s=NaN}else r=i=a=s=o=NaN;if(v){if(v[1]){var b=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);l=b?parseFloat(b[1].replace(`_`,`.`)):!0}else l=!1;u=!!v[2],d=!!v[3]}else l=u=d=!1}}var y={ie:function(){return v()||r},ieCompatibilityMode:function(){return v()||c>r},ie64:function(){return y.ie()&&p},firefox:function(){return v()||i},opera:function(){return v()||a},webkit:function(){return v()||o},safari:function(){return y.webkit()},chrome:function(){return v()||s},windows:function(){return v()||u},osx:function(){return v()||l},linux:function(){return v()||d},iphone:function(){return v()||m},mobile:function(){return v()||m||h||f||_},nativeApp:function(){return v()||g},android:function(){return v()||f},ipad:function(){return v()||h}};t.exports=y})),o=n(((e,t)=>{var n=!!(typeof window<`u`&&window.document&&window.document.createElement);t.exports={canUseDOM:n,canUseWorkers:typeof Worker<`u`,canUseEventListeners:n&&!!(window.addEventListener||window.attachEvent),canUseViewport:n&&!!window.screen,isInWorker:!n}})),s=n(((e,t)=>{var n=o(),r;n.canUseDOM&&(r=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature(``,``)!==!0);function i(e,t){if(!n.canUseDOM||t&&!(`addEventListener`in document))return!1;var i=`on`+e,a=i in document;if(!a){var o=document.createElement(`div`);o.setAttribute(i,`return;`),a=typeof o[i]==`function`}return!a&&r&&e===`wheel`&&(a=document.implementation.hasFeature(`Events.wheel`,`3.0`)),a}t.exports=i})),c=n(((e,t)=>{var n=a(),r=s(),i=10,o=40,c=800;function l(e){var t=0,n=0,r=0,a=0;return`detail`in e&&(n=e.detail),`wheelDelta`in e&&(n=-e.wheelDelta/120),`wheelDeltaY`in e&&(n=-e.wheelDeltaY/120),`wheelDeltaX`in e&&(t=-e.wheelDeltaX/120),`axis`in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),r=t*i,a=n*i,`deltaY`in e&&(a=e.deltaY),`deltaX`in e&&(r=e.deltaX),(r||a)&&e.deltaMode&&(e.deltaMode==1?(r*=o,a*=o):(r*=c,a*=c)),r&&!t&&(t=r<1?-1:1),a&&!n&&(n=a<1?-1:1),{spinX:t,spinY:n,pixelX:r,pixelY:a}}l.getEventType=function(){return n.firefox()?`DOMMouseScroll`:r(`wheel`)?`wheel`:`mousewheel`},t.exports=l})),l=n(((e,t)=>{t.exports=c()}));function u(e){"@babel/helpers - typeof";return u=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},u(e)}function d(e,t){if(u(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(u(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function f(e){var t=d(e,`string`);return u(t)==`symbol`?t:t+``}function p(e,t,n){return(t=f(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?m(Object(n),!0).forEach(function(t){p(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function g(e,t,n,r,i,a=0){let{width:o,height:s}=k(e,t,a),c=Math.min(o,n),l=Math.min(s,r);return c>l*i?{width:l*i,height:l}:{width:c,height:c/i}}function _(e){return e.width>e.height?e.width/e.naturalWidth:e.height/e.naturalHeight}function v(e,t,n,r,i=0){let{width:a,height:o}=k(t.width,t.height,i);return{x:y(e.x,a,n.width,r),y:y(e.y,o,n.height,r)}}function y(e,t,n,r){let i=Math.abs(t*r/2-n/2);return A(e,-i,i)}function b(e,t){return Math.sqrt((e.y-t.y)**2+(e.x-t.x)**2)}function x(e,t){return Math.atan2(t.y-e.y,t.x-e.x)*180/Math.PI}function S(e,t,n,r,i,a=0,o=!0){let s=o?C:w,c=k(t.width,t.height,a),l=k(t.naturalWidth,t.naturalHeight,a),u={x:s(100,((c.width-n.width/i)/2-e.x/i)/c.width*100),y:s(100,((c.height-n.height/i)/2-e.y/i)/c.height*100),width:s(100,n.width/c.width*100/i),height:s(100,n.height/c.height*100/i)},d=Math.round(s(l.width,u.width*l.width/100)),f=Math.round(s(l.height,u.height*l.height/100)),p=l.width>=l.height*r?{width:Math.round(f*r),height:f}:{width:d,height:Math.round(d/r)};return{croppedAreaPercentages:u,croppedAreaPixels:h(h({},p),{},{x:Math.round(s(l.width-p.width,u.x*l.width/100)),y:Math.round(s(l.height-p.height,u.y*l.height/100))})}}function C(e,t){return Math.min(e,Math.max(0,t))}function w(e,t){return t}function T(e,t,n,r,i,a){let o=k(t.width,t.height,n),s=A(r.width/o.width*(100/e.width),i,a);return{crop:{x:s*o.width/2-r.width/2-o.width*s*(e.x/100),y:s*o.height/2-r.height/2-o.height*s*(e.y/100)},zoom:s}}function ee(e,t,n){let r=_(t);return n.height>n.width?n.height/(e.height*r):n.width/(e.width*r)}function E(e,t,n=0,r,i,a){let o=k(t.naturalWidth,t.naturalHeight,n),s=A(ee(e,t,r),i,a),c=r.height>r.width?r.height/e.height:r.width/e.width;return{crop:{x:((o.width-e.width)/2-e.x)*c,y:((o.height-e.height)/2-e.y)*c},zoom:s}}function D(e,t){return{x:(t.x+e.x)/2,y:(t.y+e.y)/2}}function O(e){return e*Math.PI/180}function k(e,t,n){let r=O(n);return{width:Math.abs(Math.cos(r)*e)+Math.abs(Math.sin(r)*t),height:Math.abs(Math.sin(r)*e)+Math.abs(Math.cos(r)*t)}}function A(e,t,n){return Math.min(Math.max(e,t),n)}function j(...e){return e.filter(e=>typeof e==`string`&&e.length>0).join(` `).trim()}var M,N,P,F,I,L,R,z,B,V=t((()=>{M=e(r(),1),N=e(l(),1),P=`.reactEasyCrop_Container {
1
+ import{c as e,i as t,r 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";var a=n(((e,t)=>{var n=!1,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_;function v(){if(!n){n=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),v=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(m=/\b(iPhone|iP[ao]d)/.exec(e),h=/\b(iP[ao]d)/.exec(e),f=/Android/i.exec(e),g=/FBAN\/\w+;/i.exec(e),_=/Mobile/i.exec(e),p=!!/Win64/.exec(e),t){r=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,r&&document&&document.documentMode&&(r=document.documentMode);var y=/(?:Trident\/(\d+.\d+))/.exec(e);c=y?parseFloat(y[1])+4:r,i=t[2]?parseFloat(t[2]):NaN,a=t[3]?parseFloat(t[3]):NaN,o=t[4]?parseFloat(t[4]):NaN,o?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),s=t&&t[1]?parseFloat(t[1]):NaN):s=NaN}else r=i=a=s=o=NaN;if(v){if(v[1]){var b=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);l=b?parseFloat(b[1].replace(`_`,`.`)):!0}else l=!1;u=!!v[2],d=!!v[3]}else l=u=d=!1}}var y={ie:function(){return v()||r},ieCompatibilityMode:function(){return v()||c>r},ie64:function(){return y.ie()&&p},firefox:function(){return v()||i},opera:function(){return v()||a},webkit:function(){return v()||o},safari:function(){return y.webkit()},chrome:function(){return v()||s},windows:function(){return v()||u},osx:function(){return v()||l},linux:function(){return v()||d},iphone:function(){return v()||m},mobile:function(){return v()||m||h||f||_},nativeApp:function(){return v()||g},android:function(){return v()||f},ipad:function(){return v()||h}};t.exports=y})),o=n(((e,t)=>{var n=!!(typeof window<`u`&&window.document&&window.document.createElement);t.exports={canUseDOM:n,canUseWorkers:typeof Worker<`u`,canUseEventListeners:n&&!!(window.addEventListener||window.attachEvent),canUseViewport:n&&!!window.screen,isInWorker:!n}})),s=n(((e,t)=>{var n=o(),r;n.canUseDOM&&(r=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature(``,``)!==!0);function i(e,t){if(!n.canUseDOM||t&&!(`addEventListener`in document))return!1;var i=`on`+e,a=i in document;if(!a){var o=document.createElement(`div`);o.setAttribute(i,`return;`),a=typeof o[i]==`function`}return!a&&r&&e===`wheel`&&(a=document.implementation.hasFeature(`Events.wheel`,`3.0`)),a}t.exports=i})),c=n(((e,t)=>{var n=a(),r=s(),i=10,o=40,c=800;function l(e){var t=0,n=0,r=0,a=0;return`detail`in e&&(n=e.detail),`wheelDelta`in e&&(n=-e.wheelDelta/120),`wheelDeltaY`in e&&(n=-e.wheelDeltaY/120),`wheelDeltaX`in e&&(t=-e.wheelDeltaX/120),`axis`in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),r=t*i,a=n*i,`deltaY`in e&&(a=e.deltaY),`deltaX`in e&&(r=e.deltaX),(r||a)&&e.deltaMode&&(e.deltaMode==1?(r*=o,a*=o):(r*=c,a*=c)),r&&!t&&(t=r<1?-1:1),a&&!n&&(n=a<1?-1:1),{spinX:t,spinY:n,pixelX:r,pixelY:a}}l.getEventType=function(){return n.firefox()?`DOMMouseScroll`:r(`wheel`)?`wheel`:`mousewheel`},t.exports=l})),l=n(((e,t)=>{t.exports=c()}));function u(e){"@babel/helpers - typeof";return u=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},u(e)}function d(e,t){if(u(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(u(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function f(e){var t=d(e,`string`);return u(t)==`symbol`?t:t+``}function p(e,t,n){return(t=f(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?m(Object(n),!0).forEach(function(t){p(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function g(e,t,n,r,i,a=0){let{width:o,height:s}=k(e,t,a),c=Math.min(o,n),l=Math.min(s,r);return c>l*i?{width:l*i,height:l}:{width:c,height:c/i}}function _(e){return e.width>e.height?e.width/e.naturalWidth:e.height/e.naturalHeight}function v(e,t,n,r,i=0){let{width:a,height:o}=k(t.width,t.height,i);return{x:y(e.x,a,n.width,r),y:y(e.y,o,n.height,r)}}function y(e,t,n,r){let i=Math.abs(t*r/2-n/2);return A(e,-i,i)}function b(e,t){return Math.sqrt((e.y-t.y)**2+(e.x-t.x)**2)}function x(e,t){return Math.atan2(t.y-e.y,t.x-e.x)*180/Math.PI}function S(e,t,n,r,i,a=0,o=!0){let s=o?C:w,c=k(t.width,t.height,a),l=k(t.naturalWidth,t.naturalHeight,a),u={x:s(100,((c.width-n.width/i)/2-e.x/i)/c.width*100),y:s(100,((c.height-n.height/i)/2-e.y/i)/c.height*100),width:s(100,n.width/c.width*100/i),height:s(100,n.height/c.height*100/i)},d=Math.round(s(l.width,u.width*l.width/100)),f=Math.round(s(l.height,u.height*l.height/100)),p=l.width>=l.height*r?{width:Math.round(f*r),height:f}:{width:d,height:Math.round(d/r)};return{croppedAreaPercentages:u,croppedAreaPixels:h(h({},p),{},{x:Math.round(s(l.width-p.width,u.x*l.width/100)),y:Math.round(s(l.height-p.height,u.y*l.height/100))})}}function C(e,t){return Math.min(e,Math.max(0,t))}function w(e,t){return t}function T(e,t,n,r,i,a){let o=k(t.width,t.height,n),s=A(r.width/o.width*(100/e.width),i,a);return{crop:{x:s*o.width/2-r.width/2-o.width*s*(e.x/100),y:s*o.height/2-r.height/2-o.height*s*(e.y/100)},zoom:s}}function ee(e,t,n){let r=_(t);return n.height>n.width?n.height/(e.height*r):n.width/(e.width*r)}function E(e,t,n=0,r,i,a){let o=k(t.naturalWidth,t.naturalHeight,n),s=A(ee(e,t,r),i,a),c=r.height>r.width?r.height/e.height:r.width/e.width;return{crop:{x:((o.width-e.width)/2-e.x)*c,y:((o.height-e.height)/2-e.y)*c},zoom:s}}function D(e,t){return{x:(t.x+e.x)/2,y:(t.y+e.y)/2}}function O(e){return e*Math.PI/180}function k(e,t,n){let r=O(n);return{width:Math.abs(Math.cos(r)*e)+Math.abs(Math.sin(r)*t),height:Math.abs(Math.sin(r)*e)+Math.abs(Math.cos(r)*t)}}function A(e,t,n){return Math.min(Math.max(e,t),n)}function j(...e){return e.filter(e=>typeof e==`string`&&e.length>0).join(` `).trim()}var M,N,P,F,I,L,R,z,B,V=t((()=>{M=e(r(),1),N=e(l(),1),P=`.reactEasyCrop_Container {
2
2
  position: absolute;
3
3
  top: 0;
4
4
  left: 0;
@@ -1,2 +1,2 @@
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";function i({width:e=`100%`,height:t=`100%`,aspectRatio:n=`16 / 9`,className:r}){return(0,a.jsx)(`div`,{style:{width:e,height:t,aspectRatio:n},className:r,children:(0,a.jsx)(`svg`,{width:e,height:t,viewBox:`0 0 200 200`,xmlns:`http://www.w3.org/2000/svg`,role:`img`,fill:`none`,rx:`10`,ry:`10`,style:{display:`block`},"aria-label":`Изображение недоступно`,children:(0,a.jsxs)(`g`,{fill:`var(--surface-0)`,children:[(0,a.jsx)(`rect`,{x:`40`,y:`50`,width:`120`,height:`100`,rx:`10`}),(0,a.jsx)(`circle`,{cx:`60`,cy:`70`,r:`8`,fill:`var(--surface-2)`}),(0,a.jsx)(`path`,{d:`M50 130 L75 100 L100 130 Z`,fill:`var(--surface-2)`}),(0,a.jsx)(`path`,{d:`M90 130 L120 90 L150 130 Z`,fill:`var(--surface-2)`}),(0,a.jsx)(`line`,{x1:`160`,y1:`40`,x2:`40`,y2:`160`,stroke:`var(--surface-0)`,strokeWidth:`15`,strokeLinecap:`round`}),(0,a.jsx)(`line`,{x1:`160`,y1:`40`,x2:`40`,y2:`160`,stroke:`var(--surface-2)`,strokeWidth:`5`,strokeLinecap:`round`})]})})})}var a,o=t((()=>{a=r(),i.__docgenInfo={description:``,methods:[],displayName:`ImagePlaceholder`,props:{width:{required:!1,tsType:{name:`union`,raw:`number | string`,elements:[{name:`number`},{name:`string`}]},description:``,defaultValue:{value:`"100%"`,computed:!1}},height:{required:!1,tsType:{name:`union`,raw:`number | string`,elements:[{name:`number`},{name:`string`}]},description:``,defaultValue:{value:`"100%"`,computed:!1}},aspectRatio:{required:!1,tsType:{name:`union`,raw:`string | "unset"`,elements:[{name:`string`},{name:`literal`,value:`"unset"`}]},description:``,defaultValue:{value:`"16 / 9"`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:``}}}}));function s({src:e,sources:t,alt:n,role:r,ariaLabel:a,caption:o,fallback:s,useFigure:u=!1,layout:d=`cover`,width:f=`100%`,height:p=`100%`,aspectRatio:m,intrinsicWidth:h,intrinsicHeight:g,onLoad:_,onError:v,style:y,wrapperStyle:b,...x}){let S=(0,c.useRef)(null),[C,w]=(0,c.useState)(0),[T,E]=(0,c.useState)(!1),[D,O]=(0,c.useState)(!1),[k,A]=(0,c.useState)(!1);(0,c.useEffect)(()=>{if(typeof IntersectionObserver>`u`){let e=window.setTimeout(()=>E(!0),0);return()=>window.clearTimeout(e)}let e=new IntersectionObserver(([t])=>{if(t.isIntersecting){let n=Math.round(t.boundingClientRect.width);w(n),E(!0),e.disconnect()}},{rootMargin:`100px`,threshold:.01});return S.current&&e.observe(S.current),()=>e.disconnect()},[]);let j=d===`intrinsic`,M=j?`auto`:p,N=h&&g?`${h} / ${g}`:void 0,P=j?N??m??`auto`:m??`16 / 9`,F=j&&P!==`auto`&&P!==`unset`?`100%`:M,I=C?`${C}px`:`100vw`,L=(0,l.jsx)(i,{width:f,height:F,aspectRatio:P}),R=j?{...y,display:`block`,width:`100%`,height:`auto`,objectFit:void 0}:{display:`block`,width:`100%`,height:`100%`,objectFit:d,...y},z=(0,l.jsxs)(l.Fragment,{children:[!D&&!k&&(s||L),T&&!k&&(0,l.jsxs)(`picture`,{children:[t?.map(e=>(0,l.jsx)(`source`,{srcSet:e.srcSet,type:e.type,sizes:e.sizes??I},`${e.type??`source`}-${e.srcSet}`)),(0,l.jsx)(`img`,{src:e,alt:n,role:r,"aria-label":a,onLoad:e=>{O(!0),_?.(e)},onError:e=>{A(!0),v?.(e)},style:D?R:{display:`none`},"aria-busy":!D,width:h,height:g,...x})]}),k&&L]}),B=(0,l.jsx)(`div`,{ref:S,style:{width:f,height:M,aspectRatio:P,...b},children:z});return u?(0,l.jsxs)(`figure`,{className:`relative`,children:[B,o&&(0,l.jsx)(`figcaption`,{style:{bottom:2,right:2,maxWidth:`calc(100% - 4px)`},className:`absolute paddingInlineMd textRight radiusSm fontSizeSm`,children:o})]}):B}var c,l,u=t((()=>{c=e(n(),1),o(),l=r(),s.__docgenInfo={description:`Базовый рендер изображения: lazy-появление, placeholder, обработка ошибки и figure/caption.
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";function i({width:e=`100%`,height:t=`100%`,aspectRatio:n=`16 / 9`,className:r}){return(0,a.jsx)(`div`,{style:{width:e,height:t,aspectRatio:n},className:r,children:(0,a.jsx)(`svg`,{width:e,height:t,viewBox:`0 0 200 200`,xmlns:`http://www.w3.org/2000/svg`,role:`img`,fill:`none`,rx:`10`,ry:`10`,style:{display:`block`},"aria-label":`Изображение недоступно`,children:(0,a.jsxs)(`g`,{fill:`var(--surface-0)`,children:[(0,a.jsx)(`rect`,{x:`40`,y:`50`,width:`120`,height:`100`,rx:`10`}),(0,a.jsx)(`circle`,{cx:`60`,cy:`70`,r:`8`,fill:`var(--surface-2)`}),(0,a.jsx)(`path`,{d:`M50 130 L75 100 L100 130 Z`,fill:`var(--surface-2)`}),(0,a.jsx)(`path`,{d:`M90 130 L120 90 L150 130 Z`,fill:`var(--surface-2)`}),(0,a.jsx)(`line`,{x1:`160`,y1:`40`,x2:`40`,y2:`160`,stroke:`var(--surface-0)`,strokeWidth:`15`,strokeLinecap:`round`}),(0,a.jsx)(`line`,{x1:`160`,y1:`40`,x2:`40`,y2:`160`,stroke:`var(--surface-2)`,strokeWidth:`5`,strokeLinecap:`round`})]})})})}var a,o=t((()=>{a=r(),i.__docgenInfo={description:``,methods:[],displayName:`ImagePlaceholder`,props:{width:{required:!1,tsType:{name:`union`,raw:`number | string`,elements:[{name:`number`},{name:`string`}]},description:``,defaultValue:{value:`"100%"`,computed:!1}},height:{required:!1,tsType:{name:`union`,raw:`number | string`,elements:[{name:`number`},{name:`string`}]},description:``,defaultValue:{value:`"100%"`,computed:!1}},aspectRatio:{required:!1,tsType:{name:`union`,raw:`string | "unset"`,elements:[{name:`string`},{name:`literal`,value:`"unset"`}]},description:``,defaultValue:{value:`"16 / 9"`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:``}}}}));function s({src:e,sources:t,alt:n,role:r,ariaLabel:a,caption:o,fallback:s,useFigure:u=!1,layout:d=`cover`,width:f=`100%`,height:p=`100%`,aspectRatio:m,intrinsicWidth:h,intrinsicHeight:g,onLoad:_,onError:v,style:y,wrapperStyle:b,...x}){let S=(0,c.useRef)(null),[C,w]=(0,c.useState)(0),[T,E]=(0,c.useState)(!1),[D,O]=(0,c.useState)(!1),[k,A]=(0,c.useState)(!1);(0,c.useEffect)(()=>{if(typeof IntersectionObserver>`u`){let e=window.setTimeout(()=>E(!0),0);return()=>window.clearTimeout(e)}let e=new IntersectionObserver(([t])=>{if(t.isIntersecting){let n=Math.round(t.boundingClientRect.width);w(n),E(!0),e.disconnect()}},{rootMargin:`100px`,threshold:.01});return S.current&&e.observe(S.current),()=>e.disconnect()},[]);let j=d===`intrinsic`,M=j?`auto`:p,N=h&&g?`${h} / ${g}`:void 0,P=j?N??m??`auto`:m??`16 / 9`,F=j&&P!==`auto`&&P!==`unset`?`100%`:M,I=C?`${C}px`:`100vw`,L=(0,l.jsx)(i,{width:f,height:F,aspectRatio:P}),R=j?{...y,display:`block`,width:`100%`,height:`auto`,objectFit:void 0}:{display:`block`,width:`100%`,height:`100%`,objectFit:d,...y},z=(0,l.jsxs)(l.Fragment,{children:[!D&&!k&&(s||L),T&&!k&&(0,l.jsxs)(`picture`,{children:[t?.map(e=>(0,l.jsx)(`source`,{srcSet:e.srcSet,type:e.type,sizes:e.sizes??I},`${e.type??`source`}-${e.srcSet}`)),(0,l.jsx)(`img`,{src:e,alt:n,role:r,"aria-label":a,onLoad:e=>{O(!0),_?.(e)},onError:e=>{A(!0),v?.(e)},style:D?R:{display:`none`},"aria-busy":!D,width:h,height:g,...x})]}),k&&L]}),B=(0,l.jsx)(`div`,{ref:S,style:{width:f,height:M,aspectRatio:P,...b},children:z});return u?(0,l.jsxs)(`figure`,{className:`relative`,children:[B,o&&(0,l.jsx)(`figcaption`,{style:{bottom:2,right:2,maxWidth:`calc(100% - 4px)`},className:`absolute paddingInlineMd textRight radiusSm fontSizeSm`,children:o})]}):B}var c,l,u=t((()=>{c=e(n(),1),o(),l=r(),s.__docgenInfo={description:`Базовый рендер изображения: lazy-появление, placeholder, обработка ошибки и figure/caption.
2
2
  Компонент не знает, как устроено хранилище и какие форматы/размеры доступны.`,methods:[],displayName:`ImageRenderer`,props:{src:{required:!0,tsType:{name:`string`},description:``},sources:{required:!1,tsType:{name:`unknown`},description:``},layout:{required:!1,tsType:{name:`union`,raw:`"cover" | "contain" | "intrinsic"`,elements:[{name:`literal`,value:`"cover"`},{name:`literal`,value:`"contain"`},{name:`literal`,value:`"intrinsic"`}]},description:``,defaultValue:{value:`"cover"`,computed:!1}},alt:{required:!1,tsType:{name:`string`},description:``},role:{required:!1,tsType:{name:`string`},description:``},ariaLabel:{required:!1,tsType:{name:`string`},description:``},caption:{required:!1,tsType:{name:`string`},description:``},fallback:{required:!1,tsType:{name:`ReactNode`},description:``},useFigure:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},aspectRatio:{required:!1,tsType:{name:`union`,raw:`string | "unset"`,elements:[{name:`string`},{name:`literal`,value:`"unset"`}]},description:``},width:{required:!1,tsType:{name:`CSSProperties["width"]`,raw:`CSSProperties["width"]`},description:``,defaultValue:{value:`"100%"`,computed:!1}},height:{required:!1,tsType:{name:`CSSProperties["height"]`,raw:`CSSProperties["height"]`},description:``,defaultValue:{value:`"100%"`,computed:!1}},intrinsicWidth:{required:!1,tsType:{name:`number`},description:``},intrinsicHeight:{required:!1,tsType:{name:`number`},description:``},wrapperStyle:{required:!1,tsType:{name:`CSSProperties`},description:``}},composes:[`Omit`]}}));export{u as n,s as t};
@@ -1,4 +1,4 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{n as t,t as n}from"./ImageRenderer-Cnnx30sU.js";var r,i,a,o,s;e((()=>{t(),r={title:`Shared/UI/Image/ImageRenderer`,component:n,args:{src:`https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1600&q=80`,alt:`Горный пейзаж`},parameters:{layout:`padded`},argTypes:{layout:{control:`inline-radio`,options:[`cover`,`contain`,`intrinsic`]}}},i={args:{layout:`cover`,width:`min(100%, 48rem)`,height:`24rem`}},a={args:{layout:`contain`,width:`min(100%, 48rem)`,height:`24rem`,wrapperStyle:{background:`var(--surface-1)`}}},o={args:{layout:`intrinsic`,intrinsicWidth:1600,intrinsicHeight:1067}},i.parameters={...i.parameters,docs:{...i.parameters?.docs,source:{originalSource:`{
1
+ import{i as e}from"./preload-helper-B45gAKPr.js";import{n as t,t as n}from"./ImageRenderer-D6M62W6a.js";var r,i,a,o,s;e((()=>{t(),r={title:`Shared/UI/Image/ImageRenderer`,component:n,args:{src:`https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1600&q=80`,alt:`Горный пейзаж`},parameters:{layout:`padded`},argTypes:{layout:{control:`inline-radio`,options:[`cover`,`contain`,`intrinsic`]}}},i={args:{layout:`cover`,width:`min(100%, 48rem)`,height:`24rem`}},a={args:{layout:`contain`,width:`min(100%, 48rem)`,height:`24rem`,wrapperStyle:{background:`var(--surface-1)`}}},o={args:{layout:`intrinsic`,intrinsicWidth:1600,intrinsicHeight:1067}},i.parameters={...i.parameters,docs:{...i.parameters?.docs,source:{originalSource:`{
2
2
  args: {
3
3
  layout: "cover",
4
4
  width: "min(100%, 48rem)",
@@ -1,4 +1,4 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{t}from"./jsx-runtime-BBQGix-2.js";import{n,t as r}from"./ImageRenderer-Cnnx30sU.js";function i(e){return e.map(e=>`width`in e?`${e.src} ${e.width}w`:`${e.src} ${e.density}x`).join(`, `)}var a=e((()=>{}));function o(e,t){return(e??[]).map(e=>({srcSet:i(e.candidates),type:e.type,sizes:e.sizes??t})).filter(e=>e.srcSet.length>0)}var s=e((()=>{a()}));function c({image:e,alt:t,sizes:n,aspectRatio:a,...s}){let c=o(e.sources,n),u=e.candidates?i(e.candidates):void 0,d=a??(e.intrinsicWidth&&e.intrinsicHeight?`${e.intrinsicWidth} / ${e.intrinsicHeight}`:void 0);return(0,l.jsx)(r,{...s,src:e.src,srcSet:u||void 0,sources:c,sizes:n,alt:t??e.alt,intrinsicWidth:e.intrinsicWidth,intrinsicHeight:e.intrinsicHeight,aspectRatio:d})}var l,u=e((()=>{s(),a(),n(),l=t(),c.__docgenInfo={description:`Собирает picture/srcset из готовых URL и делегирует отображение ImageRenderer.
1
+ import{i as e}from"./preload-helper-B45gAKPr.js";import{t}from"./jsx-runtime-BBQGix-2.js";import{n,t as r}from"./ImageRenderer-D6M62W6a.js";function i(e){return e.map(e=>`width`in e?`${e.src} ${e.width}w`:`${e.src} ${e.density}x`).join(`, `)}var a=e((()=>{}));function o(e,t){return(e??[]).map(e=>({srcSet:i(e.candidates),type:e.type,sizes:e.sizes??t})).filter(e=>e.srcSet.length>0)}var s=e((()=>{a()}));function c({image:e,alt:t,sizes:n,aspectRatio:a,...s}){let c=o(e.sources,n),u=e.candidates?i(e.candidates):void 0,d=a??(e.intrinsicWidth&&e.intrinsicHeight?`${e.intrinsicWidth} / ${e.intrinsicHeight}`:void 0);return(0,l.jsx)(r,{...s,src:e.src,srcSet:u||void 0,sources:c,sizes:n,alt:t??e.alt,intrinsicWidth:e.intrinsicWidth,intrinsicHeight:e.intrinsicHeight,aspectRatio:d})}var l,u=e((()=>{s(),a(),n(),l=t(),c.__docgenInfo={description:`Собирает picture/srcset из готовых URL и делегирует отображение ImageRenderer.
2
2
  Компонент не формирует имена файлов и не знает о форматах или размерах хранилища.`,methods:[],displayName:`ImageView`,props:{image:{required:!0,tsType:{name:`signature`,type:`object`,raw:`{
3
3
  src: string;
4
4
  alt?: string;
@@ -0,0 +1 @@
1
+ .yarl__slide_captions_container{left:var(--yarl__slide_captions_container_left,0);right:var(--yarl__slide_captions_container_right,0);padding:var(--yarl__slide_captions_container_padding,16px);background:var(--yarl__slide_captions_container_background,#00000080);position:absolute;-webkit-transform:translateZ(0)}.yarl__slide_title{color:var(--yarl__slide_title_color,#fff);font-size:var(--yarl__slide_title_font_size,125%);font-weight:var(--yarl__slide_title_font_weight,bolder);max-width:calc(100% - var(--yarl__toolbar_width,0px));text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.yarl__slide_title_container{top:var(--yarl__slide_title_container_top,0)}.yarl__slide_description{-webkit-hyphens:auto;hyphens:auto;-webkit-line-clamp:var(--yarl__slide_description_max_lines,3);text-align:var(--yarl__slide_description_text_align,start);color:var(--yarl__slide_description_color,#fff);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.yarl__slide_description_container{bottom:var(--yarl__slide_description_container_bottom,0)}.yarl__counter{position:var(--yarl__counter_position,absolute);top:var(--yarl__counter_top,0);left:var(--yarl__counter_left,0);bottom:var(--yarl__counter_bottom,unset);right:var(--yarl__counter_right,unset);color:var(--yarl__counter_color,var(--yarl__color_button,#fffc));filter:var(--yarl__counter_filter,drop-shadow(2px 2px 2px #000c));margin:var(--yarl__counter_margin,var(--yarl__toolbar_padding,8px));padding:var(--yarl__counter_padding,var(--yarl__button_padding,8px));line-height:var(--yarl__counter_line_height,var(--yarl__icon_size,32px));-webkit-user-select:var(--yarl__counter_user_select,none);-moz-user-select:var(--yarl__counter_user_select,none);user-select:var(--yarl__counter_user_select,none)}[dir=rtl] .yarl__counter{left:var(--yarl__counter_rtl_left,unset);right:var(--yarl__counter_rtl_right,0)}.yarl__thumbnails{height:100%;display:flex}.yarl__thumbnails_bottom,.yarl__thumbnails_end .yarl__thumbnails_track,.yarl__thumbnails_start .yarl__thumbnails_track,.yarl__thumbnails_top{flex-direction:column}.yarl__thumbnails_wrapper{flex:1;position:relative}.yarl__thumbnails_container{background-color:var(--yarl__thumbnails_container_background_color,var(--yarl__color_backdrop,#000));padding:var(--yarl__thumbnails_container_padding,16px);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:none;position:relative;overflow:hidden}.yarl__thumbnails_vignette{pointer-events:none;--yarl__thumbnails_vignette_size:12%;position:absolute}@media (min-width:1200px){.yarl__thumbnails_vignette{--yarl__thumbnails_vignette_size:8%}}@media (min-width:2000px){.yarl__thumbnails_vignette{--yarl__thumbnails_vignette_size:5%}}.yarl__thumbnails_bottom .yarl__thumbnails_vignette,.yarl__thumbnails_top .yarl__thumbnails_vignette{background:linear-gradient(to right,var(--yarl__color_backdrop,#000) 0,transparent var(--yarl__thumbnails_vignette_size,12%) calc(100% - var(--yarl__thumbnails_vignette_size,12%)),var(--yarl__color_backdrop,#000) 100%);height:100%;left:0;right:0}.yarl__thumbnails_end .yarl__thumbnails_vignette,.yarl__thumbnails_start .yarl__thumbnails_vignette{background:linear-gradient(to bottom,var(--yarl__color_backdrop,#000) 0,transparent var(--yarl__thumbnails_vignette_size,12%) calc(100% - var(--yarl__thumbnails_vignette_size,12%)),var(--yarl__color_backdrop,#000) 100%);width:100%;top:0;bottom:0}.yarl__thumbnails_track{gap:var(--yarl__thumbnails_thumbnail_gap,16px);outline:none}.yarl__thumbnails_thumbnail{cursor:pointer;appearance:none;background:var(--yarl__thumbnails_thumbnail_background,#000);border-width:var(--yarl__thumbnails_thumbnail_border,1px);border-style:var(--yarl__thumbnails_thumbnail_border_style,solid);border-color:var(--yarl__thumbnails_thumbnail_border_color,var(--yarl__color_button,#fffc));border-radius:var(--yarl__thumbnails_thumbnail_border_radius,4px);-webkit-tap-highlight-color:transparent;padding:var(--yarl__thumbnails_thumbnail_padding,4px);width:var(--yarl__thumbnails_thumbnail_width,120px);height:var(--yarl__thumbnails_thumbnail_height,80px);box-sizing:content-box;outline:none;flex:none;position:relative;overflow:hidden}.yarl__thumbnails_thumbnail_active{border-color:var(--yarl__thumbnails_thumbnail_active_border_color,var(--yarl__color_button_active,#fff))}.yarl__thumbnails_thumbnail_fadein{opacity:0;animation:yarl__thumbnails_thumbnail_fadein var(--yarl__thumbnails_thumbnail_fadein_duration,.5s) ease-in-out var(--yarl__thumbnails_thumbnail_fadein_delay,0s) forwards}.yarl__thumbnails_thumbnail_fadeout{animation:yarl__thumbnails_thumbnail_fadeout var(--yarl__thumbnails_thumbnail_fadeout_duration,.5s) ease-in-out var(--yarl__thumbnails_thumbnail_fadeout_delay,0s) forwards;cursor:unset}.yarl__thumbnails_thumbnail_placeholder{visibility:hidden;cursor:unset}.yarl__thumbnails_thumbnail:focus{box-shadow:var(--yarl__thumbnails_thumbnail_focus_box_shadow,#000 0 0 0 2px,var(--yarl__color_button,#fffc) 0 0 0 4px)}.yarl__thumbnails_thumbnail:focus:not(:focus-visible){box-shadow:unset}.yarl__thumbnails_thumbnail:focus-visible{box-shadow:var(--yarl__thumbnails_thumbnail_focus_box_shadow,#000 0 0 0 2px,var(--yarl__color_button,#fffc) 0 0 0 4px)}.yarl__thumbnails_thumbnail_icon{color:var(--yarl__thumbnails_thumbnail_icon_color,var(--yarl__color_button,#fffc));filter:var(--yarl__thumbnails_thumbnail_icon_filter,drop-shadow(2px 2px 2px #000c));width:var(--yarl__thumbnails_thumbnail_icon_size,32px);height:var(--yarl__thumbnails_thumbnail_icon_size,32px);position:absolute;top:50%;left:50%;transform:translate(-50%)translateY(-50%)}@keyframes yarl__thumbnails_thumbnail_fadein{0%{opacity:0}to{opacity:1}}@keyframes yarl__thumbnails_thumbnail_fadeout{0%{opacity:1}to{opacity:0}}.yarl__fullsize{width:100%;height:100%}.yarl__relative{position:relative}.yarl__portal{opacity:0;z-index:var(--yarl__portal_zindex,9999);transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);pointer-events:auto;position:fixed;inset:0;overflow:hidden}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));-webkit-user-select:none;user-select:none;touch-action:var(--yarl__controller_touch_action,none);overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);outline:none;position:absolute;inset:0;overflow:hidden}.yarl__carousel{height:100%;width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px,0)*1px + var(--yarl__carousel_spacing_percent,0)*1%));transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));opacity:var(--yarl__pull_opacity,1);flex:none;place-content:center;align-items:stretch;display:flex}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px,0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent,0))*var(--yarl__carousel_spacing_percent,0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px,0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent,0))*var(--yarl__carousel_spacing_percent,0)*1%)}.yarl__flex_center{place-content:center;align-items:center;display:flex}.yarl__slide{padding:calc(var(--yarl__carousel_padding_px,0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent,0))*var(--yarl__carousel_padding_percent,0)*1%);flex:1;position:relative;overflow:hidden}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;max-width:100%;max-height:100%}.yarl__slide_image_cover{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform-style:preserve-3d;-webkit-transform:translateZ(0)}}.yarl__slide_placeholder{line-height:0;position:absolute;top:50%;left:50%;transform:translate(-50%)translateY(-50%)}.yarl__slide_loading{color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,#fffc));animation:1s linear yarl__delayed_fadein}.yarl__slide_loading line{animation:1s linear infinite yarl__stroke_opacity}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{width:var(--yarl__slide_icon_error_size,48px);height:var(--yarl__slide_icon_error_size,48px);color:var(--yarl__slide_icon_error_color,red)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{padding:var(--yarl__toolbar_padding,8px);justify-content:flex-end;display:flex;position:absolute;inset:0 0 auto auto}[dir=rtl] .yarl__toolbar{inset:0 auto auto 0}.yarl__icon{width:var(--yarl__icon_size,32px);height:var(--yarl__icon_size,32px)}.yarl__button{cursor:pointer;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);margin:var(--yarl__button_margin,0);padding:var(--yarl__button_padding,8px);color:var(--yarl__color_button,#fffc);filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px #000c));-webkit-tap-highlight-color:transparent;outline:none;line-height:0}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,#fffc)}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,#fff6);cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%)rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%)rotate(180deg)}.yarl__no_scroll{overscroll-behavior:none;height:100%;overflow:hidden}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}.acj1dM{--yarl__portal_zindex:var(--image-viewer-z-index,var(--z-image-viewer,300));--yarl__color_backdrop:var(--image-viewer-backdrop,#000000eb);--yarl__container_background_color:var(--image-viewer-backdrop,#000000eb);--yarl__color_button:var(--image-viewer-control-color,#ffffffd1);--yarl__color_button_active:var(--image-viewer-control-active-color,var(--white,#fff));--yarl__color_button_disabled:var(--image-viewer-control-disabled-color,#ffffff61);--yarl__button_background_color:var(--image-viewer-control-background,transparent);--yarl__button_border:var(--image-viewer-control-border,0);--yarl__button_filter:var(--image-viewer-control-filter,drop-shadow(0 .125rem .25rem #000000b3));--yarl__icon_size:var(--image-viewer-icon-size,1.75rem);--yarl__toolbar_padding:var(--image-viewer-toolbar-padding,var(--space-md,.625rem));--yarl__slide_icon_loading_color:var(--image-viewer-loading-color,var(--image-viewer-control-color,#ffffffd1));--yarl__slide_icon_error_color:var(--image-viewer-error-color,var(--status-error-fill,#d32f2f));--yarl__slide_captions_container_background:var(--image-viewer-caption-background,#0000009e);--yarl__slide_title_color:var(--image-viewer-caption-color,var(--white,#fff));--yarl__slide_description_color:var(--image-viewer-caption-color,var(--white,#fff));--yarl__counter_color:var(--image-viewer-counter-color,var(--image-viewer-control-color,#ffffffd1));--yarl__thumbnails_container_background_color:var(--image-viewer-backdrop,#000000eb);--yarl__thumbnails_thumbnail_background:var(--image-viewer-thumbnail-background,#ffffff14);--yarl__thumbnails_thumbnail_border_color:var(--image-viewer-thumbnail-border-color,var(--image-viewer-control-color,#ffffffd1));--yarl__thumbnails_thumbnail_active_border_color:var(--image-viewer-thumbnail-active-border-color,var(--image-viewer-control-active-color,var(--white,#fff)));font-family:var(--font-family-base,sans-serif)}.acj1dM .yarl__button{border-radius:var(--image-viewer-control-radius,var(--radius-sm,.3125rem));transition:color var(--transition-fast,.2s) ease, background-color var(--transition-fast,.2s) ease}.acj1dM .yarl__button:focus-visible,.acj1dM .yarl__thumbnails_thumbnail:focus-visible{outline:var(--image-viewer-focus,var(--focus,.125rem solid currentColor));outline-offset:var(--image-viewer-focus-offset,var(--focus-offset,.125rem))}.acj1dM .yarl__thumbnails_thumbnail:focus-visible{box-shadow:none}.acj1dM .yarl__slide_image{border-radius:var(--image-viewer-image-radius,var(--radius-sm,.3125rem))}.jt3y3m{width:var(--image-viewer-icon-size,1.75rem);height:var(--image-viewer-icon-size,1.75rem);stroke-width:var(--image-viewer-icon-stroke-width,2)}._2SAWIU{animation:1s linear infinite _1GqI3h}@keyframes _1GqI3h{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){._2SAWIU{animation:none}}
@@ -0,0 +1,72 @@
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"./react-dom-DXk3dBb-.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,i as o}from"./utils-CnV3Gszu.js";import{B as s,Et as c,I as l,J as u,M as d,Ot as f,P as p,W as m,bt as h,i as g,n as _,o as v,t as y,vt as b}from"./lucide-react-DMM2-ayk.js";import{t as x}from"./Button-DuNV63ZS.js";import{t as S}from"./button-D2JNy4h8.js";var C,w,T,E,D,O,k,A,ee,j,M,te,ne,re,ie,ae,oe,se,ce,le,ue,de,fe,pe,me,he,ge,_e,ve,ye,be,xe,Se,Ce,we,Te,Ee,De,Oe,ke,Ae,je,Me,Ne=t((()=>{C=`carousel`,w=`controller`,T=`navigation`,E=`no-scroll`,D=`portal`,O=`root`,k=`toolbar`,A=`captions`,ee=`counter`,j=`download`,M=`fullscreen`,te=`thumbnails`,ne=`zoom`,re=`loading`,ie=`playing`,ae=`error`,oe=`complete`,se=e=>`active-slide-${e}`,se(re),se(ie),se(ae),se(oe),ce=`fullsize`,le=`flex_center`,ue=`no_scroll`,de=`no_scroll_padding`,fe=`slide`,pe=`slide_wrapper`,me=`prev`,he=`next`,ge=`swipe`,_e=`close`,ve=`onPointerDown`,ye=`onPointerMove`,be=`onPointerUp`,xe=`onPointerLeave`,Se=`onPointerCancel`,Ce=`onKeyDown`,we=`onKeyUp`,Te=`onWheel`,Ee=`Escape`,De=`ArrowLeft`,Oe=`ArrowRight`,ke=`button`,Ae=`icon`,je=`contain`,Me=`Unknown action type`}));function N(...e){return e.filter(Boolean).join(` `)}function P(e){return`${en}${e}`}function F(e){return`--${en}${e}`}function Pe(e,t){return`${e}${t?`_${t}`:``}`}function Fe(e){return t=>Pe(e,t)}function Ie(e,t){return e?.[t]??t}function Le(e,t,n){return Ie(e,`{index} of {total}`).replace(/\{index}/g,`${qe(n,t.length)+1}`).replace(/\{total}/g,`${t.length}`)}function Re(...e){return()=>{e.forEach(e=>{e()})}}function I(e,t,n){return()=>{let r=V.useContext(n);if(!r)throw Error(`${e} must be used within a ${t}.Provider`);return r}}function ze(){return typeof window<`u`}function Be(e,t=0){let n=10**t;return Math.round((e+2**-52)*n)/n}function Ve(e){return e.type===void 0||e.type===`image`}function He(e,t){return e.imageFit===`cover`||e.imageFit!==`contain`&&t===`cover`}function Ue(e){return typeof e==`string`?Number.parseInt(e,10):e}function We(e){if(typeof e==`number`)return{pixel:e};if(typeof e==`string`){let t=Ue(e);return e.endsWith(`%`)?{percent:t}:{pixel:t}}return{pixel:0}}function Ge(e,t){let n=We(t),r=n.percent===void 0?n.pixel:e.width/100*n.percent;return{width:Math.max(e.width-2*r,0),height:Math.max(e.height-2*r,0)}}function Ke(){return(ze()?window==null?void 0:window.devicePixelRatio:void 0)||1}function qe(e,t){return t>0?(e%t+t)%t:0}function Je(e){return e.length>0}function Ye(e,t){return e[qe(t,e.length)]}function Xe(e,t){return Je(e)?Ye(e,t):void 0}function Ze(e){return Ve(e)?e.src:void 0}function Qe(e,t,n){if(!n)return e;let{buttons:r,...i}=e,a=r.findIndex(e=>e===t),o=V.isValidElement(n)?V.cloneElement(n,{key:t},null):n;if(a>=0){let e=[...r];return e.splice(a,1,o),{buttons:e,...i}}return{buttons:[o,...r],...i}}function $e(e,t,n=0){return Math.min(e.preload,Math.max(e.finite?t.length-1:Math.floor(t.length/2),n))}function et(e){return{inert:tn?e:e?``:void 0}}function tt(e){e.scrollTop}function L(e,t){return{name:e,component:t}}function R(e,t){return{module:e,children:t}}function nt(e,t,n){return e.module.name===t?n(e):e.children?[R(e.module,e.children.flatMap(e=>nt(e,t,n)??[]))]:[e]}function rt(e,t,n){return e.flatMap(e=>nt(e,t,n)??[])}function it(e,t=[],n=[]){let r=e,i=e=>{let t=[...r];for(;t.length>0;){let n=t.pop();if(n?.module.name===e)return!0;n?.children&&t.push(...n.children)}return!1},a=(e,t)=>{if(e===``){r=[R(t,r)];return}r=rt(r,e,e=>[R(t,[e])])},o=(e,t)=>{r=rt(r,e,e=>[R(e.module,[R(t,e.children)])])},s=(e,t,n)=>{r=rt(r,e,e=>[R(e.module,[...n?[R(t)]:[],...e.children??[],...n?[]:[R(t)]])])},c=(e,t,n)=>{r=rt(r,e,e=>[...n?[R(t)]:[],e,...n?[]:[R(t)]])},l=e=>{o(w,e)},u=(e,t)=>{r=rt(r,e,e=>[R(t,e.children)])},d=e=>{r=rt(r,e,e=>e.children)},f=e=>{n.push(e)};return t.forEach(e=>{e({contains:i,addParent:a,append:o,addChild:s,addSibling:c,addModule:l,replace:u,remove:d,augment:f})}),{config:r,augmentation:e=>n.reduce((e,t)=>t(e),e)}}function at({children:e}){let[t,n]=V.useState(!1),[r,i]=V.useState(!1),a=V.useMemo(()=>({focusWithin:t,trackFocusWithin:(e,t)=>{let r=r=>i=>{var a;i.currentTarget.contains(i.relatedTarget)||n(r),(a=r?e:t)==null||a(i)};return{onFocus:r(!0),onBlur:r(!1)}},autoPlaying:r,setAutoPlaying:i}),[t,r]);return V.createElement(rn.Provider,{value:a},e)}function ot({nodeRef:e,children:t}){let n=V.useMemo(()=>{let t=t=>(t||e.current)?.ownerDocument||document;return{getOwnerDocument:t,getOwnerWindow:e=>t(e)?.defaultView||window}},[e]);return V.createElement(on.Provider,{value:n},t)}function st({children:e}){let[t]=V.useState({});V.useEffect(()=>()=>{Object.keys(t).forEach(e=>delete t[e])},[t]);let n=V.useMemo(()=>{let e=(e,n)=>{var r;(r=t[e])==null||r.splice(0,t[e].length,...t[e].filter(e=>e!==n))};return{publish:(...[e,n])=>{var r;(r=t[e])==null||r.forEach(e=>e(n))},subscribe:(n,r)=>(t[n]||(t[n]=[]),t[n].push(r),()=>e(n,r)),unsubscribe:e}},[t]);return V.createElement(cn.Provider,{value:n},e)}function ct({children:e,...t}){return V.createElement(un.Provider,{value:t},e)}function lt(e,t){switch(t.type){case`swipe`:{let{slides:n}=e,r=t?.increment||0,i=e.globalIndex+r,a=qe(i,n.length);return{slides:n,currentIndex:a,globalIndex:i,currentSlide:Xe(n,a),animation:r||t.duration!==void 0?{increment:r,duration:t.duration,easing:t.easing}:void 0}}case`update`:return t.slides!==e.slides||t.index!==e.currentIndex?{slides:t.slides,currentIndex:t.index,globalIndex:t.index,currentSlide:Xe(t.slides,t.index)}:e;default:throw Error(Me)}}function ut({slides:e,index:t,children:n}){let[r,i]=V.useReducer(lt,{slides:e,currentIndex:t,globalIndex:t,currentSlide:Xe(e,t)}),[a,o]=V.useState(e),[s,c]=V.useState(t);(e!==a||t!==s)&&(o(e),c(t),i({type:`update`,slides:e,index:t}));let l=V.useMemo(()=>({...r,state:r,dispatch:i}),[r,i]);return V.createElement(fn.Provider,{value:i},V.createElement(dn.Provider,{value:l},n))}function dt({isRTL:e,children:t}){let n=V.useMemo(()=>({isRTL:e}),[e]);return V.createElement(mn.Provider,{value:n},t)}function ft({children:e}){let[t]=V.useState([]);V.useEffect(()=>()=>{t.forEach(e=>window.clearTimeout(e)),t.splice(0,t.length)},[t]);let n=V.useMemo(()=>{let e=e=>{t.splice(0,t.length,...t.filter(t=>t!==e))};return{setTimeout:(n,r)=>{let i=window.setTimeout(()=>{e(i),n()},r);return t.push(i),i},clearTimeout:t=>{t!==void 0&&(e(t),window.clearTimeout(t))}}},[t]);return V.createElement(gn.Provider,{value:n},e)}function pt(e,t){let n=e=>V.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:`24`,height:`24`,"aria-hidden":`true`,focusable:`false`,...e},t);return n.displayName=e,n}function z(e,t){return pt(e,V.createElement(`g`,{fill:`currentColor`},V.createElement(`path`,{d:`M0 0h24v24H0z`,fill:`none`}),t))}function mt(e,t){return pt(e,V.createElement(V.Fragment,null,V.createElement(`defs`,null,V.createElement(`mask`,{id:`strike`},V.createElement(`path`,{d:`M0 0h24v24H0z`,fill:`white`}),V.createElement(`path`,{d:`M0 0L24 24`,stroke:`black`,strokeWidth:4}))),V.createElement(`path`,{d:`M0.70707 2.121320L21.878680 23.292883`,stroke:`currentColor`,strokeWidth:2}),V.createElement(`g`,{fill:`currentColor`,mask:`url(#strike)`},V.createElement(`path`,{d:`M0 0h24v24H0z`,fill:`none`}),t)))}function ht(){let[e,t]=V.useState(!1);return V.useEffect(()=>{var e;let n=window.matchMedia?.call(window,`(prefers-reduced-motion: reduce)`);t(n?.matches);let r=e=>t(e.matches);return(e=n?.addEventListener)==null||e.call(n,`change`,r),()=>(n?.removeEventListener)?.call(n,`change`,r)},[]),e}function gt(e){let t=0,n=0,r=0,i=window.getComputedStyle(e).transform.match(/matrix.*\((.+)\)/);if(i){let e=i[1].split(`,`).map(Ue);e.length===6?(t=e[4],n=e[5]):e.length===16&&(t=e[12],n=e[13],r=e[14])}return{x:t,y:n,z:r}}function _t(e,t){let n=V.useRef(void 0),r=V.useRef(void 0),i=ht();return W(()=>{var a,o;if(e.current&&n.current!==void 0&&!i){let{keyframes:i,duration:s,easing:c,onfinish:l}=t(n.current,e.current.getBoundingClientRect(),gt(e.current))||{};if(i&&s){(a=r.current)==null||a.cancel(),r.current=void 0;try{r.current=(o=e.current).animate?.call(o,i,{duration:s,easing:c})}catch(e){console.error(e)}r.current&&(r.current.onfinish=()=>{r.current=void 0,l?.()})}}n.current=void 0}),{prepareAnimation:e=>{n.current=e},isAnimationPlaying:()=>r.current?.playState===`running`}}function vt(){let e=V.useRef(null),t=V.useRef(void 0),[n,r]=V.useState();return{setContainerRef:V.useCallback(n=>{e.current=n,t.current&&=(t.current.disconnect(),void 0);let i=()=>{if(n){let e=window.getComputedStyle(n),t=e=>parseFloat(e)||0;r({width:Math.round(n.clientWidth-t(e.paddingLeft)-t(e.paddingRight)),height:Math.round(n.clientHeight-t(e.paddingTop)-t(e.paddingBottom))})}else r(void 0)};i(),n&&typeof ResizeObserver<`u`&&(t.current=new ResizeObserver(i),t.current.observe(n))},[]),containerRef:e,containerRect:n}}function yt(){let e=V.useRef(void 0),{setTimeout:t,clearTimeout:n}=_n();return V.useCallback((r,i)=>{n(e.current),e.current=t(r,i>0?i:0)},[t,n])}function B(e){let t=V.useRef(e);return W(()=>{t.current=e}),V.useCallback((...e)=>t.current?.call(t,...e),[])}function bt(e,t){typeof e==`function`?e(t):e&&(e.current=t)}function xt(e,t){return V.useMemo(()=>e==null&&t==null?null:n=>{bt(e,n),bt(t,n)},[e,t])}function St(e,t=!1){let n=V.useRef(!1);return W(()=>{t&&n.current&&(n.current=!1,e())},[t,e]),{onFocus:V.useCallback(()=>{n.current=!0},[]),onBlur:V.useCallback(()=>{n.current=!1},[])}}function Ct(){return hn().isRTL}function wt(){let[e]=V.useState({}),t=V.useCallback((t,n)=>{var r;(r=e[t])==null||r.forEach(e=>{n.isPropagationStopped()||e(n)})},[e]);return{registerSensors:V.useMemo(()=>({onPointerDown:e=>t(ve,e),onPointerMove:e=>t(ye,e),onPointerUp:e=>t(be,e),onPointerLeave:e=>t(xe,e),onPointerCancel:e=>t(Se,e),onKeyDown:e=>t(Ce,e),onKeyUp:e=>t(we,e),onWheel:e=>t(Te,e)}),[t]),subscribeSensors:V.useCallback((t,n)=>(e[t]||(e[t]=[]),e[t].unshift(n),()=>{let r=e[t];r&&r.splice(0,r.length,...r.filter(e=>e!==n))}),[e])}}function Tt(e,t){let n=V.useRef(0),r=yt(),i=B((...t)=>{n.current=Date.now(),e(t)});return V.useCallback((...e)=>{r(()=>{i(e)},t-(Date.now()-n.current))},[t,i,r])}function Et({slide:e,offset:t,render:n,rect:r,imageFit:i,imageProps:a,onClick:o,onLoad:s,onError:c,style:l}){let[u,d]=V.useState(re),{publish:f}=ln(),{setTimeout:p}=_n(),m=V.useRef(null);V.useEffect(()=>{t===0&&f(se(u))},[t,u,f]);let h=B(e=>{(`decode`in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{e.parentNode&&(d(oe),p(()=>{s?.(e)},0))})}),g=V.useCallback(e=>{m.current=e,e?.complete&&h(e)},[h]),_=V.useCallback(e=>{h(e.currentTarget)},[h]),v=B(()=>{d(ae),c?.()}),y=He(e,i),b=(e,t)=>Number.isFinite(e)?e:t,x=b(Math.max(...(e.srcSet?.map(e=>e.width)??[]).concat(e.width?[e.width]:[]).filter(Boolean)),m.current?.naturalWidth||0),S=b(Math.max(...(e.srcSet?.map(e=>e.height)??[]).concat(e.height?[e.height]:[]).filter(Boolean)),m.current?.naturalHeight||0),C=x&&S?{maxWidth:`min(${x}px, 100%)`,maxHeight:`min(${S}px, 100%)`}:{maxWidth:`100%`,maxHeight:`100%`},w=e.srcSet?.slice().sort((e,t)=>e.width-t.width).map(e=>`${e.src} ${e.width}w`).join(`, `),T=w&&r&&ze()?`${Math.round(Math.min(r&&!y&&e.width&&e.height?r.height/e.height*e.width:Number.MAX_VALUE,r.width))}px`:void 0,{style:E,className:D,...O}=(typeof a==`function`?a(e):a)||{};return V.createElement(V.Fragment,null,V.createElement(`img`,{ref:g,onLoad:_,onError:v,onClick:o,draggable:!1,className:N(P(Tn()),y&&P(Tn(`cover`)),u!==`complete`&&P(Tn(`loading`)),D),style:{...C,...l,...E},...O,alt:e.alt??``,sizes:T,srcSet:w,src:e.src}),u!==`complete`&&V.createElement(`div`,{className:P(wn(`placeholder`))},u===`loading`&&(n?.iconLoading?n.iconLoading():V.createElement(Sn,{className:N(P(`icon`),P(wn(`loading`)))})),u===`error`&&(n?.iconError?n.iconError():V.createElement(Cn,{className:N(P(`icon`),P(wn(`error`)))}))))}function Dt(e,t,n,r,i){V.useEffect(()=>i?()=>{}:Re(e(ve,t),e(ye,n),e(be,r),e(xe,r),e(Se,r)),[e,t,n,r,i])}function Ot({disableSwipeNavigation:e,closeOnBackdropClick:t},n,r,i,a,o,s,c,l,u,d,f,p,m,h,g){let _=V.useRef(0),v=V.useRef([]),y=V.useRef(void 0),b=V.useRef(0),x=V.useRef(Dn.NONE),S=V.useCallback(e=>{y.current===e.pointerId&&(y.current=void 0,x.current=Dn.NONE);let t=v.current;t.splice(0,t.length,...t.filter(t=>t.pointerId!==e.pointerId))},[]),C=V.useCallback(e=>{S(e),e.persist(),v.current.push(e)},[S]),w=V.useCallback(e=>v.current.find(({pointerId:t})=>e.pointerId===t),[]),T=B(e=>{C(e)}),E=(e,t)=>d&&e>t||u&&e<-t,D=B(e=>{let n=w(e);if(n)if(y.current===e.pointerId){let e=Date.now()-b.current,t=_.current;x.current===Dn.SWIPE?Math.abs(t)>.3*i||Math.abs(t)>5&&e<a?c(t,e):l(t):x.current===Dn.PULL&&(E(t,2*On)?m(t,e):h(t)),_.current=0,x.current=Dn.NONE}else{let{target:r}=e;t&&r instanceof HTMLElement&&r===n.target&&(r.classList.contains(P(`slide`))||r.classList.contains(P(`slide_wrapper`)))&&g()}S(e)});Dt(n,T,B(t=>{let n=w(t);if(n){let i=y.current===t.pointerId;if(t.buttons===0){i&&_.current!==0?D(t):S(n);return}let a=t.clientX-n.clientX,c=t.clientY-n.clientY;if(y.current===void 0){let n=e=>{C(t),y.current=t.pointerId,b.current=Date.now(),x.current=e};Math.abs(a)>Math.abs(c)&&Math.abs(a)>On&&r(a)?e||(n(Dn.SWIPE),o()):Math.abs(c)>Math.abs(a)&&E(c,On)&&(n(Dn.PULL),f())}else i&&(x.current===Dn.SWIPE?(_.current=a,s(a)):x.current===Dn.PULL&&(_.current=c,p(c)))}}),D)}function kt({preventDefaultWheelX:e,preventDefaultWheelY:t}){let n=V.useRef(null),r=B(n=>{let r=Math.abs(n.deltaX)>Math.abs(n.deltaY);(r&&e||!r&&t||n.ctrlKey)&&n.preventDefault()});return V.useCallback(e=>{var t;e?e.addEventListener(`wheel`,r,{passive:!1}):(t=n.current)==null||t.removeEventListener(`wheel`,r),n.current=e},[r])}function At(e,t,n,r,i,a,o,s,c){let l=V.useRef(0),u=V.useRef(0),d=V.useRef(void 0),f=V.useRef(void 0),p=V.useRef(0),m=V.useRef(void 0),h=V.useRef(0),{setTimeout:g,clearTimeout:_}=_n(),v=V.useCallback(()=>{d.current&&=(_(d.current),void 0)},[_]),y=V.useCallback(()=>{f.current&&=(_(f.current),void 0)},[_]),b=B(()=>{e!==G.SWIPE&&(l.current=0,h.current=0,v(),y())});V.useEffect(b,[e,b]);let x=B(e=>{f.current=void 0,l.current===e&&c(l.current)}),S=B(t=>{if(t.ctrlKey||Math.abs(t.deltaY)>Math.abs(t.deltaX))return;let c=e=>{p.current=e,_(m.current),m.current=e>0?g(()=>{p.current=0,m.current=void 0},300):void 0};if(e===G.NONE){if(Math.abs(t.deltaX)<=1.2*Math.abs(p.current)){c(t.deltaX);return}if(!n(-t.deltaX))return;if(u.current+=t.deltaX,v(),Math.abs(u.current)>30)u.current=0,c(0),h.current=Date.now(),a();else{let e=u.current;d.current=g(()=>{d.current=void 0,e===u.current&&(u.current=0)},i)}}else if(e===G.SWIPE){let e=l.current-t.deltaX;if(e=Math.min(Math.abs(e),r)*Math.sign(e),l.current=e,o(e),y(),Math.abs(e)>.2*r){c(t.deltaX),s(e,Date.now()-h.current);return}f.current=g(()=>x(e),2*i)}else c(t.deltaX)});V.useEffect(()=>t(Te,S),[t,S])}function jt({children:e,...t}){let{carousel:n,animation:r,controller:i,on:a,styles:o,render:s}=t,{closeOnPullUp:c,closeOnPullDown:l,preventDefaultWheelX:u,preventDefaultWheelY:d}=i,[f,p]=V.useState(),m=U(),h=pn(),[g,_]=V.useState(G.NONE),v=V.useRef(0),y=V.useRef(0),b=V.useRef(1),{registerSensors:x,subscribeSensors:S}=wt(),{subscribe:C,publish:w}=ln(),T=yt(),E=yt(),D=yt(),{containerRef:O,setContainerRef:k,containerRect:A}=vt(),ee=xt(kt({preventDefaultWheelX:u,preventDefaultWheelY:d}),k),j=V.useRef(null),M=xt(j,void 0),{getOwnerDocument:te}=sn(),ne=Ct(),re=e=>(ne?-1:1)*(typeof e==`number`?e:1),ie=B(()=>O.current?.focus()),ae=B(()=>t),oe=B(()=>m),se=V.useCallback(e=>w(me,e),[w]),ce=V.useCallback(e=>w(he,e),[w]),ue=V.useCallback(()=>w(_e),[w]),de=e=>!(n.finite&&(re(e)>0&&m.currentIndex===0||re(e)<0&&m.currentIndex===m.slides.length-1)),fe=e=>{var t;v.current=e,(t=O.current)==null||t.style.setProperty(F(`swipe_offset`),`${Math.round(e)}px`)},pe=e=>{var t,n;y.current=e,b.current=(()=>{let t=.5,n=l&&e>0?e:c&&e<0?-e:0;return Math.min(Math.max(Be(1-n/60*(1-t),2),t),1)})(),(t=O.current)==null||t.style.setProperty(F(`pull_offset`),`${Math.round(e)}px`),(n=O.current)==null||n.style.setProperty(F(`pull_opacity`),`${b.current}`)},{prepareAnimation:ve}=_t(j,(e,t,n)=>{if(j.current&&A)return{keyframes:[{transform:`translate(0, ${e.rect.y-t.y+n.y}px)`,opacity:e.opacity},{transform:`translate(0, 0)`,opacity:1}],duration:e.duration,easing:r.easing.fade}}),ye=(e,t)=>{if(c||l){pe(e);let n=0;j.current&&(n=r.fade*(t?2:1),ve({rect:j.current.getBoundingClientRect(),opacity:b.current,duration:n})),D(()=>{pe(0),_(G.NONE)},n),_(G.ANIMATION),t||ue()}},{prepareAnimation:be,isAnimationPlaying:xe}=_t(j,(e,t,r)=>{if(j.current&&A&&m.animation?.duration){let i=We(n.spacing),a=(i.percent?i.percent*A.width/100:i.pixel)||0;return{keyframes:[{transform:`translate(${re(m.globalIndex-e.index)*(A.width+a)+e.rect.x-t.x+r.x}px, 0)`},{transform:`translate(0, 0)`}],duration:m.animation.duration,easing:m.animation.easing}}}),Se=B(e=>{let t=e.offset||0,n=t?r.swipe:r.navigation??r.swipe,i=!t&&!xe()?r.easing.navigation:r.easing.swipe,{direction:a}=e,o=e.count??1,s=G.ANIMATION,c=n*o;if(!a){let r=A?.width,i=e.duration||0,s=r?n/r*Math.abs(t):n;o===0?c=n/2:(i<s?c=c/s*Math.max(i,s/5):r&&(c=n/r*(r-Math.abs(t))),a=re(t)>0?me:he)}let l=0;a===`prev`?de(re(1))?l=-o:(s=G.NONE,c=n):a===`next`&&(de(re(-1))?l=o:(s=G.NONE,c=n)),c=Math.round(c),E(()=>{fe(0),_(G.NONE)},c),j.current&&be({rect:j.current.getBoundingClientRect(),index:m.globalIndex}),_(s),w(ge,{type:`swipe`,increment:l,duration:c,easing:i})});V.useEffect(()=>{m.animation?.increment&&m.animation?.duration&&T(()=>h({type:`swipe`,increment:0}),m.animation.duration)},[m.animation,h,T]);let Ce=[S,de,A?.width||0,r.swipe,()=>_(G.SWIPE),e=>fe(e),(e,t)=>Se({offset:e,duration:t,count:1}),e=>Se({offset:e,count:0})],we=[()=>{l&&_(G.PULL)},e=>pe(e),e=>ye(e),e=>ye(e,!0)];Ot(i,...Ce,c,l,...we,ue),At(g,...Ce);let Te=B(()=>{i.focus&&te().querySelector(`.${P(`portal`)} .${P(kn())}`)&&ie()});V.useEffect(Te,[Te]);let Ee=B(()=>{var e;(e=a.view)==null||e.call(a,{index:m.currentIndex})});V.useEffect(Ee,[m.globalIndex,Ee]),V.useEffect(()=>Re(C(me,e=>Se({direction:me,...e})),C(he,e=>Se({direction:he,...e})),C(ge,e=>h(e))),[C,Se,h]);let De=V.useMemo(()=>({prev:se,next:ce,close:ue,focus:ie,slideRect:A?Ge(A,n.padding):{width:0,height:0},containerRect:A||{width:0,height:0},subscribeSensors:S,containerRef:O,setCarouselRef:M,toolbarWidth:f,setToolbarWidth:p}),[se,ce,ue,ie,S,A,O,M,f,p,n.padding]);return V.useImperativeHandle(i.ref,()=>({prev:se,next:ce,close:ue,focus:ie,getLightboxProps:ae,getLightboxState:oe}),[se,ce,ue,ie,ae,oe]),V.createElement(`div`,{ref:ee,className:N(P(kn()),P(le)),style:{...g===G.SWIPE?{[F(`swipe_offset`)]:`${Math.round(v.current)}px`}:null,...g===G.PULL?{[F(`pull_offset`)]:`${Math.round(y.current)}px`,[F(`pull_opacity`)]:`${b.current}`}:null,...i.touchAction===`none`?null:{[F(`controller_touch_action`)]:i.touchAction},...o.container},tabIndex:-1,...x},A&&V.createElement(An.Provider,{value:De},e,s.controls?.call(s)))}function Mt(e){return Pe(C,e)}function Nt(e){return Pe(fe,e)}function Pt({slide:e,offset:t}){let n=V.useRef(null),{currentIndex:r,slides:i}=U(),{slideRect:a,focus:o}=K(),{render:s,carousel:{imageFit:c,imageProps:l},on:{click:u},styles:{slide:d},labels:f}=H(),{getOwnerDocument:p}=sn(),m=t!==0;V.useEffect(()=>{m&&n.current?.contains(p().activeElement)&&o()},[m,o,p]);let h=()=>{let n=s.slide?.call(s,{slide:e,offset:t,rect:a});return!n&&Ve(e)&&(n=V.createElement(Et,{slide:e,offset:t,render:s,rect:a,imageFit:c,imageProps:l,onClick:m?void 0:()=>u?.({index:r})})),n?V.createElement(V.Fragment,null,s.slideHeader?.call(s,{slide:e}),(s.slideContainer??(({children:e})=>e))({slide:e,children:n}),s.slideFooter?.call(s,{slide:e})):null};return V.createElement(`div`,{ref:n,className:N(P(Nt()),!m&&P(Nt(`current`)),P(le)),...et(m),style:d,role:`group`,"aria-roledescription":Ie(f,`Slide`),"aria-label":Le(f,i,r+t)},h())}function Ft(){let e=H().styles.slide;return V.createElement(`div`,{className:P(fe),style:e})}function It({carousel:e,labels:t}){let{slides:n,currentIndex:r,globalIndex:i}=U(),{setCarouselRef:a}=K(),{autoPlaying:o,focusWithin:s}=an(),c=We(e.spacing),l=We(e.padding),u=$e(e,n,1),d=[];if(Je(n))for(let t=r-u;t<=r+u;t+=1){let a=Ye(n,t),o=i-r+t,s=e.finite&&(t<0||t>n.length-1);d.push(s?{key:o}:{key:[`${o}`,Ze(a)].filter(Boolean).join(`|`),offset:t-r,slide:a})}return V.createElement(`div`,{ref:a,className:N(P(Mt()),d.length>0&&P(Mt(`with_slides`))),style:{[`${F(Mt(`slides_count`))}`]:d.length,[`${F(Mt(`spacing_px`))}`]:c.pixel||0,[`${F(Mt(`spacing_percent`))}`]:c.percent||0,[`${F(Mt(`padding_px`))}`]:l.pixel||0,[`${F(Mt(`padding_percent`))}`]:l.percent||0},role:`region`,"aria-live":o&&!s?`off`:`polite`,"aria-roledescription":Ie(t,`Carousel`),"aria-label":Ie(t,`Photo gallery`)},d.map(({key:e,slide:t,offset:n})=>t?V.createElement(Pt,{key:e,slide:t,offset:n}):V.createElement(Ft,{key:e})))}function Lt(){let{carousel:e}=H(),{slides:t,currentIndex:n}=U();return{prevDisabled:t.length===0||e.finite&&n===0,nextDisabled:t.length===0||e.finite&&n===t.length-1}}function Rt(e){let t=Ct(),{publish:n}=ln(),{animation:r,controller:i}=H(),{prevDisabled:a,nextDisabled:o}=Lt(),s=(r.navigation??r.swipe)/2,c=Tt(()=>n(me),s),l=Tt(()=>n(he),s),u=B(e=>{switch(e.key){case Ee:if(!i.closeOnEscape)return;n(_e);break;case De:(t?o:a)||(t?l:c)();break;case Oe:(t?a:o)||(t?c:l)();break;default:return}e.stopPropagation()});V.useEffect(()=>e(Ce,u),[e,u])}function zt({label:e,icon:t,renderIcon:n,action:r,onClick:i,disabled:a,style:o}){return V.createElement(vn,{label:e,icon:t,renderIcon:n,className:P(`navigation_${r}`),disabled:a,onClick:i,style:o,...St(K().focus,a)})}function Bt({render:{buttonPrev:e,buttonNext:t,iconPrev:n,iconNext:r},styles:i}){let{prev:a,next:o,subscribeSensors:s}=K(),{prevDisabled:c,nextDisabled:l}=Lt();return Rt(s),V.createElement(V.Fragment,null,e?e():V.createElement(zt,{label:`Previous`,action:me,icon:bn,renderIcon:n,style:i.navigationPrev,disabled:c,onClick:a}),t?t():V.createElement(zt,{label:`Next`,action:he,icon:xn,renderIcon:r,style:i.navigationNext,disabled:l,onClick:o}))}function Vt(e){return`style`in e}function Ht(e,t,n){let r=window.getComputedStyle(e),i=n?`padding-left`:`padding-right`,a=n?r.paddingLeft:r.paddingRight,o=e.style.getPropertyValue(i);return e.style.setProperty(i,`${(Ue(a)||0)+t}px`),()=>{o?e.style.setProperty(i,o):e.style.removeProperty(i)}}function Ut({noScroll:{disabled:e},children:t}){let n=Ct(),{getOwnerDocument:r,getOwnerWindow:i}=sn();return V.useEffect(()=>{if(e)return()=>{};let t=[],a=i(),{body:o,documentElement:s}=r(),c=Math.round(a.innerWidth-s.clientWidth);if(c>0){t.push(Ht(o,c,n));let e=o.getElementsByTagName(`*`);for(let r=0;r<e.length;r+=1){let i=e[r];Vt(i)&&a.getComputedStyle(i).getPropertyValue(`position`)===`fixed`&&!i.classList.contains(Fn)&&t.push(Ht(i,c,n))}}return o.classList.add(Pn),()=>{o.classList.remove(Pn),t.forEach(e=>e())}},[n,e,r,i]),V.createElement(V.Fragment,null,t)}function Wt(e){return Pe(D,e)}function Gt(e,t,n){let r=e.getAttribute(t);return e.setAttribute(t,n),()=>{r?e.setAttribute(t,r):e.removeAttribute(t)}}function Kt({portal:{root:e,container:{className:t,style:n,...r}={}},animation:i,styles:a,className:o,on:s,close:c,labels:l,children:u}){let[d,f]=V.useState(!1),[p,m]=V.useState(!1),h=V.useRef([]),g=V.useRef(null),{setTimeout:_}=_n(),{subscribe:v}=ln(),y=ht()?0:i.fade;V.useEffect(()=>(f(!0),()=>{f(!1),m(!1)}),[]);let b=B(()=>{h.current.forEach(e=>e()),h.current=[]}),x=B(()=>{var e;m(!1),b(),(e=s.exiting)==null||e.call(s),_(()=>{var e;(e=s.exited)==null||e.call(s),c()},y)});V.useEffect(()=>v(_e,x),[v,x]);let S=B(e=>{var t;tt(e),m(!0),(t=s.entering)==null||t.call(s);let n=e.parentNode?.children??[];for(let t=0;t<n.length;t+=1){let r=n[t];[`TEMPLATE`,`SCRIPT`,`STYLE`].indexOf(r.tagName)===-1&&r!==e&&(h.current.push(Gt(r,`inert`,``)),h.current.push(Gt(r,`aria-hidden`,`true`)))}h.current.push(()=>{var e,t;(t=(e=g.current)?.focus)==null||t.call(e)}),_(()=>{var e;(e=s.entered)==null||e.call(s)},y)}),C=V.useCallback(e=>{e?S(e):b()},[S,b]);return d?(0,$t.createPortal)(V.createElement(En,{ref:C,className:N(o,t,P(Wt()),P(de),p&&P(Wt(`open`))),"aria-modal":!0,role:`dialog`,"aria-label":Ie(l,`Lightbox`),style:{...i.fade===nn.animation.fade?null:{[F(`fade_animation_duration`)]:`${y}ms`},...i.easing.fade===nn.animation.easing.fade?null:{[F(`fade_animation_timing_function`)]:i.easing.fade},...a.root,...n},onFocus:e=>{g.current||=e.relatedTarget},...r},u),(typeof e==`function`?e():e)||document.body):null}function qt({children:e}){return V.createElement(V.Fragment,null,e)}function Jt(e){return Pe(k,e)}function Yt({toolbar:{buttons:e},render:{buttonClose:t,iconClose:n},styles:r}){let{close:i,setToolbarWidth:a}=K(),{setContainerRef:o,containerRect:s}=vt();W(()=>{a(s?.width)},[a,s?.width]);let c=()=>t?t():V.createElement(vn,{key:_e,label:`Close`,icon:yn,renderIcon:n,onClick:i});return V.createElement(`div`,{ref:o,style:r.toolbar,className:P(Jt())},e?.map(e=>e===`close`?c():e))}function Xt(e,t){return V.createElement(e.module.component,{key:e.module.name,...t},e.children?.map(e=>Xt(e,t)))}function Zt(e,t={}){let{easing:n,...r}=e,{easing:i,...a}=t;return{easing:{...n,...i},...r,...a}}function Qt({carousel:e,animation:t,render:n,toolbar:r,controller:i,noScroll:a,on:o,plugins:s,slides:c,index:l,...u}){let{animation:d,carousel:f,render:p,toolbar:m,controller:h,noScroll:g,on:_,slides:v,index:y,plugins:b,...x}=nn,{config:S,augmentation:C}=it([R(Ln,[R(In,[R(jn,[R(Mn),R(zn),R(Nn)])])])],s||b),w=C({animation:Zt(d,t),carousel:{...f,...e},render:{...p,...n},toolbar:{...m,...r},controller:{...h,...i},noScroll:{...g,...a},on:{..._,...o},...x,...u});return w.open?V.createElement(ct,{...w},V.createElement(ut,{slides:c||v,index:Ue(l||y)},V.createElement(ft,null,V.createElement(st,null,V.createElement(at,null,Xt(R(Rn,S),w)))))):null}var V,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,H,dn,U,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn,Sn,Cn,W,wn,Tn,En,G,Dn,On,kn,An,K,jn,Mn,Nn,Pn,Fn,In,Ln,Rn,zn,Bn=t((()=>{V=e(n(),1),Ne(),$t=e(r(),1),en=`yarl__`,tn=Number(`19.2.7`.split(`.`)[0])>=19,nn={open:!1,close:()=>{},index:0,slides:[],render:{},plugins:[],toolbar:{buttons:[_e]},labels:{},animation:{fade:250,swipe:500,easing:{fade:`ease`,swipe:`ease-out`,navigation:`ease-in-out`}},carousel:{finite:!1,preload:2,padding:`16px`,spacing:`30%`,imageFit:je,imageProps:{}},controller:{ref:null,focus:!0,aria:!1,touchAction:`none`,closeOnPullUp:!1,closeOnPullDown:!1,closeOnBackdropClick:!1,closeOnEscape:!0,preventDefaultWheelX:!0,preventDefaultWheelY:!1,disableSwipeNavigation:!1},portal:{},noScroll:{disabled:!1},on:{},styles:{},className:``},rn=V.createContext(null),an=I(`useA11yContext`,`A11yContext`,rn),on=V.createContext(null),sn=I(`useDocument`,`DocumentContext`,on),cn=V.createContext(null),ln=I(`useEvents`,`EventsContext`,cn),un=V.createContext(null),H=I(`useLightboxProps`,`LightboxPropsContext`,un),dn=V.createContext(null),U=I(`useLightboxState`,`LightboxStateContext`,dn),fn=V.createContext(null),pn=I(`useLightboxDispatch`,`LightboxDispatchContext`,fn),mn=V.createContext(null),hn=I(`useRTLContext`,`RTLContext`,mn),gn=V.createContext(null),_n=I(`useTimeouts`,`TimeoutsContext`,gn),vn=V.forwardRef(function({label:e,className:t,icon:n,renderIcon:r,onClick:i,style:a,...o},s){let{styles:c,labels:l}=H(),u=Ie(l,e);return V.createElement(`button`,{ref:s,type:`button`,title:u,"aria-label":u,className:N(P(ke),t),onClick:i,style:{...a,...c.button},...o},r?r():V.createElement(n,{className:P(Ae),style:c.icon}))}),yn=z(`Close`,V.createElement(`path`,{d:`M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z`})),bn=z(`Previous`,V.createElement(`path`,{d:`M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z`})),xn=z(`Next`,V.createElement(`path`,{d:`M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z`})),Sn=z(`Loading`,V.createElement(V.Fragment,null,Array.from({length:8}).map((e,t,n)=>V.createElement(`line`,{key:t,x1:`12`,y1:`6.5`,x2:`12`,y2:`1.8`,strokeLinecap:`round`,strokeWidth:`2.6`,stroke:`currentColor`,strokeOpacity:1/n.length*(t+1),transform:`rotate(${360/n.length*t}, 12, 12)`})))),Cn=z(`Error`,V.createElement(`path`,{d:`M21.9,21.9l-8.49-8.49l0,0L3.59,3.59l0,0L2.1,2.1L0.69,3.51L3,5.83V19c0,1.1,0.9,2,2,2h13.17l2.31,2.31L21.9,21.9z M5,18 l3.5-4.5l2.5,3.01L12.17,15l3,3H5z M21,18.17L5.83,3H19c1.1,0,2,0.9,2,2V18.17z`})),W=ze()?V.useLayoutEffect:V.useEffect,wn=Fe(`slide`),Tn=Fe(`slide_image`),En=V.forwardRef(function({className:e,children:t,onFocus:n,onBlur:r,...i},a){let o=V.useRef(null),[s,c]=V.useState(!1),{trackFocusWithin:l}=an(),u=B(()=>{if(o.current){let e=window.getComputedStyle(o.current).direction===`rtl`;e!==s&&c(e)}});return V.useEffect(u),V.createElement(ot,{nodeRef:o},V.createElement(dt,{isRTL:s},V.createElement(`div`,{ref:xt(a,o),className:N(P(`root`),e),...l(n,r),...i},t)))}),(function(e){e[e.NONE=0]=`NONE`,e[e.SWIPE=1]=`SWIPE`,e[e.PULL=2]=`PULL`,e[e.ANIMATION=3]=`ANIMATION`})(G||={}),(function(e){e[e.NONE=0]=`NONE`,e[e.SWIPE=1]=`SWIPE`,e[e.PULL=2]=`PULL`})(Dn||={}),On=30,kn=Fe(`container`),An=V.createContext(null),K=I(`useController`,`ControllerContext`,An),jn=L(w,jt),Mn=L(C,It),Nn=L(T,Bt),Pn=P(ue),Fn=P(de),In=L(E,Ut),Ln=L(D,Kt),Rn=L(O,qt),zn=L(k,Yt)}));function Vn(){let{captions:e}=H();return Yn(e)}function Hn({captions:e,children:t}){let{ref:n,hidden:r}=Yn(e),[i,a]=q.useState(!r),o=q.useMemo(()=>({visible:i,show:()=>a(!0),hide:()=>a(!1)}),[i]);return q.useImperativeHandle(n,()=>o,[o]),q.createElement(Xn.Provider,{value:o},t)}function Un({title:e}){let{toolbarWidth:t}=K(),{styles:n}=H(),{visible:r}=Zn();return r?q.createElement(`div`,{role:`heading`,"aria-level":2,style:n.captionsTitleContainer,className:N(qn(`captions_container`),qn(`title_container`))},q.createElement(`div`,{className:qn(`title`),style:{...t?{[F(`toolbar_width`)]:`${t}px`}:null,...n.captionsTitle}},e)):null}function Wn({description:e}){let{descriptionTextAlign:t,descriptionMaxLines:n}=Vn(),{styles:r,labels:i}=H(),{visible:a}=Zn();return a?q.createElement(`div`,{style:r.captionsDescriptionContainer,className:N(qn(`captions_container`),qn(`description_container`))},q.createElement(`div`,{className:qn(`description`),style:{...t!==Jn.descriptionTextAlign||n!==Jn.descriptionMaxLines?{[F(`slide_description_text_align`)]:t,[F(`slide_description_max_lines`)]:n}:null,...r.captionsDescription},role:`paragraph`,"aria-roledescription":Ie(i,`Caption`)},typeof e==`string`?e.split(`
2
+ `).flatMap((e,t)=>[...t>0?[q.createElement(`br`,{key:t})]:[],e]):e)):null}function Gn(){let{visible:e,show:t,hide:n}=Zn(),{render:r}=H();return r.buttonCaptions?q.createElement(q.Fragment,null,r.buttonCaptions({visible:e,show:t,hide:n})):q.createElement(vn,{label:e?`Hide captions`:`Show captions`,icon:e?$n:er,renderIcon:e?r.iconCaptionsVisible:r.iconCaptionsHidden,onClick:e?n:t})}function Kn({augment:e,addModule:t}){e(({captions:e,render:{slideFooter:t,...n},toolbar:r,...i})=>{let a=Yn(e);return{render:{slideFooter:({slide:e})=>q.createElement(q.Fragment,null,t?.({slide:e}),e.title&&q.createElement(Un,{title:e.title}),e.description&&q.createElement(Wn,{description:e.description})),...n},toolbar:Qe(r,A,a.showToggle?q.createElement(Gn,null):null),captions:a,...i}}),t(L(A,Hn))}var q,qn,Jn,Yn,Xn,Zn,Qn,$n,er,tr=t((()=>{q=e(n(),1),Bn(),Ne(),qn=e=>P(`slide_${e}`),Jn={descriptionTextAlign:`start`,descriptionMaxLines:3,showToggle:!1,hidden:!1},Yn=e=>({...Jn,...e}),Xn=q.createContext(null),Zn=I(`useCaptions`,`CaptionsContext`,Xn),Qn=()=>q.createElement(q.Fragment,null,q.createElement(`path`,{strokeWidth:2,stroke:`currentColor`,strokeLinejoin:`round`,fill:`none`,d:`M3 5l18 0l0 14l-18 0l0-14z`}),q.createElement(`path`,{d:`M7 15h3c.55 0 1-.45 1-1v-1H9.5v.5h-2v-3h2v.5H11v-1c0-.55-.45-1-1-1H7c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1zm7 0h3c.55 0 1-.45 1-1v-1h-1.5v.5h-2v-3h2v.5H18v-1c0-.55-.45-1-1-1h-3c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1z`})),$n=z(`CaptionsVisible`,Qn()),er=mt(`CaptionsVisible`,Qn())}));function nr({counter:e}){let{slides:t,currentIndex:n}=U(),{separator:r,container:{className:i,...a},className:o,...s}=or(e);return t.length===0?null:ir.createElement(`div`,{className:N(P(`counter`),i||o),...s,...a,"aria-hidden":!0},n+1,` `,r,` `,t.length)}function rr({augment:e,addChild:t}){e(({counter:e,...t})=>({counter:or(e),...t})),t(w,L(ee,nr))}var ir,ar,or,sr=t((()=>{ir=e(n(),1),Bn(),Ne(),ar={separator:`/`,container:{}},or=e=>({...ar,...e})}));function cr(e){if(!e)return;let t=/filename\*\s*=\s*UTF-8''([^;]+)/i.exec(e);if(t)try{let e=decodeURIComponent(t[1].trim());if(e)return e}catch{}return/filename\s*=\s*("[^"]*"|[^;]+)/i.exec(e)?.[1].trim().replace(/^"(.*)"$/,`$1`)||void 0}function lr(e){return/^content-disposition:(.*)$/im.exec(e.getAllResponseHeaders())?.[1]??null}function ur(e,t){let n=new XMLHttpRequest;n.open(`GET`,e),n.responseType=`blob`,n.onload=()=>{pr(n.response,t||cr(lr(n)))},n.onerror=()=>{console.error(`Failed to download file`)},n.send()}function dr(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function fr(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=document.createEvent(`MouseEvents`);t.initMouseEvent(`click`,!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}function pr(e,t){let n=document.createElement(`a`);n.rel=`noopener`,n.download=t||``,n.download||(n.target=`_blank`),typeof e==`string`?(n.href=e,n.origin===window.location.origin?fr(n):dr(n.href)?ur(e,t):(n.target=`_blank`,fr(n))):(n.href=URL.createObjectURL(e),setTimeout(()=>URL.revokeObjectURL(n.href),3e4),setTimeout(()=>fr(n),0))}function mr(){let{render:e,on:t,download:n}=H(),{download:r}=vr(n),{currentSlide:i,currentIndex:a}=U();if(e.buttonDownload)return gr.createElement(gr.Fragment,null,e.buttonDownload());let o=i&&(i.downloadUrl||typeof i.download==`string`&&i.download||typeof i.download==`object`&&i.download.url||Ve(i)&&i.src)||void 0,s=r?i?.download!==!1:!!o,c=()=>{if(i&&o){let e=i.downloadFilename||typeof i.download==`object`&&i.download.filename||void 0;pr(o,e)}};return gr.createElement(vn,{label:`Download`,icon:yr,renderIcon:e.iconDownload,disabled:!s,onClick:()=>{var e;i&&((r||c)({slide:i,saveAs:pr}),(e=t.download)==null||e.call(t,{index:a}))}})}function hr({augment:e}){e(({toolbar:e,download:t,...n})=>({toolbar:Qe(e,j,gr.createElement(mr,null)),download:vr(t),...n}))}var gr,_r,vr,yr,br=t((()=>{gr=e(n(),1),Bn(),Ne(),_r={download:void 0},vr=e=>({..._r,...e}),yr=z(`DownloadIcon`,gr.createElement(`path`,{d:`M18 15v3H6v-3H4v3c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-3h-2zm-1-4-1.41-1.41L13 12.17V4h-2v8.17L8.41 9.59 7 11l5 5 5-5z`}))}));function xr({fullscreen:e,on:t,children:n}){let{auto:r,ref:i}=Tr(e),a=J.useRef(null),[o,s]=J.useState(),[c,l]=J.useState(!1),u=J.useRef(!1),{getOwnerDocument:d}=sn();W(()=>{let e=d();s(!(e.fullscreenEnabled??e.webkitFullscreenEnabled??e.mozFullScreenEnabled??e.msFullscreenEnabled??!1))},[d]);let f=J.useCallback(()=>{let e=d(),t=e.fullscreenElement||e.webkitFullscreenElement||e.mozFullScreenElement||e.msFullscreenElement;return t?.shadowRoot?.fullscreenElement||t},[d]),p=J.useCallback(()=>{let e=a.current;try{e.requestFullscreen?e.requestFullscreen().catch(()=>{}):e.webkitRequestFullscreen?e.webkitRequestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.msRequestFullscreen&&e.msRequestFullscreen()}catch{}},[]),m=J.useCallback(()=>{if(!f())return;let e=d();try{e.exitFullscreen?e.exitFullscreen().catch(()=>{}):e.webkitExitFullscreen?e.webkitExitFullscreen():e.mozCancelFullScreen?e.mozCancelFullScreen():e.msExitFullscreen&&e.msExitFullscreen()}catch{}},[f,d]);J.useEffect(()=>{let e=d(),t=()=>{l(f()===a.current)};return Re(...[`fullscreenchange`,`webkitfullscreenchange`,`mozfullscreenchange`,`MSFullscreenChange`].map(n=>(e.addEventListener(n,t),()=>e.removeEventListener(n,t))))},[f,d]);let h=B(()=>t.enterFullscreen?.call(t)),g=B(()=>t.exitFullscreen?.call(t));J.useEffect(()=>{c&&(u.current=!0),u.current&&(c?h:g)()},[c,h,g]);let _=B(()=>{var e;return(e=r?p:null)==null||e(),m});J.useEffect(_,[_]);let v=J.useMemo(()=>({fullscreen:c,disabled:o,enter:p,exit:m}),[c,o,p,m]);return J.useImperativeHandle(i,()=>v,[v]),J.createElement(`div`,{ref:a,className:N(P(M),P(ce))},J.createElement(Er.Provider,{value:v},n))}function Sr(){let{fullscreen:e,disabled:t,enter:n,exit:r}=Dr(),{render:i}=H();return t?null:i.buttonFullscreen?J.createElement(J.Fragment,null,i.buttonFullscreen?.call(i,{fullscreen:e,disabled:t,enter:n,exit:r})):J.createElement(vn,{disabled:t,label:e?`Exit Fullscreen`:`Enter Fullscreen`,icon:e?kr:Or,renderIcon:e?i.iconExitFullscreen:i.iconEnterFullscreen,onClick:e?r:n})}function Cr({augment:e,contains:t,addParent:n}){e(({fullscreen:e,toolbar:t,...n})=>({toolbar:Qe(t,M,J.createElement(Sr,null)),fullscreen:Tr(e),...n})),n(t(`thumbnails`)?te:w,L(M,xr))}var J,wr,Tr,Er,Dr,Or,kr,Ar=t((()=>{J=e(n(),1),Bn(),Ne(),wr={auto:!1,ref:null},Tr=e=>({...wr,...e}),Er=J.createContext(null),Dr=I(`useFullscreen`,`FullscreenContext`,Er),Or=z(`EnterFullscreen`,J.createElement(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`})),kr=z(`ExitFullscreen`,J.createElement(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`}))}));function jr(){let{thumbnails:e}=H();return Hr(e)}function Mr({slide:e,render:t,rect:n,imageFit:r}){let i=t.thumbnail?.call(t,{slide:e,render:t,rect:n,imageFit:r});if(i)return i;let a={render:t,rect:n,imageFit:r};if(e.thumbnail)return Y.createElement(Et,{slide:{src:e.thumbnail},...a});if(Ve(e))return Y.createElement(Et,{slide:e,...a});let o=P(X(Ae));return e.type===`video`?Y.createElement(Y.Fragment,null,e.poster&&Y.createElement(Et,{slide:{src:e.poster},...a}),Y.createElement(Wr,{className:o})):Y.createElement(Gr,{className:o})}function Nr({slide:e,index:t,onClick:n,fadeIn:r,fadeOut:i,placeholder:a,onLoseFocus:o}){let s=Y.useRef(null),{render:c,styles:l,labels:u}=H(),{slides:d,globalIndex:f}=U(),{getOwnerDocument:p}=sn(),{width:m,height:h,imageFit:g}=jr(),_={width:m,height:h},v=t===f,y=B(o);return Y.useEffect(()=>{i&&p().activeElement===s.current&&y()},[i,y,p]),Y.createElement(`button`,{ref:s,type:`button`,className:N(P(le),P(X()),v&&P(X(Kr())),r&&P(X(qr())),i&&P(X(Jr())),a&&P(X(Yr()))),style:{...r?{[F(X(qr(Zr)))]:`${r.duration}ms`,[F(X(qr(Xr)))]:`${r.delay}ms`}:null,...i?{[F(X(Jr(Zr)))]:`${i.duration}ms`,[F(X(Jr(Xr)))]:`${i.delay}ms`}:null,...l.thumbnail},onClick:n,"aria-current":v?!0:void 0,"aria-label":Le(u,d,t)},e&&Mr({slide:e,render:c,rect:_,imageFit:g}))}function Pr(e){return[`top`,`bottom`].includes(e)}function Fr(e,t){return t+2*(e.border+e.padding)+e.gap}function Ir(e){let{thumbnail:t,poster:n}=e||{thumbnail:`placeholder`};return typeof t==`string`&&t||typeof n==`string`&&n||e&&Ze(e)||void 0}function Lr({visible:e,containerRef:t}){let n=Y.useRef(null),r=Ct(),{publish:i,subscribe:a}=ln(),{carousel:o,styles:s,labels:c}=H(),{slides:l,globalIndex:u,animation:d}=U(),{registerSensors:f,subscribeSensors:p}=wt();Rt(p);let m=jr(),{position:h,width:g,height:_,border:v,borderStyle:y,borderColor:b,borderRadius:x,padding:S,gap:C,vignette:w}=m,T=d?.duration!==void 0&&d?.increment||0,E=d?.duration||0,{prepareAnimation:D}=_t(n,e=>({keyframes:Pr(h)?[{transform:`translateX(${(r?-1:1)*Fr(m,g)*T+e}px)`},{transform:`translateX(0)`}]:[{transform:`translateY(${Fr(m,_)*T+e}px)`},{transform:`translateY(0)`}],duration:E,easing:d?.easing})),O=B(()=>{let e=0;if(t.current&&n.current){let r=t.current.getBoundingClientRect(),i=n.current.getBoundingClientRect();e=Pr(h)?i.left-r.left-(r.width-i.width)/2:i.top-r.top-(r.height-i.height)/2}D(e)});Y.useEffect(()=>Re(a(ge,O)),[a,O]);let k=$e(o,l),A=[];if(Je(l))for(let e=u-k-Math.abs(T);e<=u+k+Math.abs(T);e+=1){let t=o.finite&&(e<0||e>l.length-1)||T<0&&e<u-k||T>0&&e>u+k?null:Ye(l,e),n=[`${e}`,Ir(t)].filter(Boolean).join(`|`);A.push({key:n,index:e,slide:t})}let ee=e=>()=>{e>u?i(he,{count:e-u}):e<u&&i(me,{count:u-e})};return Y.createElement(`div`,{className:N(P(Ur(`container`)),P(le)),style:{...e?null:{display:`none`},...g===Vr.width?null:{[F(X(`width`))]:`${g}px`},..._===Vr.height?null:{[F(X(`height`))]:`${_}px`},...v===Vr.border?null:{[F(X(`border`))]:`${v}px`},...y?{[F(X(`border_style`))]:y}:null,...b?{[F(X(`border_color`))]:b}:null,...x===Vr.borderRadius?null:{[F(X(`border_radius`))]:`${x}px`},...S===Vr.padding?null:{[F(X(`padding`))]:`${S}px`},...C===Vr.gap?null:{[F(X(`gap`))]:`${C}px`},...s.thumbnailsContainer}},Y.createElement(`nav`,{ref:n,style:s.thumbnailsTrack,className:N(P(Ur(`track`)),P(le)),"aria-label":Ie(c,`Thumbnails`),tabIndex:-1,...f},A.map(({key:e,index:t,slide:r})=>{let i=E/Math.abs(T||1),a=T>0&&t>u+k-T&&t<=u+k||T<0&&t<u-k-T&&t>=u-k?{duration:i,delay:((T>0?t-(u+k-T):u-k-T-t)-1)*i}:void 0,o=T>0&&t<u-k||T<0&&t>u+k?{duration:i,delay:(T>0?T-(u-k-t):-T-(t-(u+k)))*i}:void 0;return Y.createElement(Nr,{key:e,index:t,slide:r,fadeIn:a,fadeOut:o,placeholder:!r,onClick:ee(t),onLoseFocus:()=>n.current?.focus()})})),w&&Y.createElement(`div`,{className:P(Ur(`vignette`))}))}function Rr({children:e,...t}){let{ref:n,position:r,hidden:i}=Hr(t.thumbnails),[a,o]=Y.useState(!i),s=Y.useRef(null),c=Y.useMemo(()=>({visible:a,show:()=>o(!0),hide:()=>o(!1)}),[a]);return Y.useImperativeHandle(n,()=>c,[c]),Y.createElement(ct,{...t},Y.createElement(Qr.Provider,{value:c},Y.createElement(`div`,{ref:s,className:N(P(Ur()),P(Ur(`${r}`)))},[`start`,`top`].includes(r)&&Y.createElement(Lr,{containerRef:s,visible:a}),Y.createElement(`div`,{className:P(Ur(`wrapper`))},e),[`end`,`bottom`].includes(r)&&Y.createElement(Lr,{containerRef:s,visible:a}))))}function zr(){let{visible:e,show:t,hide:n}=$r(),{render:r}=H();return r.buttonThumbnails?Y.createElement(Y.Fragment,null,r.buttonThumbnails({visible:e,show:t,hide:n})):Y.createElement(vn,{label:e?`Hide thumbnails`:`Show thumbnails`,icon:e?ti:ni,renderIcon:e?r.iconThumbnailsVisible:r.iconThumbnailsHidden,onClick:e?n:t})}function Br({augment:e,contains:t,append:n,addParent:r}){e(({thumbnails:e,toolbar:t,...n})=>{let r=Hr(e);return{toolbar:Qe(t,te,r.showToggle?Y.createElement(zr,null):null),thumbnails:r,...n}});let i=L(te,Rr);t(`fullscreen`)?n(M,i):r(w,i)}var Y,Vr,Hr,Ur,X,Wr,Gr,Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti,ni,ri=t((()=>{Y=e(n(),1),Bn(),Ne(),Vr={ref:null,position:`bottom`,width:120,height:80,border:1,borderRadius:4,padding:4,gap:16,imageFit:`contain`,vignette:!0,hidden:!1,showToggle:!1},Hr=e=>({...Vr,...e}),Ur=e=>Pe(te,e),X=e=>Ur(Pe(`thumbnail`,e)),Wr=z(`VideoThumbnail`,Y.createElement(`path`,{d:`M10 16.5l6-4.5-6-4.5v9zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z`})),Gr=z(`UnknownThumbnail`,Y.createElement(`path`,{d:`M23 18V6c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2zM8.5 12.5l2.5 3.01L14.5 11l4.5 6H5l3.5-4.5z`})),Kr=Fe(`active`),qr=Fe(`fadein`),Jr=Fe(`fadeout`),Yr=Fe(`placeholder`),Xr=`delay`,Zr=`duration`,Qr=Y.createContext(null),$r=I(`useThumbnails`,`ThumbnailsContext`,Qr),ei=()=>Y.createElement(Y.Fragment,null,Y.createElement(`path`,{strokeWidth:2,stroke:`currentColor`,strokeLinejoin:`round`,fill:`none`,d:`M3 5l18 0l0 14l-18 0l0-14z`}),Y.createElement(`path`,{d:`M5 14h4v3h-4zM10 14h4v3h-4zM15 14h4v3h-4z`})),ti=z(`ThumbnailsVisible`,ei()),ni=mt(`ThumbnailsHidden`,ei())}));function ii(e){return Math.min(Math.max(e,2**-52),1)}function ai(e){let{minZoom:t,...n}={...Si,...e};return{minZoom:ii(t),...n}}function oi(e,t,n,r){let i=Z.useRef(void 0),a=Z.useRef(void 0),{zoom:o}=H().animation,s=ht(),c=B(()=>{var c,l;if((c=i.current)==null||c.cancel(),i.current=void 0,a.current&&r?.current){try{i.current=(l=r.current).animate?.call(l,[{transform:a.current},{transform:`scale(${e}) translateX(${t}px) translateY(${n}px)`}],{duration:s?0:o??500,easing:i.current?`ease-out`:`ease-in-out`})}catch(e){console.error(e)}a.current=void 0,i.current&&(i.current.onfinish=()=>{i.current=void 0})}});return W(c,[e,t,n,c]),Z.useCallback(()=>{a.current=r?.current?window.getComputedStyle(r.current).transform:void 0},[r])}function si(e,t){let{on:n}=H(),r=B(()=>{var r;t||(r=n.zoom)==null||r.call(n,{zoom:e})});Z.useEffect(r,[e,r])}function ci(){let{zoom:e}=H();return ai(e)}function li(e,t){let n=typeof e==`function`?e(t)??Si.maxZoom:e;return Math.max(n,1)}function ui(e,t){let n={width:0,height:0},r={width:0,height:0},{currentSlide:i}=U(),{imageFit:a}=H().carousel,{maxZoomPixelRatio:o,maxZoom:s}=ci();if(e&&i){let s={...i,...t};if(Ve(s)){let t=He(s,a),i=Math.max(...(s.srcSet?.map(e=>e.width)||[]).concat(s.width?[s.width]:[])),c=Math.max(...(s.srcSet?.map(e=>e.height)||[]).concat(s.height?[s.height]:[]));i>0&&c>0&&e.width>0&&e.height>0&&(r=t?{width:Math.round(Math.min(i,e.width/e.height*c)),height:Math.round(Math.min(c,e.height/e.width*i))}:{width:i,height:c},r={width:r.width*o,height:r.height*o},n=t?{width:Math.min(e.width,r.width,i),height:Math.min(e.height,r.height,c)}:{width:Math.round(Math.min(e.width,e.height/c*i,i)),height:Math.round(Math.min(e.height,e.width/i*c,c))})}else e.width>0&&e.height>0&&(n=t&&t.width>0&&t.height>0?{width:Math.min(e.width,t.width),height:Math.min(e.height,t.height)}:{width:e.width,height:e.height})}let c=i&&n.width?Ve(i)?Math.max(Be(r.width/n.width,5),1):li(s,i):1;return{imageRect:n,maxZoom:c}}function di(e,t){return Math.hypot(e.clientX-t.clientX,e.clientY-t.clientY)}function fi(e,t,n=100,r=2){return e*Math.min(1+Math.abs(t/n),r)**Math.sign(t)}function pi(e,t,n,r,i,a,o,s,c){let l=Z.useRef([]),u=Z.useRef(0),d=Z.useRef(void 0),{globalIndex:f}=U(),{getOwnerWindow:p}=sn(),{containerRef:m,subscribeSensors:h}=K(),{keyboardMoveDistance:g,zoomInMultiplier:_,wheelZoomDistanceFactor:v,scrollToZoom:y,doubleTapDelay:b,doubleClickDelay:x,doubleClickMaxStops:S,pinchZoomDistanceFactor:C,pinchZoomV4:w}=ci(),T=Z.useCallback(e=>{if(m.current){let{pageX:t,pageY:n}=e,{scrollX:r,scrollY:i}=p(),{left:a,top:o,width:s,height:c}=m.current.getBoundingClientRect();return[t-a-r-s/2,n-o-i-c/2]}return[]},[m,p]),E=B(t=>{let{key:n,metaKey:r,ctrlKey:c}=t,l=r||c,u=()=>{t.preventDefault(),t.stopPropagation()};if(e>1){let e=(e,t)=>{u(),s(e,t)};n===`ArrowDown`?e(0,g):n===`ArrowUp`?e(0,-g):n===`ArrowLeft`?e(-g,0):n===`ArrowRight`&&e(g,0)}n===`+`||l&&n===`=`?(u(),i()):n===`-`||l&&n===`_`?(u(),a()):l&&n===`0`&&(u(),o(1))}),D=B(t=>{if((t.ctrlKey||y)&&Math.abs(t.deltaY)>Math.abs(t.deltaX)){t.stopPropagation(),o(fi(e,-t.deltaY,v),!0,...T(t));return}e>1&&(t.stopPropagation(),y||s(t.deltaX,t.deltaY))}),O=Z.useCallback(e=>{let t=l.current;t.splice(0,t.length,...t.filter(t=>t.pointerId!==e.pointerId))},[]),k=Z.useCallback(e=>{O(e),e.persist(),l.current.push(e)},[O]),A=B(r=>{let i=l.current;if(r.pointerType===`mouse`&&r.buttons>1||!(c?.current)?.contains(r.target))return;e>1&&r.stopPropagation();let{timeStamp:a}=r;if(i.length===0&&a-u.current<(r.pointerType===`touch`?b:x)?(u.current=0,o(e>=1?e===n?1:e*Math.max(n**(1/S),_):e===t?1:e/Math.max(t**(-1/S),_),!1,...T(r))):u.current=a,k(r),i.length===2){let t=di(i[0],i[1]);d.current={previousDistance:t,initialDistance:Math.max(t,1),initialZoom:e}}}),ee=B(t=>{let n=l.current,r=n.find(e=>e.pointerId===t.pointerId);if(n.length===2&&d.current){t.stopPropagation(),k(t);let r=di(n[0],n[1]);o(w?d.current.initialZoom/d.current.initialDistance*r:fi(e,r-d.current.previousDistance,C),!0,...n.map(e=>T(e)).reduce((e,t)=>t.map((t,n)=>e[n]+t/2))),d.current.previousDistance=r;return}e>1&&(t.stopPropagation(),r&&(n.length===1&&s((r.clientX-t.clientX)/e,(r.clientY-t.clientY)/e),k(t)))}),j=Z.useCallback(e=>{let t=l.current;t.length===2&&t.find(t=>t.pointerId===e.pointerId)&&(d.current=void 0),O(e)},[O]),M=Z.useCallback(()=>{let e=l.current;e.splice(0,e.length),u.current=0,d.current=void 0},[]);Dt(h,A,ee,j,r),Z.useEffect(M,[f,M]),Z.useEffect(()=>r?()=>{}:Re(M,h(Ce,E),h(Te,D)),[r,h,M,E,D])}function mi(e,t,n){let[r,i]=Z.useState(1),[a,o]=Z.useState(0),[s,c]=Z.useState(0),l=oi(r,a,s,n),{currentSlide:u,globalIndex:d}=U(),{containerRect:f,slideRect:p}=K(),{minZoom:m,zoomInMultiplier:h}=ci(),g=u&&Ve(u)?u.src:void 0,_=!n?.current;W(()=>{i(1),o(0),c(0)},[d,g]);let v=Z.useCallback((t,n,i)=>{let l=i||r,u=a-(t||0),d=s-(n||0),f=(e.width*l-p.width)/2/l,m=(e.height*l-p.height)/2/l;o(Math.min(Math.abs(u),Math.max(f,0))*Math.sign(u)),c(Math.min(Math.abs(d),Math.max(m,0))*Math.sign(d))},[r,a,s,p,e.width,e.height]),y=Z.useCallback((e,n,a,o)=>{let s=Be(e+.01<t?e-.01>m?e:m:t,5);n||l(),v(a?a*(1/r-1/s):0,o?o*(1/r-1/s):0,s),i(s)},[r,m,t,v,l]),b=B(()=>{r>1&&(r>t&&y(t,!0),v())});return W(b,[f.width,f.height,b]),{zoom:r,offsetX:a,offsetY:s,disabled:_,changeOffsets:v,changeZoom:y,zoomIn:Z.useCallback(()=>{let e=r*h;y(r<1&&e>1?1:e)},[r,h,y]),zoomOut:Z.useCallback(()=>{let e=r/h;y(r>1&&e<1?1:e)},[r,h,y])}}function hi({children:e}){let[t,n]=Z.useState(),{slideRect:r}=K(),{ref:i,minZoom:a}=ci(),{imageRect:o,maxZoom:s}=ui(r,t?.imageDimensions),{zoom:c,offsetX:l,offsetY:u,disabled:d,changeZoom:f,changeOffsets:p,zoomIn:m,zoomOut:h}=mi(o,s,t?.zoomWrapperRef);si(c,d),pi(c,a,s,d,m,h,f,p,t?.zoomWrapperRef);let g=Z.useMemo(()=>({zoom:c,minZoom:a,maxZoom:s,offsetX:l,offsetY:u,disabled:d,zoomIn:m,zoomOut:h,changeZoom:f}),[c,a,s,l,u,d,m,h,f]);Z.useImperativeHandle(i,()=>g,[g]);let _=Z.useMemo(()=>({...g,setZoomWrapper:n}),[g,n]);return Z.createElement(Ci.Provider,{value:_},e)}function gi(){let e=Z.useRef(null),t=Z.useRef(null),{focus:n}=K(),r=Z.useCallback(e=>{var t;e.current?.disabled?n():(t=e.current)==null||t.focus()},[n]),i=Z.useCallback(()=>r(e),[r]),a=Z.useCallback(()=>r(t),[r]);return Z.createElement(Z.Fragment,null,Z.createElement(Di,{zoomIn:!0,ref:e,onLoseFocus:a}),Z.createElement(Di,{ref:t,onLoseFocus:i}))}function _i(){let{render:e}=H(),t=wi();return e.buttonZoom?Z.createElement(Z.Fragment,null,e.buttonZoom(t)):Z.createElement(gi,null)}function vi(e){return(e.srcSet?.length||0)>0}function yi({current:e,preload:t},{type:n,source:r}){switch(n){case`fetch`:return e?{current:e,preload:r}:{current:r};case`done`:return r===t?{current:r}:{current:e,preload:t};default:throw Error(Me)}}function bi(e){let[{current:t,preload:n},r]=Z.useReducer(yi,{}),{slide:i,rect:a,imageFit:o,render:s,interactive:c}=e,l=i.srcSet.sort((e,t)=>e.width-t.width),u=i.width??l[l.length-1].width,d=i.height??l[l.length-1].height,f=He(i,o),p=Math.max(...l.map(e=>e.width)),m=Math.min((f?Math.max:Math.min)(a.width,u*(a.height/d)),p),h=Ke(),g=B(()=>{let e=l.find(e=>e.width>=m*h)??l[l.length-1];(!t||l.findIndex(e=>e.src===t)<l.findIndex(t=>t===e))&&r({type:`fetch`,source:e.src})});W(g,[a.width,a.height,h,g]);let _=B(e=>r({type:`done`,source:e})),v={WebkitTransform:c?`initial`:`translateZ(0)`};return f||Object.assign(v,a.width/a.height<u/d?{width:`100%`,height:`auto`}:{width:`auto`,height:`100%`}),Z.createElement(Z.Fragment,null,n&&n!==t&&Z.createElement(Et,{key:`preload`,...e,offset:void 0,slide:{...i,src:n,srcSet:void 0},style:{position:`absolute`,visibility:`hidden`,...v},onLoad:()=>_(n),render:{...s,iconLoading:()=>null,iconError:()=>null}}),t&&Z.createElement(Et,{key:`current`,...e,slide:{...i,src:t,srcSet:void 0},style:v}))}function xi({render:e,slide:t,offset:n,rect:r}){let[i,a]=Z.useState(),o=Z.useRef(null),s=Ve(t),{zoom:c,maxZoom:l,offsetX:u,offsetY:d,setZoomWrapper:f}=wi(),p=c>1,{carousel:m,on:h}=H(),{currentIndex:g}=U();W(()=>{if(n!==0||s||!o.current)return()=>{};let e=()=>{let e=o.current;if(!e)return;let t=0,n=0;for(let r of e.children)r instanceof HTMLElement&&(t=Math.max(t,r.offsetWidth),n=Math.max(n,r.offsetHeight));a(e=>e&&e.width===t&&e.height===n?e:{width:t,height:n})};if(e(),typeof ResizeObserver>`u`)return()=>{};let t=new ResizeObserver(e);for(let e of o.current.children)t.observe(e);return()=>t.disconnect()},[n,s,r]),W(()=>n===0?(f({zoomWrapperRef:o,imageDimensions:i}),()=>f(void 0)):()=>{},[n,i,f]);let _=e.slide?.call(e,{slide:t,offset:n,rect:r,zoom:c,maxZoom:l});if(!_&&s){let i={slide:t,offset:n,rect:r,render:e,imageFit:m.imageFit,imageProps:m.imageProps,onClick:n===0?()=>h.click?.call(h,{index:g}):void 0};_=vi(t)?Z.createElement(bi,{...i,slide:t,interactive:p,rect:n===0?{width:r.width*c,height:r.height*c}:r}):Z.createElement(Et,{onLoad:e=>a({width:e.naturalWidth,height:e.naturalHeight}),...i})}return _?Z.createElement(`div`,{ref:o,className:N(P(ce),P(le),P(pe),p&&P(`slide_wrapper_interactive`)),style:n===0?{transform:`scale(${c}) translateX(${u}px) translateY(${d}px)`}:void 0},_):null}var Z,Si,Ci,wi,Ti,Ei,Di,Oi,ki=t((()=>{Z=e(n(),1),Bn(),Ne(),Si={minZoom:1,maxZoomPixelRatio:1,zoomInMultiplier:2,doubleTapDelay:300,doubleClickDelay:500,doubleClickMaxStops:2,keyboardMoveDistance:50,wheelZoomDistanceFactor:100,pinchZoomDistanceFactor:100,pinchZoomV4:!1,scrollToZoom:!1,maxZoom:8},Ci=Z.createContext(null),wi=I(`useZoom`,`ZoomControllerContext`,Ci),Ti=z(`ZoomIn`,Z.createElement(Z.Fragment,null,Z.createElement(`path`,{d:`M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z`}),Z.createElement(`path`,{d:`M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z`}))),Ei=z(`ZoomOut`,Z.createElement(`path`,{d:`M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM7 9h5v1H7z`})),Di=Z.forwardRef(function({zoomIn:e,onLoseFocus:t},n){let r=Z.useRef(!1),i=Z.useRef(!1),{zoom:a,minZoom:o,maxZoom:s,zoomIn:c,zoomOut:l,disabled:u}=wi(),{render:d}=H(),f=u||(e?a>=s:a<=o);return Z.useEffect(()=>{f&&r.current&&i.current&&t(),f||(r.current=!0)},[f,t]),Z.createElement(vn,{ref:n,disabled:f,label:e?`Zoom in`:`Zoom out`,icon:e?Ti:Ei,renderIcon:e?d.iconZoomIn:d.iconZoomOut,onClick:e?c:l,onFocus:()=>{i.current=!0},onBlur:()=>{i.current=!1}})}),Oi=({augment:e,addModule:t})=>{e(({zoom:e,toolbar:t,render:n,controller:r,...i})=>{let a=ai(e);return{zoom:a,toolbar:Qe(t,ne,Z.createElement(_i,null)),render:{...n,slide:e=>Ve(e.slide)||e.slide.type!=null&&a.supports?.includes(e.slide.type)?Z.createElement(xi,{render:n,...e}):n.slide?.call(n,e)},controller:{...r,preventDefaultWheelY:a.scrollToZoom},...i}}),t(L(ne,hi))}}));function Ai(e){return Number.isFinite(e)&&e>0}function ji(e,t){let n=e.width===void 0?e.density===void 0?0:t*e.density:e.width;return Ai(n)?Math.round(n):null}function Mi(e){let{intrinsicWidth:t,intrinsicHeight:n}=e;if(t===void 0||n===void 0||!Ai(t)||!Ai(n))return;let r=new Map;for(let i of e.candidates??[]){let e=ji(i,t);e===null||r.has(e)||r.set(e,{src:i.src,width:e,height:Math.max(1,Math.round(e*n/t))})}let i=[...r.values()].sort((e,t)=>e.width-t.width);return i.length>0?i:void 0}function Ni(e){return e.map(e=>{let t=Ai(e.intrinsicWidth??0)&&Ai(e.intrinsicHeight??0);return{src:e.src,alt:e.alt,width:t?e.intrinsicWidth:void 0,height:t?e.intrinsicHeight:void 0,srcSet:Mi(e),title:e.title===void 0?e.alt:e.title,description:e.description,thumbnail:e.thumbnail,download:e.download}})}var Pi=t((()=>{}));function Fi(e){let t={...Ii,...e};return{Previous:t.previous,Next:t.next,Close:t.close,Slide:t.slide,Carousel:t.carousel,Lightbox:t.lightbox,"Photo gallery":t.photoGallery,"{index} of {total}":t.slideCounter,"Zoom in":t.zoomIn,"Zoom out":t.zoomOut,"Enter Fullscreen":t.enterFullscreen,"Exit Fullscreen":t.exitFullscreen,Thumbnails:t.thumbnails,"Show thumbnails":t.showThumbnails,"Hide thumbnails":t.hideThumbnails,Caption:t.caption,"Show captions":t.showCaptions,"Hide captions":t.hideCaptions,Download:t.download}}var Ii,Li=t((()=>{Ii={previous:`Предыдущее изображение`,next:`Следующее изображение`,close:`Закрыть просмотр`,slide:`Изображение`,carousel:`Карусель изображений`,lightbox:`Просмотр изображений`,photoGallery:`Галерея изображений`,slideCounter:`{index} из {total}`,zoomIn:`Увеличить`,zoomOut:`Уменьшить`,enterFullscreen:`Перейти в полноэкранный режим`,exitFullscreen:`Выйти из полноэкранного режима`,thumbnails:`Миниатюры`,showThumbnails:`Показать миниатюры`,hideThumbnails:`Скрыть миниатюры`,caption:`Подпись изображения`,showCaptions:`Показать подписи`,hideCaptions:`Скрыть подписи`,download:`Скачать изображение`}})),Ri=t((()=>{})),zi=t((()=>{})),Bi=t((()=>{})),Vi=t((()=>{})),Hi,Ui,Wi,Gi,Q,Ki=t((()=>{Hi=`acj1dM`,Ui=`jt3y3m`,Wi=`_2SAWIU`,Gi=`_1GqI3h`,Q={viewer:Hi,icon:Ui,loadingIcon:Wi,imageViewerSpin:Gi}}));function qi({open:e,images:t,index:n=0,onClose:r,onIndexChange:i,features:o,loop:y=!1,closeOnBackdropClick:x=!0,closeOnPullDown:S=!0,labels:C,className:w,style:T}){let E=(0,Ji.useMemo)(()=>Ni(t),[t]),D=Number.isFinite(n)?Math.trunc(n):0,O=E.length>0?Math.min(Math.max(D,0),E.length-1):0,k=t.some(e=>(e.title===void 0?e.alt:e.title)!=null||e.description!==void 0&&e.description!==null),A=o?.captions??k,ee=o?.counter??E.length>1,j=o?.download??!1,M=o?.fullscreen??!0,te=o?.thumbnails??E.length>1,ne=o?.zoom??!0,re=(0,Ji.useMemo)(()=>[...A?[Kn]:[],...ee?[rr]:[],...j?[hr]:[],...M?[Cr]:[],...te?[Br]:[],...ne?[Oi]:[]],[A,ee,j,M,te,ne]),ie=(0,Ji.useMemo)(()=>Fi(C),[C]);return(0,$.jsx)(Qt,{open:e&&E.length>0,close:r,index:O,slides:E,plugins:re,className:a(Q.viewer,w),portal:{container:{style:T}},labels:ie,carousel:{finite:!y},controller:{closeOnBackdropClick:x,closeOnPullDown:S},captions:{showToggle:!0},counter:{separator:` / `},thumbnails:{showToggle:!0},download:{download:({slide:e,saveAs:t})=>{if(!(!Ve(e)||e.download===!1)){if(typeof e.download==`string`){t(e.download);return}if(typeof e.download==`object`){t(e.download.url,e.download.filename);return}t(e.src)}}},on:{view:({index:e})=>{e!==O&&i?.(e)}},render:{iconPrev:()=>(0,$.jsx)(h,{"aria-hidden":`true`,className:Q.icon}),iconNext:()=>(0,$.jsx)(b,{"aria-hidden":`true`,className:Q.icon}),iconClose:()=>(0,$.jsx)(v,{"aria-hidden":`true`,className:Q.icon}),iconLoading:()=>(0,$.jsx)(l,{"aria-hidden":`true`,className:a(Q.icon,Q.loadingIcon)}),iconError:()=>(0,$.jsx)(s,{"aria-hidden":`true`,className:Q.icon}),iconZoomIn:()=>(0,$.jsx)(g,{"aria-hidden":`true`,className:Q.icon}),iconZoomOut:()=>(0,$.jsx)(_,{"aria-hidden":`true`,className:Q.icon}),iconEnterFullscreen:()=>(0,$.jsx)(p,{"aria-hidden":`true`,className:Q.icon}),iconExitFullscreen:()=>(0,$.jsx)(d,{"aria-hidden":`true`,className:Q.icon}),iconThumbnailsVisible:()=>(0,$.jsx)(m,{"aria-hidden":`true`,className:Q.icon}),iconThumbnailsHidden:()=>(0,$.jsx)(m,{"aria-hidden":`true`,className:Q.icon}),iconCaptionsVisible:()=>(0,$.jsx)(c,{"aria-hidden":`true`,className:Q.icon}),iconCaptionsHidden:()=>(0,$.jsx)(f,{"aria-hidden":`true`,className:Q.icon}),iconDownload:()=>(0,$.jsx)(u,{"aria-hidden":`true`,className:Q.icon})}})}var Ji,$,Yi=t((()=>{Ji=e(n(),1),o(),y(),Bn(),tr(),sr(),br(),Ar(),ri(),ki(),Pi(),Li(),Ri(),zi(),Bi(),Vi(),Ki(),$=i(),qi.__docgenInfo={description:`Управляемый полноэкранный viewer поверх Yet Another React Lightbox.
3
+ Компонент изолирует внешний API, сохраняет безопасный для SSR первый render и принимает тот же
4
+ независимый от хранилища responsive-контракт, что ImageView. Визуальные настройки публикуются только как \`--image-viewer-*\`.`,methods:[],displayName:`ImageViewer`,props:{open:{required:!0,tsType:{name:`boolean`},description:``},images:{required:!0,tsType:{name:`unknown`},description:``},index:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`0`,computed:!1}},onClose:{required:!0,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},onIndexChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(index: number) => void`,signature:{arguments:[{type:{name:`number`},name:`index`}],return:{name:`void`}}},description:``},features:{required:!1,tsType:{name:`signature`,type:`object`,raw:`{
5
+ readonly captions?: boolean;
6
+ readonly counter?: boolean;
7
+ readonly download?: boolean;
8
+ readonly fullscreen?: boolean;
9
+ readonly thumbnails?: boolean;
10
+ readonly zoom?: boolean;
11
+ }`,signature:{properties:[{key:`captions`,value:{name:`boolean`,required:!1}},{key:`counter`,value:{name:`boolean`,required:!1}},{key:`download`,value:{name:`boolean`,required:!1}},{key:`fullscreen`,value:{name:`boolean`,required:!1}},{key:`thumbnails`,value:{name:`boolean`,required:!1}},{key:`zoom`,value:{name:`boolean`,required:!1}}]}},description:``},loop:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},closeOnBackdropClick:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},closeOnPullDown:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},labels:{required:!1,tsType:{name:`Partial`,elements:[{name:`signature`,type:`object`,raw:`{
12
+ readonly previous: string;
13
+ readonly next: string;
14
+ readonly close: string;
15
+ readonly slide: string;
16
+ readonly carousel: string;
17
+ readonly lightbox: string;
18
+ readonly photoGallery: string;
19
+ readonly slideCounter: string;
20
+ readonly zoomIn: string;
21
+ readonly zoomOut: string;
22
+ readonly enterFullscreen: string;
23
+ readonly exitFullscreen: string;
24
+ readonly thumbnails: string;
25
+ readonly showThumbnails: string;
26
+ readonly hideThumbnails: string;
27
+ readonly caption: string;
28
+ readonly showCaptions: string;
29
+ readonly hideCaptions: string;
30
+ readonly download: string;
31
+ }`,signature:{properties:[{key:`previous`,value:{name:`string`,required:!0}},{key:`next`,value:{name:`string`,required:!0}},{key:`close`,value:{name:`string`,required:!0}},{key:`slide`,value:{name:`string`,required:!0}},{key:`carousel`,value:{name:`string`,required:!0}},{key:`lightbox`,value:{name:`string`,required:!0}},{key:`photoGallery`,value:{name:`string`,required:!0}},{key:`slideCounter`,value:{name:`string`,required:!0}},{key:`zoomIn`,value:{name:`string`,required:!0}},{key:`zoomOut`,value:{name:`string`,required:!0}},{key:`enterFullscreen`,value:{name:`string`,required:!0}},{key:`exitFullscreen`,value:{name:`string`,required:!0}},{key:`thumbnails`,value:{name:`string`,required:!0}},{key:`showThumbnails`,value:{name:`string`,required:!0}},{key:`hideThumbnails`,value:{name:`string`,required:!0}},{key:`caption`,value:{name:`string`,required:!0}},{key:`showCaptions`,value:{name:`string`,required:!0}},{key:`hideCaptions`,value:{name:`string`,required:!0}},{key:`download`,value:{name:`string`,required:!0}}]}}],raw:`Partial<ImageViewerLabels>`},description:``},className:{required:!1,tsType:{name:`string`},description:``},style:{required:!1,tsType:{name:`intersection`,raw:`CSSProperties & Partial<Record<ImageViewerCssVariable, string | number>>`,elements:[{name:`CSSProperties`},{name:`Partial`,elements:[{name:`Record`,elements:[{name:`union`,raw:`| "--image-viewer-z-index"
32
+ | "--image-viewer-backdrop"
33
+ | "--image-viewer-control-color"
34
+ | "--image-viewer-control-active-color"
35
+ | "--image-viewer-control-disabled-color"
36
+ | "--image-viewer-control-background"
37
+ | "--image-viewer-control-border"
38
+ | "--image-viewer-control-radius"
39
+ | "--image-viewer-control-filter"
40
+ | "--image-viewer-icon-size"
41
+ | "--image-viewer-icon-stroke-width"
42
+ | "--image-viewer-toolbar-padding"
43
+ | "--image-viewer-focus"
44
+ | "--image-viewer-focus-offset"
45
+ | "--image-viewer-image-radius"
46
+ | "--image-viewer-caption-background"
47
+ | "--image-viewer-caption-color"
48
+ | "--image-viewer-counter-color"
49
+ | "--image-viewer-thumbnail-background"
50
+ | "--image-viewer-thumbnail-border-color"
51
+ | "--image-viewer-thumbnail-active-border-color"
52
+ | "--image-viewer-loading-color"
53
+ | "--image-viewer-error-color"`,elements:[{name:`literal`,value:`"--image-viewer-z-index"`},{name:`literal`,value:`"--image-viewer-backdrop"`},{name:`literal`,value:`"--image-viewer-control-color"`},{name:`literal`,value:`"--image-viewer-control-active-color"`},{name:`literal`,value:`"--image-viewer-control-disabled-color"`},{name:`literal`,value:`"--image-viewer-control-background"`},{name:`literal`,value:`"--image-viewer-control-border"`},{name:`literal`,value:`"--image-viewer-control-radius"`},{name:`literal`,value:`"--image-viewer-control-filter"`},{name:`literal`,value:`"--image-viewer-icon-size"`},{name:`literal`,value:`"--image-viewer-icon-stroke-width"`},{name:`literal`,value:`"--image-viewer-toolbar-padding"`},{name:`literal`,value:`"--image-viewer-focus"`},{name:`literal`,value:`"--image-viewer-focus-offset"`},{name:`literal`,value:`"--image-viewer-image-radius"`},{name:`literal`,value:`"--image-viewer-caption-background"`},{name:`literal`,value:`"--image-viewer-caption-color"`},{name:`literal`,value:`"--image-viewer-counter-color"`},{name:`literal`,value:`"--image-viewer-thumbnail-background"`},{name:`literal`,value:`"--image-viewer-thumbnail-border-color"`},{name:`literal`,value:`"--image-viewer-thumbnail-active-border-color"`},{name:`literal`,value:`"--image-viewer-loading-color"`},{name:`literal`,value:`"--image-viewer-error-color"`}]},{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]}],raw:`Record<ImageViewerCssVariable, string | number>`}],raw:`Partial<Record<ImageViewerCssVariable, string | number>>`}]},description:``}}}}));function Xi(e,t,n=`webp`){return`https://images.unsplash.com/${e}?auto=format&fit=crop&w=${t}&fm=${n}&q=80`}var Zi,Qi,$i,ea,ta,na,ra,ia,aa;t((()=>{Zi=e(n(),1),S(),Yi(),Qi=i(),$i=[`photo-1500530855697-b586d89ba3ee`,`photo-1441974231531-c6227db76b6e`,`photo-1470252649378-9c29740c9fa8`],ea=$i.map((e,t)=>({src:Xi(e,1600),alt:`Природный пейзаж ${t+1}`,title:`Изображение ${t+1}`,description:`Responsive slide с миниатюрой, zoom, fullscreen и доступной русской навигацией.`,thumbnail:Xi(e,240),intrinsicWidth:1600,intrinsicHeight:900,candidates:[640,1280,1600].map(t=>({src:Xi(e,t),width:t})),sources:[{type:`image/avif`,candidates:[640,1280,1600].map(t=>({src:Xi(e,t,`avif`),width:t}))}],download:{url:Xi(e,2e3,`jpg`),filename:`landscape-${t+1}.jpg`}})),ta={"--image-viewer-backdrop":`rgb(8 14 28 / 96%)`,"--image-viewer-control-active-color":`#7dd3fc`,"--image-viewer-thumbnail-active-border-color":`#7dd3fc`,"--image-viewer-caption-background":`rgb(8 14 28 / 72%)`},na={title:`Shared/UI/Image/ImageViewer`,component:qi,args:{open:!1,images:ea,onClose:()=>void 0},parameters:{layout:`centered`}},ra={render:e=>{let[t,n]=(0,Zi.useState)(!1),[r,i]=(0,Zi.useState)(0);return(0,Qi.jsxs)(Qi.Fragment,{children:[(0,Qi.jsx)(x,{onClick:()=>n(!0),children:`Открыть галерею`}),(0,Qi.jsx)(qi,{...e,open:t,index:r,onClose:()=>n(!1),onIndexChange:i,features:{download:!0},style:ta})]})}},ia={render:e=>{let[t,n]=(0,Zi.useState)(!1);return(0,Qi.jsxs)(Qi.Fragment,{children:[(0,Qi.jsx)(x,{onClick:()=>n(!0),children:`Открыть одно изображение`}),(0,Qi.jsx)(qi,{...e,open:t,images:ea.slice(0,1),onClose:()=>n(!1)})]})}},ra.parameters={...ra.parameters,docs:{...ra.parameters?.docs,source:{originalSource:`{
54
+ render: args => {
55
+ const [open, setOpen] = useState(false);
56
+ const [index, setIndex] = useState(0);
57
+ return <>
58
+ <Button onClick={() => setOpen(true)}>Открыть галерею</Button>
59
+ <ImageViewer {...args} open={open} index={index} onClose={() => setOpen(false)} onIndexChange={setIndex} features={{
60
+ download: true
61
+ }} style={CUSTOM_STYLE} />
62
+ </>;
63
+ }
64
+ }`,...ra.parameters?.docs?.source}}},ia.parameters={...ia.parameters,docs:{...ia.parameters?.docs,source:{originalSource:`{
65
+ render: args => {
66
+ const [open, setOpen] = useState(false);
67
+ return <>
68
+ <Button onClick={() => setOpen(true)}>Открыть одно изображение</Button>
69
+ <ImageViewer {...args} open={open} images={IMAGES.slice(0, 1)} onClose={() => setOpen(false)} />
70
+ </>;
71
+ }
72
+ }`,...ia.parameters?.docs?.source}}},aa=[`ResponsiveGallery`,`SingleImage`]}))();export{ra as ResponsiveGallery,ia as SingleImage,aa as __namedExportsOrder,na 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,n as s,p as c,r as l,u}from"./blocks-DoPnTsyg.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-DOISS71W.js";import{NumberControlled as p,PatternValidation as m,TextControlled as h,WithError as g,n as _,t as v}from"./Input.stories-BHTzCeNd.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}}}),`
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{NumberControlled as p,PatternValidation as m,TextControlled as h,WithError as g,n as _,t as v}from"./Input.stories-BmsoCBN4.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:`Input`}),`
3
3
  `,(0,x.jsx)(i,{children:`Базовое текстовое и числовое поле для форм, фильтров и служебных панелей`}),`
4
4
  `,(0,x.jsx)(o.p,{children:`Input уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -0,0 +1,3 @@
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{o,t as s}from"./lucide-react-DMM2-ayk.js";import{M as c,t as l}from"./formatters-BaQpdAeu.js";import{n as u,t as d}from"./ui.module-wFHXkJzp.js";var f,p,m,h,g,_,v,y,b,x=t((()=>{f=`lRn5ye`,p=`ce5HAY`,m=`_8TObqB`,h=`Gx3Wbd`,g=`cpwaYo`,_=`itlmix`,v=`aITEGl`,y=`ekyJIt`,b={controlLayout:f,input:p,inputNumber:m,controlWithEndAdornment:h,controlEndAdornment:g,endAdornmentGroup:_,clearButton:v,error:y}}));function S({id:e,hasLabel:t,hasDescription:n,hasError:r}){let i=(0,C.useId)(),a=e??i,o=t?`${a}-label`:void 0,s=n?`${a}-description`:void 0,c=r?`${a}-error`:void 0;return{controlId:a,labelId:o,descriptionId:s,errorId:c,describedBy:[s,c].filter(Boolean).join(` `)||void 0}}var C,w=t((()=>{C=e(n(),1)}));function T({label:e,controlId:t,labelId:n}){return(0,F.jsx)(`label`,{id:n,htmlFor:t,className:u.uiLabel,children:e})}function E({label:e,description:t,size:n,disabled:r,className:a}){let{controlId:o,labelId:s,descriptionId:c}=S({hasLabel:e!=null,hasDescription:!!t});return(0,F.jsxs)(`div`,{className:i(u.uiElement,u.uiSizable,n&&u[n],u.disabled,a),"aria-disabled":r||void 0,children:[e&&(0,F.jsx)(T,{label:e,controlId:o,labelId:s}),t&&(0,F.jsx)(`p`,{id:c,className:u.uiDescription,children:t}),(0,F.jsx)(`div`,{className:i(u.uiInputControlFake,`skeletonLine`)})]})}function D({label:e,description:t,disabled:n,className:r,error:a,size:o,controlId:s,labelId:c,descriptionId:l,errorId:d,children:f}){return(0,F.jsxs)(`div`,{className:i(u.uiElement,u.uiSizable,o&&u[o],n&&u.disabled,r),"aria-disabled":n||void 0,children:[e&&(0,F.jsx)(T,{label:e,controlId:s,labelId:c}),t&&(0,F.jsx)(`p`,{id:l,className:u.uiDescription,children:t}),(0,F.jsxs)(`div`,{className:b.controlLayout,children:[f,a&&(0,F.jsx)(`p`,{id:d,className:b.error,role:`alert`,children:a})]})]})}function O({className:e,endAdornment:t,endAdornmentClassName:n,endAdornmentWidth:r,children:a}){let o=t!=null,s=o&&r?{"--input-end-adornment-width":r}:void 0;return(0,F.jsxs)(`div`,{className:i(b.controlLayout,e),style:s,children:[a({controlClassName:o?b.controlWithEndAdornment:void 0}),o&&(0,F.jsx)(`div`,{className:i(b.controlEndAdornment,n),children:t})]})}function k({onClick:e,disabled:t,className:n,ariaLabel:r=`Очистить значение`}){return(0,F.jsx)(`button`,{type:`button`,disabled:t||!e,className:i(b.clearButton,`flexCenter radiusSm`,n),onClick:e,"aria-label":r,children:(0,F.jsx)(o,{})})}function A(e,t,n){if(n)return n;if(e&&t)return`calc((var(--control-height) * 2) + var(--space-xs))`;if(e||t)return`var(--control-height)`}function j({endAdornment:e,onClear:t,disabled:n}){if(!(e==null&&!t))return(0,F.jsxs)(`div`,{className:b.endAdornmentGroup,children:[e,t&&(0,F.jsx)(k,{onClick:t,disabled:n})]})}function M({label:e,description:t,disabled:n,className:r,onClear:a,error:o,onClearError:s,onChange:c,value:l,size:d,allowedPattern:f,endAdornment:p,endAdornmentClassName:m,endAdornmentWidth:h,type:g=`text`,..._}){let[v,y]=(0,P.useState)(!1),x=e=>{let t=e.target.value;f!==void 0&&y(t!==``&&!f.test(t)),c(t),o&&s&&s()},C=!!(l&&l.length>0),w=C?o:void 0,{controlId:T,labelId:E,descriptionId:k,errorId:M,describedBy:N}=S({id:_.id,hasLabel:e!=null,hasDescription:!!t,hasError:!!w}),I=C&&(!!o||v);return(0,F.jsx)(D,{label:e,description:t,disabled:n,className:r,size:d,error:w,controlId:T,labelId:E,descriptionId:k,errorId:M,children:(0,F.jsx)(O,{endAdornment:j({endAdornment:p,onClear:a,disabled:n}),endAdornmentClassName:m,endAdornmentWidth:A(p!=null,!!a,h),children:({controlClassName:e})=>(0,F.jsx)(`input`,{..._,id:T,type:g,disabled:n,value:l,"aria-invalid":I||void 0,"aria-labelledby":E,"aria-describedby":N,"data-invalid":I?``:void 0,className:i(u.uiInputControl,b.input,e),onChange:x})})})}function N({label:e,description:t,disabled:n,className:r,onClear:a,error:o,onClearError:s,onChange:l,value:d,size:f,endAdornment:p,endAdornmentClassName:m,endAdornmentWidth:h,...g}){let _=g,{controlId:v,labelId:y,descriptionId:x,errorId:C,describedBy:w}=S({id:g.id,hasLabel:e!=null,hasDescription:!!t,hasError:!!o}),[T,E]=(0,P.useState)(()=>String(d)),k=(0,P.useEffectEvent)(e=>{E(e)});(0,P.useEffect)(()=>{k(d!==void 0&&typeof d==`number`&&!isNaN(d)?String(d):``)},[d]);let M=a?()=>{E(``),a()}:void 0,N=e=>{let t=e.target.value;E(t),l(c(t)),o&&s&&s()};return(0,F.jsx)(D,{label:e,description:t,disabled:n,className:r,size:f,error:o,controlId:v,labelId:y,descriptionId:x,errorId:C,children:(0,F.jsx)(O,{endAdornment:j({endAdornment:p,onClear:M,disabled:n}),endAdornmentClassName:m,endAdornmentWidth:A(p!=null,!!M,h),children:({controlClassName:e})=>(0,F.jsx)(`input`,{..._,id:v,type:`number`,inputMode:`decimal`,disabled:n,value:T,"aria-labelledby":y,"aria-describedby":w,className:i(u.uiInputControl,b.input,b.inputNumber,e),onChange:N})})})}var P,F,I,L=t((()=>{P=e(n(),1),l(),a(),s(),d(),x(),w(),F=r(),I=M,E.__docgenInfo={description:``,methods:[],displayName:`InputUILoading`},D.__docgenInfo={description:`Низкоуровневая оболочка поля ввода с общими элементами оформления.`,methods:[],displayName:`InputUI`,props:{className:{required:!1,tsType:{name:`string`},description:``},error:{required:!1,tsType:{name:`string`},description:``},controlId:{required:!1,tsType:{name:`string`},description:``},labelId:{required:!1,tsType:{name:`string`},description:``},descriptionId:{required:!1,tsType:{name:`string`},description:``},errorId:{required:!1,tsType:{name:`string`},description:``},children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``}},composes:[`Omit`]},O.__docgenInfo={description:``,methods:[],displayName:`InputControl`,props:{className:{required:!1,tsType:{name:`string`},description:``},endAdornment:{required:!1,tsType:{name:`ReactNode`},description:``},endAdornmentClassName:{required:!1,tsType:{name:`string`},description:``},endAdornmentWidth:{required:!1,tsType:{name:`string`},description:``},children:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(props: InputControlRenderProps) => ReactNode`,signature:{arguments:[{type:{name:`InputControlRenderProps`},name:`props`}],return:{name:`ReactNode`}}},description:``}}},k.__docgenInfo={description:``,methods:[],displayName:`InputClearButton`,props:{onClick:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},ariaLabel:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Очистить значение"`,computed:!1}}}},M.__docgenInfo={description:`Базовое текстовое поле ввода для строковых значений.`,methods:[],displayName:`InputText`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`T`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},onClear:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},error:{required:!1,tsType:{name:`string`},description:``},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},defaultValue:{required:!1,tsType:{name:`string`},description:``},endAdornment:{required:!1,tsType:{name:`ReactNode`},description:``},endAdornmentClassName:{required:!1,tsType:{name:`string`},description:``},endAdornmentWidth:{required:!1,tsType:{name:`string`},description:``},type:{required:!1,tsType:{name:`union`,raw:`"email" | "password" | "search" | "tel" | "text" | "url"`,elements:[{name:`literal`,value:`"email"`},{name:`literal`,value:`"password"`},{name:`literal`,value:`"search"`},{name:`literal`,value:`"tel"`},{name:`literal`,value:`"text"`},{name:`literal`,value:`"url"`}]},description:``,defaultValue:{value:`"text"`,computed:!1}},allowedPattern:{required:!1,tsType:{name:`RegExp`},description:`Регулярное выражение для валидации всего введённого значения.
2
+ При несоответствии поле подсвечивается как невалидное, но текст не удаляется.
3
+ Пример: \`/^\\d*$/\``}},composes:[`Omit`]},N.__docgenInfo={description:`Числовое поле ввода с нормализацией значения и защитой от промежуточного невалидного ввода.`,methods:[],displayName:`InputNumber`,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:``},onClear:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},error:{required:!1,tsType:{name:`string`},description:``},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},defaultValue:{required:!1,tsType:{name:`T`},description:``},endAdornment:{required:!1,tsType:{name:`ReactNode`},description:``},endAdornmentClassName:{required:!1,tsType:{name:`string`},description:``},endAdornmentWidth:{required:!1,tsType:{name:`string`},description:``}},composes:[`Omit`]}}));export{M as a,L as c,N as i,w as l,k as n,D as o,O as r,E as s,I as t,S as u};
@@ -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-CTboIfoI.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,c as o,i as s}from"./Input-DrlKVI51.js";var c=e({NumberControlled:()=>p,PatternValidation:()=>m,TextControlled:()=>f,WithError:()=>h,__namedExportsOrder:()=>g,default:()=>d}),l,u,d,f,p,m,h,g,_=n((()=>{l=t(r(),1),o(),u=i(),d={title:`Shared/UI/Input`,component:a,args:{value:``,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Плейсхолдер нативного поля ввода.`,control:`text`},value:{description:`Текущее значение поля.`,control:`text`},onChange:{description:`Вызывается при изменении значения.`,control:!1},onClear:{description:`Callback кнопки очистки справа.`,control:!1},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Вызывается при вводе для сброса внешней ошибки.`,control:!1},disabled:{description:`Блокирует редактирование.`,control:`boolean`},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},allowedPattern:{description:`Регулярное выражение для валидации введенной строки.`,control:!1}}},f={render:e=>{let[t,n]=(0,l.useState)(e.value??``);return(0,u.jsx)(a,{...e,value:t,onChange:n,onClear:()=>n(``)})},args:{label:`Наименование`,description:`Пример обычного текстового поля.`,placeholder:`Введите значение`,value:``,size:`md`}},p={render:()=>{let[e,t]=(0,l.useState)(25);return(0,u.jsx)(s,{label:`Количество`,description:`Числовой ввод с min/max.`,placeholder:`0`,value:e,min:0,max:100,onChange:t,onClear:()=>t(0)})},args:{value:void 0}},m={render:()=>{let[e,t]=(0,l.useState)(``);return(0,u.jsx)(a,{label:`Только цифры`,description:"`allowedPattern` подсвечивает невалидный ввод.",placeholder:`12345`,value:e,onChange:t,allowedPattern:/^\d*$/})},args:{value:void 0}},h={render:()=>{let[e,t]=(0,l.useState)(`admin`),[n,r]=(0,l.useState)(`Логин уже занят`);return(0,u.jsx)(a,{label:`Логин`,value:e,error:n,onChange:t,onClear:()=>t(``),onClearError:()=>r(``)})},args:{value:void 0}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
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,c as o,i as s}from"./Input-DD9fx2Sx.js";var c=e({NumberControlled:()=>p,PatternValidation:()=>m,TextControlled:()=>f,WithError:()=>h,__namedExportsOrder:()=>g,default:()=>d}),l,u,d,f,p,m,h,g,_=n((()=>{l=t(r(),1),o(),u=i(),d={title:`Shared/UI/Input`,component:a,args:{value:``,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Плейсхолдер нативного поля ввода.`,control:`text`},value:{description:`Текущее значение поля.`,control:`text`},onChange:{description:`Вызывается при изменении значения.`,control:!1},onClear:{description:`Callback кнопки очистки справа.`,control:!1},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Вызывается при вводе для сброса внешней ошибки.`,control:!1},disabled:{description:`Блокирует редактирование.`,control:`boolean`},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},allowedPattern:{description:`Регулярное выражение для валидации введенной строки.`,control:!1}}},f={render:e=>{let[t,n]=(0,l.useState)(e.value??``);return(0,u.jsx)(a,{...e,value:t,onChange:n,onClear:()=>n(``)})},args:{label:`Наименование`,description:`Пример обычного текстового поля.`,placeholder:`Введите значение`,value:``,size:`md`}},p={render:()=>{let[e,t]=(0,l.useState)(25);return(0,u.jsx)(s,{label:`Количество`,description:`Числовой ввод с min/max.`,placeholder:`0`,value:e,min:0,max:100,onChange:t,onClear:()=>t(0)})},args:{value:void 0}},m={render:()=>{let[e,t]=(0,l.useState)(``);return(0,u.jsx)(a,{label:`Только цифры`,description:"`allowedPattern` подсвечивает невалидный ввод.",placeholder:`12345`,value:e,onChange:t,allowedPattern:/^\d*$/})},args:{value:void 0}},h={render:()=>{let[e,t]=(0,l.useState)(`admin`),[n,r]=(0,l.useState)(`Логин уже занят`);return(0,u.jsx)(a,{label:`Логин`,value:e,error:n,onChange:t,onClear:()=>t(``),onClearError:()=>r(``)})},args:{value:void 0}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
2
2
  render: args => {
3
3
  const [value, setValue] = useState(args.value ?? "");
4
4
  return <InputText {...args} value={value} onChange={setValue} onClear={() => setValue("")} />;
@@ -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-DoPnTsyg.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-DOISS71W.js";import{CustomMask as p,DateAndTime as m,DateOnly as h,TimeOnly as g,n as _,t as v}from"./InputDateTime.stories-DWZLY6-q.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}}}),`
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{CustomMask as p,DateAndTime as m,DateOnly as h,TimeOnly as g,n as _,t as v}from"./InputDateTime.stories-BhjQejJD.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:`InputDateTime`}),`
3
3
  `,(0,x.jsx)(i,{children:`Маскированный ввод даты, времени и объединенного значения дата-время`}),`
4
4
  `,(0,x.jsx)(o.p,{children:`InputDateTime уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -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-CTboIfoI.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,i as o}from"./utils-BAfp5vsY.js";import{n as s,t as c}from"./ui.module-wFHXkJzp.js";import{n as l,o as u,r as d,u as f}from"./Input-DrlKVI51.js";import{t as p}from"./input-DD2xaJKI.js";import{a as m,i as h,n as g,r as _}from"./date-segments-CzU9k5bl.js";var v,y,b,x=n((()=>{v=`t1iysX`,y=`_-4oX-p`,b={segmentInput:v,separator:y}}));function S(e){return h(e).map(e=>e.kind===`editable`?{...e,type:e.id}:e)}function C(e,t){let n=g(e,t),r=new Map;return t.forEach((e,t)=>{e.kind===`editable`&&r.set(e.type,n.get(t)??``)}),r}function w(e,t){let n=new Map;return e.forEach((e,r)=>{e.kind===`editable`&&n.set(r,t.get(e.type)??``)}),m(e,n)}var T=n((()=>{_()}));function E(e,t){let n=C(e,t),r=new Map;return t.forEach((e,t)=>{e.kind===`editable`&&r.set(t,n.get(e.type)??``)}),r}function D(e){let t=[];return e.forEach((e,n)=>{e.kind===`editable`&&t.push(n)}),t}function O({mask:e,value:t,onChange:n,onClearError:r,disabled:i}){let a=(0,k.useMemo)(()=>S(e),[e]),o=(0,k.useMemo)(()=>D(a),[a]),s=(0,k.useMemo)(()=>E(t,a),[t,a]),[c,l]=(0,k.useState)(null),[u,d]=(0,k.useState)(()=>t?.getTime()),f=t?.getTime();f!==u&&(d(f),l(null));let p=c??s,m=(0,k.useRef)(new Map),h=(0,k.useRef)(0),[g,_]=(0,k.useState)(!1),v=(0,k.useCallback)(e=>{let t=new Map;a.forEach((n,r)=>{n.kind===`editable`&&t.set(n.type,e.get(r)??``)});let r=w(a,t);r!==null&&n(r)},[a,n]),y=(0,k.useCallback)((e,t=!0)=>{let n=m.current.get(e);n&&(n.focus(),t&&requestAnimationFrame(()=>n.select()))},[]),b=(0,k.useCallback)(e=>{let t=o.indexOf(e);return t<o.length-1?o[t+1]:null},[o]),x=(0,k.useCallback)(e=>{let t=o.indexOf(e);return t>0?o[t-1]:null},[o]),C=(0,k.useCallback)((e,t)=>e.padStart(t.length,`0`),[]);return{segments:a,segmentValues:p,isFocused:g,registerRef:(0,k.useCallback)(e=>t=>{t?m.current.set(e,t):m.current.delete(e)},[]),handleInput:(0,k.useCallback)(e=>t=>{if(i)return;let n=a[e],o=t.target.value.replace(/\D/g,``).slice(0,n.length),s=new Map(p);if(s.set(e,o),l(s),r?.(),o.length===n.length){let t=b(e);t!==null&&requestAnimationFrame(()=>y(t))}v(s)},[i,a,p,r,b,y,v]),handleKeyDown:(0,k.useCallback)(e=>t=>{if(i)return;let n=a[e],r=p.get(e)??``,o=t.currentTarget;switch(t.key){case`ArrowRight`:if(o.selectionStart===r.length||r===``){t.preventDefault();let n=b(e);n!==null&&y(n)}break;case`ArrowLeft`:if(o.selectionStart===0||r===``){t.preventDefault();let n=x(e);n!==null&&y(n)}break;case`ArrowUp`:{t.preventDefault();let i=r===``?n.min:parseInt(r,10)+1;i>n.max&&(i=n.min);let a=C(i.toString(),n),s=new Map(p);s.set(e,a),l(s),v(s),requestAnimationFrame(()=>o.select());break}case`ArrowDown`:{t.preventDefault();let i=r===``?n.max:parseInt(r,10)-1;i<n.min&&(i=n.max);let a=C(i.toString(),n),s=new Map(p);s.set(e,a),l(s),v(s),requestAnimationFrame(()=>o.select());break}case`Backspace`:if(r===``){t.preventDefault();let n=x(e);n!==null&&y(n)}break;case`Delete`:{t.preventDefault();let n=new Map(p);n.set(e,``),l(n),v(n);break}}},[i,a,p,b,x,y,C,v]),handleFocus:(0,k.useCallback)(()=>e=>{e.target.select()},[]),handleContainerFocus:(0,k.useCallback)(()=>{clearTimeout(h.current),_(!0)},[]),handleContainerBlur:(0,k.useCallback)(()=>{h.current=window.setTimeout(()=>{_(!1),l(null)},0)},[]),focusFirstEmpty:(0,k.useCallback)(()=>{let e=o.find(e=>!(p.get(e)??``))??o[o.length-1];e!==void 0&&y(e)},[o,p,y])}}var k,A=n((()=>{k=t(r(),1),T()}));function j({mask:e,value:t,onChange:n,label:r,description:i,disabled:o,size:c,className:p,error:m,onClearError:h,onClear:g,"aria-label":_}){let{segments:v,segmentValues:y,registerRef:x,handleInput:S,handleKeyDown:C,handleFocus:w,handleContainerFocus:T,handleContainerBlur:E,focusFirstEmpty:D}=O({mask:e,value:t,onChange:n,onClearError:h,disabled:o}),{controlId:k,labelId:A,descriptionId:j,errorId:M,describedBy:N}=f({hasLabel:r!=null,hasDescription:!!i,hasError:!!m});return(0,F.jsx)(u,{label:r,description:i,disabled:o,className:p,size:c,error:m,labelId:A,descriptionId:j,errorId:M,children:(0,F.jsx)(d,{endAdornment:g?(0,F.jsx)(l,{onClick:g,disabled:o}):void 0,endAdornmentWidth:g?`var(--control-height)`:void 0,children:({controlClassName:e})=>(0,F.jsx)(`div`,{id:k,className:a(s.uiInputControlFake,e),"data-invalid":m?``:void 0,"data-disabled":o||void 0,role:`group`,"aria-invalid":!!m||void 0,"aria-label":_||(typeof r==`string`?r:void 0),"aria-labelledby":_?void 0:A,"aria-describedby":N,onFocus:T,onBlur:E,onClick:e=>{e.target===e.currentTarget&&D()},children:v.map((e,t)=>e.kind===`literal`?(0,F.jsx)(`span`,{className:b.separator,"data-disabled":o||void 0,children:e.text},t):(0,F.jsx)(`input`,{ref:x(t),type:`text`,inputMode:`numeric`,className:b.segmentInput,style:{width:`${e.length+.5}ch`},value:y.get(t)??``,placeholder:e.placeholder,maxLength:e.length,disabled:o,"aria-label":e.type,autoComplete:`off`,onChange:S(t),onKeyDown:C(t),onFocus:w()},t))})})})}function M({mask:e=`YYYY.MM.DD`,...t}){return(0,F.jsx)(j,{mask:e,...t})}function N({mask:e=`hh:mm`,...t}){return(0,F.jsx)(j,{mask:e,...t})}function P({mask:e=`YYYY.MM.DD hh:mm`,...t}){return(0,F.jsx)(j,{mask:e,...t})}var F,I=n((()=>{o(),p(),c(),x(),A(),F=i(),M.__docgenInfo={description:``,methods:[],displayName:`InputDate`,props:{mask:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"YYYY.MM.DD"`,computed:!1}}}},N.__docgenInfo={description:``,methods:[],displayName:`InputTime`,props:{mask:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"hh:mm"`,computed:!1}}}},P.__docgenInfo={description:``,methods:[],displayName:`InputDateTime`,props:{mask:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"YYYY.MM.DD hh:mm"`,computed:!1}}}}})),L=e({CustomMask:()=>W,DateAndTime:()=>U,DateOnly:()=>V,TimeOnly:()=>H,__namedExportsOrder:()=>G,default:()=>B}),R,z,B,V,H,U,W,G,K=n((()=>{R=t(r(),1),I(),z=i(),B={title:`Shared/UI/InputDateTime`,component:M,args:{value:void 0,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},value:{description:"Текущее значение в виде `Date`.",control:!1},onChange:{description:`Вызывается при формировании валидной даты/времени.`,control:!1},mask:{description:"Маска сегментов (`YYYY`, `MM`, `DD`, `hh`, `mm`, `ss`).",control:`text`},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Сброс внешней ошибки при вводе.`,control:!1},onClear:{description:`Очищает значение и активирует кнопку очистки.`,control:!1},disabled:{description:`Блокирует редактирование сегментов.`,control:`boolean`},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},"aria-label":{description:`ARIA-метка для контейнера сегментного ввода.`,control:`text`}}},V={render:e=>{let[t,n]=(0,R.useState)(e.value);return(0,z.jsx)(M,{...e,value:t,onChange:n,onClear:()=>n(void 0)})},args:{label:`Дата`,description:`Формат по умолчанию: YYYY.MM.DD`,value:new Date(2026,2,5)}},H={render:()=>{let[e,t]=(0,R.useState)(new Date(2026,2,5,14,30,0));return(0,z.jsx)(N,{label:`Время`,description:`Формат по умолчанию: hh:mm`,value:e,onChange:t,onClear:()=>t(void 0)})},args:{value:void 0}},U={render:()=>{let[e,t]=(0,R.useState)(new Date(2026,2,5,9,15,0));return(0,z.jsx)(P,{label:`Дата и время`,description:`Комбинированный ввод даты и времени.`,value:e,onChange:t,onClear:()=>t(void 0)})},args:{value:void 0}},W={render:()=>{let[e,t]=(0,R.useState)(new Date(2026,2,5,9,15,42));return(0,z.jsx)(P,{label:`Кастомная маска`,description:`Добавлены секунды: YYYY.MM.DD hh:mm:ss`,mask:`YYYY.MM.DD hh:mm:ss`,value:e,onChange:t})},args:{value:void 0}},V.parameters={...V.parameters,docs:{...V.parameters?.docs,source:{originalSource:`{
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{n as s,t as c}from"./ui.module-wFHXkJzp.js";import{n as l,o as u,r as d,u as f}from"./Input-DD9fx2Sx.js";import{t as p}from"./input-Cv9ps4La.js";import{a as m,i as h,n as g,r as _}from"./date-segments-CzU9k5bl.js";var v,y,b,x=n((()=>{v=`t1iysX`,y=`_-4oX-p`,b={segmentInput:v,separator:y}}));function S(e){return h(e).map(e=>e.kind===`editable`?{...e,type:e.id}:e)}function C(e,t){let n=g(e,t),r=new Map;return t.forEach((e,t)=>{e.kind===`editable`&&r.set(e.type,n.get(t)??``)}),r}function w(e,t){let n=new Map;return e.forEach((e,r)=>{e.kind===`editable`&&n.set(r,t.get(e.type)??``)}),m(e,n)}var T=n((()=>{_()}));function E(e,t){let n=C(e,t),r=new Map;return t.forEach((e,t)=>{e.kind===`editable`&&r.set(t,n.get(e.type)??``)}),r}function D(e){let t=[];return e.forEach((e,n)=>{e.kind===`editable`&&t.push(n)}),t}function O({mask:e,value:t,onChange:n,onClearError:r,disabled:i}){let a=(0,k.useMemo)(()=>S(e),[e]),o=(0,k.useMemo)(()=>D(a),[a]),s=(0,k.useMemo)(()=>E(t,a),[t,a]),[c,l]=(0,k.useState)(null),[u,d]=(0,k.useState)(()=>t?.getTime()),f=t?.getTime();f!==u&&(d(f),l(null));let p=c??s,m=(0,k.useRef)(new Map),h=(0,k.useRef)(0),[g,_]=(0,k.useState)(!1),v=(0,k.useCallback)(e=>{let t=new Map;a.forEach((n,r)=>{n.kind===`editable`&&t.set(n.type,e.get(r)??``)});let r=w(a,t);r!==null&&n(r)},[a,n]),y=(0,k.useCallback)((e,t=!0)=>{let n=m.current.get(e);n&&(n.focus(),t&&requestAnimationFrame(()=>n.select()))},[]),b=(0,k.useCallback)(e=>{let t=o.indexOf(e);return t<o.length-1?o[t+1]:null},[o]),x=(0,k.useCallback)(e=>{let t=o.indexOf(e);return t>0?o[t-1]:null},[o]),C=(0,k.useCallback)((e,t)=>e.padStart(t.length,`0`),[]);return{segments:a,segmentValues:p,isFocused:g,registerRef:(0,k.useCallback)(e=>t=>{t?m.current.set(e,t):m.current.delete(e)},[]),handleInput:(0,k.useCallback)(e=>t=>{if(i)return;let n=a[e],o=t.target.value.replace(/\D/g,``).slice(0,n.length),s=new Map(p);if(s.set(e,o),l(s),r?.(),o.length===n.length){let t=b(e);t!==null&&requestAnimationFrame(()=>y(t))}v(s)},[i,a,p,r,b,y,v]),handleKeyDown:(0,k.useCallback)(e=>t=>{if(i)return;let n=a[e],r=p.get(e)??``,o=t.currentTarget;switch(t.key){case`ArrowRight`:if(o.selectionStart===r.length||r===``){t.preventDefault();let n=b(e);n!==null&&y(n)}break;case`ArrowLeft`:if(o.selectionStart===0||r===``){t.preventDefault();let n=x(e);n!==null&&y(n)}break;case`ArrowUp`:{t.preventDefault();let i=r===``?n.min:parseInt(r,10)+1;i>n.max&&(i=n.min);let a=C(i.toString(),n),s=new Map(p);s.set(e,a),l(s),v(s),requestAnimationFrame(()=>o.select());break}case`ArrowDown`:{t.preventDefault();let i=r===``?n.max:parseInt(r,10)-1;i<n.min&&(i=n.max);let a=C(i.toString(),n),s=new Map(p);s.set(e,a),l(s),v(s),requestAnimationFrame(()=>o.select());break}case`Backspace`:if(r===``){t.preventDefault();let n=x(e);n!==null&&y(n)}break;case`Delete`:{t.preventDefault();let n=new Map(p);n.set(e,``),l(n),v(n);break}}},[i,a,p,b,x,y,C,v]),handleFocus:(0,k.useCallback)(()=>e=>{e.target.select()},[]),handleContainerFocus:(0,k.useCallback)(()=>{clearTimeout(h.current),_(!0)},[]),handleContainerBlur:(0,k.useCallback)(()=>{h.current=window.setTimeout(()=>{_(!1),l(null)},0)},[]),focusFirstEmpty:(0,k.useCallback)(()=>{let e=o.find(e=>!(p.get(e)??``))??o[o.length-1];e!==void 0&&y(e)},[o,p,y])}}var k,A=n((()=>{k=t(r(),1),T()}));function j({mask:e,value:t,onChange:n,label:r,description:i,disabled:o,size:c,className:p,error:m,onClearError:h,onClear:g,"aria-label":_}){let{segments:v,segmentValues:y,registerRef:x,handleInput:S,handleKeyDown:C,handleFocus:w,handleContainerFocus:T,handleContainerBlur:E,focusFirstEmpty:D}=O({mask:e,value:t,onChange:n,onClearError:h,disabled:o}),{controlId:k,labelId:A,descriptionId:j,errorId:M,describedBy:N}=f({hasLabel:r!=null,hasDescription:!!i,hasError:!!m});return(0,F.jsx)(u,{label:r,description:i,disabled:o,className:p,size:c,error:m,labelId:A,descriptionId:j,errorId:M,children:(0,F.jsx)(d,{endAdornment:g?(0,F.jsx)(l,{onClick:g,disabled:o}):void 0,endAdornmentWidth:g?`var(--control-height)`:void 0,children:({controlClassName:e})=>(0,F.jsx)(`div`,{id:k,className:a(s.uiInputControlFake,e),"data-invalid":m?``:void 0,"data-disabled":o||void 0,role:`group`,"aria-invalid":!!m||void 0,"aria-label":_||(typeof r==`string`?r:void 0),"aria-labelledby":_?void 0:A,"aria-describedby":N,onFocus:T,onBlur:E,onClick:e=>{e.target===e.currentTarget&&D()},children:v.map((e,t)=>e.kind===`literal`?(0,F.jsx)(`span`,{className:b.separator,"data-disabled":o||void 0,children:e.text},t):(0,F.jsx)(`input`,{ref:x(t),type:`text`,inputMode:`numeric`,className:b.segmentInput,style:{width:`${e.length+.5}ch`},value:y.get(t)??``,placeholder:e.placeholder,maxLength:e.length,disabled:o,"aria-label":e.type,autoComplete:`off`,onChange:S(t),onKeyDown:C(t),onFocus:w()},t))})})})}function M({mask:e=`YYYY.MM.DD`,...t}){return(0,F.jsx)(j,{mask:e,...t})}function N({mask:e=`hh:mm`,...t}){return(0,F.jsx)(j,{mask:e,...t})}function P({mask:e=`YYYY.MM.DD hh:mm`,...t}){return(0,F.jsx)(j,{mask:e,...t})}var F,I=n((()=>{o(),p(),c(),x(),A(),F=i(),M.__docgenInfo={description:``,methods:[],displayName:`InputDate`,props:{mask:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"YYYY.MM.DD"`,computed:!1}}}},N.__docgenInfo={description:``,methods:[],displayName:`InputTime`,props:{mask:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"hh:mm"`,computed:!1}}}},P.__docgenInfo={description:``,methods:[],displayName:`InputDateTime`,props:{mask:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"YYYY.MM.DD hh:mm"`,computed:!1}}}}})),L=e({CustomMask:()=>W,DateAndTime:()=>U,DateOnly:()=>V,TimeOnly:()=>H,__namedExportsOrder:()=>G,default:()=>B}),R,z,B,V,H,U,W,G,K=n((()=>{R=t(r(),1),I(),z=i(),B={title:`Shared/UI/InputDateTime`,component:M,args:{value:void 0,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},value:{description:"Текущее значение в виде `Date`.",control:!1},onChange:{description:`Вызывается при формировании валидной даты/времени.`,control:!1},mask:{description:"Маска сегментов (`YYYY`, `MM`, `DD`, `hh`, `mm`, `ss`).",control:`text`},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Сброс внешней ошибки при вводе.`,control:!1},onClear:{description:`Очищает значение и активирует кнопку очистки.`,control:!1},disabled:{description:`Блокирует редактирование сегментов.`,control:`boolean`},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},"aria-label":{description:`ARIA-метка для контейнера сегментного ввода.`,control:`text`}}},V={render:e=>{let[t,n]=(0,R.useState)(e.value);return(0,z.jsx)(M,{...e,value:t,onChange:n,onClear:()=>n(void 0)})},args:{label:`Дата`,description:`Формат по умолчанию: YYYY.MM.DD`,value:new Date(2026,2,5)}},H={render:()=>{let[e,t]=(0,R.useState)(new Date(2026,2,5,14,30,0));return(0,z.jsx)(N,{label:`Время`,description:`Формат по умолчанию: hh:mm`,value:e,onChange:t,onClear:()=>t(void 0)})},args:{value:void 0}},U={render:()=>{let[e,t]=(0,R.useState)(new Date(2026,2,5,9,15,0));return(0,z.jsx)(P,{label:`Дата и время`,description:`Комбинированный ввод даты и времени.`,value:e,onChange:t,onClear:()=>t(void 0)})},args:{value:void 0}},W={render:()=>{let[e,t]=(0,R.useState)(new Date(2026,2,5,9,15,42));return(0,z.jsx)(P,{label:`Кастомная маска`,description:`Добавлены секунды: YYYY.MM.DD hh:mm:ss`,mask:`YYYY.MM.DD hh:mm:ss`,value:e,onChange:t})},args:{value:void 0}},V.parameters={...V.parameters,docs:{...V.parameters?.docs,source:{originalSource:`{
2
2
  render: args => {
3
3
  const [value, setValue] = useState<Date | undefined>(args.value);
4
4
  return <InputDate {...args} value={value} onChange={setValue} onClear={() => setValue(undefined)} />;
@@ -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-DoPnTsyg.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-DOISS71W.js";import{ArrayBufferMode as p,Controlled as m,WithInitialValue as h,n as g,t as _}from"./InputFile.stories-C9fMevjs.js";function v(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{of:_,parameters:{docs:{toc:!0}}}),`
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{ArrayBufferMode as p,Controlled as m,WithInitialValue as h,n as g,t as _}from"./InputFile.stories-BIJaIWlj.js";function v(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{of:_,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,b.jsx)(c,{children:`InputFile`}),`
3
3
  `,(0,b.jsx)(i,{children:`Контрол для выбора одного файла с поддержкой предварительного значения и бинарного режима`}),`
4
4
  `,(0,b.jsx)(o.p,{children:`InputFile уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -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-CTboIfoI.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,i as o,n as s}from"./utils-BAfp5vsY.js";import{n as c,t as l}from"./ui.module-wFHXkJzp.js";import{n as u,o as d,r as f,u as p}from"./Input-DrlKVI51.js";import{t as m}from"./input-DD2xaJKI.js";import{a as h,i as g,o as _,r as v,s as y}from"./file-hArYcyES.js";var b,x,S,C,w=n((()=>{b=`Ggxyuj`,x=`fthcmO`,S=`wyY60X`,C={control:b,fileName:x,hiddenInput:S}}));function T(e){let{value:t,onClear:n,onReadError:r,accept:i,allowedMime:o,maxBytes:l,label:m,description:g,placeholder:b=`Выберите файл`,disabled:x,size:S,error:w,onClearError:T,className:O}=e;h(o),_(i);let k=(0,E.useRef)(null),{controlId:A,labelId:j,descriptionId:M,errorId:N,describedBy:P}=p({hasLabel:m!=null,hasDescription:!!g,hasError:!!w}),F=(0,E.useCallback)(async t=>{let n=t.target.files?.[0];if(n){t.target.value=``,w&&T&&T();try{if(e.readMode===`array-buffer`){let t=await y(n,{allowedMime:o,maxBytes:l,mode:`array-buffer`});e.onChange(t);return}let t=await y(n,{allowedMime:o,maxBytes:l});e.onChange(t)}catch(e){e instanceof v&&r&&r(e)}}},[e,o,l,r,w,T]),I=(0,E.useCallback)(()=>{k.current?.click()},[]);return(0,D.jsxs)(d,{label:m,description:g,disabled:x,className:O,size:S,error:w,controlId:A,labelId:j,descriptionId:M,errorId:N,children:[(0,D.jsx)(`input`,{ref:k,id:A,type:`file`,accept:(i??o)?.join(`,`),disabled:x,className:C.hiddenInput,onChange:F,tabIndex:-1}),(0,D.jsx)(f,{endAdornment:n?(0,D.jsx)(u,{onClick:n,disabled:x}):void 0,endAdornmentWidth:n?`var(--control-height)`:void 0,children:({controlClassName:e})=>(0,D.jsx)(`div`,{role:`button`,tabIndex:x?-1:0,onClick:I,onKeyDown:e=>s(e,I,{disabled:x}),className:a(c.uiInputControl,C.control,e,!!w&&c.invalid),"data-disabled":x||void 0,"aria-invalid":!!w||void 0,"aria-disabled":x,"aria-labelledby":j,"aria-describedby":P,children:t?(0,D.jsx)(`span`,{className:C.fileName,children:t.meta.name}):(0,D.jsx)(`span`,{className:c.uiPlaceholder,children:b})})})]})}var E,D,O=n((()=>{E=t(r(),1),g(),o(),m(),l(),w(),D=i(),T.__docgenInfo={description:'InputFile — компонент выбора одного файла.\n\nВизуально идентичен InputText: поле с label, description, placeholder,\nкнопкой очистки (крестик) и блоком ошибки.\n\nПри клике открывается нативный диалог выбора файла.\nПосле выбора файл читается через readFile, результат передаётся в onChange.\n\nInputFile позволяет выбрать один файл и передаёт наружу типизированный результат чтения.\nЕсли `readMode` не задан или равен `"data-url"`, в `onChange` приходит объект с `dataUrl`.\nЕсли `readMode` равен `"array-buffer"`, в `onChange` приходит объект с `buffer`.',methods:[],displayName:`InputFile`}})),k=e({ArrayBufferMode:()=>I,Controlled:()=>P,WithInitialValue:()=>F,__namedExportsOrder:()=>L,default:()=>N}),A,j,M,N,P,F,I,L,R=n((()=>{A=t(r(),1),O(),j=i(),M=(e,t=`application/pdf`)=>{let n=new File([`demo-file`],e,{type:t,lastModified:17040672e5});return{mode:`data-url`,meta:{name:n.name,mime:n.type,size:n.size,lastModified:n.lastModified},dataUrl:`data:${t};base64,ZGVtby1maWxl`,file:n}},N={title:`Shared/UI/InputFile`,component:T,args:{value:void 0,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля загрузки.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст в поле, пока файл не выбран.`,control:`text`},value:{description:`Текущий результат чтения выбранного файла.`,control:!1},onChange:{description:`Вызывается после успешного чтения файла.`,control:!1},onReadError:{description:`Вызывается при ошибке чтения или валидации файла.`,control:!1},onClear:{description:`Очищает выбранный файл и показывает кнопку очистки.`,control:!1},accept:{description:"HTML `accept` для нативного диалога выбора файла.",control:`text`},allowedMime:{description:`Белый список MIME-типов для readFile-валидации.`,control:!1},maxBytes:{description:`Максимальный размер файла в байтах.`,control:`number`},readMode:{description:`Режим чтения файла: data-url или array-buffer.`,control:`inline-radio`,options:[`data-url`,`array-buffer`]},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Callback сброса ошибки при повторном выборе файла.`,control:!1},disabled:{description:`Блокирует выбор файла.`,control:`boolean`},size:{description:`Размер визуального контрола.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},P={render:e=>{let[t,n]=(0,A.useState)(e.value),[r,i]=(0,A.useState)(e.error??``);return(0,j.jsx)(T,{...e,value:t,error:r||void 0,onChange:n,onClear:()=>n(void 0),onClearError:()=>i(``)})},args:{label:`Документ`,description:`Загрузите один файл.`,placeholder:`Выберите файл`,accept:[`.pdf`,`.docx`],readMode:`data-url`,value:void 0}},F={render:e=>{let[t,n]=(0,A.useState)(M(`report.pdf`));return(0,j.jsx)(T,{...e,value:t,onChange:n,onClear:()=>n(void 0)})},args:{label:`Файл с предзаполнением`,description:`Демонстрация состояния после успешной загрузки.`}},I={render:e=>{let[t,n]=(0,A.useState)(void 0);return(0,j.jsx)(T,{...e,value:t,onChange:n,onClear:()=>n(void 0)})},args:{label:`Двоичное чтение`,description:"Режим `array-buffer` для дальнейшей бинарной обработки.",readMode:`array-buffer`,accept:[`.zip`,`.pdf`],value:void 0}},P.parameters={...P.parameters,docs:{...P.parameters?.docs,source:{originalSource:`{
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,n as s}from"./utils-CnV3Gszu.js";import{n as c,t as l}from"./ui.module-wFHXkJzp.js";import{n as u,o as d,r as f,u as p}from"./Input-DD9fx2Sx.js";import{t as m}from"./input-Cv9ps4La.js";import{a as h,i as g,o as _,r as v,s as y}from"./file-hArYcyES.js";var b,x,S,C,w=n((()=>{b=`Ggxyuj`,x=`fthcmO`,S=`wyY60X`,C={control:b,fileName:x,hiddenInput:S}}));function T(e){let{value:t,onClear:n,onReadError:r,accept:i,allowedMime:o,maxBytes:l,label:m,description:g,placeholder:b=`Выберите файл`,disabled:x,size:S,error:w,onClearError:T,className:O}=e;h(o),_(i);let k=(0,E.useRef)(null),{controlId:A,labelId:j,descriptionId:M,errorId:N,describedBy:P}=p({hasLabel:m!=null,hasDescription:!!g,hasError:!!w}),F=(0,E.useCallback)(async t=>{let n=t.target.files?.[0];if(n){t.target.value=``,w&&T&&T();try{if(e.readMode===`array-buffer`){let t=await y(n,{allowedMime:o,maxBytes:l,mode:`array-buffer`});e.onChange(t);return}let t=await y(n,{allowedMime:o,maxBytes:l});e.onChange(t)}catch(e){e instanceof v&&r&&r(e)}}},[e,o,l,r,w,T]),I=(0,E.useCallback)(()=>{k.current?.click()},[]);return(0,D.jsxs)(d,{label:m,description:g,disabled:x,className:O,size:S,error:w,controlId:A,labelId:j,descriptionId:M,errorId:N,children:[(0,D.jsx)(`input`,{ref:k,id:A,type:`file`,accept:(i??o)?.join(`,`),disabled:x,className:C.hiddenInput,onChange:F,tabIndex:-1}),(0,D.jsx)(f,{endAdornment:n?(0,D.jsx)(u,{onClick:n,disabled:x}):void 0,endAdornmentWidth:n?`var(--control-height)`:void 0,children:({controlClassName:e})=>(0,D.jsx)(`div`,{role:`button`,tabIndex:x?-1:0,onClick:I,onKeyDown:e=>s(e,I,{disabled:x}),className:a(c.uiInputControl,C.control,e,!!w&&c.invalid),"data-disabled":x||void 0,"aria-invalid":!!w||void 0,"aria-disabled":x,"aria-labelledby":j,"aria-describedby":P,children:t?(0,D.jsx)(`span`,{className:C.fileName,children:t.meta.name}):(0,D.jsx)(`span`,{className:c.uiPlaceholder,children:b})})})]})}var E,D,O=n((()=>{E=t(r(),1),g(),o(),m(),l(),w(),D=i(),T.__docgenInfo={description:'InputFile — компонент выбора одного файла.\n\nВизуально идентичен InputText: поле с label, description, placeholder,\nкнопкой очистки (крестик) и блоком ошибки.\n\nПри клике открывается нативный диалог выбора файла.\nПосле выбора файл читается через readFile, результат передаётся в onChange.\n\nInputFile позволяет выбрать один файл и передаёт наружу типизированный результат чтения.\nЕсли `readMode` не задан или равен `"data-url"`, в `onChange` приходит объект с `dataUrl`.\nЕсли `readMode` равен `"array-buffer"`, в `onChange` приходит объект с `buffer`.',methods:[],displayName:`InputFile`}})),k=e({ArrayBufferMode:()=>I,Controlled:()=>P,WithInitialValue:()=>F,__namedExportsOrder:()=>L,default:()=>N}),A,j,M,N,P,F,I,L,R=n((()=>{A=t(r(),1),O(),j=i(),M=(e,t=`application/pdf`)=>{let n=new File([`demo-file`],e,{type:t,lastModified:17040672e5});return{mode:`data-url`,meta:{name:n.name,mime:n.type,size:n.size,lastModified:n.lastModified},dataUrl:`data:${t};base64,ZGVtby1maWxl`,file:n}},N={title:`Shared/UI/InputFile`,component:T,args:{value:void 0,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля загрузки.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст в поле, пока файл не выбран.`,control:`text`},value:{description:`Текущий результат чтения выбранного файла.`,control:!1},onChange:{description:`Вызывается после успешного чтения файла.`,control:!1},onReadError:{description:`Вызывается при ошибке чтения или валидации файла.`,control:!1},onClear:{description:`Очищает выбранный файл и показывает кнопку очистки.`,control:!1},accept:{description:"HTML `accept` для нативного диалога выбора файла.",control:`text`},allowedMime:{description:`Белый список MIME-типов для readFile-валидации.`,control:!1},maxBytes:{description:`Максимальный размер файла в байтах.`,control:`number`},readMode:{description:`Режим чтения файла: data-url или array-buffer.`,control:`inline-radio`,options:[`data-url`,`array-buffer`]},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Callback сброса ошибки при повторном выборе файла.`,control:!1},disabled:{description:`Блокирует выбор файла.`,control:`boolean`},size:{description:`Размер визуального контрола.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},P={render:e=>{let[t,n]=(0,A.useState)(e.value),[r,i]=(0,A.useState)(e.error??``);return(0,j.jsx)(T,{...e,value:t,error:r||void 0,onChange:n,onClear:()=>n(void 0),onClearError:()=>i(``)})},args:{label:`Документ`,description:`Загрузите один файл.`,placeholder:`Выберите файл`,accept:[`.pdf`,`.docx`],readMode:`data-url`,value:void 0}},F={render:e=>{let[t,n]=(0,A.useState)(M(`report.pdf`));return(0,j.jsx)(T,{...e,value:t,onChange:n,onClear:()=>n(void 0)})},args:{label:`Файл с предзаполнением`,description:`Демонстрация состояния после успешной загрузки.`}},I={render:e=>{let[t,n]=(0,A.useState)(void 0);return(0,j.jsx)(T,{...e,value:t,onChange:n,onClear:()=>n(void 0)})},args:{label:`Двоичное чтение`,description:"Режим `array-buffer` для дальнейшей бинарной обработки.",readMode:`array-buffer`,accept:[`.zip`,`.pdf`],value:void 0}},P.parameters={...P.parameters,docs:{...P.parameters?.docs,source:{originalSource:`{
2
2
  render: args => {
3
3
  const [value, setValue] = useState<ReadFileResult | undefined>(args.value);
4
4
  const [error, setError] = useState(args.error ?? "");
@@ -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-DoPnTsyg.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-DOISS71W.js";import{Controlled as p,LimitReached as m,WithInitialFiles as h,n as g,t as _}from"./InputFiles.stories-DxdLOKbl.js";function v(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{of:_,parameters:{docs:{toc:!0}}}),`
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,LimitReached as m,WithInitialFiles as h,n as g,t as _}from"./InputFiles.stories-CVr0ENgC.js";function v(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{of:_,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,b.jsx)(c,{children:`InputFiles`}),`
3
3
  `,(0,b.jsx)(i,{children:`Выбор и хранение нескольких файлов в контролируемом режиме`}),`
4
4
  `,(0,b.jsx)(o.p,{children:`InputFiles уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -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,n as o}from"./utils-BAfp5vsY.js";import{n as s,t as c}from"./lucide-react-gtfXEQZ7.js";import{n as l,t as u}from"./ui.module-wFHXkJzp.js";import{o as d,r as f,u as p}from"./Input-DrlKVI51.js";import{t as m}from"./input-DD2xaJKI.js";import{a as h,i as g,o as _,r as v,s as y}from"./file-hArYcyES.js";var b,x,S,C,w,T,E,D=t((()=>{b=`h9SMea`,x=`rUyh0y`,S=`Q0CY1r`,C=`AJuYXd`,w=`CKKkOD`,T=`UgxhS1`,E={control:b,hiddenInput:x,fileList:S,fileItem:C,fileItemName:w,removeButton:T}}));function O({files:e,onChange:t}){let n=(0,k.useCallback)(n=>{t(e.filter((e,t)=>t!==n))},[e,t]);return!e||!e.length?null:(0,A.jsx)(`ul`,{className:E.fileList,children:e.map((e,t)=>(0,A.jsxs)(`li`,{className:E.fileItem,children:[(0,A.jsx)(`span`,{className:E.fileItemName,children:e.meta.name}),(0,A.jsx)(`button`,{type:`button`,className:i(E.removeButton,`flexCenter`),onClick:()=>n(t),"aria-label":`Удалить ${e.meta.name}`,children:(0,A.jsx)(s,{})})]},`${e.meta.name}-${e.meta.lastModified}`))})}var k,A,j=t((()=>{k=e(n(),1),a(),c(),D(),A=r(),O.__docgenInfo={description:``,methods:[],displayName:`InputFilesList`,props:{files:{required:!0,tsType:{name:`Array`,elements:[{name:`TFile`}],raw:`TFile[]`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(files: TFile[]) => void`,signature:{arguments:[{type:{name:`Array`,elements:[{name:`TFile`}],raw:`TFile[]`},name:`files`}],return:{name:`void`}}},description:``}}}}));function M(e){let{value:t,onReadError:n,accept:r,allowedMime:a,maxBytes:s,maxFiles:c,label:u,description:m,placeholder:g=`Выберите файлы`,disabled:b,size:x,error:S,onClearError:C,className:w}=e;h(a),_(r);let T=(0,N.useRef)(null),{controlId:D,labelId:k,descriptionId:A,errorId:j,describedBy:M}=p({hasLabel:u!=null,hasDescription:!!m,hasError:!!S}),F=typeof c==`number`&&t.length>=c,I=(0,N.useCallback)(async r=>{let i=r.target.files;if(!i||i.length===0)return;let o=Array.from(i);r.target.value=``,S&&C&&C();let l=typeof c==`number`?c-t.length:o.length,u=o.slice(0,l);if(e.readMode===`array-buffer`){let t=[];for(let e of u)try{let n=await y(e,{allowedMime:a,maxBytes:s,mode:`array-buffer`});t.push(n)}catch(e){e instanceof v&&n&&n(e)}t.length>0&&e.onChange([...e.value,...t]);return}let d=[];for(let e of u)try{let t=await y(e,{allowedMime:a,maxBytes:s});d.push(t)}catch(e){e instanceof v&&n&&n(e)}d.length>0&&e.onChange([...e.value,...d])},[e,c,t.length,a,s,n,S,C]),L=(0,N.useCallback)(()=>{T.current?.click()},[]),R=(e.readMode,(0,P.jsx)(O,{files:e.value,onChange:e.onChange}));return(0,P.jsxs)(d,{label:u,description:m,disabled:b,className:w,size:x,error:S,controlId:D,labelId:k,descriptionId:A,errorId:j,children:[(0,P.jsx)(`input`,{ref:T,id:D,type:`file`,accept:(r??a)?.join(`,`),multiple:!0,disabled:b||F,className:E.hiddenInput,onChange:I,tabIndex:-1}),(0,P.jsx)(f,{children:()=>(0,P.jsx)(`div`,{role:`button`,tabIndex:b||F?-1:0,onClick:L,onKeyDown:e=>o(e,L,{disabled:b||F}),className:i(l.uiInputControl,E.control,!!S&&`invalid`),"data-disabled":b||void 0,"aria-invalid":!!S||void 0,"aria-disabled":b||F,"aria-labelledby":k,"aria-describedby":M,children:(0,P.jsx)(`span`,{className:l.uiPlaceholder,children:F?`Максимум ${c} файлов`:g})})}),R]})}var N,P,F=t((()=>{N=e(n(),1),g(),a(),m(),u(),D(),j(),P=r(),M.__docgenInfo={description:'InputFiles — компонент выбора нескольких файлов.\n\nПоле стилизовано как InputText. При клике открывается нативный\nдиалог с multiple. Каждый выбранный файл читается через readFile\nи добавляется в массив value.\n\nСписок выбранных файлов отображается под полем.\nКаждый файл можно удалить кнопкой «крестик».\n\nInputFiles типизирует массив по `readMode`.\nЕсли `readMode` не задан или равен `"data-url"`, в `value` и `onChange`\nиспользуется массив объектов с `dataUrl`. Если `readMode` равен\n`"array-buffer"`, используется массив объектов с `buffer`.',methods:[],displayName:`InputFiles`}}));export{j as i,F as n,O as r,M 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,n 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"./ui.module-wFHXkJzp.js";import{o as d,r as f,u as p}from"./Input-DD9fx2Sx.js";import{t as m}from"./input-Cv9ps4La.js";import{a as h,i as g,o as _,r as v,s as y}from"./file-hArYcyES.js";var b,x,S,C,w,T,E,D=t((()=>{b=`h9SMea`,x=`rUyh0y`,S=`Q0CY1r`,C=`AJuYXd`,w=`CKKkOD`,T=`UgxhS1`,E={control:b,hiddenInput:x,fileList:S,fileItem:C,fileItemName:w,removeButton:T}}));function O({files:e,onChange:t}){let n=(0,k.useCallback)(n=>{t(e.filter((e,t)=>t!==n))},[e,t]);return!e||!e.length?null:(0,A.jsx)(`ul`,{className:E.fileList,children:e.map((e,t)=>(0,A.jsxs)(`li`,{className:E.fileItem,children:[(0,A.jsx)(`span`,{className:E.fileItemName,children:e.meta.name}),(0,A.jsx)(`button`,{type:`button`,className:i(E.removeButton,`flexCenter`),onClick:()=>n(t),"aria-label":`Удалить ${e.meta.name}`,children:(0,A.jsx)(s,{})})]},`${e.meta.name}-${e.meta.lastModified}`))})}var k,A,j=t((()=>{k=e(n(),1),a(),c(),D(),A=r(),O.__docgenInfo={description:``,methods:[],displayName:`InputFilesList`,props:{files:{required:!0,tsType:{name:`Array`,elements:[{name:`TFile`}],raw:`TFile[]`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(files: TFile[]) => void`,signature:{arguments:[{type:{name:`Array`,elements:[{name:`TFile`}],raw:`TFile[]`},name:`files`}],return:{name:`void`}}},description:``}}}}));function M(e){let{value:t,onReadError:n,accept:r,allowedMime:a,maxBytes:s,maxFiles:c,label:u,description:m,placeholder:g=`Выберите файлы`,disabled:b,size:x,error:S,onClearError:C,className:w}=e;h(a),_(r);let T=(0,N.useRef)(null),{controlId:D,labelId:k,descriptionId:A,errorId:j,describedBy:M}=p({hasLabel:u!=null,hasDescription:!!m,hasError:!!S}),F=typeof c==`number`&&t.length>=c,I=(0,N.useCallback)(async r=>{let i=r.target.files;if(!i||i.length===0)return;let o=Array.from(i);r.target.value=``,S&&C&&C();let l=typeof c==`number`?c-t.length:o.length,u=o.slice(0,l);if(e.readMode===`array-buffer`){let t=[];for(let e of u)try{let n=await y(e,{allowedMime:a,maxBytes:s,mode:`array-buffer`});t.push(n)}catch(e){e instanceof v&&n&&n(e)}t.length>0&&e.onChange([...e.value,...t]);return}let d=[];for(let e of u)try{let t=await y(e,{allowedMime:a,maxBytes:s});d.push(t)}catch(e){e instanceof v&&n&&n(e)}d.length>0&&e.onChange([...e.value,...d])},[e,c,t.length,a,s,n,S,C]),L=(0,N.useCallback)(()=>{T.current?.click()},[]),R=(e.readMode,(0,P.jsx)(O,{files:e.value,onChange:e.onChange}));return(0,P.jsxs)(d,{label:u,description:m,disabled:b,className:w,size:x,error:S,controlId:D,labelId:k,descriptionId:A,errorId:j,children:[(0,P.jsx)(`input`,{ref:T,id:D,type:`file`,accept:(r??a)?.join(`,`),multiple:!0,disabled:b||F,className:E.hiddenInput,onChange:I,tabIndex:-1}),(0,P.jsx)(f,{children:()=>(0,P.jsx)(`div`,{role:`button`,tabIndex:b||F?-1:0,onClick:L,onKeyDown:e=>o(e,L,{disabled:b||F}),className:i(l.uiInputControl,E.control,!!S&&`invalid`),"data-disabled":b||void 0,"aria-invalid":!!S||void 0,"aria-disabled":b||F,"aria-labelledby":k,"aria-describedby":M,children:(0,P.jsx)(`span`,{className:l.uiPlaceholder,children:F?`Максимум ${c} файлов`:g})})}),R]})}var N,P,F=t((()=>{N=e(n(),1),g(),a(),m(),u(),D(),j(),P=r(),M.__docgenInfo={description:'InputFiles — компонент выбора нескольких файлов.\n\nПоле стилизовано как InputText. При клике открывается нативный\nдиалог с multiple. Каждый выбранный файл читается через readFile\nи добавляется в массив value.\n\nСписок выбранных файлов отображается под полем.\nКаждый файл можно удалить кнопкой «крестик».\n\nInputFiles типизирует массив по `readMode`.\nЕсли `readMode` не задан или равен `"data-url"`, в `value` и `onChange`\nиспользуется массив объектов с `dataUrl`. Если `readMode` равен\n`"array-buffer"`, используется массив объектов с `buffer`.',methods:[],displayName:`InputFiles`}}));export{j as i,F as n,O as r,M as t};
@@ -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-CTboIfoI.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{n as a,t as o}from"./InputFiles-BPW2NUcJ.js";var s=e({Controlled:()=>f,LimitReached:()=>m,WithInitialFiles:()=>p,__namedExportsOrder:()=>h,default:()=>d}),c,l,u,d,f,p,m,h,g=n((()=>{c=t(r(),1),a(),l=i(),u=(e,t=`application/pdf`)=>{let n=new File([`demo-file`],e,{type:t,lastModified:17040672e5});return{mode:`data-url`,meta:{name:n.name,mime:n.type,size:n.size,lastModified:n.lastModified},dataUrl:`data:${t};base64,ZGVtby1maWxl`,file:n}},d={title:`Shared/UI/InputFiles`,component:o,args:{value:[],onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля множественной загрузки.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст в поле, пока список файлов пуст.`,control:`text`},value:{description:`Массив результатов чтения выбранных файлов.`,control:!1},onChange:{description:`Вызывается с новым массивом файлов после добавления/удаления.`,control:!1},onReadError:{description:`Вызывается при ошибке чтения отдельного файла.`,control:!1},accept:{description:"HTML `accept` для диалога выбора файлов.",control:`text`},allowedMime:{description:`Список допустимых MIME-типов при валидации.`,control:!1},maxBytes:{description:`Максимальный размер одного файла в байтах.`,control:`number`},readMode:{description:`Режим чтения: data-url или array-buffer.`,control:`inline-radio`,options:[`data-url`,`array-buffer`]},maxFiles:{description:`Лимит количества файлов в списке.`,control:`number`},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Вызывается при выборе новых файлов для сброса ошибки.`,control:!1},disabled:{description:`Полностью блокирует выбор файлов.`,control:`boolean`},size:{description:`Размер визуального контрола.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},f={render:e=>{let[t,n]=(0,c.useState)([]);return(0,l.jsx)(o,{...e,readMode:`data-url`,value:t,onChange:n})},args:{label:`Вложения`,description:`Можно выбрать несколько файлов.`,placeholder:`Выберите файлы`,accept:[`.pdf`,`.png`,`.jpg`],maxFiles:5,value:[]}},p={render:e=>{let[t,n]=(0,c.useState)([u(`contract.pdf`),u(`diagram.png`,`image/png`)]);return(0,l.jsx)(o,{...e,readMode:`data-url`,value:t,onChange:n})},args:{label:`Предзаполненный список`,description:`Иллюстрация удаления файлов из уже заполненного значения.`}},m={render:e=>{let[t,n]=(0,c.useState)([u(`first.pdf`),u(`second.pdf`)]);return(0,l.jsx)(o,{...e,readMode:`data-url`,value:t,onChange:n})},args:{label:`Лимит файлов`,description:`После достижения лимита поле выбора блокируется.`,maxFiles:2}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
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"./InputFiles-ZK4wdii7.js";var s=e({Controlled:()=>f,LimitReached:()=>m,WithInitialFiles:()=>p,__namedExportsOrder:()=>h,default:()=>d}),c,l,u,d,f,p,m,h,g=n((()=>{c=t(r(),1),a(),l=i(),u=(e,t=`application/pdf`)=>{let n=new File([`demo-file`],e,{type:t,lastModified:17040672e5});return{mode:`data-url`,meta:{name:n.name,mime:n.type,size:n.size,lastModified:n.lastModified},dataUrl:`data:${t};base64,ZGVtby1maWxl`,file:n}},d={title:`Shared/UI/InputFiles`,component:o,args:{value:[],onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля множественной загрузки.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст в поле, пока список файлов пуст.`,control:`text`},value:{description:`Массив результатов чтения выбранных файлов.`,control:!1},onChange:{description:`Вызывается с новым массивом файлов после добавления/удаления.`,control:!1},onReadError:{description:`Вызывается при ошибке чтения отдельного файла.`,control:!1},accept:{description:"HTML `accept` для диалога выбора файлов.",control:`text`},allowedMime:{description:`Список допустимых MIME-типов при валидации.`,control:!1},maxBytes:{description:`Максимальный размер одного файла в байтах.`,control:`number`},readMode:{description:`Режим чтения: data-url или array-buffer.`,control:`inline-radio`,options:[`data-url`,`array-buffer`]},maxFiles:{description:`Лимит количества файлов в списке.`,control:`number`},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Вызывается при выборе новых файлов для сброса ошибки.`,control:!1},disabled:{description:`Полностью блокирует выбор файлов.`,control:`boolean`},size:{description:`Размер визуального контрола.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},f={render:e=>{let[t,n]=(0,c.useState)([]);return(0,l.jsx)(o,{...e,readMode:`data-url`,value:t,onChange:n})},args:{label:`Вложения`,description:`Можно выбрать несколько файлов.`,placeholder:`Выберите файлы`,accept:[`.pdf`,`.png`,`.jpg`],maxFiles:5,value:[]}},p={render:e=>{let[t,n]=(0,c.useState)([u(`contract.pdf`),u(`diagram.png`,`image/png`)]);return(0,l.jsx)(o,{...e,readMode:`data-url`,value:t,onChange:n})},args:{label:`Предзаполненный список`,description:`Иллюстрация удаления файлов из уже заполненного значения.`}},m={render:e=>{let[t,n]=(0,c.useState)([u(`first.pdf`),u(`second.pdf`)]);return(0,l.jsx)(o,{...e,readMode:`data-url`,value:t,onChange:n})},args:{label:`Лимит файлов`,description:`После достижения лимита поле выбора блокируется.`,maxFiles:2}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
2
2
  render: args => {
3
3
  const [value, setValue] = useState<ReadFileAsDataUrlResult[]>([]);
4
4
  return <InputFiles {...args} readMode="data-url" value={value} onChange={setValue} />;
@@ -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-DoPnTsyg.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-DOISS71W.js";import{ArrayBufferMode as p,Controlled as m,WithInitialImage as h,n as g,t as _}from"./InputImage.stories-D3hw0C1x.js";function v(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{of:_,parameters:{docs:{toc:!0}}}),`
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{ArrayBufferMode as p,Controlled as m,WithInitialImage as h,n as g,t as _}from"./InputImage.stories-Dtx-ynMr.js";function v(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{of:_,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,b.jsx)(c,{children:`InputImage`}),`
3
3
  `,(0,b.jsx)(i,{children:`Контрол загрузки и предварительного просмотра изображения в формах и карточках`}),`
4
4
  `,(0,b.jsx)(o.p,{children:`InputImage уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.