@alfalab/core-components 47.26.1-beta.0 → 47.26.1-beta.3254

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 (595) hide show
  1. package/cdn-icon/Component.js +1 -1
  2. package/cdn-icon/cssm/Component.js +1 -1
  3. package/cdn-icon/esm/Component.js +1 -1
  4. package/cdn-icon/modern/Component.js +1 -1
  5. package/cdn-icon/moderncssm/Component.js +1 -1
  6. package/confirmation/components/screens/initial/component.js +1 -1
  7. package/confirmation/components/screens/initial/countdown-section.js +1 -1
  8. package/confirmation/esm/component.responsive.js +1 -1
  9. package/confirmation/esm/components/base-confirmation/component.js +1 -1
  10. package/confirmation/esm/components/base-confirmation/index.js +1 -1
  11. package/confirmation/esm/components/index.js +1 -1
  12. package/confirmation/esm/components/screens/index.js +1 -1
  13. package/confirmation/esm/components/screens/initial/component.js +1 -1
  14. package/confirmation/esm/components/screens/initial/countdown-section.js +1 -1
  15. package/confirmation/esm/components/screens/initial/index.js +1 -1
  16. package/confirmation/esm/desktop/component.desktop.js +1 -1
  17. package/confirmation/esm/desktop/index.js +1 -1
  18. package/confirmation/esm/index.js +1 -1
  19. package/confirmation/esm/mobile/component.mobile.js +1 -1
  20. package/confirmation/esm/mobile/index.js +1 -1
  21. package/confirmation/esm/shared/index.js +1 -1
  22. package/confirmation/modern/component.responsive.js +1 -1
  23. package/confirmation/modern/components/base-confirmation/component.js +1 -1
  24. package/confirmation/modern/components/base-confirmation/index.js +1 -1
  25. package/confirmation/modern/components/index.js +1 -1
  26. package/confirmation/modern/components/screens/index.js +1 -1
  27. package/confirmation/modern/components/screens/initial/component.js +1 -1
  28. package/confirmation/modern/components/screens/initial/countdown-section.js +1 -1
  29. package/confirmation/modern/components/screens/initial/index.js +1 -1
  30. package/confirmation/modern/desktop/component.desktop.js +1 -1
  31. package/confirmation/modern/desktop/index.js +1 -1
  32. package/confirmation/modern/index.js +1 -1
  33. package/confirmation/modern/mobile/component.mobile.js +1 -1
  34. package/confirmation/modern/mobile/index.js +1 -1
  35. package/confirmation/modern/shared/index.js +1 -1
  36. package/custom-picker-button/esm/field/index.css +1 -1
  37. package/custom-picker-button/field/index.css +1 -1
  38. package/custom-picker-button/modern/field/index.css +1 -1
  39. package/gallery/Component.js +1 -2
  40. package/gallery/components/image-viewer/component.js +46 -20
  41. package/gallery/components/image-viewer/index.css +4 -9
  42. package/gallery/components/image-viewer/slide.d.ts +0 -16
  43. package/gallery/components/image-viewer/slide.js +10 -51
  44. package/gallery/cssm/Component.js +1 -2
  45. package/gallery/cssm/components/image-viewer/component.js +33 -6
  46. package/gallery/cssm/components/image-viewer/index.module.css +4 -9
  47. package/gallery/cssm/components/image-viewer/slide.d.ts +2 -2
  48. package/gallery/cssm/components/image-viewer/slide.js +4 -4
  49. package/gallery/esm/Component.js +9 -12
  50. package/gallery/esm/components/image-viewer/component.js +34 -10
  51. package/gallery/esm/components/image-viewer/index.css +4 -9
  52. package/gallery/esm/components/image-viewer/index.js +2 -4
  53. package/gallery/esm/components/image-viewer/slide.d.ts +0 -16
  54. package/gallery/esm/components/image-viewer/slide.js +9 -49
  55. package/gallery/esm/components/index.js +2 -4
  56. package/gallery/esm/index.js +9 -12
  57. package/gallery/esm/slide-1be24647.d.ts +16 -0
  58. package/gallery/esm/slide-1be24647.js +54 -0
  59. package/gallery/modern/Component.js +9 -12
  60. package/gallery/modern/components/image-viewer/component.js +33 -10
  61. package/gallery/modern/components/image-viewer/index.css +4 -9
  62. package/gallery/modern/components/image-viewer/index.js +2 -4
  63. package/gallery/modern/components/image-viewer/slide.d.ts +0 -16
  64. package/gallery/modern/components/image-viewer/slide.js +9 -45
  65. package/gallery/modern/components/index.js +2 -4
  66. package/gallery/modern/index.js +9 -12
  67. package/gallery/modern/slide-744c3872.d.ts +16 -0
  68. package/gallery/modern/slide-744c3872.js +50 -0
  69. package/gallery/moderncssm/Component.js +11 -13
  70. package/gallery/moderncssm/components/image-viewer/component.js +32 -8
  71. package/gallery/moderncssm/components/image-viewer/index.js +2 -3
  72. package/gallery/moderncssm/components/image-viewer/index.module.css +4 -9
  73. package/gallery/moderncssm/components/image-viewer/slide.d.ts +2 -2
  74. package/gallery/moderncssm/components/image-viewer/slide.js +4 -4
  75. package/gallery/moderncssm/components/index.js +2 -3
  76. package/gallery/moderncssm/index.js +11 -13
  77. package/gallery/slide-c3eb8b7d.d.ts +16 -0
  78. package/gallery/slide-c3eb8b7d.js +57 -0
  79. package/input-autocomplete/autocomplete-field/index.css +1 -1
  80. package/input-autocomplete/autocomplete-mobile-field/index.css +1 -1
  81. package/input-autocomplete/esm/autocomplete-field/index.css +1 -1
  82. package/input-autocomplete/esm/autocomplete-mobile-field/index.css +1 -1
  83. package/input-autocomplete/esm/mobile/mobile.css +1 -1
  84. package/input-autocomplete/mobile/mobile.css +1 -1
  85. package/input-autocomplete/modern/autocomplete-field/index.css +1 -1
  86. package/input-autocomplete/modern/autocomplete-mobile-field/index.css +1 -1
  87. package/input-autocomplete/modern/mobile/mobile.css +1 -1
  88. package/international-phone-input/components/base-international-phone-input/index.css +1 -1
  89. package/international-phone-input/components/country-select/index.css +1 -1
  90. package/international-phone-input/components/flag-icon/index.css +1 -1
  91. package/international-phone-input/components/select-field/index.css +1 -1
  92. package/international-phone-input/esm/components/base-international-phone-input/index.css +1 -1
  93. package/international-phone-input/esm/components/country-select/index.css +1 -1
  94. package/international-phone-input/esm/components/flag-icon/index.css +1 -1
  95. package/international-phone-input/esm/components/select-field/index.css +1 -1
  96. package/international-phone-input/modern/components/base-international-phone-input/index.css +1 -1
  97. package/international-phone-input/modern/components/country-select/index.css +1 -1
  98. package/international-phone-input/modern/components/flag-icon/index.css +1 -1
  99. package/international-phone-input/modern/components/select-field/index.css +1 -1
  100. package/intl-phone-input/components/flag-icon/index.css +1 -1
  101. package/intl-phone-input/components/select/index.css +1 -1
  102. package/intl-phone-input/components/select-field/index.css +1 -1
  103. package/intl-phone-input/esm/components/flag-icon/index.css +1 -1
  104. package/intl-phone-input/esm/components/select/index.css +1 -1
  105. package/intl-phone-input/esm/components/select-field/index.css +1 -1
  106. package/intl-phone-input/esm/index.css +1 -1
  107. package/intl-phone-input/index.css +1 -1
  108. package/intl-phone-input/modern/components/flag-icon/index.css +1 -1
  109. package/intl-phone-input/modern/components/select/index.css +1 -1
  110. package/intl-phone-input/modern/components/select-field/index.css +1 -1
  111. package/intl-phone-input/modern/index.css +1 -1
  112. package/modal/components/controls/Component.js +1 -1
  113. package/modal/components/footer/Component.js +1 -1
  114. package/modal/esm/Component.responsive.js +1 -1
  115. package/modal/esm/components/controls/Component.js +1 -1
  116. package/modal/esm/components/controls/index.js +1 -1
  117. package/modal/esm/components/footer/Component.js +1 -1
  118. package/modal/esm/desktop/Component.desktop.js +1 -1
  119. package/modal/esm/desktop/index.js +1 -1
  120. package/modal/esm/index.js +1 -1
  121. package/modal/esm/mobile/Component.mobile.js +1 -1
  122. package/modal/esm/mobile/index.js +1 -1
  123. package/modal/modern/Component.responsive.js +1 -1
  124. package/modal/modern/components/controls/Component.js +1 -1
  125. package/modal/modern/components/controls/index.js +1 -1
  126. package/modal/modern/components/footer/Component.js +1 -1
  127. package/modal/modern/desktop/Component.desktop.js +1 -1
  128. package/modal/modern/desktop/index.js +1 -1
  129. package/modal/modern/index.js +1 -1
  130. package/modal/modern/mobile/Component.mobile.js +1 -1
  131. package/modal/modern/mobile/index.js +1 -1
  132. package/package.json +1 -1
  133. package/picker-button/esm/field/index.css +1 -1
  134. package/picker-button/esm/index.css +1 -1
  135. package/picker-button/esm/option/index.css +1 -1
  136. package/picker-button/field/index.css +1 -1
  137. package/picker-button/index.css +1 -1
  138. package/picker-button/modern/field/index.css +1 -1
  139. package/picker-button/modern/index.css +1 -1
  140. package/picker-button/modern/option/index.css +1 -1
  141. package/picker-button/option/index.css +1 -1
  142. package/plate/Component.responsive.js +1 -1
  143. package/plate/components/base-plate/Component.js +1 -1
  144. package/plate/esm/Component.responsive.js +1 -1
  145. package/plate/esm/components/base-plate/Component.js +1 -1
  146. package/plate/esm/components/base-plate/index.js +1 -1
  147. package/plate/esm/desktop/Component.desktop.js +1 -1
  148. package/plate/esm/desktop/index.js +1 -1
  149. package/plate/esm/index-ba3cd492.d.ts +2 -2
  150. package/plate/esm/index.js +1 -1
  151. package/plate/esm/mobile/Component.mobile.js +1 -1
  152. package/plate/esm/mobile/index.js +1 -1
  153. package/plate/esm/shared/index.js +1 -1
  154. package/plate/esm/utils.js +1 -1
  155. package/plate/index-ba3cd492.d.ts +2 -2
  156. package/plate/modern/Component.responsive.js +1 -1
  157. package/plate/modern/components/base-plate/Component.js +1 -1
  158. package/plate/modern/components/base-plate/index.js +1 -1
  159. package/plate/modern/desktop/Component.desktop.js +1 -1
  160. package/plate/modern/desktop/index.js +1 -1
  161. package/plate/modern/index-ba3cd492.d.ts +2 -2
  162. package/plate/modern/index.js +1 -1
  163. package/plate/modern/mobile/Component.mobile.js +1 -1
  164. package/plate/modern/mobile/index.js +1 -1
  165. package/plate/modern/shared/index.js +1 -1
  166. package/plate/modern/utils.js +1 -1
  167. package/plate/utils.js +1 -1
  168. package/pure-cell/component.js +1 -1
  169. package/pure-cell/components/addon/component.js +1 -1
  170. package/pure-cell/components/addon/index.d.ts +1 -1
  171. package/pure-cell/components/addon/index.js +1 -1
  172. package/pure-cell/components/amount/component.js +1 -1
  173. package/pure-cell/components/amount/index.d.ts +1 -1
  174. package/pure-cell/components/amount/index.js +1 -1
  175. package/pure-cell/components/amount-title/component.js +1 -1
  176. package/pure-cell/components/amount-title/index.d.ts +1 -1
  177. package/pure-cell/components/amount-title/index.js +1 -1
  178. package/pure-cell/components/category/component.js +1 -1
  179. package/pure-cell/components/category/index.d.ts +1 -1
  180. package/pure-cell/components/category/index.js +1 -1
  181. package/pure-cell/components/content/component.js +1 -1
  182. package/pure-cell/components/content/index.d.ts +1 -1
  183. package/pure-cell/components/content/index.js +1 -1
  184. package/pure-cell/components/footer/component.js +1 -1
  185. package/pure-cell/components/footer/index.d.ts +1 -1
  186. package/pure-cell/components/footer/index.js +1 -1
  187. package/pure-cell/components/footer-button/component.js +1 -1
  188. package/pure-cell/components/footer-button/index.d.ts +1 -1
  189. package/pure-cell/components/footer-button/index.js +1 -1
  190. package/pure-cell/components/footer-text/component.js +1 -1
  191. package/pure-cell/components/footer-text/index.d.ts +1 -1
  192. package/pure-cell/components/footer-text/index.js +1 -1
  193. package/pure-cell/components/graphics/component.js +1 -1
  194. package/pure-cell/components/graphics/index.d.ts +1 -1
  195. package/pure-cell/components/graphics/index.js +1 -1
  196. package/pure-cell/components/main/component.js +1 -1
  197. package/pure-cell/components/main/index.d.ts +1 -1
  198. package/pure-cell/components/main/index.js +1 -1
  199. package/pure-cell/components/text/component.js +1 -1
  200. package/pure-cell/components/text/index.d.ts +1 -1
  201. package/pure-cell/components/text/index.js +1 -1
  202. package/pure-cell/esm/component.js +1 -1
  203. package/pure-cell/esm/components/addon/component.js +1 -1
  204. package/pure-cell/esm/components/addon/index.d.ts +1 -1
  205. package/pure-cell/esm/components/addon/index.js +1 -1
  206. package/pure-cell/esm/components/amount/component.js +1 -1
  207. package/pure-cell/esm/components/amount/index.d.ts +1 -1
  208. package/pure-cell/esm/components/amount/index.js +1 -1
  209. package/pure-cell/esm/components/amount-title/component.js +1 -1
  210. package/pure-cell/esm/components/amount-title/index.d.ts +1 -1
  211. package/pure-cell/esm/components/amount-title/index.js +1 -1
  212. package/pure-cell/esm/components/category/component.js +1 -1
  213. package/pure-cell/esm/components/category/index.d.ts +1 -1
  214. package/pure-cell/esm/components/category/index.js +1 -1
  215. package/pure-cell/esm/components/content/component.js +1 -1
  216. package/pure-cell/esm/components/content/index.d.ts +1 -1
  217. package/pure-cell/esm/components/content/index.js +1 -1
  218. package/pure-cell/esm/components/footer/component.js +1 -1
  219. package/pure-cell/esm/components/footer/index.d.ts +1 -1
  220. package/pure-cell/esm/components/footer/index.js +1 -1
  221. package/pure-cell/esm/components/footer-button/component.js +1 -1
  222. package/pure-cell/esm/components/footer-button/index.d.ts +1 -1
  223. package/pure-cell/esm/components/footer-button/index.js +1 -1
  224. package/pure-cell/esm/components/footer-text/component.js +1 -1
  225. package/pure-cell/esm/components/footer-text/index.d.ts +1 -1
  226. package/pure-cell/esm/components/footer-text/index.js +1 -1
  227. package/pure-cell/esm/components/graphics/component.js +1 -1
  228. package/pure-cell/esm/components/graphics/index.d.ts +1 -1
  229. package/pure-cell/esm/components/graphics/index.js +1 -1
  230. package/pure-cell/esm/components/main/component.js +1 -1
  231. package/pure-cell/esm/components/main/index.d.ts +1 -1
  232. package/pure-cell/esm/components/main/index.js +1 -1
  233. package/pure-cell/esm/components/text/component.js +1 -1
  234. package/pure-cell/esm/components/text/index.d.ts +1 -1
  235. package/pure-cell/esm/components/text/index.js +1 -1
  236. package/pure-cell/esm/index.js +1 -1
  237. package/pure-cell/index.js +1 -1
  238. package/pure-cell/modern/component.js +1 -1
  239. package/pure-cell/modern/components/addon/component.js +1 -1
  240. package/pure-cell/modern/components/addon/index.d.ts +1 -1
  241. package/pure-cell/modern/components/addon/index.js +1 -1
  242. package/pure-cell/modern/components/amount/component.js +1 -1
  243. package/pure-cell/modern/components/amount/index.d.ts +1 -1
  244. package/pure-cell/modern/components/amount/index.js +1 -1
  245. package/pure-cell/modern/components/amount-title/component.js +1 -1
  246. package/pure-cell/modern/components/amount-title/index.d.ts +1 -1
  247. package/pure-cell/modern/components/amount-title/index.js +1 -1
  248. package/pure-cell/modern/components/category/component.js +1 -1
  249. package/pure-cell/modern/components/category/index.d.ts +1 -1
  250. package/pure-cell/modern/components/category/index.js +1 -1
  251. package/pure-cell/modern/components/content/component.js +1 -1
  252. package/pure-cell/modern/components/content/index.d.ts +1 -1
  253. package/pure-cell/modern/components/content/index.js +1 -1
  254. package/pure-cell/modern/components/footer/component.js +1 -1
  255. package/pure-cell/modern/components/footer/index.d.ts +1 -1
  256. package/pure-cell/modern/components/footer/index.js +1 -1
  257. package/pure-cell/modern/components/footer-button/component.js +1 -1
  258. package/pure-cell/modern/components/footer-button/index.d.ts +1 -1
  259. package/pure-cell/modern/components/footer-button/index.js +1 -1
  260. package/pure-cell/modern/components/footer-text/component.js +1 -1
  261. package/pure-cell/modern/components/footer-text/index.d.ts +1 -1
  262. package/pure-cell/modern/components/footer-text/index.js +1 -1
  263. package/pure-cell/modern/components/graphics/component.js +1 -1
  264. package/pure-cell/modern/components/graphics/index.d.ts +1 -1
  265. package/pure-cell/modern/components/graphics/index.js +1 -1
  266. package/pure-cell/modern/components/main/component.js +1 -1
  267. package/pure-cell/modern/components/main/index.d.ts +1 -1
  268. package/pure-cell/modern/components/main/index.js +1 -1
  269. package/pure-cell/modern/components/text/component.js +1 -1
  270. package/pure-cell/modern/components/text/index.d.ts +1 -1
  271. package/pure-cell/modern/components/text/index.js +1 -1
  272. package/pure-cell/modern/index.js +1 -1
  273. package/select/components/arrow/index.css +1 -1
  274. package/select/components/base-checkmark/index.css +1 -1
  275. package/select/components/base-option/index.css +1 -1
  276. package/select/components/base-select/Component.js +2 -2
  277. package/select/components/base-select/components/list-desktop/helpers/get-list-popover-desktop-props.d.ts +1 -1
  278. package/select/components/base-select/components/list-desktop/list-popover-desktop.js +1 -1
  279. package/select/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +1 -1
  280. package/select/components/base-select/components/list-mobile/list-modal-mobile.js +1 -1
  281. package/select/components/base-select/index.css +1 -1
  282. package/select/components/base-select/mobile.css +1 -1
  283. package/select/components/checkmark/index.css +1 -1
  284. package/select/components/checkmark-mobile/index.css +1 -1
  285. package/select/components/clear-button/index.css +1 -1
  286. package/select/components/field/index.css +1 -1
  287. package/select/components/footer/index.css +1 -1
  288. package/select/components/optgroup/index.css +1 -1
  289. package/select/components/option/index.css +1 -1
  290. package/select/components/options-list/index.css +1 -1
  291. package/select/components/search/index.css +1 -1
  292. package/select/components/virtual-options-list/index.css +1 -1
  293. package/select/esm/Component.responsive.js +3 -3
  294. package/select/esm/components/arrow/index.css +1 -1
  295. package/select/esm/components/base-checkmark/index.css +1 -1
  296. package/select/esm/components/base-option/index.css +1 -1
  297. package/select/esm/components/base-select/Component.js +2 -2
  298. package/select/esm/components/base-select/components/list-desktop/list-popover-desktop.js +1 -1
  299. package/select/esm/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +1 -1
  300. package/select/esm/components/base-select/components/list-mobile/list-mobile.js +1 -1
  301. package/select/esm/components/base-select/components/list-mobile/list-modal-mobile.js +1 -1
  302. package/select/esm/components/base-select/index.css +1 -1
  303. package/select/esm/components/base-select/index.js +2 -2
  304. package/select/esm/components/base-select/mobile.css +1 -1
  305. package/select/esm/components/checkmark/index.css +1 -1
  306. package/select/esm/components/checkmark-mobile/index.css +1 -1
  307. package/select/esm/components/clear-button/index.css +1 -1
  308. package/select/esm/components/field/index.css +1 -1
  309. package/select/esm/components/footer/index.css +1 -1
  310. package/select/esm/components/index.js +2 -2
  311. package/select/esm/components/optgroup/index.css +1 -1
  312. package/select/esm/components/option/index.css +1 -1
  313. package/select/esm/components/options-list/index.css +1 -1
  314. package/select/esm/components/search/index.css +1 -1
  315. package/select/esm/components/virtual-options-list/index.css +1 -1
  316. package/select/esm/desktop/Component.desktop.js +2 -2
  317. package/select/esm/desktop/index.js +2 -2
  318. package/select/esm/index.js +3 -3
  319. package/select/esm/mobile/Component.mobile.js +3 -3
  320. package/select/esm/mobile/Component.modal.mobile.js +3 -3
  321. package/select/esm/mobile/index.js +3 -3
  322. package/select/esm/presets/index.js +1 -1
  323. package/select/esm/presets/useSelectWithApply/hook.js +1 -1
  324. package/select/esm/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  325. package/select/esm/presets/useSelectWithApply/options-list-with-apply/footer/index.css +1 -1
  326. package/select/esm/presets/useSelectWithApply/options-list-with-apply/header/index.css +1 -1
  327. package/select/esm/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  328. package/select/esm/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  329. package/select/esm/presets/useSelectWithLoading/index.css +1 -1
  330. package/select/esm/shared/index.js +3 -3
  331. package/select/mobile/Component.mobile.js +1 -1
  332. package/select/modern/Component.responsive.js +3 -3
  333. package/select/modern/components/arrow/index.css +1 -1
  334. package/select/modern/components/base-checkmark/index.css +1 -1
  335. package/select/modern/components/base-option/index.css +1 -1
  336. package/select/modern/components/base-select/Component.js +2 -2
  337. package/select/modern/components/base-select/components/list-desktop/list-popover-desktop.js +1 -1
  338. package/select/modern/components/base-select/components/list-mobile/list-bottom-sheet-mobile.js +1 -1
  339. package/select/modern/components/base-select/components/list-mobile/list-mobile.js +1 -1
  340. package/select/modern/components/base-select/components/list-mobile/list-modal-mobile.js +1 -1
  341. package/select/modern/components/base-select/index.css +1 -1
  342. package/select/modern/components/base-select/index.js +2 -2
  343. package/select/modern/components/base-select/mobile.css +1 -1
  344. package/select/modern/components/checkmark/index.css +1 -1
  345. package/select/modern/components/checkmark-mobile/index.css +1 -1
  346. package/select/modern/components/clear-button/index.css +1 -1
  347. package/select/modern/components/field/index.css +1 -1
  348. package/select/modern/components/footer/index.css +1 -1
  349. package/select/modern/components/index.js +2 -2
  350. package/select/modern/components/optgroup/index.css +1 -1
  351. package/select/modern/components/option/index.css +1 -1
  352. package/select/modern/components/options-list/index.css +1 -1
  353. package/select/modern/components/search/index.css +1 -1
  354. package/select/modern/components/virtual-options-list/index.css +1 -1
  355. package/select/modern/desktop/Component.desktop.js +2 -2
  356. package/select/modern/desktop/index.js +2 -2
  357. package/select/modern/index.js +3 -3
  358. package/select/modern/mobile/Component.mobile.js +3 -3
  359. package/select/modern/mobile/Component.modal.mobile.js +3 -3
  360. package/select/modern/mobile/index.js +3 -3
  361. package/select/modern/presets/index.js +1 -1
  362. package/select/modern/presets/useSelectWithApply/hook.js +1 -1
  363. package/select/modern/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  364. package/select/modern/presets/useSelectWithApply/options-list-with-apply/footer/index.css +1 -1
  365. package/select/modern/presets/useSelectWithApply/options-list-with-apply/header/index.css +1 -1
  366. package/select/modern/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  367. package/select/modern/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  368. package/select/modern/presets/useSelectWithLoading/index.css +1 -1
  369. package/select/modern/shared/index.js +3 -3
  370. package/select/presets/index.js +1 -1
  371. package/select/presets/useSelectWithApply/hook.js +1 -1
  372. package/select/presets/useSelectWithApply/options-list-with-apply/Component.js +1 -1
  373. package/select/presets/useSelectWithApply/options-list-with-apply/footer/index.css +1 -1
  374. package/select/presets/useSelectWithApply/options-list-with-apply/header/index.css +1 -1
  375. package/select/presets/useSelectWithApply/options-list-with-apply/index.d.ts +1 -1
  376. package/select/presets/useSelectWithApply/options-list-with-apply/index.js +1 -1
  377. package/select/presets/useSelectWithLoading/index.css +1 -1
  378. package/select/shared/index.js +1 -1
  379. package/select-with-tags/Component.responsive.d.ts +1 -1
  380. package/select-with-tags/components/base-select-with-tags/Component.d.ts +1 -1
  381. package/select-with-tags/components/tag/index.css +1 -1
  382. package/select-with-tags/components/tag-list/index.css +1 -1
  383. package/select-with-tags/esm/components/tag/index.css +1 -1
  384. package/select-with-tags/esm/components/tag-list/index.css +1 -1
  385. package/select-with-tags/modern/components/tag/index.css +1 -1
  386. package/select-with-tags/modern/components/tag-list/index.css +1 -1
  387. package/side-panel/components/controls/Component.js +1 -1
  388. package/side-panel/components/footer/Component.js +1 -1
  389. package/side-panel/esm/Component.responsive.js +1 -1
  390. package/side-panel/esm/components/controls/Component.js +1 -1
  391. package/side-panel/esm/components/controls/index.js +1 -1
  392. package/side-panel/esm/components/footer/Component.desktop.js +1 -1
  393. package/side-panel/esm/components/footer/Component.js +1 -1
  394. package/side-panel/esm/components/footer/Component.mobile.js +1 -1
  395. package/side-panel/esm/desktop/Component.desktop.js +1 -1
  396. package/side-panel/esm/desktop/index.js +1 -1
  397. package/side-panel/esm/index.js +1 -1
  398. package/side-panel/esm/mobile/Component.mobile.js +1 -1
  399. package/side-panel/esm/mobile/index.js +1 -1
  400. package/side-panel/modern/Component.responsive.js +1 -1
  401. package/side-panel/modern/components/controls/Component.js +1 -1
  402. package/side-panel/modern/components/controls/index.js +1 -1
  403. package/side-panel/modern/components/footer/Component.desktop.js +1 -1
  404. package/side-panel/modern/components/footer/Component.js +1 -1
  405. package/side-panel/modern/components/footer/Component.mobile.js +1 -1
  406. package/side-panel/modern/desktop/Component.desktop.js +1 -1
  407. package/side-panel/modern/desktop/index.js +1 -1
  408. package/side-panel/modern/index.js +1 -1
  409. package/side-panel/modern/mobile/Component.mobile.js +1 -1
  410. package/side-panel/modern/mobile/index.js +1 -1
  411. package/table/components/pagination/index.css +1 -1
  412. package/table/components/pagination/select-field/index.css +1 -1
  413. package/table/components/table/index.css +1 -1
  414. package/table/components/tbody/index.css +1 -1
  415. package/table/components/tcell/index.css +1 -1
  416. package/table/components/texpandable-row/index.css +1 -1
  417. package/table/components/thead/index.css +1 -1
  418. package/table/components/thead-cell/index.css +1 -1
  419. package/table/components/trow/index.css +1 -1
  420. package/table/components/tsortable-head-cell/index.css +1 -1
  421. package/table/esm/components/pagination/index.css +1 -1
  422. package/table/esm/components/pagination/select-field/index.css +1 -1
  423. package/table/esm/components/table/index.css +1 -1
  424. package/table/esm/components/tbody/index.css +1 -1
  425. package/table/esm/components/tcell/index.css +1 -1
  426. package/table/esm/components/texpandable-row/index.css +1 -1
  427. package/table/esm/components/thead/index.css +1 -1
  428. package/table/esm/components/thead-cell/index.css +1 -1
  429. package/table/esm/components/trow/index.css +1 -1
  430. package/table/esm/components/tsortable-head-cell/index.css +1 -1
  431. package/table/modern/components/pagination/index.css +1 -1
  432. package/table/modern/components/pagination/select-field/index.css +1 -1
  433. package/table/modern/components/table/index.css +1 -1
  434. package/table/modern/components/tbody/index.css +1 -1
  435. package/table/modern/components/tcell/index.css +1 -1
  436. package/table/modern/components/texpandable-row/index.css +1 -1
  437. package/table/modern/components/thead/index.css +1 -1
  438. package/table/modern/components/thead-cell/index.css +1 -1
  439. package/table/modern/components/trow/index.css +1 -1
  440. package/table/modern/components/tsortable-head-cell/index.css +1 -1
  441. package/tabs/components/primary-tablist/Component.collapsible.js +1 -1
  442. package/tabs/components/primary-tablist/Component.desktop.js +1 -1
  443. package/tabs/components/primary-tablist/Component.mobile.js +1 -1
  444. package/tabs/components/primary-tablist/index.css +1 -1
  445. package/tabs/components/primary-tablist/mobile.css +1 -1
  446. package/tabs/components/scroll-controls/index.css +1 -1
  447. package/tabs/components/scrollable-container/index.css +1 -1
  448. package/tabs/components/secondary-tablist/Component.desktop.js +1 -1
  449. package/tabs/components/secondary-tablist/Component.mobile.js +1 -1
  450. package/tabs/components/secondary-tablist/index.css +1 -1
  451. package/tabs/components/secondary-tablist/mobile.css +1 -1
  452. package/tabs/components/tab/index.css +1 -1
  453. package/tabs/esm/collapsible/index.js +1 -1
  454. package/tabs/esm/components/primary-tablist/Component.collapsible.js +1 -1
  455. package/tabs/esm/components/primary-tablist/Component.desktop.js +1 -1
  456. package/tabs/esm/components/primary-tablist/Component.mobile.js +1 -1
  457. package/tabs/esm/components/primary-tablist/Component.responsive.js +1 -1
  458. package/tabs/esm/components/primary-tablist/index.css +1 -1
  459. package/tabs/esm/components/primary-tablist/mobile.css +1 -1
  460. package/tabs/esm/components/scroll-controls/index.css +1 -1
  461. package/tabs/esm/components/scrollable-container/index.css +1 -1
  462. package/tabs/esm/components/secondary-tablist/Component.desktop.js +1 -1
  463. package/tabs/esm/components/secondary-tablist/Component.mobile.js +1 -1
  464. package/tabs/esm/components/secondary-tablist/Component.responsive.js +1 -1
  465. package/tabs/esm/components/secondary-tablist/index.css +1 -1
  466. package/tabs/esm/components/secondary-tablist/mobile.css +1 -1
  467. package/tabs/esm/components/tab/index.css +1 -1
  468. package/tabs/esm/components/tabs/Component.collapsible.js +1 -1
  469. package/tabs/esm/components/tabs/Component.desktop.js +2 -2
  470. package/tabs/esm/components/tabs/Component.mobile.js +2 -2
  471. package/tabs/esm/components/tabs/Component.responsive.js +2 -2
  472. package/tabs/esm/desktop/index.js +2 -2
  473. package/tabs/esm/index.js +2 -2
  474. package/tabs/esm/mobile/index.js +2 -2
  475. package/tabs/modern/collapsible/index.js +1 -1
  476. package/tabs/modern/components/primary-tablist/Component.collapsible.js +1 -1
  477. package/tabs/modern/components/primary-tablist/Component.desktop.js +1 -1
  478. package/tabs/modern/components/primary-tablist/Component.mobile.js +1 -1
  479. package/tabs/modern/components/primary-tablist/Component.responsive.js +1 -1
  480. package/tabs/modern/components/primary-tablist/index.css +1 -1
  481. package/tabs/modern/components/primary-tablist/mobile.css +1 -1
  482. package/tabs/modern/components/scroll-controls/index.css +1 -1
  483. package/tabs/modern/components/scrollable-container/index.css +1 -1
  484. package/tabs/modern/components/secondary-tablist/Component.desktop.js +1 -1
  485. package/tabs/modern/components/secondary-tablist/Component.mobile.js +1 -1
  486. package/tabs/modern/components/secondary-tablist/Component.responsive.js +1 -1
  487. package/tabs/modern/components/secondary-tablist/index.css +1 -1
  488. package/tabs/modern/components/secondary-tablist/mobile.css +1 -1
  489. package/tabs/modern/components/tab/index.css +1 -1
  490. package/tabs/modern/components/tabs/Component.collapsible.js +1 -1
  491. package/tabs/modern/components/tabs/Component.desktop.js +2 -2
  492. package/tabs/modern/components/tabs/Component.mobile.js +2 -2
  493. package/tabs/modern/components/tabs/Component.responsive.js +2 -2
  494. package/tabs/modern/desktop/index.js +2 -2
  495. package/tabs/modern/index.js +2 -2
  496. package/tabs/modern/mobile/index.js +2 -2
  497. package/themes/compiled/mobile-dark-bluetint.css +43 -43
  498. package/typography/esm/component.js +2 -2
  499. package/typography/esm/index.js +2 -2
  500. package/typography/esm/text/component.js +1 -1
  501. package/typography/esm/text/index.js +1 -1
  502. package/typography/esm/title/component.js +1 -1
  503. package/typography/esm/title/index.js +2 -2
  504. package/typography/esm/title-mobile/component.js +2 -2
  505. package/typography/esm/title-mobile/index.js +2 -2
  506. package/typography/esm/title-responsive/component.js +2 -2
  507. package/typography/esm/title-responsive/index.js +2 -2
  508. package/typography/modern/component.js +2 -2
  509. package/typography/modern/index.js +2 -2
  510. package/typography/modern/text/component.js +1 -1
  511. package/typography/modern/text/index.js +1 -1
  512. package/typography/modern/title/component.js +1 -1
  513. package/typography/modern/title/index.js +2 -2
  514. package/typography/modern/title-mobile/component.js +2 -2
  515. package/typography/modern/title-mobile/index.js +2 -2
  516. package/typography/modern/title-responsive/component.js +2 -2
  517. package/typography/modern/title-responsive/index.js +2 -2
  518. package/typography/text/component.js +1 -1
  519. package/typography/title/component.js +1 -1
  520. package/typography/title/index.js +1 -1
  521. package/typography/title-mobile/component.js +1 -1
  522. package/gallery/components/image-viewer/hooks.d.ts +0 -11
  523. package/gallery/components/image-viewer/hooks.js +0 -49
  524. package/gallery/components/image-viewer/single.d.ts +0 -3
  525. package/gallery/components/image-viewer/single.js +0 -40
  526. package/gallery/cssm/components/image-viewer/hooks.d.ts +0 -11
  527. package/gallery/cssm/components/image-viewer/hooks.js +0 -50
  528. package/gallery/cssm/components/image-viewer/single.d.ts +0 -3
  529. package/gallery/cssm/components/image-viewer/single.js +0 -41
  530. package/gallery/esm/components/image-viewer/hooks.d.ts +0 -11
  531. package/gallery/esm/components/image-viewer/hooks.js +0 -43
  532. package/gallery/esm/components/image-viewer/single.d.ts +0 -3
  533. package/gallery/esm/components/image-viewer/single.js +0 -41
  534. package/gallery/esm/index.module-36459066.js +0 -4
  535. package/gallery/index.module-c483ff15.js +0 -4
  536. package/gallery/modern/components/image-viewer/hooks.d.ts +0 -11
  537. package/gallery/modern/components/image-viewer/hooks.js +0 -42
  538. package/gallery/modern/components/image-viewer/single.d.ts +0 -3
  539. package/gallery/modern/components/image-viewer/single.js +0 -39
  540. package/gallery/modern/index.module-d076a674.js +0 -4
  541. package/gallery/moderncssm/components/image-viewer/hooks.d.ts +0 -11
  542. package/gallery/moderncssm/components/image-viewer/hooks.js +0 -42
  543. package/gallery/moderncssm/components/image-viewer/single.d.ts +0 -3
  544. package/gallery/moderncssm/components/image-viewer/single.js +0 -40
  545. /package/confirmation/{countdown-section-11f4a1a1.d.ts → countdown-section-0af376aa.d.ts} +0 -0
  546. /package/confirmation/{countdown-section-11f4a1a1.js → countdown-section-0af376aa.js} +0 -0
  547. /package/confirmation/esm/{countdown-section-d6b1deee.d.ts → countdown-section-cb056a87.d.ts} +0 -0
  548. /package/confirmation/esm/{countdown-section-d6b1deee.js → countdown-section-cb056a87.js} +0 -0
  549. /package/confirmation/modern/{countdown-section-7e4c21da.d.ts → countdown-section-95d41e19.d.ts} +0 -0
  550. /package/confirmation/modern/{countdown-section-7e4c21da.js → countdown-section-95d41e19.js} +0 -0
  551. /package/modal/esm/{layout.module-cca8a34d.js → layout.module-5dcbff27.js} +0 -0
  552. /package/modal/{layout.module-ef330a0c.js → layout.module-005c6b89.js} +0 -0
  553. /package/modal/modern/{layout.module-44a53c03.js → layout.module-4e8bc2dd.js} +0 -0
  554. /package/plate/{PortalContext-22f378f6.d.ts → PortalContext-18c212b1.d.ts} +0 -0
  555. /package/plate/{PortalContext-22f378f6.js → PortalContext-18c212b1.js} +0 -0
  556. /package/plate/esm/{PortalContext-e24d0682.d.ts → PortalContext-08ac24d1.d.ts} +0 -0
  557. /package/plate/esm/{PortalContext-e24d0682.js → PortalContext-08ac24d1.js} +0 -0
  558. /package/plate/modern/{PortalContext-4348864b.d.ts → PortalContext-9559fd28.d.ts} +0 -0
  559. /package/plate/modern/{PortalContext-4348864b.js → PortalContext-9559fd28.js} +0 -0
  560. /package/pure-cell/{component-4ef26b18.d.ts → component-402b2eae.d.ts} +0 -0
  561. /package/pure-cell/{component-4ef26b18.js → component-402b2eae.js} +0 -0
  562. /package/pure-cell/esm/{component-ef49f347.d.ts → component-61d3d990.d.ts} +0 -0
  563. /package/pure-cell/esm/{component-ef49f347.js → component-61d3d990.js} +0 -0
  564. /package/pure-cell/modern/{component-fbc4f8c3.d.ts → component-80b10233.d.ts} +0 -0
  565. /package/pure-cell/modern/{component-fbc4f8c3.js → component-80b10233.js} +0 -0
  566. /package/select/esm/{hook-2380bd10.d.ts → hook-9d724f59.d.ts} +0 -0
  567. /package/select/esm/{hook-2380bd10.js → hook-9d724f59.js} +0 -0
  568. /package/select/esm/{list-popover-desktop-91e299a7.d.ts → list-popover-desktop-0aaab589.d.ts} +0 -0
  569. /package/select/esm/{list-popover-desktop-91e299a7.js → list-popover-desktop-0aaab589.js} +0 -0
  570. /package/select/esm/{mobile.module-41c277f8.js → mobile.module-d2654587.js} +0 -0
  571. /package/select/{hook-3a766953.d.ts → hook-510af409.d.ts} +0 -0
  572. /package/select/{hook-3a766953.js → hook-510af409.js} +0 -0
  573. /package/select/{list-popover-desktop-666da994.d.ts → list-popover-desktop-cf56de62.d.ts} +0 -0
  574. /package/select/{list-popover-desktop-666da994.js → list-popover-desktop-cf56de62.js} +0 -0
  575. /package/select/{mobile.module-bb025d20.js → mobile.module-dff9bc89.js} +0 -0
  576. /package/select/modern/{hook-1edfb88e.d.ts → hook-f32393d6.d.ts} +0 -0
  577. /package/select/modern/{hook-1edfb88e.js → hook-f32393d6.js} +0 -0
  578. /package/select/modern/{list-popover-desktop-ee20725c.d.ts → list-popover-desktop-fa7aaf33.d.ts} +0 -0
  579. /package/select/modern/{list-popover-desktop-ee20725c.js → list-popover-desktop-fa7aaf33.js} +0 -0
  580. /package/select/modern/{mobile.module-29144ddd.js → mobile.module-46f37787.js} +0 -0
  581. /package/side-panel/esm/{layout.module-56f3f8c0.js → layout.module-7516f250.js} +0 -0
  582. /package/side-panel/{layout.module-987bcf83.js → layout.module-e3b02834.js} +0 -0
  583. /package/side-panel/modern/{layout.module-68bd1f23.js → layout.module-6cd9c551.js} +0 -0
  584. /package/tabs/esm/{index.module-e13b44a8.js → index.module-59a35b4f.js} +0 -0
  585. /package/tabs/esm/{index.module-bd21c400.js → index.module-73085727.js} +0 -0
  586. /package/tabs/{index.module-4d98bbbc.js → index.module-68e4db12.js} +0 -0
  587. /package/tabs/{index.module-fd4a15a3.js → index.module-c126dbc9.js} +0 -0
  588. /package/tabs/modern/{index.module-198c46a5.js → index.module-df2f86b2.js} +0 -0
  589. /package/tabs/modern/{index.module-16d145e8.js → index.module-e62abd0a.js} +0 -0
  590. /package/typography/{colors.module-b27cac78.js → colors.module-32c22ee5.js} +0 -0
  591. /package/typography/{common.module-ef11475e.js → common.module-9b91bdb2.js} +0 -0
  592. /package/typography/esm/{colors.module-4039d21c.js → colors.module-9d73fe22.js} +0 -0
  593. /package/typography/esm/{common.module-ab57c416.js → common.module-c617f546.js} +0 -0
  594. /package/typography/modern/{colors.module-0ff9e370.js → colors.module-1845824e.js} +0 -0
  595. /package/typography/modern/{common.module-c013f975.js → common.module-12faa674.js} +0 -0
