@ryuzaki13/react-foundation-ui 1.1.8 → 1.2.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 (251) hide show
  1. package/dist/advanced-search/index.js +1 -1
  2. package/dist/check-box/CheckBox.d.ts +3 -1
  3. package/dist/check-box/CheckBox.d.ts.map +1 -1
  4. package/dist/check-box/index.js +1 -1
  5. package/dist/chunks/{CheckBox.module-D0Ze9qh3.js → CheckBox.module-C5SjPwSj.js} +2 -1
  6. package/dist/chunks/{CheckBox.module-D0Ze9qh3.js.map → CheckBox.module-C5SjPwSj.js.map} +1 -1
  7. package/dist/chunks/{TextEditorLexicalClient-DeBA6fQX.js → TextEditorLexicalClient-D2P2VLL0.js} +2 -2
  8. package/dist/chunks/{TextEditorLexicalClient-DeBA6fQX.js.map → TextEditorLexicalClient-D2P2VLL0.js.map} +1 -1
  9. package/dist/chunks/check-box-Dd3YFuxd.js +51 -0
  10. package/dist/chunks/check-box-Dd3YFuxd.js.map +1 -0
  11. package/dist/chunks/{multi-select-BCpRct-k.js → multi-select-Bg7Psslp.js} +56 -81
  12. package/dist/chunks/multi-select-Bg7Psslp.js.map +1 -0
  13. package/dist/chunks/{picker-DTZk09Ag.js → picker-BAQ9NeHe.js} +117 -88
  14. package/dist/chunks/picker-BAQ9NeHe.js.map +1 -0
  15. package/dist/chunks/{select-Bd48kVI3.js → select-DKbSVCp4.js} +16 -16
  16. package/dist/chunks/{select-Bd48kVI3.js.map → select-DKbSVCp4.js.map} +1 -1
  17. package/dist/layout-picker/index.js +50 -48
  18. package/dist/layout-picker/index.js.map +1 -1
  19. package/dist/layout-picker/ui/LayoutPicker.d.ts +6 -1
  20. package/dist/layout-picker/ui/LayoutPicker.d.ts.map +1 -1
  21. package/dist/multi-select/index.js +1 -1
  22. package/dist/multi-select/ui/defaultRenderers.d.ts.map +1 -1
  23. package/dist/picker/PickerPopup.d.ts +4 -1
  24. package/dist/picker/PickerPopup.d.ts.map +1 -1
  25. package/dist/picker/PickerSelectionToolbar.d.ts +13 -0
  26. package/dist/picker/PickerSelectionToolbar.d.ts.map +1 -0
  27. package/dist/picker/index.d.ts +1 -0
  28. package/dist/picker/index.d.ts.map +1 -1
  29. package/dist/picker/index.js +2 -2
  30. package/dist/picker/model/usePickerFloatingListbox.d.ts +2 -0
  31. package/dist/picker/model/usePickerFloatingListbox.d.ts.map +1 -1
  32. package/dist/preset-select/index.js +1 -1
  33. package/dist/radio-button/index.js +1 -1
  34. package/dist/select/index.js +1 -1
  35. package/dist/slider/index.js +1 -1
  36. package/dist/state-select/index.js +1 -1
  37. package/dist/styles.css +1 -1
  38. package/dist/text-editor/index.js +1 -1
  39. package/dist/tree-select/ODataTreeMultiSelect.d.ts +4 -2
  40. package/dist/tree-select/ODataTreeMultiSelect.d.ts.map +1 -1
  41. package/dist/tree-select/TreeMultiSelect.d.ts +4 -2
  42. package/dist/tree-select/TreeMultiSelect.d.ts.map +1 -1
  43. package/dist/tree-select/TreeNodeContent.d.ts +4 -2
  44. package/dist/tree-select/TreeNodeContent.d.ts.map +1 -1
  45. package/dist/tree-select/TreePickerBase.d.ts +8 -2
  46. package/dist/tree-select/TreePickerBase.d.ts.map +1 -1
  47. package/dist/tree-select/index.js +340 -235
  48. package/dist/tree-select/index.js.map +1 -1
  49. package/dist/tree-select/model/resolveBalancedTreeColumnsLayout.d.ts +22 -0
  50. package/dist/tree-select/model/resolveBalancedTreeColumnsLayout.d.ts.map +1 -0
  51. package/dist/tree-select/model/treeUtils.d.ts +6 -0
  52. package/dist/tree-select/model/treeUtils.d.ts.map +1 -1
  53. package/dist/tree-select/types.d.ts +2 -0
  54. package/dist/tree-select/types.d.ts.map +1 -1
  55. package/package.json +2 -2
  56. package/storybook-static/assets/{Badge-Dn74JUF_.js → Badge-D7v1JZZ8.js} +1 -1
  57. package/storybook-static/assets/{Badge.stories-0f2dBkFF.js → Badge.stories-ByDc-8tr.js} +1 -1
  58. package/storybook-static/assets/{Button-DDo_z6nQ.js → Button-C5Ybi_6I.js} +1 -1
  59. package/storybook-static/assets/{Button-C1TJgYBn.js → Button-DKzqaITD.js} +1 -1
  60. package/storybook-static/assets/{Button.stories-CEhM2nmB.js → Button.stories-DX0MePOq.js} +1 -1
  61. package/storybook-static/assets/{CheckBox-Brecn2Go.js → CheckBox-BbBVCd-t.js} +1 -1
  62. package/storybook-static/assets/CheckBox-CG7erYfw.js +2 -0
  63. package/storybook-static/assets/{CheckBox-B1xm2kwz.css → CheckBox-CT1_Mjc0.css} +1 -1
  64. package/storybook-static/assets/CheckBox.module-ezWPE2pa.js +1 -0
  65. package/storybook-static/assets/{CheckBox.stories-BX0rAtSE.js → CheckBox.stories-DzB9XnzM.js} +1 -1
  66. package/storybook-static/assets/{Color-KMSTOMOX-BWvVg2h-.js → Color-KMSTOMOX-DkRZLrHN.js} +1 -1
  67. package/storybook-static/assets/{ContextMenu-wm9Jh9ZJ.js → ContextMenu-BAhISS2o.js} +1 -1
  68. package/storybook-static/assets/{ContextMenu.stories-BNgeqlBC.js → ContextMenu.stories-B4v0sOgu.js} +1 -1
  69. package/storybook-static/assets/{DateInput-C4POi6jK.js → DateInput-BXTSi08q.js} +1 -1
  70. package/storybook-static/assets/{DateInput-BvCdgET8.js → DateInput-CwxInHA8.js} +1 -1
  71. package/storybook-static/assets/{DateInput.stories-Co44UsPz.js → DateInput.stories-7gdC4CVg.js} +1 -1
  72. package/storybook-static/assets/{DateRangePresetSelect-CFRcBK8Q.js → DateRangePresetSelect-BJnOqHar.js} +1 -1
  73. package/storybook-static/assets/{DateRangePresetSelect-DS2LFGpx.js → DateRangePresetSelect-BYeBU5zB.js} +1 -1
  74. package/storybook-static/assets/{DateRangePresetSelect.stories-Bw2wid1f.js → DateRangePresetSelect.stories-C7z1iucY.js} +1 -1
  75. package/storybook-static/assets/{Detail-DRVWmbKj.js → Detail-DH7ZmSPc.js} +1 -1
  76. package/storybook-static/assets/{Detail.stories-DiPu8idx.js → Detail.stories-BSv9uWqB.js} +1 -1
  77. package/storybook-static/assets/{Dialog-DWwwmwKU.js → Dialog-Dpcmx3OO.js} +1 -1
  78. package/storybook-static/assets/{Dialog.stories-H65hC3at.js → Dialog.stories-CySTfqZJ.js} +1 -1
  79. package/storybook-static/assets/{Disclosure-DXCJIvn2.js → Disclosure-GuRERHI1.js} +1 -1
  80. package/storybook-static/assets/{Disclosure.stories-BtvyHQlf.js → Disclosure.stories-DYOViMcd.js} +1 -1
  81. package/storybook-static/assets/{DocsRenderer-JROSPFPF-BIOn2Yw2.js → DocsRenderer-JROSPFPF-mXFEHzID.js} +2 -2
  82. package/storybook-static/assets/{DropZone-B5GgSTT6.js → DropZone-ueGIp3x3.js} +1 -1
  83. package/storybook-static/assets/{DropZone.stories-DXQz-psy.js → DropZone.stories-DR_AdNgw.js} +1 -1
  84. package/storybook-static/assets/{DropdownMenu-DiCKdtJQ.js → DropdownMenu-CK5lznDK.js} +1 -1
  85. package/storybook-static/assets/{ExpandableActionPanel.stories--iDMcu7P.js → ExpandableActionPanel.stories-2CQ1AWdx.js} +1 -1
  86. package/storybook-static/assets/{Flex-COhmAKNn.js → Flex-BOk2MClD.js} +1 -1
  87. package/storybook-static/assets/{Flex-Cl2bB8Po.js → Flex-DW-ftapu.js} +1 -1
  88. package/storybook-static/assets/{Flex.stories-DMuAAT19.js → Flex.stories-HzEHXSGa.js} +1 -1
  89. package/storybook-static/assets/{Grid-PM5n8eI2.js → Grid-D1SjHhSh.js} +1 -1
  90. package/storybook-static/assets/{Grid-Df08ACJK.js → Grid-zr1rxPoi.js} +1 -1
  91. package/storybook-static/assets/{Grid.stories-Do5Od8Vw.js → Grid.stories-BLEMxz0Y.js} +1 -1
  92. package/storybook-static/assets/{ImageCropper.stories-EvtSYfKt.js → ImageCropper.stories-B9PtK7QG.js} +1 -1
  93. package/storybook-static/assets/{ImageRenderer-B2AC5NZh.js → ImageRenderer-DEGHLXPn.js} +1 -1
  94. package/storybook-static/assets/{ImageRenderer.stories-DzFi_sDQ.js → ImageRenderer.stories-ukNyUK8o.js} +1 -1
  95. package/storybook-static/assets/{ImageView.stories-B1g_OpL2.js → ImageView.stories-BszL_0Zc.js} +1 -1
  96. package/storybook-static/assets/{ImageViewer.stories-b0cFqboR.js → ImageViewer.stories-GO-di0mo.js} +2 -2
  97. package/storybook-static/assets/{ImageViewerRuntime-D_IBJyiC.js → ImageViewerRuntime-C7pZfqPI.js} +1 -1
  98. package/storybook-static/assets/{Input-y5ZPRO5m.js → Input-BTierf74.js} +1 -1
  99. package/storybook-static/assets/{Input-CyGgeUCG.js → Input-Bt2IerRO.js} +1 -1
  100. package/storybook-static/assets/{Input.stories-Dhv3f6d7.js → Input.stories-DhNpohII.js} +1 -1
  101. package/storybook-static/assets/{InputDateTime-ZXVROSAW.js → InputDateTime-BtZX5hDd.js} +1 -1
  102. package/storybook-static/assets/{InputDateTime.stories-NMpK5Peb.js → InputDateTime.stories-BTehTQnn.js} +1 -1
  103. package/storybook-static/assets/{InputFile-BR2c0rNb.js → InputFile-DHcad0UA.js} +1 -1
  104. package/storybook-static/assets/{InputFile.stories-BuNiPkPF.js → InputFile.stories-EhvFRZEW.js} +1 -1
  105. package/storybook-static/assets/{InputFiles-BdhvE0kz.js → InputFiles-BIPBlJCX.js} +1 -1
  106. package/storybook-static/assets/{InputFiles-BlGer_7z.js → InputFiles-v2NJm_qh.js} +1 -1
  107. package/storybook-static/assets/{InputFiles.stories-BPGnbszv.js → InputFiles.stories-BayzozA6.js} +1 -1
  108. package/storybook-static/assets/{InputImage-zHzuV5NX.js → InputImage-DGj2RHDF.js} +1 -1
  109. package/storybook-static/assets/{InputImage.stories-BXKgBMoQ.js → InputImage.stories-DyULIi5J.js} +1 -1
  110. package/storybook-static/assets/{LayoutPicker-L-0F9Vrb.js → LayoutPicker-BhMHQ6qN.js} +4 -3
  111. package/storybook-static/assets/LayoutPicker.stories-q8iUnVpY.js +449 -0
  112. package/storybook-static/assets/{Listbox-YWvaCK77.js → Listbox-C_Exppg-.js} +1 -1
  113. package/storybook-static/assets/{Listbox.stories-BSJmd-mH.js → Listbox.stories-CGkGgr1a.js} +1 -1
  114. package/storybook-static/assets/{Modal-CQW1mNSz.js → Modal-Bovqf5pf.js} +1 -1
  115. package/storybook-static/assets/{Modal.stories-BEpdLX9t.js → Modal.stories-BK00bPl-.js} +1 -1
  116. package/storybook-static/assets/{MultiSelect-CUQV67Ev.css → MultiSelect-BoIwmje6.css} +1 -1
  117. package/storybook-static/assets/MultiSelect-CrQL1Ipo.js +2 -0
  118. package/storybook-static/assets/{MultiSelect-HXlabU2B.js → MultiSelect-Cuhm_3qG.js} +1 -1
  119. package/storybook-static/assets/{MultiSelect.stories-CflQTXbQ.js → MultiSelect.stories-DzpE4zRQ.js} +1 -1
  120. package/storybook-static/assets/{NotificationsHost-s71CKpxG.js → NotificationsHost-ch3PRXY1.js} +1 -1
  121. package/storybook-static/assets/{NotificationsHost.stories-Ovu7jDcj.js → NotificationsHost.stories-C2_Yv4hp.js} +1 -1
  122. package/storybook-static/assets/{ODataMultiSelect-B-u9xRiQ.js → ODataMultiSelect-BaHv24bR.js} +1 -1
  123. package/storybook-static/assets/{ODataMultiSelect.stories-DajVZbpu.js → ODataMultiSelect.stories-CirB5r0U.js} +1 -1
  124. package/storybook-static/assets/{ODataSelect-3wE4Syu-.js → ODataSelect-DCpmIrxn.js} +1 -1
  125. package/storybook-static/assets/{ODataSelect-DCGV65OH.js → ODataSelect-DRobtrxL.js} +1 -1
  126. package/storybook-static/assets/{ODataSelect.stories-C4ymfrRw.js → ODataSelect.stories-BfDzSEYh.js} +1 -1
  127. package/storybook-static/assets/{ODataTreeMultiSelect-fFgkMoG7.js → ODataTreeMultiSelect-BKtVg8_t.js} +1 -1
  128. package/storybook-static/assets/ODataTreeMultiSelect.stories-Cy_hJFR7.js +28 -0
  129. package/storybook-static/assets/{ODataTreeSelect-DHsV3AcR.js → ODataTreeSelect-CtcR9xTc.js} +1 -1
  130. package/storybook-static/assets/{ODataTreeSelect.stories-Dfv4WQyR.js → ODataTreeSelect.stories-CflBmWSY.js} +1 -1
  131. package/storybook-static/assets/{PeriodSelect-DlcFkHM4.js → PeriodSelect-Bb9RLrAP.js} +1 -1
  132. package/storybook-static/assets/{PeriodSelect.stories-DWwvypiE.js → PeriodSelect.stories-BVWGwTxF.js} +1 -1
  133. package/storybook-static/assets/{Popover-CDhH2vdG.js → Popover-DHxAzBcZ.js} +1 -1
  134. package/storybook-static/assets/{Popover.stories-DE7VCujJ.js → Popover.stories-CSsXOlfQ.js} +1 -1
  135. package/storybook-static/assets/{PresetRangeDateInput-CrsxXLDG.js → PresetRangeDateInput-BtT9qT_X.js} +1 -1
  136. package/storybook-static/assets/{PresetRangeDateInput.stories-DEG3r-qf.js → PresetRangeDateInput.stories-CdDhCVhC.js} +1 -1
  137. package/storybook-static/assets/{RadioButton-C46MFmRl.js → RadioButton-g8BzgLBx.js} +1 -1
  138. package/storybook-static/assets/{RadioButton.stories-C3--ehs5.js → RadioButton.stories-DDkpHQZh.js} +1 -1
  139. package/storybook-static/assets/{RadioGroup-Cj_foF9x.js → RadioGroup-DEiqietc.js} +1 -1
  140. package/storybook-static/assets/{RadioGroup-wy1BaQ9o.js → RadioGroup-DmC3Kq0U.js} +1 -1
  141. package/storybook-static/assets/{RadioGroup.stories-Bi9_WOVj.js → RadioGroup.stories-Cmj7AdLG.js} +1 -1
  142. package/storybook-static/assets/{Select-B36pVYvS.js → Select-CmKYViuR.js} +1 -1
  143. package/storybook-static/assets/{Select-Bgg-NjIq.js → Select-HhIbNmso.js} +1 -1
  144. package/storybook-static/assets/{Select.stories-Bl6_HqCh.js → Select.stories-CWJxI41B.js} +1 -1
  145. package/storybook-static/assets/{SelectOptionContent-CeSDFaTr.js → SelectOptionContent-DptMfd-O.js} +1 -1
  146. package/storybook-static/assets/{SerializableSelect-EIZrsX_q.js → SerializableSelect-BkSgKWRB.js} +1 -1
  147. package/storybook-static/assets/{SerializableSelect-CCcdn7s3.js → SerializableSelect-CQA10vMJ.js} +1 -1
  148. package/storybook-static/assets/{SerializableSelect.stories-D85sap4g.js → SerializableSelect.stories-BFCuuz2t.js} +1 -1
  149. package/storybook-static/assets/{SingleDateTimeInput-BJdvvXVc.js → SingleDateTimeInput-BfcECgA3.js} +1 -1
  150. package/storybook-static/assets/{SingleDateTimeInput.stories-Cpq8DLvn.js → SingleDateTimeInput.stories-DyowjiLp.js} +1 -1
  151. package/storybook-static/assets/{Slider-CqkHk2lK.js → Slider-CPLgIEaw.js} +1 -1
  152. package/storybook-static/assets/{Slider.stories-DmW9jsnD.js → Slider.stories-CnImlj4A.js} +1 -1
  153. package/storybook-static/assets/{SliderInput-DkekHTab.js → SliderInput-C2Q1T0vU.js} +1 -1
  154. package/storybook-static/assets/{SliderInput.stories-CqQh0HWR.js → SliderInput.stories-CJUN89pc.js} +1 -1
  155. package/storybook-static/assets/{Sortable-BBYH-Tva.js → Sortable-DPyfih4N.js} +1 -1
  156. package/storybook-static/assets/{Sortable.stories-DjEGWs4-.js → Sortable.stories-DItOzu5t.js} +1 -1
  157. package/storybook-static/assets/{Splitter-G3aR-zi9.js → Splitter-gmjouNuu.js} +1 -1
  158. package/storybook-static/assets/{Splitter.stories-XKGTUPMP.js → Splitter.stories-CCSZIcqs.js} +1 -1
  159. package/storybook-static/assets/{StateSelect-DhzkYW8p.js → StateSelect-CG7RPOcH.js} +1 -1
  160. package/storybook-static/assets/{StateSelect.stories-BAxN3YfG.js → StateSelect.stories-C1vyXGQT.js} +1 -1
  161. package/storybook-static/assets/{Switch-NVpZLd3g.js → Switch-D74-uQCk.js} +1 -1
  162. package/storybook-static/assets/{Switch.stories-BBowyrzJ.js → Switch.stories-BT3z4Ejw.js} +1 -1
  163. package/storybook-static/assets/{Table-C9r-j5hO.js → Table-BrFX0-DO.js} +1 -1
  164. package/storybook-static/assets/{Table.stories-CkoEoxYB.js → Table.stories-C6oPBhy0.js} +1 -1
  165. package/storybook-static/assets/{Tabs-tH37q7nI.js → Tabs-DqP4L44q.js} +1 -1
  166. package/storybook-static/assets/{Tabs.stories-aIywaszH.js → Tabs.stories-AJuiuYg6.js} +1 -1
  167. package/storybook-static/assets/{TagInput.stories-BX4XcJaC.js → TagInput.stories-BNKEqixk.js} +1 -1
  168. package/storybook-static/assets/{Textarea-DDn4pvJF.js → Textarea-B60jfl8B.js} +1 -1
  169. package/storybook-static/assets/{Textarea.stories-BZVZYh4p.js → Textarea.stories-BcDp6M7a.js} +1 -1
  170. package/storybook-static/assets/{TimePanel-vKlzE6gd.js → TimePanel-DLhzWAkt.js} +1 -1
  171. package/storybook-static/assets/{TimePanel.stories-BfdDWhtQ.js → TimePanel.stories-EAF0Iwzy.js} +1 -1
  172. package/storybook-static/assets/{Toggle-DAb5_sHq.js → Toggle-zLmaeFxV.js} +1 -1
  173. package/storybook-static/assets/{Toggle.stories-Bp99WoMR.js → Toggle.stories-CXCqTlgq.js} +1 -1
  174. package/storybook-static/assets/TreeMultiSelect-Cqzvsvll.js +1 -0
  175. package/storybook-static/assets/{TreeMultiSelect-CkNDwWuK.js → TreeMultiSelect-DqCeanEK.js} +1 -1
  176. package/storybook-static/assets/TreeMultiSelect.stories-CLgN86i0.js +18 -0
  177. package/storybook-static/assets/TreePickerBase-B35lReuv.css +1 -0
  178. package/storybook-static/assets/TreePickerBase-BZAJrNmY.js +22 -0
  179. package/storybook-static/assets/TreeSelect-CGEhTrwZ.js +1 -0
  180. package/storybook-static/assets/{TreeSelect-BYYl0yhs.js → TreeSelect-CxXbMUuz.js} +1 -1
  181. package/storybook-static/assets/{TreeSelect.stories-C56cleOX.js → TreeSelect.stories-D6JsuirR.js} +1 -1
  182. package/storybook-static/assets/{TreeTable-CPctUXOv.js → TreeTable-CHcN_J4f.js} +1 -1
  183. package/storybook-static/assets/{TreeTable.stories-D-R0a5NF.js → TreeTable.stories-Chf80BCf.js} +1 -1
  184. package/storybook-static/assets/{WithTooltip-7X4HQR7L-DYINYmJM.js → WithTooltip-7X4HQR7L-ClNgbWeP.js} +1 -1
  185. package/storybook-static/assets/{base-table-CTBvWnIb.js → base-table-DFNAHbOh.js} +3 -3
  186. package/storybook-static/assets/{blocks-D2VXMZGt.js → blocks-Cvma_IcF.js} +6 -6
  187. package/storybook-static/assets/{button-CofLsODD.js → button-kPwSLavu.js} +1 -1
  188. package/storybook-static/assets/{check-box-BUYji84r.js → check-box-lrsmWYyx.js} +1 -1
  189. package/storybook-static/assets/{chunk-3LY4VQVK-Dk0vkvRJ.js → chunk-3LY4VQVK-BTM7iIVH.js} +1 -1
  190. package/storybook-static/assets/{chunk-LITCR56V-DgP8YOaP.js → chunk-LITCR56V-ArT2yDYL.js} +1 -1
  191. package/storybook-static/assets/{contextMenu-MmOUI04g.js → contextMenu-Ca1VYkz6.js} +1 -1
  192. package/storybook-static/assets/{error-D6G67nWf.js → error-DuNJO9vV.js} +1 -1
  193. package/storybook-static/assets/{flex-DEzwJFBs.js → flex-BGvA-XpI.js} +1 -1
  194. package/storybook-static/assets/{floating-ui.react-DeHGyTLR.js → floating-ui.react-DQwZi-9a.js} +1 -1
  195. package/storybook-static/assets/formatter-L2YTDE3Q-DE5ZvVwE.js +1 -0
  196. package/storybook-static/assets/{formatters-DO-Bplkc.js → formatters-h4ZtB1KQ.js} +1 -1
  197. package/storybook-static/assets/grid-D9Cj-9Hk.js +1 -0
  198. package/storybook-static/assets/hooks-0JTkzX8v.js +5 -0
  199. package/storybook-static/assets/{iframe-BlBhvHwk.js → iframe-DOzGPw3M.js} +3 -3
  200. package/storybook-static/assets/{input-DM0LWdwF.js → input-CfG8dfNR.js} +1 -1
  201. package/storybook-static/assets/{lucide-react-DMR456up.js → lucide-react-CXmxxiwZ.js} +1 -1
  202. package/storybook-static/assets/{mdx-react-shim-BXKB7xbF.js → mdx-react-shim-Dt6mwzpn.js} +1 -1
  203. package/storybook-static/assets/{media-BZMZJXu3.js → media-C2c8Madb.js} +1 -1
  204. package/storybook-static/assets/{misc-_mjs2DH3.js → misc-BetQ78R5.js} +1 -1
  205. package/storybook-static/assets/{notifications-BxYiooNp.js → notifications-JG54VOrf.js} +1 -1
  206. package/storybook-static/assets/{odata-B4-s71TA.js → odata-CfPigtOy.js} +1 -1
  207. package/storybook-static/assets/odata-service-CXxiscbG.js +1 -0
  208. package/storybook-static/assets/{odataStoryFixtures-D5fZfJe7.js → odataStoryFixtures-x2DUwBVr.js} +1 -1
  209. package/storybook-static/assets/picker-C3kxY39P.js +2 -0
  210. package/storybook-static/assets/{picker-BmTTr59E.css → picker-DzBkX15M.css} +1 -1
  211. package/storybook-static/assets/{popover-B40B8LiS.js → popover-DK9hrPJ3.js} +1 -1
  212. package/storybook-static/assets/{preset-select-CH5-L7v5.js → preset-select-DI74dY8m.js} +1 -1
  213. package/storybook-static/assets/{react-18-BGjST092.js → react-18-BDmeTisq.js} +1 -1
  214. package/storybook-static/assets/{react-BRNfkHvq.js → react-DWEKtw6N.js} +1 -1
  215. package/storybook-static/assets/{react-dom-Dymo4Ige.js → react-dom-C1-d-rN9.js} +1 -1
  216. package/storybook-static/assets/select-Clm8A0Fz.js +1 -0
  217. package/storybook-static/assets/{slider-CZr1wjo-.js → slider-Dyk9y0wa.js} +1 -1
  218. package/storybook-static/assets/{sortable-Do0zRVl3.js → sortable-V1-iQvjL.js} +1 -1
  219. package/storybook-static/assets/{syntaxhighlighter-RTCFPKCB-YpNtMx0l.js → syntaxhighlighter-RTCFPKCB-fdaSGWy2.js} +1 -1
  220. package/storybook-static/assets/{text-BBt8S4hV.js → text-BDg3R98B.js} +1 -1
  221. package/storybook-static/assets/{theming-C9D6rg4N.js → theming-Cpt7iVYH.js} +1 -1
  222. package/storybook-static/assets/ui-DKM94Yn2.js +1 -0
  223. package/storybook-static/assets/{useODataSelectBase-Vi75dcI2.js → useODataSelectBase-CfKXO11g.js} +1 -1
  224. package/storybook-static/assets/{useODataTreeData-3VDV4NsS.js → useODataTreeData-CNz5U2G8.js} +1 -1
  225. package/storybook-static/assets/{utils-De5IM4sM.js → utils-D2Si_EM1.js} +1 -1
  226. package/storybook-static/iframe.html +1 -1
  227. package/storybook-static/index.json +1 -1
  228. package/storybook-static/project.json +1 -1
  229. package/dist/chunks/check-box-BowNqqd3.js +0 -48
  230. package/dist/chunks/check-box-BowNqqd3.js.map +0 -1
  231. package/dist/chunks/multi-select-BCpRct-k.js.map +0 -1
  232. package/dist/chunks/picker-DTZk09Ag.js.map +0 -1
  233. package/dist/multi-select/ui/MultiSelectOptionsToolbar.d.ts +0 -8
  234. package/dist/multi-select/ui/MultiSelectOptionsToolbar.d.ts.map +0 -1
  235. package/storybook-static/assets/CheckBox-Dou46_Q2.js +0 -2
  236. package/storybook-static/assets/CheckBox.module-Hr3mvdAC.js +0 -1
  237. package/storybook-static/assets/LayoutPicker.stories-s1valXGj.js +0 -449
  238. package/storybook-static/assets/MultiSelect-DbjbyS6f.js +0 -2
  239. package/storybook-static/assets/ODataTreeMultiSelect.stories-Ac6Y2rRQ.js +0 -24
  240. package/storybook-static/assets/TreeMultiSelect-CG09ybVB.js +0 -1
  241. package/storybook-static/assets/TreeMultiSelect.stories-DE6tQFRY.js +0 -14
  242. package/storybook-static/assets/TreePickerBase-DhZ9tbrV.js +0 -19
  243. package/storybook-static/assets/TreePickerBase-qreyVjhY.css +0 -1
  244. package/storybook-static/assets/TreeSelect-D3tOqZzi.js +0 -1
  245. package/storybook-static/assets/formatter-L2YTDE3Q-Cz7NqHTg.js +0 -1
  246. package/storybook-static/assets/grid-CUgqbILF.js +0 -1
  247. package/storybook-static/assets/hooks-3gvuoU6a.js +0 -5
  248. package/storybook-static/assets/odata-service-BHLtW14i.js +0 -1
  249. package/storybook-static/assets/picker-RP6lU_O4.js +0 -1
  250. package/storybook-static/assets/select-DDFRb6jY.js +0 -1
  251. package/storybook-static/assets/ui-5r8X6Kmj.js +0 -1
@@ -1,4 +1,4 @@
1
- import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-BlBhvHwk.js";import{t as r}from"./react-dom-Dymo4Ige.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,i as o}from"./utils-De5IM4sM.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-DMR456up.js";var x,S,C,w,T,E,D,O,k,A,j,M,ee,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=t((()=>{x=`carousel`,S=`controller`,C=`navigation`,w=`no-scroll`,T=`portal`,E=`root`,D=`toolbar`,O=`captions`,k=`counter`,A=`download`,j=`fullscreen`,M=`thumbnails`,ee=`zoom`,te=`loading`,ne=`playing`,re=`error`,ie=`complete`,ae=e=>`active-slide-${e}`,ae(te),ae(ne),ae(re),ae(ie),oe=`fullsize`,se=`flex_center`,ce=`no_scroll`,le=`no_scroll_padding`,ue=`slide`,de=`slide_wrapper`,fe=`prev`,pe=`next`,me=`swipe`,he=`close`,ge=`onPointerDown`,_e=`onPointerMove`,ve=`onPointerUp`,ye=`onPointerLeave`,be=`onPointerCancel`,xe=`onKeyDown`,Se=`onKeyUp`,Ce=`onWheel`,we=`Escape`,Te=`ArrowLeft`,Ee=`ArrowRight`,De=`button`,Oe=`icon`,ke=`contain`,Ae=`Unknown action type`}));function N(...e){return e.filter(Boolean).join(` `)}function P(e){return`${Qt}${e}`}function F(e){return`--${Qt}${e}`}function Me(e,t){return`${e}${t?`_${t}`:``}`}function Ne(e){return t=>Me(e,t)}function Pe(e,t){return e?.[t]??t}function Fe(e,t,n){return Pe(e,`{index} of {total}`).replace(/\{index}/g,`${Ge(n,t.length)+1}`).replace(/\{total}/g,`${t.length}`)}function Ie(...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 Le(){return typeof window<`u`}function Re(e,t=0){let n=10**t;return Math.round((e+2**-52)*n)/n}function ze(e){return e.type===void 0||e.type===`image`}function Be(e,t){return e.imageFit===`cover`||e.imageFit!==`contain`&&t===`cover`}function Ve(e){return typeof e==`string`?Number.parseInt(e,10):e}function He(e){if(typeof e==`number`)return{pixel:e};if(typeof e==`string`){let t=Ve(e);return e.endsWith(`%`)?{percent:t}:{pixel:t}}return{pixel:0}}function Ue(e,t){let n=He(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 We(){return(Le()?window==null?void 0:window.devicePixelRatio:void 0)||1}function Ge(e,t){return t>0?(e%t+t)%t:0}function Ke(e){return e.length>0}function qe(e,t){return e[Ge(t,e.length)]}function Je(e,t){return Ke(e)?qe(e,t):void 0}function Ye(e){return ze(e)?e.src:void 0}function Xe(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 Ze(e,t,n=0){return Math.min(e.preload,Math.max(e.finite?t.length-1:Math.floor(t.length/2),n))}function Qe(e){return{inert:$t?e:e?``:void 0}}function $e(e){e.scrollTop}function L(e,t){return{name:e,component:t}}function R(e,t){return{module:e,children:t}}function et(e,t,n){return e.module.name===t?n(e):e.children?[R(e.module,e.children.flatMap(e=>et(e,t,n)??[]))]:[e]}function tt(e,t,n){return e.flatMap(e=>et(e,t,n)??[])}function nt(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=tt(r,e,e=>[R(t,[e])])},o=(e,t)=>{r=tt(r,e,e=>[R(e.module,[R(t,e.children)])])},s=(e,t,n)=>{r=tt(r,e,e=>[R(e.module,[...n?[R(t)]:[],...e.children??[],...n?[]:[R(t)]])])},c=(e,t,n)=>{r=tt(r,e,e=>[...n?[R(t)]:[],e,...n?[]:[R(t)]])},l=e=>{o(S,e)},u=(e,t)=>{r=tt(r,e,e=>[R(t,e.children)])},d=e=>{r=tt(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 rt({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(tn.Provider,{value:a},e)}function it({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(rn.Provider,{value:n},t)}function at({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(on.Provider,{value:n},e)}function ot({children:e,...t}){return V.createElement(cn.Provider,{value:t},e)}function st(e,t){switch(t.type){case`swipe`:{let{slides:n}=e,r=t?.increment||0,i=e.globalIndex+r,a=Ge(i,n.length);return{slides:n,currentIndex:a,globalIndex:i,currentSlide:Je(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:Je(t.slides,t.index)}:e;default:throw Error(Ae)}}function ct({slides:e,index:t,children:n}){let[r,i]=V.useReducer(st,{slides:e,currentIndex:t,globalIndex:t,currentSlide:Je(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(un.Provider,{value:i},V.createElement(ln.Provider,{value:l},n))}function lt({isRTL:e,children:t}){let n=V.useMemo(()=>({isRTL:e}),[e]);return V.createElement(fn.Provider,{value:n},t)}function ut({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(mn.Provider,{value:n},e)}function dt(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 dt(e,V.createElement(`g`,{fill:`currentColor`},V.createElement(`path`,{d:`M0 0h24v24H0z`,fill:`none`}),t))}function ft(e,t){return dt(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 pt(){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 mt(e){let t=0,n=0,r=0,i=window.getComputedStyle(e).transform.match(/matrix.*\((.+)\)/);if(i){let e=i[1].split(`,`).map(Ve);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 ht(e,t){let n=V.useRef(void 0),r=V.useRef(void 0),i=pt();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(),mt(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 gt(){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 _t(){let e=V.useRef(void 0),{setTimeout:t,clearTimeout:n}=hn();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 vt(e,t){typeof e==`function`?e(t):e&&(e.current=t)}function yt(e,t){return V.useMemo(()=>e==null&&t==null?null:n=>{vt(e,n),vt(t,n)},[e,t])}function bt(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 xt(){return pn().isRTL}function St(){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(ge,e),onPointerMove:e=>t(_e,e),onPointerUp:e=>t(ve,e),onPointerLeave:e=>t(ye,e),onPointerCancel:e=>t(be,e),onKeyDown:e=>t(xe,e),onKeyUp:e=>t(Se,e),onWheel:e=>t(Ce,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 Ct(e,t){let n=V.useRef(0),r=_t(),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 wt({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(te),{publish:f}=sn(),{setTimeout:p}=hn(),m=V.useRef(null);V.useEffect(()=>{t===0&&f(ae(u))},[t,u,f]);let h=B(e=>{(`decode`in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{e.parentNode&&(d(ie),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(re),c?.()}),y=Be(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&&Le()?`${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(Cn()),y&&P(Cn(`cover`)),u!==`complete`&&P(Cn(`loading`)),D),style:{...C,...l,...E},...O,alt:e.alt??``,sizes:T,srcSet:w,src:e.src}),u!==`complete`&&V.createElement(`div`,{className:P(Sn(`placeholder`))},u===`loading`&&(n?.iconLoading?n.iconLoading():V.createElement(bn,{className:N(P(`icon`),P(Sn(`loading`)))})),u===`error`&&(n?.iconError?n.iconError():V.createElement(xn,{className:N(P(`icon`),P(Sn(`error`)))}))))}function Tt(e,t,n,r,i){V.useEffect(()=>i?()=>{}:Ie(e(ge,t),e(_e,n),e(ve,r),e(ye,r),e(be,r)),[e,t,n,r,i])}function Et({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(Tn.NONE),S=V.useCallback(e=>{y.current===e.pointerId&&(y.current=void 0,x.current=Tn.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===Tn.SWIPE?Math.abs(t)>.3*i||Math.abs(t)>5&&e<a?c(t,e):l(t):x.current===Tn.PULL&&(E(t,2*En)?m(t,e):h(t)),_.current=0,x.current=Tn.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)});Tt(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)>En&&r(a)?e||(n(Tn.SWIPE),o()):Math.abs(c)>Math.abs(a)&&E(c,En)&&(n(Tn.PULL),f())}else i&&(x.current===Tn.SWIPE?(_.current=a,s(a)):x.current===Tn.PULL&&(_.current=c,p(c)))}}),D)}function Dt({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 Ot(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:_}=hn(),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(Ce,S),[t,S])}function kt({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=dn(),[g,_]=V.useState(G.NONE),v=V.useRef(0),y=V.useRef(0),b=V.useRef(1),{registerSensors:x,subscribeSensors:S}=St(),{subscribe:C,publish:w}=sn(),T=_t(),E=_t(),D=_t(),{containerRef:O,setContainerRef:k,containerRect:A}=gt(),j=yt(Dt({preventDefaultWheelX:u,preventDefaultWheelY:d}),k),M=V.useRef(null),ee=yt(M,void 0),{getOwnerDocument:te}=an(),ne=xt(),re=e=>(ne?-1:1)*(typeof e==`number`?e:1),ie=B(()=>O.current?.focus()),ae=B(()=>t),oe=B(()=>m),ce=V.useCallback(e=>w(fe,e),[w]),le=V.useCallback(e=>w(pe,e),[w]),ue=V.useCallback(()=>w(he),[w]),de=e=>!(n.finite&&(re(e)>0&&m.currentIndex===0||re(e)<0&&m.currentIndex===m.slides.length-1)),ge=e=>{var t;v.current=e,(t=O.current)==null||t.style.setProperty(F(`swipe_offset`),`${Math.round(e)}px`)},_e=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(Re(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}=ht(M,(e,t,n)=>{if(M.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){_e(e);let n=0;M.current&&(n=r.fade*(t?2:1),ve({rect:M.current.getBoundingClientRect(),opacity:b.current,duration:n})),D(()=>{_e(0),_(G.NONE)},n),_(G.ANIMATION),t||ue()}},{prepareAnimation:be,isAnimationPlaying:xe}=ht(M,(e,t,r)=>{if(M.current&&A&&m.animation?.duration){let i=He(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?fe:pe)}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(()=>{ge(0),_(G.NONE)},c),M.current&&be({rect:M.current.getBoundingClientRect(),index:m.globalIndex}),_(s),w(me,{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=>ge(e),(e,t)=>Se({offset:e,duration:t,count:1}),e=>Se({offset:e,count:0})],we=[()=>{l&&_(G.PULL)},e=>_e(e),e=>ye(e),e=>ye(e,!0)];Et(i,...Ce,c,l,...we,ue),Ot(g,...Ce);let Te=B(()=>{i.focus&&te().querySelector(`.${P(`portal`)} .${P(Dn())}`)&&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(()=>Ie(C(fe,e=>Se({direction:fe,...e})),C(pe,e=>Se({direction:pe,...e})),C(me,e=>h(e))),[C,Se,h]);let De=V.useMemo(()=>({prev:ce,next:le,close:ue,focus:ie,slideRect:A?Ue(A,n.padding):{width:0,height:0},containerRect:A||{width:0,height:0},subscribeSensors:S,containerRef:O,setCarouselRef:ee,toolbarWidth:f,setToolbarWidth:p}),[ce,le,ue,ie,S,A,O,ee,f,p,n.padding]);return V.useImperativeHandle(i.ref,()=>({prev:ce,next:le,close:ue,focus:ie,getLightboxProps:ae,getLightboxState:oe}),[ce,le,ue,ie,ae,oe]),V.createElement(`div`,{ref:j,className:N(P(Dn()),P(se)),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(On.Provider,{value:De},e,s.controls?.call(s)))}function At(e){return Me(x,e)}function jt(e){return Me(ue,e)}function Mt({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}=an(),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&&ze(e)&&(n=V.createElement(wt,{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(jt()),!m&&P(jt(`current`)),P(se)),...Qe(m),style:d,role:`group`,"aria-roledescription":Pe(f,`Slide`),"aria-label":Fe(f,i,r+t)},h())}function Nt(){let e=H().styles.slide;return V.createElement(`div`,{className:P(ue),style:e})}function Pt({carousel:e,labels:t}){let{slides:n,currentIndex:r,globalIndex:i}=U(),{setCarouselRef:a}=K(),{autoPlaying:o,focusWithin:s}=nn(),c=He(e.spacing),l=He(e.padding),u=Ze(e,n,1),d=[];if(Ke(n))for(let t=r-u;t<=r+u;t+=1){let a=qe(n,t),o=i-r+t,s=e.finite&&(t<0||t>n.length-1);d.push(s?{key:o}:{key:[`${o}`,Ye(a)].filter(Boolean).join(`|`),offset:t-r,slide:a})}return V.createElement(`div`,{ref:a,className:N(P(At()),d.length>0&&P(At(`with_slides`))),style:{[`${F(At(`slides_count`))}`]:d.length,[`${F(At(`spacing_px`))}`]:c.pixel||0,[`${F(At(`spacing_percent`))}`]:c.percent||0,[`${F(At(`padding_px`))}`]:l.pixel||0,[`${F(At(`padding_percent`))}`]:l.percent||0},role:`region`,"aria-live":o&&!s?`off`:`polite`,"aria-roledescription":Pe(t,`Carousel`),"aria-label":Pe(t,`Photo gallery`)},d.map(({key:e,slide:t,offset:n})=>t?V.createElement(Mt,{key:e,slide:t,offset:n}):V.createElement(Nt,{key:e})))}function Ft(){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 It(e){let t=xt(),{publish:n}=sn(),{animation:r,controller:i}=H(),{prevDisabled:a,nextDisabled:o}=Ft(),s=(r.navigation??r.swipe)/2,c=Ct(()=>n(fe),s),l=Ct(()=>n(pe),s),u=B(e=>{switch(e.key){case we:if(!i.closeOnEscape)return;n(he);break;case Te:(t?o:a)||(t?l:c)();break;case Ee:(t?a:o)||(t?c:l)();break;default:return}e.stopPropagation()});V.useEffect(()=>e(xe,u),[e,u])}function Lt({label:e,icon:t,renderIcon:n,action:r,onClick:i,disabled:a,style:o}){return V.createElement(gn,{label:e,icon:t,renderIcon:n,className:P(`navigation_${r}`),disabled:a,onClick:i,style:o,...bt(K().focus,a)})}function Rt({render:{buttonPrev:e,buttonNext:t,iconPrev:n,iconNext:r},styles:i}){let{prev:a,next:o,subscribeSensors:s}=K(),{prevDisabled:c,nextDisabled:l}=Ft();return It(s),V.createElement(V.Fragment,null,e?e():V.createElement(Lt,{label:`Previous`,action:fe,icon:vn,renderIcon:n,style:i.navigationPrev,disabled:c,onClick:a}),t?t():V.createElement(Lt,{label:`Next`,action:pe,icon:yn,renderIcon:r,style:i.navigationNext,disabled:l,onClick:o}))}function zt(e){return`style`in e}function Bt(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,`${(Ve(a)||0)+t}px`),()=>{o?e.style.setProperty(i,o):e.style.removeProperty(i)}}function Vt({noScroll:{disabled:e},children:t}){let n=xt(),{getOwnerDocument:r,getOwnerWindow:i}=an();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(Bt(o,c,n));let e=o.getElementsByTagName(`*`);for(let r=0;r<e.length;r+=1){let i=e[r];zt(i)&&a.getComputedStyle(i).getPropertyValue(`position`)===`fixed`&&!i.classList.contains(Nn)&&t.push(Bt(i,c,n))}}return o.classList.add(Mn),()=>{o.classList.remove(Mn),t.forEach(e=>e())}},[n,e,r,i]),V.createElement(V.Fragment,null,t)}function Ht(e){return Me(T,e)}function Ut(e,t,n){let r=e.getAttribute(t);return e.setAttribute(t,n),()=>{r?e.setAttribute(t,r):e.removeAttribute(t)}}function Wt({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:_}=hn(),{subscribe:v}=sn(),y=pt()?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(he,x),[v,x]);let S=B(e=>{var t;$e(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(Ut(r,`inert`,``)),h.current.push(Ut(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,Zt.createPortal)(V.createElement(wn,{ref:C,className:N(o,t,P(Ht()),P(le),p&&P(Ht(`open`))),"aria-modal":!0,role:`dialog`,"aria-label":Pe(l,`Lightbox`),style:{...i.fade===en.animation.fade?null:{[F(`fade_animation_duration`)]:`${y}ms`},...i.easing.fade===en.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 Gt({children:e}){return V.createElement(V.Fragment,null,e)}function Kt(e){return Me(D,e)}function qt({toolbar:{buttons:e},render:{buttonClose:t,iconClose:n},styles:r}){let{close:i,setToolbarWidth:a}=K(),{setContainerRef:o,containerRect:s}=gt();W(()=>{a(s?.width)},[a,s?.width]);let c=()=>t?t():V.createElement(gn,{key:he,label:`Close`,icon:_n,renderIcon:n,onClick:i});return V.createElement(`div`,{ref:o,style:r.toolbar,className:P(Kt())},e?.map(e=>e===`close`?c():e))}function Jt(e,t){return V.createElement(e.module.component,{key:e.module.name,...t},e.children?.map(e=>Jt(e,t)))}function Yt(e,t={}){let{easing:n,...r}=e,{easing:i,...a}=t;return{easing:{...n,...i},...r,...a}}function Xt({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}=en,{config:S,augmentation:C}=nt([R(Fn,[R(Pn,[R(kn,[R(An),R(Ln),R(jn)])])])],s||b),w=C({animation:Yt(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(ot,{...w},V.createElement(ct,{slides:c||v,index:Ve(l||y)},V.createElement(ut,null,V.createElement(at,null,V.createElement(rt,null,Jt(R(In,S),w)))))):null}var V,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,H,ln,U,un,dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn,W,Sn,Cn,wn,G,Tn,En,Dn,On,K,kn,An,jn,Mn,Nn,Pn,Fn,In,Ln,Rn=t((()=>{V=e(n(),1),je(),Zt=e(r(),1),Qt=`yarl__`,$t=Number(`19.2.7`.split(`.`)[0])>=19,en={open:!1,close:()=>{},index:0,slides:[],render:{},plugins:[],toolbar:{buttons:[he]},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:ke,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:``},tn=V.createContext(null),nn=I(`useA11yContext`,`A11yContext`,tn),rn=V.createContext(null),an=I(`useDocument`,`DocumentContext`,rn),on=V.createContext(null),sn=I(`useEvents`,`EventsContext`,on),cn=V.createContext(null),H=I(`useLightboxProps`,`LightboxPropsContext`,cn),ln=V.createContext(null),U=I(`useLightboxState`,`LightboxStateContext`,ln),un=V.createContext(null),dn=I(`useLightboxDispatch`,`LightboxDispatchContext`,un),fn=V.createContext(null),pn=I(`useRTLContext`,`RTLContext`,fn),mn=V.createContext(null),hn=I(`useTimeouts`,`TimeoutsContext`,mn),gn=V.forwardRef(function({label:e,className:t,icon:n,renderIcon:r,onClick:i,style:a,...o},s){let{styles:c,labels:l}=H(),u=Pe(l,e);return V.createElement(`button`,{ref:s,type:`button`,title:u,"aria-label":u,className:N(P(De),t),onClick:i,style:{...a,...c.button},...o},r?r():V.createElement(n,{className:P(Oe),style:c.icon}))}),_n=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`})),vn=z(`Previous`,V.createElement(`path`,{d:`M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z`})),yn=z(`Next`,V.createElement(`path`,{d:`M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z`})),bn=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)`})))),xn=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=Le()?V.useLayoutEffect:V.useEffect,Sn=Ne(`slide`),Cn=Ne(`slide_image`),wn=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}=nn(),u=B(()=>{if(o.current){let e=window.getComputedStyle(o.current).direction===`rtl`;e!==s&&c(e)}});return V.useEffect(u),V.createElement(it,{nodeRef:o},V.createElement(lt,{isRTL:s},V.createElement(`div`,{ref:yt(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`})(Tn||={}),En=30,Dn=Ne(`container`),On=V.createContext(null),K=I(`useController`,`ControllerContext`,On),kn=L(S,kt),An=L(x,Pt),jn=L(C,Rt),Mn=P(ce),Nn=P(le),Pn=L(w,Vt),Fn=L(T,Wt),In=L(E,Gt),Ln=L(D,qt)}));function zn(){let{captions:e}=H();return qn(e)}function Bn({captions:e,children:t}){let{ref:n,hidden:r}=qn(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(Jn.Provider,{value:o},t)}function Vn({title:e}){let{toolbarWidth:t}=K(),{styles:n}=H(),{visible:r}=Yn();return r?q.createElement(`div`,{role:`heading`,"aria-level":2,style:n.captionsTitleContainer,className:N(Gn(`captions_container`),Gn(`title_container`))},q.createElement(`div`,{className:Gn(`title`),style:{...t?{[F(`toolbar_width`)]:`${t}px`}:null,...n.captionsTitle}},e)):null}function Hn({description:e}){let{descriptionTextAlign:t,descriptionMaxLines:n}=zn(),{styles:r,labels:i}=H(),{visible:a}=Yn();return a?q.createElement(`div`,{style:r.captionsDescriptionContainer,className:N(Gn(`captions_container`),Gn(`description_container`))},q.createElement(`div`,{className:Gn(`description`),style:{...t!==Kn.descriptionTextAlign||n!==Kn.descriptionMaxLines?{[F(`slide_description_text_align`)]:t,[F(`slide_description_max_lines`)]:n}:null,...r.captionsDescription},role:`paragraph`,"aria-roledescription":Pe(i,`Caption`)},typeof e==`string`?e.split(`
1
+ import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-DOzGPw3M.js";import{t as r}from"./react-dom-C1-d-rN9.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,i as o}from"./utils-D2Si_EM1.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-CXmxxiwZ.js";var x,S,C,w,T,E,D,O,k,A,j,M,ee,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=t((()=>{x=`carousel`,S=`controller`,C=`navigation`,w=`no-scroll`,T=`portal`,E=`root`,D=`toolbar`,O=`captions`,k=`counter`,A=`download`,j=`fullscreen`,M=`thumbnails`,ee=`zoom`,te=`loading`,ne=`playing`,re=`error`,ie=`complete`,ae=e=>`active-slide-${e}`,ae(te),ae(ne),ae(re),ae(ie),oe=`fullsize`,se=`flex_center`,ce=`no_scroll`,le=`no_scroll_padding`,ue=`slide`,de=`slide_wrapper`,fe=`prev`,pe=`next`,me=`swipe`,he=`close`,ge=`onPointerDown`,_e=`onPointerMove`,ve=`onPointerUp`,ye=`onPointerLeave`,be=`onPointerCancel`,xe=`onKeyDown`,Se=`onKeyUp`,Ce=`onWheel`,we=`Escape`,Te=`ArrowLeft`,Ee=`ArrowRight`,De=`button`,Oe=`icon`,ke=`contain`,Ae=`Unknown action type`}));function N(...e){return e.filter(Boolean).join(` `)}function P(e){return`${Qt}${e}`}function F(e){return`--${Qt}${e}`}function Me(e,t){return`${e}${t?`_${t}`:``}`}function Ne(e){return t=>Me(e,t)}function Pe(e,t){return e?.[t]??t}function Fe(e,t,n){return Pe(e,`{index} of {total}`).replace(/\{index}/g,`${Ge(n,t.length)+1}`).replace(/\{total}/g,`${t.length}`)}function Ie(...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 Le(){return typeof window<`u`}function Re(e,t=0){let n=10**t;return Math.round((e+2**-52)*n)/n}function ze(e){return e.type===void 0||e.type===`image`}function Be(e,t){return e.imageFit===`cover`||e.imageFit!==`contain`&&t===`cover`}function Ve(e){return typeof e==`string`?Number.parseInt(e,10):e}function He(e){if(typeof e==`number`)return{pixel:e};if(typeof e==`string`){let t=Ve(e);return e.endsWith(`%`)?{percent:t}:{pixel:t}}return{pixel:0}}function Ue(e,t){let n=He(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 We(){return(Le()?window==null?void 0:window.devicePixelRatio:void 0)||1}function Ge(e,t){return t>0?(e%t+t)%t:0}function Ke(e){return e.length>0}function qe(e,t){return e[Ge(t,e.length)]}function Je(e,t){return Ke(e)?qe(e,t):void 0}function Ye(e){return ze(e)?e.src:void 0}function Xe(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 Ze(e,t,n=0){return Math.min(e.preload,Math.max(e.finite?t.length-1:Math.floor(t.length/2),n))}function Qe(e){return{inert:$t?e:e?``:void 0}}function $e(e){e.scrollTop}function L(e,t){return{name:e,component:t}}function R(e,t){return{module:e,children:t}}function et(e,t,n){return e.module.name===t?n(e):e.children?[R(e.module,e.children.flatMap(e=>et(e,t,n)??[]))]:[e]}function tt(e,t,n){return e.flatMap(e=>et(e,t,n)??[])}function nt(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=tt(r,e,e=>[R(t,[e])])},o=(e,t)=>{r=tt(r,e,e=>[R(e.module,[R(t,e.children)])])},s=(e,t,n)=>{r=tt(r,e,e=>[R(e.module,[...n?[R(t)]:[],...e.children??[],...n?[]:[R(t)]])])},c=(e,t,n)=>{r=tt(r,e,e=>[...n?[R(t)]:[],e,...n?[]:[R(t)]])},l=e=>{o(S,e)},u=(e,t)=>{r=tt(r,e,e=>[R(t,e.children)])},d=e=>{r=tt(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 rt({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(tn.Provider,{value:a},e)}function it({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(rn.Provider,{value:n},t)}function at({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(on.Provider,{value:n},e)}function ot({children:e,...t}){return V.createElement(cn.Provider,{value:t},e)}function st(e,t){switch(t.type){case`swipe`:{let{slides:n}=e,r=t?.increment||0,i=e.globalIndex+r,a=Ge(i,n.length);return{slides:n,currentIndex:a,globalIndex:i,currentSlide:Je(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:Je(t.slides,t.index)}:e;default:throw Error(Ae)}}function ct({slides:e,index:t,children:n}){let[r,i]=V.useReducer(st,{slides:e,currentIndex:t,globalIndex:t,currentSlide:Je(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(un.Provider,{value:i},V.createElement(ln.Provider,{value:l},n))}function lt({isRTL:e,children:t}){let n=V.useMemo(()=>({isRTL:e}),[e]);return V.createElement(fn.Provider,{value:n},t)}function ut({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(mn.Provider,{value:n},e)}function dt(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 dt(e,V.createElement(`g`,{fill:`currentColor`},V.createElement(`path`,{d:`M0 0h24v24H0z`,fill:`none`}),t))}function ft(e,t){return dt(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 pt(){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 mt(e){let t=0,n=0,r=0,i=window.getComputedStyle(e).transform.match(/matrix.*\((.+)\)/);if(i){let e=i[1].split(`,`).map(Ve);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 ht(e,t){let n=V.useRef(void 0),r=V.useRef(void 0),i=pt();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(),mt(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 gt(){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 _t(){let e=V.useRef(void 0),{setTimeout:t,clearTimeout:n}=hn();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 vt(e,t){typeof e==`function`?e(t):e&&(e.current=t)}function yt(e,t){return V.useMemo(()=>e==null&&t==null?null:n=>{vt(e,n),vt(t,n)},[e,t])}function bt(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 xt(){return pn().isRTL}function St(){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(ge,e),onPointerMove:e=>t(_e,e),onPointerUp:e=>t(ve,e),onPointerLeave:e=>t(ye,e),onPointerCancel:e=>t(be,e),onKeyDown:e=>t(xe,e),onKeyUp:e=>t(Se,e),onWheel:e=>t(Ce,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 Ct(e,t){let n=V.useRef(0),r=_t(),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 wt({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(te),{publish:f}=sn(),{setTimeout:p}=hn(),m=V.useRef(null);V.useEffect(()=>{t===0&&f(ae(u))},[t,u,f]);let h=B(e=>{(`decode`in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{e.parentNode&&(d(ie),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(re),c?.()}),y=Be(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&&Le()?`${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(Cn()),y&&P(Cn(`cover`)),u!==`complete`&&P(Cn(`loading`)),D),style:{...C,...l,...E},...O,alt:e.alt??``,sizes:T,srcSet:w,src:e.src}),u!==`complete`&&V.createElement(`div`,{className:P(Sn(`placeholder`))},u===`loading`&&(n?.iconLoading?n.iconLoading():V.createElement(bn,{className:N(P(`icon`),P(Sn(`loading`)))})),u===`error`&&(n?.iconError?n.iconError():V.createElement(xn,{className:N(P(`icon`),P(Sn(`error`)))}))))}function Tt(e,t,n,r,i){V.useEffect(()=>i?()=>{}:Ie(e(ge,t),e(_e,n),e(ve,r),e(ye,r),e(be,r)),[e,t,n,r,i])}function Et({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(Tn.NONE),S=V.useCallback(e=>{y.current===e.pointerId&&(y.current=void 0,x.current=Tn.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===Tn.SWIPE?Math.abs(t)>.3*i||Math.abs(t)>5&&e<a?c(t,e):l(t):x.current===Tn.PULL&&(E(t,2*En)?m(t,e):h(t)),_.current=0,x.current=Tn.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)});Tt(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)>En&&r(a)?e||(n(Tn.SWIPE),o()):Math.abs(c)>Math.abs(a)&&E(c,En)&&(n(Tn.PULL),f())}else i&&(x.current===Tn.SWIPE?(_.current=a,s(a)):x.current===Tn.PULL&&(_.current=c,p(c)))}}),D)}function Dt({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 Ot(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:_}=hn(),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(Ce,S),[t,S])}function kt({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=dn(),[g,_]=V.useState(G.NONE),v=V.useRef(0),y=V.useRef(0),b=V.useRef(1),{registerSensors:x,subscribeSensors:S}=St(),{subscribe:C,publish:w}=sn(),T=_t(),E=_t(),D=_t(),{containerRef:O,setContainerRef:k,containerRect:A}=gt(),j=yt(Dt({preventDefaultWheelX:u,preventDefaultWheelY:d}),k),M=V.useRef(null),ee=yt(M,void 0),{getOwnerDocument:te}=an(),ne=xt(),re=e=>(ne?-1:1)*(typeof e==`number`?e:1),ie=B(()=>O.current?.focus()),ae=B(()=>t),oe=B(()=>m),ce=V.useCallback(e=>w(fe,e),[w]),le=V.useCallback(e=>w(pe,e),[w]),ue=V.useCallback(()=>w(he),[w]),de=e=>!(n.finite&&(re(e)>0&&m.currentIndex===0||re(e)<0&&m.currentIndex===m.slides.length-1)),ge=e=>{var t;v.current=e,(t=O.current)==null||t.style.setProperty(F(`swipe_offset`),`${Math.round(e)}px`)},_e=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(Re(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}=ht(M,(e,t,n)=>{if(M.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){_e(e);let n=0;M.current&&(n=r.fade*(t?2:1),ve({rect:M.current.getBoundingClientRect(),opacity:b.current,duration:n})),D(()=>{_e(0),_(G.NONE)},n),_(G.ANIMATION),t||ue()}},{prepareAnimation:be,isAnimationPlaying:xe}=ht(M,(e,t,r)=>{if(M.current&&A&&m.animation?.duration){let i=He(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?fe:pe)}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(()=>{ge(0),_(G.NONE)},c),M.current&&be({rect:M.current.getBoundingClientRect(),index:m.globalIndex}),_(s),w(me,{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=>ge(e),(e,t)=>Se({offset:e,duration:t,count:1}),e=>Se({offset:e,count:0})],we=[()=>{l&&_(G.PULL)},e=>_e(e),e=>ye(e),e=>ye(e,!0)];Et(i,...Ce,c,l,...we,ue),Ot(g,...Ce);let Te=B(()=>{i.focus&&te().querySelector(`.${P(`portal`)} .${P(Dn())}`)&&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(()=>Ie(C(fe,e=>Se({direction:fe,...e})),C(pe,e=>Se({direction:pe,...e})),C(me,e=>h(e))),[C,Se,h]);let De=V.useMemo(()=>({prev:ce,next:le,close:ue,focus:ie,slideRect:A?Ue(A,n.padding):{width:0,height:0},containerRect:A||{width:0,height:0},subscribeSensors:S,containerRef:O,setCarouselRef:ee,toolbarWidth:f,setToolbarWidth:p}),[ce,le,ue,ie,S,A,O,ee,f,p,n.padding]);return V.useImperativeHandle(i.ref,()=>({prev:ce,next:le,close:ue,focus:ie,getLightboxProps:ae,getLightboxState:oe}),[ce,le,ue,ie,ae,oe]),V.createElement(`div`,{ref:j,className:N(P(Dn()),P(se)),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(On.Provider,{value:De},e,s.controls?.call(s)))}function At(e){return Me(x,e)}function jt(e){return Me(ue,e)}function Mt({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}=an(),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&&ze(e)&&(n=V.createElement(wt,{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(jt()),!m&&P(jt(`current`)),P(se)),...Qe(m),style:d,role:`group`,"aria-roledescription":Pe(f,`Slide`),"aria-label":Fe(f,i,r+t)},h())}function Nt(){let e=H().styles.slide;return V.createElement(`div`,{className:P(ue),style:e})}function Pt({carousel:e,labels:t}){let{slides:n,currentIndex:r,globalIndex:i}=U(),{setCarouselRef:a}=K(),{autoPlaying:o,focusWithin:s}=nn(),c=He(e.spacing),l=He(e.padding),u=Ze(e,n,1),d=[];if(Ke(n))for(let t=r-u;t<=r+u;t+=1){let a=qe(n,t),o=i-r+t,s=e.finite&&(t<0||t>n.length-1);d.push(s?{key:o}:{key:[`${o}`,Ye(a)].filter(Boolean).join(`|`),offset:t-r,slide:a})}return V.createElement(`div`,{ref:a,className:N(P(At()),d.length>0&&P(At(`with_slides`))),style:{[`${F(At(`slides_count`))}`]:d.length,[`${F(At(`spacing_px`))}`]:c.pixel||0,[`${F(At(`spacing_percent`))}`]:c.percent||0,[`${F(At(`padding_px`))}`]:l.pixel||0,[`${F(At(`padding_percent`))}`]:l.percent||0},role:`region`,"aria-live":o&&!s?`off`:`polite`,"aria-roledescription":Pe(t,`Carousel`),"aria-label":Pe(t,`Photo gallery`)},d.map(({key:e,slide:t,offset:n})=>t?V.createElement(Mt,{key:e,slide:t,offset:n}):V.createElement(Nt,{key:e})))}function Ft(){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 It(e){let t=xt(),{publish:n}=sn(),{animation:r,controller:i}=H(),{prevDisabled:a,nextDisabled:o}=Ft(),s=(r.navigation??r.swipe)/2,c=Ct(()=>n(fe),s),l=Ct(()=>n(pe),s),u=B(e=>{switch(e.key){case we:if(!i.closeOnEscape)return;n(he);break;case Te:(t?o:a)||(t?l:c)();break;case Ee:(t?a:o)||(t?c:l)();break;default:return}e.stopPropagation()});V.useEffect(()=>e(xe,u),[e,u])}function Lt({label:e,icon:t,renderIcon:n,action:r,onClick:i,disabled:a,style:o}){return V.createElement(gn,{label:e,icon:t,renderIcon:n,className:P(`navigation_${r}`),disabled:a,onClick:i,style:o,...bt(K().focus,a)})}function Rt({render:{buttonPrev:e,buttonNext:t,iconPrev:n,iconNext:r},styles:i}){let{prev:a,next:o,subscribeSensors:s}=K(),{prevDisabled:c,nextDisabled:l}=Ft();return It(s),V.createElement(V.Fragment,null,e?e():V.createElement(Lt,{label:`Previous`,action:fe,icon:vn,renderIcon:n,style:i.navigationPrev,disabled:c,onClick:a}),t?t():V.createElement(Lt,{label:`Next`,action:pe,icon:yn,renderIcon:r,style:i.navigationNext,disabled:l,onClick:o}))}function zt(e){return`style`in e}function Bt(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,`${(Ve(a)||0)+t}px`),()=>{o?e.style.setProperty(i,o):e.style.removeProperty(i)}}function Vt({noScroll:{disabled:e},children:t}){let n=xt(),{getOwnerDocument:r,getOwnerWindow:i}=an();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(Bt(o,c,n));let e=o.getElementsByTagName(`*`);for(let r=0;r<e.length;r+=1){let i=e[r];zt(i)&&a.getComputedStyle(i).getPropertyValue(`position`)===`fixed`&&!i.classList.contains(Nn)&&t.push(Bt(i,c,n))}}return o.classList.add(Mn),()=>{o.classList.remove(Mn),t.forEach(e=>e())}},[n,e,r,i]),V.createElement(V.Fragment,null,t)}function Ht(e){return Me(T,e)}function Ut(e,t,n){let r=e.getAttribute(t);return e.setAttribute(t,n),()=>{r?e.setAttribute(t,r):e.removeAttribute(t)}}function Wt({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:_}=hn(),{subscribe:v}=sn(),y=pt()?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(he,x),[v,x]);let S=B(e=>{var t;$e(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(Ut(r,`inert`,``)),h.current.push(Ut(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,Zt.createPortal)(V.createElement(wn,{ref:C,className:N(o,t,P(Ht()),P(le),p&&P(Ht(`open`))),"aria-modal":!0,role:`dialog`,"aria-label":Pe(l,`Lightbox`),style:{...i.fade===en.animation.fade?null:{[F(`fade_animation_duration`)]:`${y}ms`},...i.easing.fade===en.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 Gt({children:e}){return V.createElement(V.Fragment,null,e)}function Kt(e){return Me(D,e)}function qt({toolbar:{buttons:e},render:{buttonClose:t,iconClose:n},styles:r}){let{close:i,setToolbarWidth:a}=K(),{setContainerRef:o,containerRect:s}=gt();W(()=>{a(s?.width)},[a,s?.width]);let c=()=>t?t():V.createElement(gn,{key:he,label:`Close`,icon:_n,renderIcon:n,onClick:i});return V.createElement(`div`,{ref:o,style:r.toolbar,className:P(Kt())},e?.map(e=>e===`close`?c():e))}function Jt(e,t){return V.createElement(e.module.component,{key:e.module.name,...t},e.children?.map(e=>Jt(e,t)))}function Yt(e,t={}){let{easing:n,...r}=e,{easing:i,...a}=t;return{easing:{...n,...i},...r,...a}}function Xt({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}=en,{config:S,augmentation:C}=nt([R(Fn,[R(Pn,[R(kn,[R(An),R(Ln),R(jn)])])])],s||b),w=C({animation:Yt(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(ot,{...w},V.createElement(ct,{slides:c||v,index:Ve(l||y)},V.createElement(ut,null,V.createElement(at,null,V.createElement(rt,null,Jt(R(In,S),w)))))):null}var V,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,H,ln,U,un,dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn,W,Sn,Cn,wn,G,Tn,En,Dn,On,K,kn,An,jn,Mn,Nn,Pn,Fn,In,Ln,Rn=t((()=>{V=e(n(),1),je(),Zt=e(r(),1),Qt=`yarl__`,$t=Number(`19.2.7`.split(`.`)[0])>=19,en={open:!1,close:()=>{},index:0,slides:[],render:{},plugins:[],toolbar:{buttons:[he]},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:ke,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:``},tn=V.createContext(null),nn=I(`useA11yContext`,`A11yContext`,tn),rn=V.createContext(null),an=I(`useDocument`,`DocumentContext`,rn),on=V.createContext(null),sn=I(`useEvents`,`EventsContext`,on),cn=V.createContext(null),H=I(`useLightboxProps`,`LightboxPropsContext`,cn),ln=V.createContext(null),U=I(`useLightboxState`,`LightboxStateContext`,ln),un=V.createContext(null),dn=I(`useLightboxDispatch`,`LightboxDispatchContext`,un),fn=V.createContext(null),pn=I(`useRTLContext`,`RTLContext`,fn),mn=V.createContext(null),hn=I(`useTimeouts`,`TimeoutsContext`,mn),gn=V.forwardRef(function({label:e,className:t,icon:n,renderIcon:r,onClick:i,style:a,...o},s){let{styles:c,labels:l}=H(),u=Pe(l,e);return V.createElement(`button`,{ref:s,type:`button`,title:u,"aria-label":u,className:N(P(De),t),onClick:i,style:{...a,...c.button},...o},r?r():V.createElement(n,{className:P(Oe),style:c.icon}))}),_n=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`})),vn=z(`Previous`,V.createElement(`path`,{d:`M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z`})),yn=z(`Next`,V.createElement(`path`,{d:`M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z`})),bn=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)`})))),xn=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=Le()?V.useLayoutEffect:V.useEffect,Sn=Ne(`slide`),Cn=Ne(`slide_image`),wn=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}=nn(),u=B(()=>{if(o.current){let e=window.getComputedStyle(o.current).direction===`rtl`;e!==s&&c(e)}});return V.useEffect(u),V.createElement(it,{nodeRef:o},V.createElement(lt,{isRTL:s},V.createElement(`div`,{ref:yt(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`})(Tn||={}),En=30,Dn=Ne(`container`),On=V.createContext(null),K=I(`useController`,`ControllerContext`,On),kn=L(S,kt),An=L(x,Pt),jn=L(C,Rt),Mn=P(ce),Nn=P(le),Pn=L(w,Vt),Fn=L(T,Wt),In=L(E,Gt),Ln=L(D,qt)}));function zn(){let{captions:e}=H();return qn(e)}function Bn({captions:e,children:t}){let{ref:n,hidden:r}=qn(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(Jn.Provider,{value:o},t)}function Vn({title:e}){let{toolbarWidth:t}=K(),{styles:n}=H(),{visible:r}=Yn();return r?q.createElement(`div`,{role:`heading`,"aria-level":2,style:n.captionsTitleContainer,className:N(Gn(`captions_container`),Gn(`title_container`))},q.createElement(`div`,{className:Gn(`title`),style:{...t?{[F(`toolbar_width`)]:`${t}px`}:null,...n.captionsTitle}},e)):null}function Hn({description:e}){let{descriptionTextAlign:t,descriptionMaxLines:n}=zn(),{styles:r,labels:i}=H(),{visible:a}=Yn();return a?q.createElement(`div`,{style:r.captionsDescriptionContainer,className:N(Gn(`captions_container`),Gn(`description_container`))},q.createElement(`div`,{className:Gn(`description`),style:{...t!==Kn.descriptionTextAlign||n!==Kn.descriptionMaxLines?{[F(`slide_description_text_align`)]:t,[F(`slide_description_max_lines`)]:n}:null,...r.captionsDescription},role:`paragraph`,"aria-roledescription":Pe(i,`Caption`)},typeof e==`string`?e.split(`
2
2
  `).flatMap((e,t)=>[...t>0?[q.createElement(`br`,{key:t})]:[],e]):e)):null}function Un(){let{visible:e,show:t,hide:n}=Yn(),{render:r}=H();return r.buttonCaptions?q.createElement(q.Fragment,null,r.buttonCaptions({visible:e,show:t,hide:n})):q.createElement(gn,{label:e?`Hide captions`:`Show captions`,icon:e?Zn:Qn,renderIcon:e?r.iconCaptionsVisible:r.iconCaptionsHidden,onClick:e?n:t})}function Wn({augment:e,addModule:t}){e(({captions:e,render:{slideFooter:t,...n},toolbar:r,...i})=>{let a=qn(e);return{render:{slideFooter:({slide:e})=>q.createElement(q.Fragment,null,t?.({slide:e}),e.title&&q.createElement(Vn,{title:e.title}),e.description&&q.createElement(Hn,{description:e.description})),...n},toolbar:Xe(r,O,a.showToggle?q.createElement(Un,null):null),captions:a,...i}}),t(L(O,Bn))}var q,Gn,Kn,qn,Jn,Yn,Xn,Zn,Qn,$n=t((()=>{q=e(n(),1),Rn(),je(),Gn=e=>P(`slide_${e}`),Kn={descriptionTextAlign:`start`,descriptionMaxLines:3,showToggle:!1,hidden:!1},qn=e=>({...Kn,...e}),Jn=q.createContext(null),Yn=I(`useCaptions`,`CaptionsContext`,Jn),Xn=()=>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`})),Zn=z(`CaptionsVisible`,Xn()),Qn=ft(`CaptionsVisible`,Xn())}));function er({counter:e}){let{slides:t,currentIndex:n}=U(),{separator:r,container:{className:i,...a},className:o,...s}=ir(e);return t.length===0?null:nr.createElement(`div`,{className:N(P(`counter`),i||o),...s,...a,"aria-hidden":!0},n+1,` `,r,` `,t.length)}function tr({augment:e,addChild:t}){e(({counter:e,...t})=>({counter:ir(e),...t})),t(S,L(k,er))}var nr,rr,ir,ar=t((()=>{nr=e(n(),1),Rn(),je(),rr={separator:`/`,container:{}},ir=e=>({...rr,...e})}));function or(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 sr(e){return/^content-disposition:(.*)$/im.exec(e.getAllResponseHeaders())?.[1]??null}function cr(e,t){let n=new XMLHttpRequest;n.open(`GET`,e),n.responseType=`blob`,n.onload=()=>{dr(n.response,t||or(sr(n)))},n.onerror=()=>{console.error(`Failed to download file`)},n.send()}function lr(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function ur(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 dr(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?ur(n):lr(n.href)?cr(e,t):(n.target=`_blank`,ur(n))):(n.href=URL.createObjectURL(e),setTimeout(()=>URL.revokeObjectURL(n.href),3e4),setTimeout(()=>ur(n),0))}function fr(){let{render:e,on:t,download:n}=H(),{download:r}=gr(n),{currentSlide:i,currentIndex:a}=U();if(e.buttonDownload)return mr.createElement(mr.Fragment,null,e.buttonDownload());let o=i&&(i.downloadUrl||typeof i.download==`string`&&i.download||typeof i.download==`object`&&i.download.url||ze(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;dr(o,e)}};return mr.createElement(gn,{label:`Download`,icon:_r,renderIcon:e.iconDownload,disabled:!s,onClick:()=>{var e;i&&((r||c)({slide:i,saveAs:dr}),(e=t.download)==null||e.call(t,{index:a}))}})}function pr({augment:e}){e(({toolbar:e,download:t,...n})=>({toolbar:Xe(e,A,mr.createElement(fr,null)),download:gr(t),...n}))}var mr,hr,gr,_r,vr=t((()=>{mr=e(n(),1),Rn(),je(),hr={download:void 0},gr=e=>({...hr,...e}),_r=z(`DownloadIcon`,mr.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 yr({fullscreen:e,on:t,children:n}){let{auto:r,ref:i}=Cr(e),a=J.useRef(null),[o,s]=J.useState(),[c,l]=J.useState(!1),u=J.useRef(!1),{getOwnerDocument:d}=an();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 Ie(...[`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(j),P(oe))},J.createElement(wr.Provider,{value:v},n))}function br(){let{fullscreen:e,disabled:t,enter:n,exit:r}=Tr(),{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(gn,{disabled:t,label:e?`Exit Fullscreen`:`Enter Fullscreen`,icon:e?Dr:Er,renderIcon:e?i.iconExitFullscreen:i.iconEnterFullscreen,onClick:e?r:n})}function xr({augment:e,contains:t,addParent:n}){e(({fullscreen:e,toolbar:t,...n})=>({toolbar:Xe(t,j,J.createElement(br,null)),fullscreen:Cr(e),...n})),n(t(`thumbnails`)?M:S,L(j,yr))}var J,Sr,Cr,wr,Tr,Er,Dr,Or=t((()=>{J=e(n(),1),Rn(),je(),Sr={auto:!1,ref:null},Cr=e=>({...Sr,...e}),wr=J.createContext(null),Tr=I(`useFullscreen`,`FullscreenContext`,wr),Er=z(`EnterFullscreen`,J.createElement(`path`,{d:`M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z`})),Dr=z(`ExitFullscreen`,J.createElement(`path`,{d:`M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z`}))}));function kr(){let{thumbnails:e}=H();return Br(e)}function Ar({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(wt,{slide:{src:e.thumbnail},...a});if(ze(e))return Y.createElement(wt,{slide:e,...a});let o=P(X(Oe));return e.type===`video`?Y.createElement(Y.Fragment,null,e.poster&&Y.createElement(wt,{slide:{src:e.poster},...a}),Y.createElement(Hr,{className:o})):Y.createElement(Ur,{className:o})}function jr({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}=an(),{width:m,height:h,imageFit:g}=kr(),_={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(se),P(X()),v&&P(X(Wr())),r&&P(X(Gr())),i&&P(X(Kr())),a&&P(X(qr()))),style:{...r?{[F(X(Gr(Yr)))]:`${r.duration}ms`,[F(X(Gr(Jr)))]:`${r.delay}ms`}:null,...i?{[F(X(Kr(Yr)))]:`${i.duration}ms`,[F(X(Kr(Jr)))]:`${i.delay}ms`}:null,...l.thumbnail},onClick:n,"aria-current":v?!0:void 0,"aria-label":Fe(u,d,t)},e&&Ar({slide:e,render:c,rect:_,imageFit:g}))}function Mr(e){return[`top`,`bottom`].includes(e)}function Nr(e,t){return t+2*(e.border+e.padding)+e.gap}function Pr(e){let{thumbnail:t,poster:n}=e||{thumbnail:`placeholder`};return typeof t==`string`&&t||typeof n==`string`&&n||e&&Ye(e)||void 0}function Fr({visible:e,containerRef:t}){let n=Y.useRef(null),r=xt(),{publish:i,subscribe:a}=sn(),{carousel:o,styles:s,labels:c}=H(),{slides:l,globalIndex:u,animation:d}=U(),{registerSensors:f,subscribeSensors:p}=St();It(p);let m=kr(),{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}=ht(n,e=>({keyframes:Mr(h)?[{transform:`translateX(${(r?-1:1)*Nr(m,g)*T+e}px)`},{transform:`translateX(0)`}]:[{transform:`translateY(${Nr(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=Mr(h)?i.left-r.left-(r.width-i.width)/2:i.top-r.top-(r.height-i.height)/2}D(e)});Y.useEffect(()=>Ie(a(me,O)),[a,O]);let k=Ze(o,l),A=[];if(Ke(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:qe(l,e),n=[`${e}`,Pr(t)].filter(Boolean).join(`|`);A.push({key:n,index:e,slide:t})}let j=e=>()=>{e>u?i(pe,{count:e-u}):e<u&&i(fe,{count:u-e})};return Y.createElement(`div`,{className:N(P(Vr(`container`)),P(se)),style:{...e?null:{display:`none`},...g===zr.width?null:{[F(X(`width`))]:`${g}px`},..._===zr.height?null:{[F(X(`height`))]:`${_}px`},...v===zr.border?null:{[F(X(`border`))]:`${v}px`},...y?{[F(X(`border_style`))]:y}:null,...b?{[F(X(`border_color`))]:b}:null,...x===zr.borderRadius?null:{[F(X(`border_radius`))]:`${x}px`},...S===zr.padding?null:{[F(X(`padding`))]:`${S}px`},...C===zr.gap?null:{[F(X(`gap`))]:`${C}px`},...s.thumbnailsContainer}},Y.createElement(`nav`,{ref:n,style:s.thumbnailsTrack,className:N(P(Vr(`track`)),P(se)),"aria-label":Pe(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(jr,{key:e,index:t,slide:r,fadeIn:a,fadeOut:o,placeholder:!r,onClick:j(t),onLoseFocus:()=>n.current?.focus()})})),w&&Y.createElement(`div`,{className:P(Vr(`vignette`))}))}function Ir({children:e,...t}){let{ref:n,position:r,hidden:i}=Br(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(ot,{...t},Y.createElement(Xr.Provider,{value:c},Y.createElement(`div`,{ref:s,className:N(P(Vr()),P(Vr(`${r}`)))},[`start`,`top`].includes(r)&&Y.createElement(Fr,{containerRef:s,visible:a}),Y.createElement(`div`,{className:P(Vr(`wrapper`))},e),[`end`,`bottom`].includes(r)&&Y.createElement(Fr,{containerRef:s,visible:a}))))}function Lr(){let{visible:e,show:t,hide:n}=Zr(),{render:r}=H();return r.buttonThumbnails?Y.createElement(Y.Fragment,null,r.buttonThumbnails({visible:e,show:t,hide:n})):Y.createElement(gn,{label:e?`Hide thumbnails`:`Show thumbnails`,icon:e?$r:ei,renderIcon:e?r.iconThumbnailsVisible:r.iconThumbnailsHidden,onClick:e?n:t})}function Rr({augment:e,contains:t,append:n,addParent:r}){e(({thumbnails:e,toolbar:t,...n})=>{let r=Br(e);return{toolbar:Xe(t,M,r.showToggle?Y.createElement(Lr,null):null),thumbnails:r,...n}});let i=L(M,Ir);t(`fullscreen`)?n(j,i):r(S,i)}var Y,zr,Br,Vr,X,Hr,Ur,Wr,Gr,Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,ti=t((()=>{Y=e(n(),1),Rn(),je(),zr={ref:null,position:`bottom`,width:120,height:80,border:1,borderRadius:4,padding:4,gap:16,imageFit:`contain`,vignette:!0,hidden:!1,showToggle:!1},Br=e=>({...zr,...e}),Vr=e=>Me(M,e),X=e=>Vr(Me(`thumbnail`,e)),Hr=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`})),Ur=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`})),Wr=Ne(`active`),Gr=Ne(`fadein`),Kr=Ne(`fadeout`),qr=Ne(`placeholder`),Jr=`delay`,Yr=`duration`,Xr=Y.createContext(null),Zr=I(`useThumbnails`,`ThumbnailsContext`,Xr),Qr=()=>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`})),$r=z(`ThumbnailsVisible`,Qr()),ei=ft(`ThumbnailsHidden`,Qr())}));function ni(e){return Math.min(Math.max(e,2**-52),1)}function ri(e){let{minZoom:t,...n}={...bi,...e};return{minZoom:ni(t),...n}}function ii(e,t,n,r){let i=Z.useRef(void 0),a=Z.useRef(void 0),{zoom:o}=H().animation,s=pt(),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 ai(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 oi(){let{zoom:e}=H();return ri(e)}function si(e,t){let n=typeof e==`function`?e(t)??bi.maxZoom:e;return Math.max(n,1)}function ci(e,t){let n={width:0,height:0},r={width:0,height:0},{currentSlide:i}=U(),{imageFit:a}=H().carousel,{maxZoomPixelRatio:o,maxZoom:s}=oi();if(e&&i){let s={...i,...t};if(ze(s)){let t=Be(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?ze(i)?Math.max(Re(r.width/n.width,5),1):si(s,i):1;return{imageRect:n,maxZoom:c}}function li(e,t){return Math.hypot(e.clientX-t.clientX,e.clientY-t.clientY)}function ui(e,t,n=100,r=2){return e*Math.min(1+Math.abs(t/n),r)**Math.sign(t)}function di(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}=an(),{containerRef:m,subscribeSensors:h}=K(),{keyboardMoveDistance:g,zoomInMultiplier:_,wheelZoomDistanceFactor:v,scrollToZoom:y,doubleTapDelay:b,doubleClickDelay:x,doubleClickMaxStops:S,pinchZoomDistanceFactor:C,pinchZoomV4:w}=oi(),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(ui(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=li(i[0],i[1]);d.current={previousDistance:t,initialDistance:Math.max(t,1),initialZoom:e}}}),j=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=li(n[0],n[1]);o(w?d.current.initialZoom/d.current.initialDistance*r:ui(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)))}),M=Z.useCallback(e=>{let t=l.current;t.length===2&&t.find(t=>t.pointerId===e.pointerId)&&(d.current=void 0),O(e)},[O]),ee=Z.useCallback(()=>{let e=l.current;e.splice(0,e.length),u.current=0,d.current=void 0},[]);Tt(h,A,j,M,r),Z.useEffect(ee,[f,ee]),Z.useEffect(()=>r?()=>{}:Ie(ee,h(xe,E),h(Ce,D)),[r,h,ee,E,D])}function fi(e,t,n){let[r,i]=Z.useState(1),[a,o]=Z.useState(0),[s,c]=Z.useState(0),l=ii(r,a,s,n),{currentSlide:u,globalIndex:d}=U(),{containerRect:f,slideRect:p}=K(),{minZoom:m,zoomInMultiplier:h}=oi(),g=u&&ze(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=Re(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 pi({children:e}){let[t,n]=Z.useState(),{slideRect:r}=K(),{ref:i,minZoom:a}=oi(),{imageRect:o,maxZoom:s}=ci(r,t?.imageDimensions),{zoom:c,offsetX:l,offsetY:u,disabled:d,changeZoom:f,changeOffsets:p,zoomIn:m,zoomOut:h}=fi(o,s,t?.zoomWrapperRef);ai(c,d),di(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(xi.Provider,{value:_},e)}function mi(){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(Ti,{zoomIn:!0,ref:e,onLoseFocus:a}),Z.createElement(Ti,{ref:t,onLoseFocus:i}))}function hi(){let{render:e}=H(),t=Si();return e.buttonZoom?Z.createElement(Z.Fragment,null,e.buttonZoom(t)):Z.createElement(mi,null)}function gi(e){return(e.srcSet?.length||0)>0}function _i({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(Ae)}}function vi(e){let[{current:t,preload:n},r]=Z.useReducer(_i,{}),{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=Be(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=We(),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(wt,{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(wt,{key:`current`,...e,slide:{...i,src:t,srcSet:void 0},style:v}))}function yi({render:e,slide:t,offset:n,rect:r}){let[i,a]=Z.useState(),o=Z.useRef(null),s=ze(t),{zoom:c,maxZoom:l,offsetX:u,offsetY:d,setZoomWrapper:f}=Si(),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};_=gi(t)?Z.createElement(vi,{...i,slide:t,interactive:p,rect:n===0?{width:r.width*c,height:r.height*c}:r}):Z.createElement(wt,{onLoad:e=>a({width:e.naturalWidth,height:e.naturalHeight}),...i})}return _?Z.createElement(`div`,{ref:o,className:N(P(oe),P(se),P(de),p&&P(`slide_wrapper_interactive`)),style:n===0?{transform:`scale(${c}) translateX(${u}px) translateY(${d}px)`}:void 0},_):null}var Z,bi,xi,Si,Ci,wi,Ti,Ei,Di=t((()=>{Z=e(n(),1),Rn(),je(),bi={minZoom:1,maxZoomPixelRatio:1,zoomInMultiplier:2,doubleTapDelay:300,doubleClickDelay:500,doubleClickMaxStops:2,keyboardMoveDistance:50,wheelZoomDistanceFactor:100,pinchZoomDistanceFactor:100,pinchZoomV4:!1,scrollToZoom:!1,maxZoom:8},xi=Z.createContext(null),Si=I(`useZoom`,`ZoomControllerContext`,xi),Ci=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`}))),wi=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`})),Ti=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}=Si(),{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(gn,{ref:n,disabled:f,label:e?`Zoom in`:`Zoom out`,icon:e?Ci:wi,renderIcon:e?d.iconZoomIn:d.iconZoomOut,onClick:e?c:l,onFocus:()=>{i.current=!0},onBlur:()=>{i.current=!1}})}),Ei=({augment:e,addModule:t})=>{e(({zoom:e,toolbar:t,render:n,controller:r,...i})=>{let a=ri(e);return{zoom:a,toolbar:Xe(t,ee,Z.createElement(hi,null)),render:{...n,slide:e=>ze(e.slide)||e.slide.type!=null&&a.supports?.includes(e.slide.type)?Z.createElement(yi,{render:n,...e}):n.slide?.call(n,e)},controller:{...r,preventDefaultWheelY:a.scrollToZoom},...i}}),t(L(ee,pi))}}));function Oi(e){return Number.isFinite(e)&&e>0}function ki(e,t){let n=e.width===void 0?e.density===void 0?0:t*e.density:e.width;return Oi(n)?Math.round(n):null}function Ai(e){let{intrinsicWidth:t,intrinsicHeight:n}=e;if(t===void 0||n===void 0||!Oi(t)||!Oi(n))return;let r=new Map;for(let i of e.candidates??[]){let e=ki(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 ji(e){return e.map(e=>{let t=Oi(e.intrinsicWidth??0)&&Oi(e.intrinsicHeight??0);return{src:e.src,alt:e.alt,width:t?e.intrinsicWidth:void 0,height:t?e.intrinsicHeight:void 0,srcSet:Ai(e),title:e.title===void 0?e.alt:e.title,description:e.description,thumbnail:e.thumbnail,download:e.download}})}var Mi=t((()=>{}));function Ni(e){let t={...Pi,...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 Pi,Fi=t((()=>{Pi={previous:`Предыдущее изображение`,next:`Следующее изображение`,close:`Закрыть просмотр`,slide:`Изображение`,carousel:`Карусель изображений`,lightbox:`Просмотр изображений`,photoGallery:`Галерея изображений`,slideCounter:`{index} из {total}`,zoomIn:`Увеличить`,zoomOut:`Уменьшить`,enterFullscreen:`Перейти в полноэкранный режим`,exitFullscreen:`Выйти из полноэкранного режима`,thumbnails:`Миниатюры`,showThumbnails:`Показать миниатюры`,hideThumbnails:`Скрыть миниатюры`,caption:`Подпись изображения`,showCaptions:`Показать подписи`,hideCaptions:`Скрыть подписи`,download:`Скачать изображение`}})),Ii,Li,Ri,zi,Q,Bi=t((()=>{Ii=`acj1dM`,Li=`jt3y3m`,Ri=`_2SAWIU`,zi=`_1GqI3h`,Q={viewer:Ii,icon:Li,loadingIcon:Ri,imageViewerSpin:zi}}));function Vi({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,onRuntimeMounted:E}){(0,Hi.useEffect)(()=>{E()},[E]);let D=(0,Hi.useMemo)(()=>ji(t),[t]),O=Number.isFinite(n)?Math.trunc(n):0,k=D.length>0?Math.min(Math.max(O,0),D.length-1):0,A=t.some(e=>(e.title===void 0?e.alt:e.title)!=null||e.description!==void 0&&e.description!==null),j=o?.captions??A,M=o?.counter??D.length>1,ee=o?.download??!1,te=o?.fullscreen??!0,ne=o?.thumbnails??D.length>1,re=o?.zoom??!0,ie=(0,Hi.useMemo)(()=>[...j?[Wn]:[],...M?[tr]:[],...ee?[pr]:[],...te?[xr]:[],...ne?[Rr]:[],...re?[Ei]:[]],[j,M,ee,te,ne,re]),ae=(0,Hi.useMemo)(()=>Ni(C),[C]);return(0,$.jsx)(Xt,{open:e&&D.length>0,close:r,index:k,slides:D,plugins:ie,className:a(Q.viewer,w),portal:{container:{style:T}},labels:ae,carousel:{finite:!y},controller:{closeOnBackdropClick:x,closeOnPullDown:S},captions:{showToggle:!0},counter:{separator:` / `,container:{style:j?{top:Ui}:void 0}},thumbnails:{showToggle:!0},download:{download:({slide:e,saveAs:t})=>{if(!(!ze(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!==k&&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 Hi,$,Ui;t((()=>{Hi=e(n(),1),o(),y(),Rn(),$n(),ar(),vr(),Or(),ti(),Di(),Mi(),Fi(),Bi(),$=i(),Ui=`var(--_image-viewer-top-row-height)`,Vi.__docgenInfo={description:"Тяжёлый runtime ImageViewer, изолированный в отдельном динамическом chunk.\nКомпонент приватен для `/image`: YARL-типы и plugin-контракты не должны становиться API foundation.",methods:[],displayName:`ImageViewerRuntime`,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:`{
3
3
  readonly captions?: boolean;
4
4
  readonly counter?: boolean;
@@ -1,3 +1,3 @@
1
- import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-BlBhvHwk.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,i as a}from"./utils-De5IM4sM.js";import{o,t as s}from"./lucide-react-DMR456up.js";import{M as c,t as l}from"./formatters-DO-Bplkc.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:`Регулярное выражение для валидации всего введённого значения.
1
+ import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-DOzGPw3M.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,i as a}from"./utils-D2Si_EM1.js";import{o,t as s}from"./lucide-react-CXmxxiwZ.js";import{M as c,t as l}from"./formatters-h4ZtB1KQ.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
2
  При несоответствии поле подсвечивается как невалидное, но текст не удаляется.
3
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{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-D2VXMZGt.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-BXKB7xbF.js";import{NumberControlled as p,PatternValidation as m,TextControlled as h,WithError as g,n as _,t as v}from"./Input.stories-Dhv3f6d7.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-Cvma_IcF.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-Dt6mwzpn.js";import{NumberControlled as p,PatternValidation as m,TextControlled as h,WithError as g,n as _,t as v}from"./Input.stories-DhNpohII.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.
@@ -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-BlBhvHwk.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,c as o,i as s}from"./Input-y5ZPRO5m.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-DOzGPw3M.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,c as o,i as s}from"./Input-BTierf74.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-D2VXMZGt.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-BXKB7xbF.js";import{CustomMask as p,DateAndTime as m,DateOnly as h,TimeOnly as g,n as _,t as v}from"./InputDateTime.stories-NMpK5Peb.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-Cvma_IcF.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-Dt6mwzpn.js";import{CustomMask as p,DateAndTime as m,DateOnly as h,TimeOnly as g,n as _,t as v}from"./InputDateTime.stories-BTehTQnn.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-BlBhvHwk.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,i as o}from"./utils-De5IM4sM.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-y5ZPRO5m.js";import{t as p}from"./input-DM0LWdwF.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-DOzGPw3M.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,i as o}from"./utils-D2Si_EM1.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-BTierf74.js";import{t as p}from"./input-CfG8dfNR.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-D2VXMZGt.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-BXKB7xbF.js";import{ArrayBufferMode as p,Controlled as m,WithInitialValue as h,n as g,t as _}from"./InputFile.stories-BuNiPkPF.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-Cvma_IcF.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-Dt6mwzpn.js";import{ArrayBufferMode as p,Controlled as m,WithInitialValue as h,n as g,t as _}from"./InputFile.stories-EhvFRZEW.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-BlBhvHwk.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,i as o,n as s}from"./utils-De5IM4sM.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-y5ZPRO5m.js";import{t as m}from"./input-DM0LWdwF.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-DOzGPw3M.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,i as o,n as s}from"./utils-D2Si_EM1.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-BTierf74.js";import{t as m}from"./input-CfG8dfNR.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-D2VXMZGt.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-BXKB7xbF.js";import{Controlled as p,LimitReached as m,WithInitialFiles as h,n as g,t as _}from"./InputFiles.stories-BPGnbszv.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-Cvma_IcF.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-Dt6mwzpn.js";import{Controlled as p,LimitReached as m,WithInitialFiles as h,n as g,t as _}from"./InputFiles.stories-BayzozA6.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-BlBhvHwk.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,i as a,n as o}from"./utils-De5IM4sM.js";import{o as s,t as c}from"./lucide-react-DMR456up.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-y5ZPRO5m.js";import{t as m}from"./input-DM0LWdwF.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-DOzGPw3M.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,i as a,n as o}from"./utils-D2Si_EM1.js";import{o as s,t as c}from"./lucide-react-CXmxxiwZ.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-BTierf74.js";import{t as m}from"./input-CfG8dfNR.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-BlBhvHwk.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{n as a,t as o}from"./InputFiles-BlGer_7z.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-DOzGPw3M.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{n as a,t as o}from"./InputFiles-v2NJm_qh.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-D2VXMZGt.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-BXKB7xbF.js";import{ArrayBufferMode as p,Controlled as m,WithInitialImage as h,n as g,t as _}from"./InputImage.stories-BXKgBMoQ.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-Cvma_IcF.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-Dt6mwzpn.js";import{ArrayBufferMode as p,Controlled as m,WithInitialImage as h,n as g,t as _}from"./InputImage.stories-DyULIi5J.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.
@@ -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-BlBhvHwk.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,i as o,n as s}from"./utils-De5IM4sM.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-y5ZPRO5m.js";import{t as m}from"./input-DM0LWdwF.js";import{i as h,n as g,t as _}from"./file-hArYcyES.js";var v,y,b,x,S=n((()=>{v=`EV-Vji`,y=`A5-T93`,b=`V1Rhiv`,x={control:v,fileName:y,hiddenInput:b}}));function C({value:e,onChange:t,onClear:n,onReadError:r,allowedMime:i,maxBytes:o,readMode:l,label:m,description:h,placeholder:v=`Выберите изображение`,disabled:y,size:b,error:S,onClearError:C,className:E}){let D=(0,w.useRef)(null),{controlId:O,labelId:k,descriptionId:A,errorId:j,describedBy:M}=p({hasLabel:m!=null,hasDescription:!!h,hasError:!!S}),N=(0,w.useCallback)(e=>l===`array-buffer`?_(e,{allowedMime:i,maxBytes:o,mode:`array-buffer`}):_(e,{allowedMime:i,maxBytes:o}),[i,o,l]),P=(0,w.useMemo)(()=>i&&i.length>0?i.join(`,`):`image/*`,[i]),F=(0,w.useCallback)(async e=>{let n=e.target.files?.[0];if(n){e.target.value=``,S&&C&&C();try{t(await N(n))}catch(e){e instanceof g&&r&&r(e)}}},[N,t,r,S,C]),I=(0,w.useCallback)(()=>{D.current?.click()},[]);return(0,T.jsxs)(d,{label:m,description:h,disabled:y,className:E,size:b,error:S,controlId:O,labelId:k,descriptionId:A,errorId:j,children:[(0,T.jsx)(`input`,{ref:D,id:O,type:`file`,accept:P,disabled:y,className:x.hiddenInput,onChange:F,tabIndex:-1}),(0,T.jsx)(f,{endAdornment:n?(0,T.jsx)(u,{onClick:n,disabled:y}):void 0,endAdornmentWidth:n?`var(--control-height)`:void 0,children:({controlClassName:t})=>(0,T.jsx)(`div`,{role:`button`,tabIndex:y?-1:0,onClick:I,onKeyDown:e=>s(e,I,{disabled:y}),className:a(c.uiInputControl,x.control,t,!!S&&`invalid`),"data-disabled":y||void 0,"aria-invalid":!!S||void 0,"aria-disabled":y,"aria-labelledby":k,"aria-describedby":M,children:e?(0,T.jsx)(`span`,{className:x.fileName,children:e.meta.name}):(0,T.jsx)(`span`,{className:c.uiPlaceholder,children:v})})})]})}var w,T,E=n((()=>{w=t(r(),1),h(),o(),m(),l(),S(),T=i(),C.__docgenInfo={description:`InputImage — компонент выбора одного изображения.
1
+ import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{C as r}from"./iframe-DOzGPw3M.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,i as o,n as s}from"./utils-D2Si_EM1.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-BTierf74.js";import{t as m}from"./input-CfG8dfNR.js";import{i as h,n as g,t as _}from"./file-hArYcyES.js";var v,y,b,x,S=n((()=>{v=`EV-Vji`,y=`A5-T93`,b=`V1Rhiv`,x={control:v,fileName:y,hiddenInput:b}}));function C({value:e,onChange:t,onClear:n,onReadError:r,allowedMime:i,maxBytes:o,readMode:l,label:m,description:h,placeholder:v=`Выберите изображение`,disabled:y,size:b,error:S,onClearError:C,className:E}){let D=(0,w.useRef)(null),{controlId:O,labelId:k,descriptionId:A,errorId:j,describedBy:M}=p({hasLabel:m!=null,hasDescription:!!h,hasError:!!S}),N=(0,w.useCallback)(e=>l===`array-buffer`?_(e,{allowedMime:i,maxBytes:o,mode:`array-buffer`}):_(e,{allowedMime:i,maxBytes:o}),[i,o,l]),P=(0,w.useMemo)(()=>i&&i.length>0?i.join(`,`):`image/*`,[i]),F=(0,w.useCallback)(async e=>{let n=e.target.files?.[0];if(n){e.target.value=``,S&&C&&C();try{t(await N(n))}catch(e){e instanceof g&&r&&r(e)}}},[N,t,r,S,C]),I=(0,w.useCallback)(()=>{D.current?.click()},[]);return(0,T.jsxs)(d,{label:m,description:h,disabled:y,className:E,size:b,error:S,controlId:O,labelId:k,descriptionId:A,errorId:j,children:[(0,T.jsx)(`input`,{ref:D,id:O,type:`file`,accept:P,disabled:y,className:x.hiddenInput,onChange:F,tabIndex:-1}),(0,T.jsx)(f,{endAdornment:n?(0,T.jsx)(u,{onClick:n,disabled:y}):void 0,endAdornmentWidth:n?`var(--control-height)`:void 0,children:({controlClassName:t})=>(0,T.jsx)(`div`,{role:`button`,tabIndex:y?-1:0,onClick:I,onKeyDown:e=>s(e,I,{disabled:y}),className:a(c.uiInputControl,x.control,t,!!S&&`invalid`),"data-disabled":y||void 0,"aria-invalid":!!S||void 0,"aria-disabled":y,"aria-labelledby":k,"aria-describedby":M,children:e?(0,T.jsx)(`span`,{className:x.fileName,children:e.meta.name}):(0,T.jsx)(`span`,{className:c.uiPlaceholder,children:v})})})]})}var w,T,E=n((()=>{w=t(r(),1),h(),o(),m(),l(),S(),T=i(),C.__docgenInfo={description:`InputImage — компонент выбора одного изображения.
2
2
 
3
3
  Визуально идентичен InputText. Под капотом использует readImageFile,
4
4
  который валидирует что файл — изображение и извлекает его размеры.
@@ -1,8 +1,9 @@
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-D2VXMZGt.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-BXKB7xbF.js";import{Controlled as p,CustomPresets as m,Disabled as h,DisabledPresets as g,InToolbar as _,Placeholder as v,n as y,t as b}from"./LayoutPicker.stories-s1valXGj.js";function x(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(a,{of:b,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-Cvma_IcF.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-Dt6mwzpn.js";import{Controlled as p,CustomPresets as m,Disabled as h,DisabledPresets as g,InToolbar as _,Placeholder as v,n as y,t as b}from"./LayoutPicker.stories-q8iUnVpY.js";function x(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(a,{of:b,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,C.jsx)(c,{children:`LayoutPicker`}),`
3
3
  `,(0,C.jsx)(i,{children:`Контролируемый выбор layout-пресета со схематичным превью`}),`
4
4
  `,(0,C.jsxs)(o.p,{children:[(0,C.jsx)(o.code,{children:`LayoutPicker`}),` нужен для выбора схемы размещения независимых областей: графиков, панелей, секций дашборда или другого UI, где сама раскладка хранится во внешней модели.
5
- Компонент не знает, что будет внутри ячеек: он показывает только превью, принимает текущий `,(0,C.jsx)(o.code,{children:`value`}),` как ID пресета и возвращает выбранный ID через `,(0,C.jsx)(o.code,{children:`onChange`}),`.`]}),`
5
+ Компонент не знает, что будет внутри ячеек: он показывает только превью, принимает текущий `,(0,C.jsx)(o.code,{children:`value`}),` как ID пресета и возвращает выбранный ID через `,(0,C.jsx)(o.code,{children:`onChange`}),`.
6
+ По умолчанию trigger отображает только иконку текущей раскладки. Чтобы добавить рядом поясняющий текст, передайте `,(0,C.jsx)(o.code,{children:`showPlaceholder`}),`: компонент покажет именно строку из `,(0,C.jsx)(o.code,{children:`placeholder`}),`, не заменяя её названием выбранного пресета.`]}),`
6
7
  `,(0,C.jsx)(o.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
7
8
  `,(0,C.jsx)(u,{}),`
8
9
  `,(0,C.jsx)(n,{of:p}),`
@@ -45,7 +46,7 @@ const dashboardPreset: LayoutPickerPreset = {
45
46
  `,(0,C.jsxs)(o.p,{children:[`Главный story обновляет `,(0,C.jsx)(o.code,{children:`value`}),` через `,(0,C.jsx)(o.code,{children:`useArgs`}),`, поэтому Controls отражают выбранный layout.`]}),`
46
47
  `,(0,C.jsx)(l,{of:p}),`
47
48
  `,(0,C.jsx)(o.h3,{id:`состояние-без-выбранного-значения`,children:`Состояние без выбранного значения`}),`
48
- `,(0,C.jsxs)(o.p,{children:[`Если `,(0,C.jsx)(o.code,{children:`value`}),` не найден среди `,(0,C.jsx)(o.code,{children:`presets`}),`, trigger показывает `,(0,C.jsx)(o.code,{children:`placeholder`}),`, а после выбора начинает отображать выбранный пресет.`]}),`
49
+ `,(0,C.jsxs)(o.p,{children:[`Story явно включает `,(0,C.jsx)(o.code,{children:`showPlaceholder`}),`, поэтому trigger показывает переданный текст `,(0,C.jsx)(o.code,{children:`placeholder`}),` рядом с иконкой. Без этого пропса trigger остаётся icon-only независимо от наличия выбранного пресета.`]}),`
49
50
  `,(0,C.jsx)(l,{of:v}),`
50
51
  `,(0,C.jsx)(o.h3,{id:`кастомный-набор-пресетов`,children:`Кастомный набор пресетов`}),`
51
52
  `,(0,C.jsxs)(o.p,{children:[`Компонент принимает произвольный список `,(0,C.jsx)(o.code,{children:`LayoutPickerPreset`}),`, пока каждая ячейка описана координатами grid.`]}),`