@@ -3,6 +3,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
3
3
  var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var cn = require('classnames');
6
+ var elementClosest = require('element-closest');
6
7
  var SwiperCore = require('swiper');
7
8
  var react = require('swiper/react');
8
9
  var hooks = require('@alfalab/hooks');
@@ -11,22 +12,23 @@ var ChevronForwardHeavyMIcon = require('@alfalab/icons-glyph/ChevronForwardHeavy
11
12
  var context = require('../../context.js');
12
13
  var utils_utils = require('../../utils/utils.js');
13
14
  var utils_constants = require('../../utils/constants.js');
14
- var components_imageViewer_hooks = require('./hooks.js');
15
- var components_imageViewer_slide = require('./slide.js');
15
+ var components_imageViewer_slide = require('../../slide-c3eb8b7d.js');
16
16
  require('swiper/swiper.min.css');
17
- var index_module = require('../../index.module-c483ff15.js');
18
17
 
19
18
  function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
20
19
 
21
20
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
22
21
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
22
+ var elementClosest__default = /*#__PURE__*/_interopDefaultCompat(elementClosest);
23
23
  var SwiperCore__default = /*#__PURE__*/_interopDefaultCompat(SwiperCore);
24
24
 
25
25
  SwiperCore__default.default.use([SwiperCore.EffectFade, SwiperCore.A11y, SwiperCore.Controller]);
26
26
  var ImageViewer = function () {
27
27
  var _a, _b, _c;
28
- var _d = React.useContext(context.GalleryContext), images = _d.images, imagesMeta = _d.imagesMeta, fullScreen = _d.fullScreen, currentSlideIndex = _d.currentSlideIndex, initialSlide = _d.initialSlide, setCurrentSlideIndex = _d.setCurrentSlideIndex, getSwiper = _d.getSwiper, setSwiper = _d.setSwiper, slidePrev = _d.slidePrev, slideNext = _d.slideNext, getCurrentImage = _d.getCurrentImage;
29
- var _e = components_imageViewer_hooks.useHandleImageViewer(), handleLoad = _e.handleLoad, handleLoadError = _e.handleLoadError, handleWrapperClick = _e.handleWrapperClick, isMobile = _e.isMobile, rightArrowRef = _e.rightArrowRef, leftArrowRef = _e.leftArrowRef;
28
+ var _d = React.useContext(context.GalleryContext), singleSlide = _d.singleSlide, images = _d.images, imagesMeta = _d.imagesMeta, fullScreen = _d.fullScreen, currentSlideIndex = _d.currentSlideIndex, initialSlide = _d.initialSlide, onClose = _d.onClose, setImageMeta = _d.setImageMeta, setCurrentSlideIndex = _d.setCurrentSlideIndex, getSwiper = _d.getSwiper, setSwiper = _d.setSwiper, slidePrev = _d.slidePrev, slideNext = _d.slideNext, getCurrentImage = _d.getCurrentImage, view = _d.view;
29
+ var isMobile = view === 'mobile';
30
+ var leftArrowRef = React.useRef(null);
31
+ var rightArrowRef = React.useRef(null);
30
32
  var leftArrowFocused = hooks.useFocus(leftArrowRef, 'keyboard')[0];
31
33
  var rightArrowFocused = hooks.useFocus(rightArrowRef, 'keyboard')[0];
32
34
  var swiper = getSwiper();
@@ -51,6 +53,28 @@ var ImageViewer = function () {
51
53
  slideNext();
52
54
  }
53
55
  };
56
+ var handleLoad = function (event, index) {
57
+ var target = event.currentTarget;
58
+ var naturalWidth = target.naturalWidth, naturalHeight = target.naturalHeight;
59
+ setImageMeta({ width: naturalWidth, height: naturalHeight }, index);
60
+ };
61
+ var handleLoadError = function (index) {
62
+ setImageMeta({ width: 0, height: 0, broken: true }, index);
63
+ };
64
+ var handleWrapperClick = React.useCallback(function (event) {
65
+ var _a, _b;
66
+ var eventTarget = event.target;
67
+ var isArrow = ((_a = leftArrowRef.current) === null || _a === void 0 ? void 0 : _a.contains(eventTarget)) ||
68
+ ((_b = rightArrowRef.current) === null || _b === void 0 ? void 0 : _b.contains(eventTarget));
69
+ var isPlaceholder = Boolean(eventTarget.closest(".".concat(components_imageViewer_slide.styles.placeholder)));
70
+ var isImg = eventTarget.tagName === 'IMG';
71
+ if (!isImg && !isPlaceholder && !isArrow && !isMobile) {
72
+ onClose();
73
+ }
74
+ }, [isMobile, onClose]);
75
+ React.useEffect(function () {
76
+ elementClosest__default.default(window);
77
+ }, []);
54
78
  var swiperProps = React.useMemo(function () {
55
79
  var _a;
56
80
  return ({
@@ -59,11 +83,11 @@ var ImageViewer = function () {
59
83
  fadeEffect: {
60
84
  crossFade: true,
61
85
  },
62
- className: cn__default.default(index_module.styles.swiper, (_a = {},
63
- _a[index_module.styles.hidden] = fullScreen && !utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
64
- _a[index_module.styles.fullScreenVideo] = fullScreen && utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
65
- _a[index_module.styles.mobile] = isMobile,
66
- _a[index_module.styles.mobileVideo] = isMobile && utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
86
+ className: cn__default.default(components_imageViewer_slide.styles.swiper, (_a = {},
87
+ _a[components_imageViewer_slide.styles.hidden] = fullScreen && !utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
88
+ _a[components_imageViewer_slide.styles.fullScreenVideo] = fullScreen && !singleSlide && utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
89
+ _a[components_imageViewer_slide.styles.mobile] = isMobile,
90
+ _a[components_imageViewer_slide.styles.mobileVideo] = isMobile && utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
67
91
  _a)),
68
92
  controller: { control: swiper },
69
93
  a11y: {
@@ -78,27 +102,29 @@ var ImageViewer = function () {
78
102
  }, [
79
103
  fullScreen,
80
104
  currentImage === null || currentImage === void 0 ? void 0 : currentImage.src,
105
+ singleSlide,
81
106
  isMobile,
82
107
  swiper,
83
108
  initialSlide,
84
109
  setSwiper,
85
110
  handleSlideChange,
86
111
  ]);
87
- var showControls = !fullScreen && !isMobile && !!images.length;
112
+ var showControls = !singleSlide && !fullScreen && !isMobile && !!images.length;
88
113
  var swiperWidth = (swiper === null || swiper === void 0 ? void 0 : swiper.width) || 1;
89
114
  var swiperHeight = (swiper === null || swiper === void 0 ? void 0 : swiper.height) || (swiper === null || swiper === void 0 ? void 0 : swiper.width) || 1;
90
115
  var swiperAspectRatio = swiperWidth / swiperHeight;
91
116
  return (
92
117
  /* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */
93
- React__default.default.createElement("div", { className: cn__default.default(index_module.styles.component, (_a = {},
94
- _a[index_module.styles.mobile] = isMobile,
95
- _a[index_module.styles.mobileVideo] = isMobile && utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
118
+ React__default.default.createElement("div", { className: cn__default.default(components_imageViewer_slide.styles.component, (_a = {},
119
+ _a[components_imageViewer_slide.styles.singleSlide] = singleSlide,
120
+ _a[components_imageViewer_slide.styles.mobile] = isMobile,
121
+ _a[components_imageViewer_slide.styles.mobileVideo] = isMobile && utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
96
122
  _a)), onClick: handleWrapperClick },
97
- showControls && (React__default.default.createElement("div", { className: cn__default.default(index_module.styles.arrow, (_b = {},
98
- _b[index_module.styles.focused] = leftArrowFocused,
123
+ showControls && (React__default.default.createElement("div", { className: cn__default.default(components_imageViewer_slide.styles.arrow, (_b = {},
124
+ _b[components_imageViewer_slide.styles.focused] = leftArrowFocused,
99
125
  _b)), onClick: handlePrevClick, role: 'button', onKeyDown: handleArrowLeftKeyDown, tabIndex: 0, ref: leftArrowRef, "aria-label": '\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435', "data-test-id": utils_constants.TestIds.PREV_SLIDE_BUTTON },
100
126
  React__default.default.createElement(ChevronBackHeavyMIcon.ChevronBackHeavyMIcon, null))),
101
- fullScreen && !utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src) && (React__default.default.createElement("img", { src: currentImage === null || currentImage === void 0 ? void 0 : currentImage.src, alt: currentImage ? utils_utils.getImageAlt(currentImage, currentSlideIndex) : '', className: index_module.styles.fullScreenImage })),
127
+ fullScreen && !utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src) && (React__default.default.createElement("img", { src: currentImage === null || currentImage === void 0 ? void 0 : currentImage.src, alt: currentImage ? utils_utils.getImageAlt(currentImage, currentSlideIndex) : '', className: components_imageViewer_slide.styles.fullScreenImage })),
102
128
  React__default.default.createElement(react.Swiper, tslib.__assign({}, swiperProps), images.map(function (image, index) {
103
129
  var meta = imagesMeta[index];
104
130
  var imageWidth = (meta === null || meta === void 0 ? void 0 : meta.width) || 1;
@@ -110,11 +136,11 @@ var ImageViewer = function () {
110
136
  transitionProperty: 'opacity',
111
137
  } }, function (_a) {
112
138
  var isActive = _a.isActive;
113
- return (React__default.default.createElement(components_imageViewer_slide.Slide, { isActive: isActive, containerAspectRatio: swiperAspectRatio, image: image, containerHeight: swiperHeight, meta: meta, index: index, imageAspectRatio: imageAspectRatio, slideVisible: slideVisible, handleLoad: handleLoad, handleLoadError: handleLoadError }));
139
+ return (React__default.default.createElement(components_imageViewer_slide.Slide, { isActive: isActive, swiperAspectRatio: swiperAspectRatio, image: image, swiperHeight: swiperHeight, meta: meta, index: index, imageAspectRatio: imageAspectRatio, slideVisible: slideVisible, handleLoad: handleLoad, handleLoadError: handleLoadError }));
114
140
  }));
115
141
  })),
116
- showControls && (React__default.default.createElement("div", { className: cn__default.default(index_module.styles.arrow, (_c = {},
117
- _c[index_module.styles.focused] = rightArrowFocused,
142
+ showControls && (React__default.default.createElement("div", { className: cn__default.default(components_imageViewer_slide.styles.arrow, (_c = {},
143
+ _c[components_imageViewer_slide.styles.focused] = rightArrowFocused,
118
144
  _c)), onClick: handleNextClick, role: 'button', onKeyDown: handleArrowRightKeyDown, tabIndex: 0, ref: rightArrowRef, "aria-label": '\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435', "data-test-id": utils_constants.TestIds.NEXT_SLIDE_BUTTON },
119
145
  React__default.default.createElement(ChevronForwardHeavyMIcon.ChevronForwardHeavyMIcon, null)))));
120
146
  };
@@ -53,18 +53,13 @@
53
53
  max-height: calc(100vh - 210px);
54
54
  } .gallery__swiper_1dsel.gallery__mobileVideo_1dsel {
55
55
  max-height: 100vh;
56
- } .gallery__singleSlideContainer_1dsel {
57
- display: flex;
58
- width: 100%;
59
- height: 100%;
60
-
56
+ } .gallery__singleSlide_1dsel .gallery__swiper_1dsel {
61
57
  max-height: calc(100vh - 80px);
62
- padding: var(--gap-32);
63
- box-sizing: border-box
64
- } .gallery__singleSlideContainer_1dsel.gallery__mobile_1dsel {
58
+ padding: var(--gap-32)
59
+ } .gallery__singleSlide_1dsel .gallery__swiper_1dsel.gallery__mobile_1dsel {
65
60
  max-height: calc(100vh - 174px);
66
61
  padding: 0;
67
- } .gallery__singleSlideContainer_1dsel.gallery__mobileVideo_1dsel {
62
+ } .gallery__singleSlide_1dsel .gallery__swiper_1dsel.gallery__mobileVideo_1dsel {
68
63
  max-height: 100vh;
69
64
  } .gallery__hidden_1dsel {
70
65
  display: none;
@@ -1,16 +0,0 @@
1
- import { FC, SyntheticEvent } from 'react';
2
- import { GalleryImage, ImageMeta } from "../../types";
3
- type SlideProps = {
4
- isActive: boolean;
5
- image: GalleryImage;
6
- meta?: ImageMeta;
7
- containerAspectRatio: number;
8
- imageAspectRatio: number;
9
- index: number;
10
- containerHeight: number;
11
- slideVisible: boolean;
12
- handleLoad: (event: SyntheticEvent<HTMLImageElement>, index: number) => void;
13
- handleLoadError: (index: number) => void;
14
- };
15
- declare const Slide: FC<SlideProps>;
16
- export { Slide };
@@ -1,56 +1,15 @@
1
1
  Object.defineProperty(exports, '__esModule', { value: true });
2
2
 
3
- var React = require('react');
4
- var cn = require('classnames');
5
- var coreComponentsTypography = require('../../../typography');
6
- var context = require('../../context.js');
7
- var utils_utils = require('../../utils/utils.js');
8
- var utils_constants = require('../../utils/constants.js');
9
- var components_imageViewer_paths = require('./paths.js');
10
- var components_imageViewer_video_index = require('./video/index.js');
11
- var index_module = require('../../index.module-c483ff15.js');
3
+ require('react');
4
+ require('classnames');
5
+ require('../../../typography');
6
+ require('../../context.js');
7
+ require('../../utils/utils.js');
8
+ require('../../utils/constants.js');
9
+ require('./paths.js');
10
+ require('./video/index.js');
11
+ var components_imageViewer_slide = require('../../slide-c3eb8b7d.js');
12
12
 
13
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
14
13
 
15
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
16
- var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
17
14
 
18
- var SlideInner = function (_a) {
19
- var _b;
20
- var children = _a.children, broken = _a.broken, loading = _a.loading, withPlaceholder = _a.withPlaceholder, isVideoView = _a.isVideoView;
21
- var content = broken ? (React__default.default.createElement("div", { className: index_module.styles.brokenImgWrapper },
22
- React__default.default.createElement("div", { className: index_module.styles.brokenImgIcon },
23
- React__default.default.createElement("svg", { xmlns: 'http://www.w3.org/2000/svg', width: '80', height: '80', viewBox: '0 0 80 80', fill: 'none' },
24
- React__default.default.createElement("rect", { width: '80', height: '80', fill: 'none' }),
25
- React__default.default.createElement("path", { fillRule: 'evenodd', clipRule: 'evenodd', d: components_imageViewer_paths.NoImagePaths.baseImage, fill: '#89898A' }),
26
- React__default.default.createElement("path", { d: components_imageViewer_paths.NoImagePaths.triangleImage, fill: '#89898A' }))),
27
- React__default.default.createElement(coreComponentsTypography.Typography.Text, { view: 'primary-small', color: 'static-secondary-light' },
28
- "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C ",
29
- isVideoView ? 'видео' : 'изображение'))) : (children);
30
- return (React__default.default.createElement("div", { className: cn__default.default(index_module.styles.slide, (_b = {}, _b[index_module.styles.slideLoading] = loading, _b)) }, withPlaceholder ? React__default.default.createElement("div", { className: index_module.styles.placeholder }, content) : content));
31
- };
32
- var Slide = function (_a) {
33
- var _b;
34
- var isActive = _a.isActive, meta = _a.meta, containerAspectRatio = _a.containerAspectRatio, imageAspectRatio = _a.imageAspectRatio, image = _a.image, index = _a.index, containerHeight = _a.containerHeight, slideVisible = _a.slideVisible, handleLoad = _a.handleLoad, handleLoadError = _a.handleLoadError;
35
- var view = React.useContext(context.GalleryContext).view;
36
- var broken = Boolean(meta === null || meta === void 0 ? void 0 : meta.broken);
37
- var small = utils_utils.isSmallImage(meta);
38
- var verticalImageFit = !small && containerAspectRatio > imageAspectRatio;
39
- var horizontalImageFit = !small && containerAspectRatio <= imageAspectRatio;
40
- if (utils_utils.isVideo(image.src)) {
41
- return (React__default.default.createElement(SlideInner, { isVideoView: true, active: isActive, broken: broken, withPlaceholder: broken, loading: !meta },
42
- React__default.default.createElement(components_imageViewer_video_index.Video, { url: image.src, index: index, isActive: isActive })));
43
- }
44
- return (React__default.default.createElement(SlideInner, { active: isActive, broken: broken, loading: !meta, withPlaceholder: small || broken },
45
- React__default.default.createElement("img", { src: image.src, alt: utils_utils.getImageAlt(image, index), className: cn__default.default((_b = {},
46
- _b[index_module.styles.smallImage] = small,
47
- _b[index_module.styles.image] = !small && meta,
48
- _b[index_module.styles.mobile] = view === 'mobile',
49
- _b[index_module.styles.verticalImageFit] = verticalImageFit,
50
- _b[index_module.styles.horizontalImageFit] = horizontalImageFit,
51
- _b)), onLoad: function (event) { return handleLoad(event, index); }, onError: function () { return handleLoadError(index); }, style: {
52
- maxHeight: "".concat(containerHeight, "px"),
53
- }, "data-test-id": slideVisible ? utils_constants.TestIds.ACTIVE_IMAGE : undefined })));
54
- };
55
-
56
- exports.Slide = Slide;
15
+ exports.Slide = components_imageViewer_slide.Slide;
@@ -4,7 +4,6 @@ var React = require('react');
4
4
  var cn = require('classnames');
5
5
  var coreComponentsBaseModal = require('../../base-modal/cssm');
6
6
  var hooks = require('@alfalab/hooks');
7
- var components_imageViewer_single = require('./components/image-viewer/single.js');
8
7
  var components_navigationBar_Component = require('./components/navigation-bar/Component.js');
9
8
  var components_header_Component = require('./components/header/Component.js');
10
9
  var context = require('./context.js');
@@ -151,7 +150,7 @@ var Gallery = function (_a) {
151
150
  React__default.default.createElement(coreComponentsBaseModal.BaseModal, { open: open, className: cn__default.default(styles__default.default.modal, popupClassName), onEscapeKeyDown: handleEscapeKeyDown, Backdrop: Backdrop, onUnmount: onUnmount },
152
151
  React__default.default.createElement("div", { className: styles__default.default.container },
153
152
  view === 'desktop' ? React__default.default.createElement(components_header_Component.Header, null) : React__default.default.createElement(components_headerMobile_Component.HeaderMobile, null),
154
- images.length === 1 ? React__default.default.createElement(components_imageViewer_single.Single, null) : React__default.default.createElement(components_imageViewer_component.ImageViewer, null),
153
+ React__default.default.createElement(components_imageViewer_component.ImageViewer, null),
155
154
  React__default.default.createElement("nav", { className: cn__default.default((_b = {},
156
155
  _b[styles__default.default.navigationVideo] = isCurrentVideo && isMobile,
157
156
  _b[styles__default.default.hideNavigation] = hideNavigation && isMobile,
@@ -3,6 +3,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
3
3
  var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var cn = require('classnames');
6
+ var elementClosest = require('element-closest');
6
7
  var SwiperCore = require('swiper');
7
8
  var react = require('swiper/react');
8
9
  var hooks = require('@alfalab/hooks');
@@ -11,7 +12,6 @@ var ChevronForwardHeavyMIcon = require('@alfalab/icons-glyph/ChevronForwardHeavy
11
12
  var context = require('../../context.js');
12
13
  var utils_utils = require('../../utils/utils.js');
13
14
  var utils_constants = require('../../utils/constants.js');
14
- var components_imageViewer_hooks = require('./hooks.js');
15
15
  var components_imageViewer_slide = require('./slide.js');
16
16
  require('swiper/swiper.min.css');
17
17
  var styles = require('./index.module.css');
@@ -20,14 +20,17 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
20
20
 
21
21
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
22
22
  var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
23
+ var elementClosest__default = /*#__PURE__*/_interopDefaultCompat(elementClosest);
23
24
  var SwiperCore__default = /*#__PURE__*/_interopDefaultCompat(SwiperCore);
24
25
  var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
25
26
 
26
27
  SwiperCore__default.default.use([SwiperCore.EffectFade, SwiperCore.A11y, SwiperCore.Controller]);
27
28
  var ImageViewer = function () {
28
29
  var _a, _b, _c;
29
- var _d = React.useContext(context.GalleryContext), images = _d.images, imagesMeta = _d.imagesMeta, fullScreen = _d.fullScreen, currentSlideIndex = _d.currentSlideIndex, initialSlide = _d.initialSlide, setCurrentSlideIndex = _d.setCurrentSlideIndex, getSwiper = _d.getSwiper, setSwiper = _d.setSwiper, slidePrev = _d.slidePrev, slideNext = _d.slideNext, getCurrentImage = _d.getCurrentImage;
30
- var _e = components_imageViewer_hooks.useHandleImageViewer(), handleLoad = _e.handleLoad, handleLoadError = _e.handleLoadError, handleWrapperClick = _e.handleWrapperClick, isMobile = _e.isMobile, rightArrowRef = _e.rightArrowRef, leftArrowRef = _e.leftArrowRef;
30
+ var _d = React.useContext(context.GalleryContext), singleSlide = _d.singleSlide, images = _d.images, imagesMeta = _d.imagesMeta, fullScreen = _d.fullScreen, currentSlideIndex = _d.currentSlideIndex, initialSlide = _d.initialSlide, onClose = _d.onClose, setImageMeta = _d.setImageMeta, setCurrentSlideIndex = _d.setCurrentSlideIndex, getSwiper = _d.getSwiper, setSwiper = _d.setSwiper, slidePrev = _d.slidePrev, slideNext = _d.slideNext, getCurrentImage = _d.getCurrentImage, view = _d.view;
31
+ var isMobile = view === 'mobile';
32
+ var leftArrowRef = React.useRef(null);
33
+ var rightArrowRef = React.useRef(null);
31
34
  var leftArrowFocused = hooks.useFocus(leftArrowRef, 'keyboard')[0];
32
35
  var rightArrowFocused = hooks.useFocus(rightArrowRef, 'keyboard')[0];
33
36
  var swiper = getSwiper();
@@ -52,6 +55,28 @@ var ImageViewer = function () {
52
55
  slideNext();
53
56
  }
54
57
  };
58
+ var handleLoad = function (event, index) {
59
+ var target = event.currentTarget;
60
+ var naturalWidth = target.naturalWidth, naturalHeight = target.naturalHeight;
61
+ setImageMeta({ width: naturalWidth, height: naturalHeight }, index);
62
+ };
63
+ var handleLoadError = function (index) {
64
+ setImageMeta({ width: 0, height: 0, broken: true }, index);
65
+ };
66
+ var handleWrapperClick = React.useCallback(function (event) {
67
+ var _a, _b;
68
+ var eventTarget = event.target;
69
+ var isArrow = ((_a = leftArrowRef.current) === null || _a === void 0 ? void 0 : _a.contains(eventTarget)) ||
70
+ ((_b = rightArrowRef.current) === null || _b === void 0 ? void 0 : _b.contains(eventTarget));
71
+ var isPlaceholder = Boolean(eventTarget.closest(".".concat(styles__default.default.placeholder)));
72
+ var isImg = eventTarget.tagName === 'IMG';
73
+ if (!isImg && !isPlaceholder && !isArrow && !isMobile) {
74
+ onClose();
75
+ }
76
+ }, [isMobile, onClose]);
77
+ React.useEffect(function () {
78
+ elementClosest__default.default(window);
79
+ }, []);
55
80
  var swiperProps = React.useMemo(function () {
56
81
  var _a;
57
82
  return ({
@@ -62,7 +87,7 @@ var ImageViewer = function () {
62
87
  },
63
88
  className: cn__default.default(styles__default.default.swiper, (_a = {},
64
89
  _a[styles__default.default.hidden] = fullScreen && !utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
65
- _a[styles__default.default.fullScreenVideo] = fullScreen && utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
90
+ _a[styles__default.default.fullScreenVideo] = fullScreen && !singleSlide && utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
66
91
  _a[styles__default.default.mobile] = isMobile,
67
92
  _a[styles__default.default.mobileVideo] = isMobile && utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
68
93
  _a)),
@@ -79,19 +104,21 @@ var ImageViewer = function () {
79
104
  }, [
80
105
  fullScreen,
81
106
  currentImage === null || currentImage === void 0 ? void 0 : currentImage.src,
107
+ singleSlide,
82
108
  isMobile,
83
109
  swiper,
84
110
  initialSlide,
85
111
  setSwiper,
86
112
  handleSlideChange,
87
113
  ]);
88
- var showControls = !fullScreen && !isMobile && !!images.length;
114
+ var showControls = !singleSlide && !fullScreen && !isMobile && !!images.length;
89
115
  var swiperWidth = (swiper === null || swiper === void 0 ? void 0 : swiper.width) || 1;
90
116
  var swiperHeight = (swiper === null || swiper === void 0 ? void 0 : swiper.height) || (swiper === null || swiper === void 0 ? void 0 : swiper.width) || 1;
91
117
  var swiperAspectRatio = swiperWidth / swiperHeight;
92
118
  return (
93
119
  /* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */
94
120
  React__default.default.createElement("div", { className: cn__default.default(styles__default.default.component, (_a = {},
121
+ _a[styles__default.default.singleSlide] = singleSlide,
95
122
  _a[styles__default.default.mobile] = isMobile,
96
123
  _a[styles__default.default.mobileVideo] = isMobile && utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
97
124
  _a)), onClick: handleWrapperClick },
@@ -111,7 +138,7 @@ var ImageViewer = function () {
111
138
  transitionProperty: 'opacity',
112
139
  } }, function (_a) {
113
140
  var isActive = _a.isActive;
114
- return (React__default.default.createElement(components_imageViewer_slide.Slide, { isActive: isActive, containerAspectRatio: swiperAspectRatio, image: image, containerHeight: swiperHeight, meta: meta, index: index, imageAspectRatio: imageAspectRatio, slideVisible: slideVisible, handleLoad: handleLoad, handleLoadError: handleLoadError }));
141
+ return (React__default.default.createElement(components_imageViewer_slide.Slide, { isActive: isActive, swiperAspectRatio: swiperAspectRatio, image: image, swiperHeight: swiperHeight, meta: meta, index: index, imageAspectRatio: imageAspectRatio, slideVisible: slideVisible, handleLoad: handleLoad, handleLoadError: handleLoadError }));
115
142
  }));
116
143
  })),
117
144
  showControls && (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.arrow, (_c = {},
@@ -52,18 +52,13 @@
52
52
  max-height: calc(100vh - 210px);
53
53
  } .swiper.mobileVideo {
54
54
  max-height: 100vh;
55
- } .singleSlideContainer {
56
- display: flex;
57
- width: 100%;
58
- height: 100%;
59
-
55
+ } .singleSlide .swiper {
60
56
  max-height: calc(100vh - 80px);
61
- padding: var(--gap-32);
62
- box-sizing: border-box
63
- } .singleSlideContainer.mobile {
57
+ padding: var(--gap-32)
58
+ } .singleSlide .swiper.mobile {
64
59
  max-height: calc(100vh - 174px);
65
60
  padding: 0;
66
- } .singleSlideContainer.mobileVideo {
61
+ } .singleSlide .swiper.mobileVideo {
67
62
  max-height: 100vh;
68
63
  } .hidden {
69
64
  display: none;
@@ -4,10 +4,10 @@ type SlideProps = {
4
4
  isActive: boolean;
5
5
  image: GalleryImage;
6
6
  meta?: ImageMeta;
7
- containerAspectRatio: number;
7
+ swiperAspectRatio: number;
8
8
  imageAspectRatio: number;
9
9
  index: number;
10
- containerHeight: number;
10
+ swiperHeight: number;
11
11
  slideVisible: boolean;
12
12
  handleLoad: (event: SyntheticEvent<HTMLImageElement>, index: number) => void;
13
13
  handleLoadError: (index: number) => void;
@@ -32,12 +32,12 @@ var SlideInner = function (_a) {
32
32
  };
33
33
  var Slide = function (_a) {
34
34
  var _b;
35
- var isActive = _a.isActive, meta = _a.meta, containerAspectRatio = _a.containerAspectRatio, imageAspectRatio = _a.imageAspectRatio, image = _a.image, index = _a.index, containerHeight = _a.containerHeight, slideVisible = _a.slideVisible, handleLoad = _a.handleLoad, handleLoadError = _a.handleLoadError;
35
+ var isActive = _a.isActive, meta = _a.meta, swiperAspectRatio = _a.swiperAspectRatio, imageAspectRatio = _a.imageAspectRatio, image = _a.image, index = _a.index, swiperHeight = _a.swiperHeight, slideVisible = _a.slideVisible, handleLoad = _a.handleLoad, handleLoadError = _a.handleLoadError;
36
36
  var view = React.useContext(context.GalleryContext).view;
37
37
  var broken = Boolean(meta === null || meta === void 0 ? void 0 : meta.broken);
38
38
  var small = utils_utils.isSmallImage(meta);
39
- var verticalImageFit = !small && containerAspectRatio > imageAspectRatio;
40
- var horizontalImageFit = !small && containerAspectRatio <= imageAspectRatio;
39
+ var verticalImageFit = !small && swiperAspectRatio > imageAspectRatio;
40
+ var horizontalImageFit = !small && swiperAspectRatio <= imageAspectRatio;
41
41
  if (utils_utils.isVideo(image.src)) {
42
42
  return (React__default.default.createElement(SlideInner, { isVideoView: true, active: isActive, broken: broken, withPlaceholder: broken, loading: !meta },
43
43
  React__default.default.createElement(components_imageViewer_video_index.Video, { url: image.src, index: index, isActive: isActive })));
@@ -50,7 +50,7 @@ var Slide = function (_a) {
50
50
  _b[styles__default.default.verticalImageFit] = verticalImageFit,
51
51
  _b[styles__default.default.horizontalImageFit] = horizontalImageFit,
52
52
  _b)), onLoad: function (event) { return handleLoad(event, index); }, onError: function () { return handleLoadError(index); }, style: {
53
- maxHeight: "".concat(containerHeight, "px"),
53
+ maxHeight: "".concat(swiperHeight, "px"),
54
54
  }, "data-test-id": slideVisible ? utils_constants.TestIds.ACTIVE_IMAGE : undefined })));
55
55
  };
56
56
 
@@ -2,7 +2,6 @@ import React, { useState, useCallback, useEffect } from 'react';
2
2
  import cn from 'classnames';
3
3
  import { BaseModal } from '../../base-modal/esm';
4
4
  import { useMedia } from '@alfalab/hooks';
5
- import { Single } from './components/image-viewer/single.js';
6
5
  import { NavigationBar } from './components/navigation-bar/Component.js';
7
6
  import { Header } from './components/header/Component.js';
8
7
  import { GalleryContext } from './context.js';
@@ -10,17 +9,7 @@ import { ImageViewer } from './components/image-viewer/component.js';
10
9
  import { InfoBar } from './components/info-bar/Component.js';
11
10
  import { HeaderMobile } from './components/header-mobile/Component.js';
12
11
  import './utils/utils.js';
13
- import './components/image-viewer/hooks.js';
14
- import 'element-closest';
15
- import './index.module-36459066.js';
16
- import './components/image-viewer/slide.js';
17
- import '../../typography/esm';
18
12
  import './utils/constants.js';
19
- import './components/image-viewer/paths.js';
20
- import './components/image-viewer/video/index.js';
21
- import 'hls.js';
22
- import '@alfalab/core-components/icon-view/circle';
23
- import '@alfalab/icons-glyph/PlayCompactMIcon';
24
13
  import './components/image-preview/Component.js';
25
14
  import './components/image-preview/paths.js';
26
15
  import './components/buttons/index.js';
@@ -32,15 +21,23 @@ import '@alfalab/icons-glyph/ArrowsInwardMIcon';
32
21
  import '@alfalab/icons-glyph/ArrowsOutwardMIcon';
33
22
  import '@alfalab/icons-glyph/CrossMIcon';
34
23
  import '@alfalab/icons-glyph/PauseCompactMIcon';
24
+ import '@alfalab/icons-glyph/PlayCompactMIcon';
35
25
  import '@alfalab/icons-glyph/PointerDownMIcon';
36
26
  import '@alfalab/icons-glyph/SoundCrossMIcon';
37
27
  import '@alfalab/icons-glyph/SoundMIcon';
38
28
  import './components/header-info-block/Component.js';
29
+ import '../../typography/esm';
39
30
  import './utils/split-filename.js';
31
+ import 'element-closest';
40
32
  import 'swiper';
41
33
  import 'swiper/react';
42
34
  import '@alfalab/icons-glyph/ChevronBackHeavyMIcon';
43
35
  import '@alfalab/icons-glyph/ChevronForwardHeavyMIcon';
36
+ import './slide-1be24647.js';
37
+ import './components/image-viewer/paths.js';
38
+ import './components/image-viewer/video/index.js';
39
+ import 'hls.js';
40
+ import '@alfalab/core-components/icon-view/circle';
44
41
  import 'swiper/swiper.min.css';
45
42
 
46
43
  var styles = {"container":"gallery__container_nqzi4","modal":"gallery__modal_nqzi4","navigationVideo":"gallery__navigationVideo_nqzi4","hideNavigation":"gallery__hideNavigation_nqzi4"};
@@ -177,7 +174,7 @@ var Gallery = function (_a) {
177
174
  React.createElement(BaseModal, { open: open, className: cn(styles.modal, popupClassName), onEscapeKeyDown: handleEscapeKeyDown, Backdrop: Backdrop, onUnmount: onUnmount },
178
175
  React.createElement("div", { className: styles.container },
179
176
  view === 'desktop' ? React.createElement(Header, null) : React.createElement(HeaderMobile, null),
180
- images.length === 1 ? React.createElement(Single, null) : React.createElement(ImageViewer, null),
177
+ React.createElement(ImageViewer, null),
181
178
  React.createElement("nav", { className: cn((_b = {},
182
179
  _b[styles.navigationVideo] = isCurrentVideo && isMobile,
183
180
  _b[styles.hideNavigation] = hideNavigation && isMobile,
@@ -1,6 +1,7 @@
1
1
  import { __assign } from 'tslib';
2
- import React, { useContext, useCallback, useMemo } from 'react';
2
+ import React, { useContext, useRef, useCallback, useEffect, useMemo } from 'react';
3
3
  import cn from 'classnames';
4
+ import elementClosest from 'element-closest';
4
5
  import SwiperCore, { EffectFade, A11y, Controller } from 'swiper';
5
6
  import { Swiper, SwiperSlide } from 'swiper/react';
6
7
  import { useFocus } from '@alfalab/hooks';
@@ -9,11 +10,8 @@ import { ChevronForwardHeavyMIcon } from '@alfalab/icons-glyph/ChevronForwardHea
9
10
  import { GalleryContext } from '../../context.js';
10
11
  import { isVideo, getImageAlt, getImageKey } from '../../utils/utils.js';
11
12
  import { TestIds } from '../../utils/constants.js';
12
- import { useHandleImageViewer } from './hooks.js';
13
- import { Slide } from './slide.js';
13
+ import { s as styles, S as Slide } from '../../slide-1be24647.js';
14
14
  import 'swiper/swiper.min.css';
15
- import { s as styles } from '../../index.module-36459066.js';
16
- import 'element-closest';
17
15
  import '../../../../typography/esm';
18
16
  import './paths.js';
19
17
  import './video/index.js';
@@ -24,8 +22,10 @@ import '@alfalab/icons-glyph/PlayCompactMIcon';
24
22
  SwiperCore.use([EffectFade, A11y, Controller]);
25
23
  var ImageViewer = function () {
26
24
  var _a, _b, _c;
27
- var _d = useContext(GalleryContext), images = _d.images, imagesMeta = _d.imagesMeta, fullScreen = _d.fullScreen, currentSlideIndex = _d.currentSlideIndex, initialSlide = _d.initialSlide, setCurrentSlideIndex = _d.setCurrentSlideIndex, getSwiper = _d.getSwiper, setSwiper = _d.setSwiper, slidePrev = _d.slidePrev, slideNext = _d.slideNext, getCurrentImage = _d.getCurrentImage;
28
- var _e = useHandleImageViewer(), handleLoad = _e.handleLoad, handleLoadError = _e.handleLoadError, handleWrapperClick = _e.handleWrapperClick, isMobile = _e.isMobile, rightArrowRef = _e.rightArrowRef, leftArrowRef = _e.leftArrowRef;
25
+ var _d = useContext(GalleryContext), singleSlide = _d.singleSlide, images = _d.images, imagesMeta = _d.imagesMeta, fullScreen = _d.fullScreen, currentSlideIndex = _d.currentSlideIndex, initialSlide = _d.initialSlide, onClose = _d.onClose, setImageMeta = _d.setImageMeta, setCurrentSlideIndex = _d.setCurrentSlideIndex, getSwiper = _d.getSwiper, setSwiper = _d.setSwiper, slidePrev = _d.slidePrev, slideNext = _d.slideNext, getCurrentImage = _d.getCurrentImage, view = _d.view;
26
+ var isMobile = view === 'mobile';
27
+ var leftArrowRef = useRef(null);
28
+ var rightArrowRef = useRef(null);
29
29
  var leftArrowFocused = useFocus(leftArrowRef, 'keyboard')[0];
30
30
  var rightArrowFocused = useFocus(rightArrowRef, 'keyboard')[0];
31
31
  var swiper = getSwiper();
@@ -50,6 +50,28 @@ var ImageViewer = function () {
50
50
  slideNext();
51
51
  }
52
52
  };
53
+ var handleLoad = function (event, index) {
54
+ var target = event.currentTarget;
55
+ var naturalWidth = target.naturalWidth, naturalHeight = target.naturalHeight;
56
+ setImageMeta({ width: naturalWidth, height: naturalHeight }, index);
57
+ };
58
+ var handleLoadError = function (index) {
59
+ setImageMeta({ width: 0, height: 0, broken: true }, index);
60
+ };
61
+ var handleWrapperClick = useCallback(function (event) {
62
+ var _a, _b;
63
+ var eventTarget = event.target;
64
+ var isArrow = ((_a = leftArrowRef.current) === null || _a === void 0 ? void 0 : _a.contains(eventTarget)) ||
65
+ ((_b = rightArrowRef.current) === null || _b === void 0 ? void 0 : _b.contains(eventTarget));
66
+ var isPlaceholder = Boolean(eventTarget.closest(".".concat(styles.placeholder)));
67
+ var isImg = eventTarget.tagName === 'IMG';
68
+ if (!isImg && !isPlaceholder && !isArrow && !isMobile) {
69
+ onClose();
70
+ }
71
+ }, [isMobile, onClose]);
72
+ useEffect(function () {
73
+ elementClosest(window);
74
+ }, []);
53
75
  var swiperProps = useMemo(function () {
54
76
  var _a;
55
77
  return ({
@@ -60,7 +82,7 @@ var ImageViewer = function () {
60
82
  },
61
83
  className: cn(styles.swiper, (_a = {},
62
84
  _a[styles.hidden] = fullScreen && !isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
63
- _a[styles.fullScreenVideo] = fullScreen && isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
85
+ _a[styles.fullScreenVideo] = fullScreen && !singleSlide && isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
64
86
  _a[styles.mobile] = isMobile,
65
87
  _a[styles.mobileVideo] = isMobile && isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
66
88
  _a)),
@@ -77,19 +99,21 @@ var ImageViewer = function () {
77
99
  }, [
78
100
  fullScreen,
79
101
  currentImage === null || currentImage === void 0 ? void 0 : currentImage.src,
102
+ singleSlide,
80
103
  isMobile,
81
104
  swiper,
82
105
  initialSlide,
83
106
  setSwiper,
84
107
  handleSlideChange,
85
108
  ]);
86
- var showControls = !fullScreen && !isMobile && !!images.length;
109
+ var showControls = !singleSlide && !fullScreen && !isMobile && !!images.length;
87
110
  var swiperWidth = (swiper === null || swiper === void 0 ? void 0 : swiper.width) || 1;
88
111
  var swiperHeight = (swiper === null || swiper === void 0 ? void 0 : swiper.height) || (swiper === null || swiper === void 0 ? void 0 : swiper.width) || 1;
89
112
  var swiperAspectRatio = swiperWidth / swiperHeight;
90
113
  return (
91
114
  /* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */
92
115
  React.createElement("div", { className: cn(styles.component, (_a = {},
116
+ _a[styles.singleSlide] = singleSlide,
93
117
  _a[styles.mobile] = isMobile,
94
118
  _a[styles.mobileVideo] = isMobile && isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
95
119
  _a)), onClick: handleWrapperClick },
@@ -109,7 +133,7 @@ var ImageViewer = function () {
109
133
  transitionProperty: 'opacity',
110
134
  } }, function (_a) {
111
135
  var isActive = _a.isActive;
112
- return (React.createElement(Slide, { isActive: isActive, containerAspectRatio: swiperAspectRatio, image: image, containerHeight: swiperHeight, meta: meta, index: index, imageAspectRatio: imageAspectRatio, slideVisible: slideVisible, handleLoad: handleLoad, handleLoadError: handleLoadError }));
136
+ return (React.createElement(Slide, { isActive: isActive, swiperAspectRatio: swiperAspectRatio, image: image, swiperHeight: swiperHeight, meta: meta, index: index, imageAspectRatio: imageAspectRatio, slideVisible: slideVisible, handleLoad: handleLoad, handleLoadError: handleLoadError }));
113
137
  }));
114
138
  })),
115
139
  showControls && (React.createElement("div", { className: cn(styles.arrow, (_c = {},
@@ -53,18 +53,13 @@
53
53
  max-height: calc(100vh - 210px);
54
54
  } .gallery__swiper_1dsel.gallery__mobileVideo_1dsel {
55
55
  max-height: 100vh;
56
- } .gallery__singleSlideContainer_1dsel {
57
- display: flex;
58
- width: 100%;
59
- height: 100%;
60
-
56
+ } .gallery__singleSlide_1dsel .gallery__swiper_1dsel {
61
57
  max-height: calc(100vh - 80px);
62
- padding: var(--gap-32);
63
- box-sizing: border-box
64
- } .gallery__singleSlideContainer_1dsel.gallery__mobile_1dsel {
58
+ padding: var(--gap-32)
59
+ } .gallery__singleSlide_1dsel .gallery__swiper_1dsel.gallery__mobile_1dsel {
65
60
  max-height: calc(100vh - 174px);
66
61
  padding: 0;
67
- } .gallery__singleSlideContainer_1dsel.gallery__mobileVideo_1dsel {
62
+ } .gallery__singleSlide_1dsel .gallery__swiper_1dsel.gallery__mobileVideo_1dsel {
68
63
  max-height: 100vh;
69
64
  } .gallery__hidden_1dsel {
70
65
  display: none;