@alfalab/core-components-gallery 5.7.4 → 5.8.1

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 (258) hide show
  1. package/Component.js +47 -12
  2. package/components/buttons/index.css +35 -0
  3. package/{buttons-ec113bb4.d.ts → components/buttons/index.d.ts} +6 -1
  4. package/components/buttons/index.js +72 -0
  5. package/components/header/Component.js +33 -12
  6. package/components/header/index.css +5 -19
  7. package/components/header-info-block/Component.js +1 -1
  8. package/components/header-info-block/index.css +5 -5
  9. package/components/header-mobile/Component.d.ts +4 -0
  10. package/components/header-mobile/Component.js +39 -0
  11. package/components/header-mobile/index.css +50 -0
  12. package/components/header-mobile/index.d.ts +1 -0
  13. package/components/header-mobile/index.js +9 -0
  14. package/components/image-preview/Component.js +67 -24
  15. package/components/image-preview/index.css +35 -28
  16. package/components/image-preview/paths.d.ts +2 -0
  17. package/components/image-preview/paths.js +2 -0
  18. package/components/image-viewer/component.js +30 -10
  19. package/components/image-viewer/index.css +37 -25
  20. package/components/image-viewer/slide.js +3 -1
  21. package/components/image-viewer/video/index.css +48 -0
  22. package/components/image-viewer/video/index.d.ts +10 -0
  23. package/components/image-viewer/video/index.js +130 -0
  24. package/components/index.d.ts +2 -0
  25. package/components/index.js +4 -0
  26. package/components/info-bar/Component.d.ts +4 -0
  27. package/components/info-bar/Component.js +47 -0
  28. package/components/info-bar/index.css +37 -0
  29. package/components/info-bar/index.d.ts +1 -0
  30. package/components/info-bar/index.js +9 -0
  31. package/components/navigation-bar/Component.js +3 -2
  32. package/components/navigation-bar/index.css +8 -6
  33. package/context.d.ts +7 -0
  34. package/context.js +7 -0
  35. package/cssm/Component.js +46 -11
  36. package/cssm/components/{header/buttons.d.ts → buttons/index.d.ts} +6 -1
  37. package/cssm/components/buttons/index.js +71 -0
  38. package/cssm/components/buttons/index.module.css +34 -0
  39. package/cssm/components/header/Component.js +28 -10
  40. package/cssm/components/header/index.module.css +3 -17
  41. package/cssm/components/header-mobile/Component.d.ts +4 -0
  42. package/cssm/components/header-mobile/Component.js +38 -0
  43. package/cssm/components/header-mobile/index.d.ts +1 -0
  44. package/cssm/components/header-mobile/index.js +9 -0
  45. package/cssm/components/header-mobile/index.module.css +49 -0
  46. package/cssm/components/image-preview/Component.js +66 -27
  47. package/cssm/components/image-preview/index.module.css +25 -18
  48. package/cssm/components/image-preview/paths.d.ts +2 -0
  49. package/cssm/components/image-preview/paths.js +2 -0
  50. package/cssm/components/image-viewer/component.js +29 -9
  51. package/cssm/components/image-viewer/index.module.css +21 -9
  52. package/cssm/components/image-viewer/slide.js +12 -2
  53. package/cssm/components/image-viewer/video/index.d.ts +10 -0
  54. package/cssm/components/image-viewer/video/index.js +129 -0
  55. package/cssm/components/image-viewer/video/index.module.css +47 -0
  56. package/cssm/components/index.d.ts +2 -0
  57. package/cssm/components/index.js +4 -0
  58. package/cssm/components/info-bar/Component.d.ts +4 -0
  59. package/cssm/components/info-bar/Component.js +46 -0
  60. package/cssm/components/info-bar/index.d.ts +1 -0
  61. package/cssm/components/info-bar/index.js +9 -0
  62. package/cssm/components/info-bar/index.module.css +36 -0
  63. package/cssm/components/navigation-bar/Component.js +2 -1
  64. package/cssm/components/navigation-bar/index.module.css +3 -1
  65. package/cssm/context.d.ts +7 -0
  66. package/cssm/context.js +7 -0
  67. package/cssm/index.d.ts +1 -1
  68. package/cssm/index.js +1 -8
  69. package/cssm/index.module.css +14 -2
  70. package/cssm/types.d.ts +7 -0
  71. package/cssm/utils/constants.d.ts +14 -1
  72. package/cssm/utils/constants.js +19 -0
  73. package/cssm/utils/index.js +7 -0
  74. package/cssm/utils/utils.d.ts +2 -1
  75. package/cssm/utils/utils.js +5 -3
  76. package/esm/Component.js +46 -12
  77. package/esm/components/buttons/index.css +35 -0
  78. package/esm/{buttons-791da71e.d.ts → components/buttons/index.d.ts} +6 -1
  79. package/esm/components/buttons/index.js +55 -0
  80. package/esm/components/header/Component.js +30 -9
  81. package/esm/components/header/index.css +5 -19
  82. package/esm/components/header-info-block/Component.js +1 -1
  83. package/esm/components/header-info-block/index.css +5 -5
  84. package/esm/components/header-mobile/Component.d.ts +4 -0
  85. package/esm/components/header-mobile/Component.js +30 -0
  86. package/esm/components/header-mobile/index.css +50 -0
  87. package/esm/components/header-mobile/index.d.ts +1 -0
  88. package/esm/components/header-mobile/index.js +1 -0
  89. package/esm/components/image-preview/Component.js +69 -26
  90. package/esm/components/image-preview/index.css +35 -28
  91. package/esm/components/image-preview/paths.d.ts +2 -0
  92. package/esm/components/image-preview/paths.js +2 -0
  93. package/esm/components/image-viewer/component.js +31 -11
  94. package/esm/components/image-viewer/index.css +37 -25
  95. package/esm/components/image-viewer/slide.js +3 -1
  96. package/esm/components/image-viewer/video/index.css +48 -0
  97. package/esm/components/image-viewer/video/index.d.ts +10 -0
  98. package/esm/components/image-viewer/video/index.js +119 -0
  99. package/esm/components/index.d.ts +2 -0
  100. package/esm/components/index.js +2 -0
  101. package/esm/components/info-bar/Component.d.ts +4 -0
  102. package/esm/components/info-bar/Component.js +39 -0
  103. package/esm/components/info-bar/index.css +37 -0
  104. package/esm/components/info-bar/index.d.ts +1 -0
  105. package/esm/components/info-bar/index.js +1 -0
  106. package/esm/components/navigation-bar/Component.js +3 -2
  107. package/esm/components/navigation-bar/index.css +8 -6
  108. package/esm/context.d.ts +7 -0
  109. package/esm/context.js +7 -0
  110. package/esm/index.css +17 -5
  111. package/esm/index.d.ts +1 -1
  112. package/esm/index.js +1 -3
  113. package/esm/{slide-7d5a41d1.js → slide-3be75078.js} +15 -5
  114. package/esm/types.d.ts +7 -0
  115. package/esm/utils/constants.d.ts +14 -1
  116. package/esm/utils/constants.js +14 -1
  117. package/esm/utils/index.js +2 -2
  118. package/esm/utils/utils.d.ts +2 -1
  119. package/esm/utils/utils.js +5 -4
  120. package/index.css +17 -5
  121. package/index.d.ts +1 -1
  122. package/index.js +1 -8
  123. package/modern/Component.js +39 -7
  124. package/modern/components/buttons/index.css +35 -0
  125. package/modern/{buttons-1859cb8e.d.ts → components/buttons/index.d.ts} +6 -1
  126. package/modern/components/buttons/index.js +33 -0
  127. package/modern/components/header/Component.js +27 -9
  128. package/modern/components/header/index.css +5 -19
  129. package/modern/components/header-info-block/Component.js +1 -1
  130. package/modern/components/header-info-block/index.css +5 -5
  131. package/modern/components/header-mobile/Component.d.ts +4 -0
  132. package/modern/components/header-mobile/Component.js +28 -0
  133. package/modern/components/header-mobile/index.css +50 -0
  134. package/modern/components/header-mobile/index.d.ts +1 -0
  135. package/modern/components/header-mobile/index.js +1 -0
  136. package/modern/components/image-preview/Component.js +65 -23
  137. package/modern/components/image-preview/index.css +35 -28
  138. package/modern/components/image-preview/paths.d.ts +2 -0
  139. package/modern/components/image-preview/paths.js +2 -0
  140. package/modern/components/image-viewer/component.js +31 -11
  141. package/modern/components/image-viewer/index.css +37 -25
  142. package/modern/components/image-viewer/slide.js +3 -1
  143. package/modern/components/image-viewer/video/index.css +48 -0
  144. package/modern/components/image-viewer/video/index.d.ts +10 -0
  145. package/modern/components/image-viewer/video/index.js +117 -0
  146. package/modern/components/index.d.ts +2 -0
  147. package/modern/components/index.js +2 -0
  148. package/modern/components/info-bar/Component.d.ts +4 -0
  149. package/modern/components/info-bar/Component.js +38 -0
  150. package/modern/components/info-bar/index.css +37 -0
  151. package/modern/components/info-bar/index.d.ts +1 -0
  152. package/modern/components/info-bar/index.js +1 -0
  153. package/modern/components/navigation-bar/Component.js +3 -2
  154. package/modern/components/navigation-bar/index.css +8 -6
  155. package/modern/context.d.ts +7 -0
  156. package/modern/context.js +7 -0
  157. package/modern/index.css +17 -5
  158. package/modern/index.d.ts +1 -1
  159. package/modern/index.js +1 -3
  160. package/modern/{slide-c47386c3.js → slide-df1baab8.js} +15 -5
  161. package/modern/types.d.ts +7 -0
  162. package/modern/utils/constants.d.ts +14 -1
  163. package/modern/utils/constants.js +14 -1
  164. package/modern/utils/index.js +2 -2
  165. package/modern/utils/utils.d.ts +2 -1
  166. package/modern/utils/utils.js +5 -4
  167. package/moderncssm/Component.js +38 -6
  168. package/moderncssm/components/buttons/index.d.ts +16 -0
  169. package/moderncssm/components/buttons/index.js +31 -0
  170. package/moderncssm/components/buttons/index.module.css +20 -0
  171. package/moderncssm/components/header/Component.js +24 -9
  172. package/moderncssm/components/header/index.module.css +0 -19
  173. package/moderncssm/components/header-mobile/Component.d.ts +4 -0
  174. package/moderncssm/components/header-mobile/Component.js +26 -0
  175. package/moderncssm/components/header-mobile/index.d.ts +1 -0
  176. package/moderncssm/components/header-mobile/index.js +1 -0
  177. package/moderncssm/components/header-mobile/index.module.css +35 -0
  178. package/moderncssm/components/image-preview/Component.js +64 -26
  179. package/moderncssm/components/image-preview/index.module.css +30 -13
  180. package/moderncssm/components/image-preview/paths.d.ts +2 -0
  181. package/moderncssm/components/image-preview/paths.js +2 -0
  182. package/moderncssm/components/image-viewer/component.js +30 -10
  183. package/moderncssm/components/image-viewer/index.module.css +29 -6
  184. package/moderncssm/components/image-viewer/slide.js +14 -4
  185. package/moderncssm/components/image-viewer/video/index.d.ts +10 -0
  186. package/moderncssm/components/image-viewer/video/index.js +115 -0
  187. package/moderncssm/components/image-viewer/video/index.module.css +36 -0
  188. package/moderncssm/components/index.d.ts +2 -0
  189. package/moderncssm/components/index.js +2 -0
  190. package/moderncssm/components/info-bar/Component.d.ts +4 -0
  191. package/moderncssm/components/info-bar/Component.js +36 -0
  192. package/moderncssm/components/info-bar/index.d.ts +1 -0
  193. package/moderncssm/components/info-bar/index.js +1 -0
  194. package/moderncssm/components/info-bar/index.module.css +23 -0
  195. package/moderncssm/components/navigation-bar/Component.js +2 -1
  196. package/moderncssm/components/navigation-bar/index.module.css +4 -0
  197. package/moderncssm/context.d.ts +7 -0
  198. package/moderncssm/context.js +7 -0
  199. package/moderncssm/index.d.ts +1 -1
  200. package/moderncssm/index.js +1 -3
  201. package/moderncssm/index.module.css +18 -2
  202. package/moderncssm/types.d.ts +7 -0
  203. package/moderncssm/utils/constants.d.ts +14 -1
  204. package/moderncssm/utils/constants.js +14 -1
  205. package/moderncssm/utils/index.js +2 -2
  206. package/moderncssm/utils/utils.d.ts +2 -1
  207. package/moderncssm/utils/utils.js +5 -4
  208. package/package.json +4 -3
  209. package/{slide-12155967.js → slide-2cbb0733.js} +13 -3
  210. package/src/Component.tsx +48 -6
  211. package/src/components/buttons/index.module.css +21 -0
  212. package/src/components/{header/buttons.tsx → buttons/index.tsx} +77 -0
  213. package/src/components/header/Component.tsx +33 -10
  214. package/src/components/header/index.module.css +0 -20
  215. package/src/components/header-mobile/Component.tsx +57 -0
  216. package/src/components/header-mobile/index.module.css +35 -0
  217. package/src/components/header-mobile/index.ts +1 -0
  218. package/src/components/image-preview/Component.tsx +131 -28
  219. package/src/components/image-preview/index.module.css +28 -9
  220. package/src/components/image-preview/paths.ts +3 -0
  221. package/src/components/image-viewer/component.tsx +32 -11
  222. package/src/components/image-viewer/index.module.css +26 -3
  223. package/src/components/image-viewer/slide.tsx +30 -4
  224. package/src/components/image-viewer/video/index.module.css +36 -0
  225. package/src/components/image-viewer/video/index.tsx +159 -0
  226. package/src/components/index.ts +2 -0
  227. package/src/components/info-bar/Component.tsx +68 -0
  228. package/src/components/info-bar/index.module.css +23 -0
  229. package/src/components/info-bar/index.ts +1 -0
  230. package/src/components/navigation-bar/Component.tsx +2 -1
  231. package/src/components/navigation-bar/index.module.css +4 -0
  232. package/src/context.ts +14 -0
  233. package/src/index.module.css +18 -2
  234. package/src/index.ts +1 -1
  235. package/src/types.ts +15 -5
  236. package/src/utils/constants.ts +17 -0
  237. package/src/utils/utils.ts +5 -3
  238. package/types.d.ts +7 -0
  239. package/utils/constants.d.ts +14 -1
  240. package/utils/constants.js +19 -0
  241. package/utils/index.js +7 -0
  242. package/utils/utils.d.ts +2 -1
  243. package/utils/utils.js +5 -3
  244. package/buttons-ec113bb4.js +0 -37
  245. package/components/header/buttons.d.ts +0 -0
  246. package/components/header/buttons.js +0 -20
  247. package/cssm/components/header/buttons.js +0 -37
  248. package/esm/buttons-791da71e.js +0 -27
  249. package/esm/components/header/buttons.d.ts +0 -0
  250. package/esm/components/header/buttons.js +0 -9
  251. package/modern/buttons-1859cb8e.js +0 -20
  252. package/modern/components/header/buttons.d.ts +0 -0
  253. package/modern/components/header/buttons.js +0 -8
  254. package/moderncssm/components/header/buttons.d.ts +0 -11
  255. package/moderncssm/components/header/buttons.js +0 -18
  256. /package/esm/{slide-7d5a41d1.d.ts → slide-3be75078.d.ts} +0 -0
  257. /package/modern/{slide-c47386c3.d.ts → slide-df1baab8.d.ts} +0 -0
  258. /package/{slide-12155967.d.ts → slide-2cbb0733.d.ts} +0 -0
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var cn = require('classnames');
7
+ var coreComponentsTypography = require('@alfalab/core-components-typography/cssm');
8
+ var context = require('../../context.js');
9
+ var utils_utils = require('../../utils/utils.js');
10
+ var utils_constants = require('../../utils/constants.js');
11
+ var components_buttons_index = require('../buttons/index.js');
12
+ var styles = require('./index.module.css');
13
+
14
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
15
+
16
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
17
+ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
18
+ var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
19
+
20
+ var HeaderMobile = function () {
21
+ var _a;
22
+ var _b;
23
+ var _c = React.useContext(context.GalleryContext), onClose = _c.onClose, images = _c.images, currentSlideIndex = _c.currentSlideIndex, getCurrentImage = _c.getCurrentImage, getCurrentImageMeta = _c.getCurrentImageMeta, hideNavigation = _c.hideNavigation;
24
+ var currentImage = getCurrentImage();
25
+ var meta = getCurrentImageMeta();
26
+ var description = images.length > 1 && "".concat(currentSlideIndex + 1, " \u0438\u0437 ").concat(images.length);
27
+ var canDownload = (_b = currentImage === null || currentImage === void 0 ? void 0 : currentImage.canDownload) !== null && _b !== void 0 ? _b : true;
28
+ var showDownloadButton = !(meta === null || meta === void 0 ? void 0 : meta.broken) && canDownload;
29
+ return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.headerMobile, (_a = {},
30
+ _a[styles__default.default.video] = utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
31
+ _a[styles__default.default.hide] = hideNavigation,
32
+ _a)) },
33
+ React__default.default.createElement(components_buttons_index.BackArrow, { onClick: onClose }),
34
+ React__default.default.createElement(coreComponentsTypography.Typography.Text, { className: styles__default.default.description, tag: 'div', view: 'component-primary', color: 'static-primary-light' }, description),
35
+ React__default.default.createElement("div", { className: styles__default.default.rightButtons }, showDownloadButton && (React__default.default.createElement(components_buttons_index.Download, { href: currentImage === null || currentImage === void 0 ? void 0 : currentImage.src, download: currentImage === null || currentImage === void 0 ? void 0 : currentImage.name, dataTestId: utils_constants.TestIds.DOWNLOAD_BUTTON })))));
36
+ };
37
+
38
+ exports.HeaderMobile = HeaderMobile;
@@ -0,0 +1 @@
1
+ export { HeaderMobile } from "./Component";
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var components_headerMobile_Component = require('./Component.js');
6
+
7
+
8
+
9
+ exports.HeaderMobile = components_headerMobile_Component.HeaderMobile;
@@ -0,0 +1,49 @@
1
+ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
2
+ } /* deprecated */ :root {
3
+ --color-static-neutral-0-inverted: #262629; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
4
+ } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
5
+ } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
6
+ } :root {
7
+
8
+ /* Hard */
9
+
10
+ /* Up */
11
+
12
+ /* Hard up */
13
+ } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
14
+
15
+ /* новые значения, используйте их */
16
+ } :root { /* deprecated */ /* deprecated */
17
+ --gap-xs: 8px; /* deprecated */
18
+ --gap-s: 12px; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
19
+
20
+ /* новые значения, используйте их */
21
+ --gap-8: var(--gap-xs);
22
+ --gap-12: var(--gap-s);
23
+ } :root {
24
+ } :root {
25
+ } /* сбрасывает синюю подсветку при нажатии */ .headerMobile {
26
+ position: relative;
27
+ height: 72px;
28
+ z-index: 3;
29
+ padding: var(--gap-12) var(--gap-8);
30
+ display: flex;
31
+ justify-content: space-between;
32
+ align-items: center
33
+ } .headerMobile.video {
34
+ position: absolute;
35
+ width: 100%;
36
+ padding: 0;
37
+ background-color: var(--color-static-neutral-0-inverted);
38
+ transition: transform 0.3s ease-in-out;
39
+ } .hide {
40
+ transform: translateY(-96px);
41
+ } .leftButton,
42
+ .rightButtons {
43
+ display: flex;
44
+ align-items: center;
45
+ } .description {
46
+ position: absolute;
47
+ left: 50%;
48
+ transform: translateX(-50%);
49
+ }
@@ -4,23 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var cn = require('classnames');
7
- require('@alfalab/core-components-base-modal/cssm');
7
+ var hooks = require('@alfalab/hooks');
8
8
  var context = require('../../context.js');
9
9
  var utils_utils = require('../../utils/utils.js');
10
- require('../navigation-bar/index.module.css');
11
- require('@alfalab/core-components-typography/cssm');
12
- require('../header-info-block/index.module.css');
13
- require('tslib');
14
- require('@alfalab/core-components-icon-button/cssm');
15
- require('@alfalab/core-components-tooltip/cssm/desktop');
16
- require('@alfalab/icons-glyph/ArrowsInwardMIcon');
17
- require('@alfalab/icons-glyph/ArrowsOutwardMIcon');
18
- require('@alfalab/icons-glyph/CrossMIcon');
19
- require('@alfalab/icons-glyph/PointerDownMIcon');
20
- require('../header/index.module.css');
21
- require('../image-viewer/component.js');
22
- require('../../index.module.css');
23
- var hooks = require('@alfalab/hooks');
10
+ var utils_constants = require('../../utils/constants.js');
24
11
  var components_imagePreview_paths = require('./paths.js');
25
12
  var styles = require('./index.module.css');
26
13
 
@@ -31,10 +18,34 @@ var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
31
18
  var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
32
19
 
33
20
  var ImagePreview = function (_a) {
34
- var _b, _c;
35
- var image = _a.image, _d = _a.active, active = _d === void 0 ? false : _d, index = _a.index, onSelect = _a.onSelect, className = _a.className;
36
- var imagesMeta = React.useContext(context.GalleryContext).imagesMeta;
21
+ var _b;
22
+ var image = _a.image, _c = _a.active, active = _c === void 0 ? false : _c, index = _a.index, onSelect = _a.onSelect, className = _a.className;
23
+ var _d = React.useContext(context.GalleryContext), imagesMeta = _d.imagesMeta, view = _d.view;
24
+ var isMobile = view === 'mobile';
25
+ var previewWidth = isMobile ? utils_constants.PREVIEW_WIDTH_MOBILE : utils_constants.PREVIEW_WIDTH_DESKTOP;
26
+ var previewHeight = isMobile ? utils_constants.PREVIEW_HEIGHT_MOBILE : utils_constants.PREVIEW_HEIGHT_DESKTOP;
37
27
  var ref = React.useRef(null);
28
+ var canvasRef = React.useRef(null);
29
+ React.useEffect(function () {
30
+ var _a, _b;
31
+ var canvas = canvasRef.current;
32
+ var video = (_b = (_a = imagesMeta[index]) === null || _a === void 0 ? void 0 : _a.player) === null || _b === void 0 ? void 0 : _b.current;
33
+ var context = canvas === null || canvas === void 0 ? void 0 : canvas.getContext('2d');
34
+ var drawPreview = function () {
35
+ if (video) {
36
+ context === null || context === void 0 ? void 0 : context.drawImage(video, 0, 0, video.videoWidth / utils_constants.PREVIEW_VIDEO_MULTIPLIER, video.videoHeight / utils_constants.PREVIEW_VIDEO_MULTIPLIER);
37
+ }
38
+ };
39
+ drawPreview();
40
+ if (utils_utils.isVideo(image.src)) {
41
+ video === null || video === void 0 ? void 0 : video.addEventListener('canplay', drawPreview);
42
+ }
43
+ return function () {
44
+ if (utils_utils.isVideo(image.src)) {
45
+ video === null || video === void 0 ? void 0 : video.removeEventListener('canplay', drawPreview);
46
+ }
47
+ };
48
+ }, [image.src, imagesMeta, index]);
38
49
  var handleClick = function () {
39
50
  onSelect(index);
40
51
  };
@@ -46,15 +57,43 @@ var ImagePreview = function (_a) {
46
57
  var focused = hooks.useFocus(ref, 'keyboard')[0];
47
58
  var meta = imagesMeta[index];
48
59
  var isBroken = Boolean(meta === null || meta === void 0 ? void 0 : meta.broken);
49
- return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.component, (_b = {}, _b[styles__default.default.active] = active, _b[styles__default.default.focused] = focused, _b), className), onClick: handleClick, role: 'button', onKeyDown: handleKeyDown, tabIndex: 0, ref: ref, "aria-label": "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044E ".concat(index + 1) }, isBroken ? (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.preview, styles__default.default.brokenImageWrapper) },
50
- React__default.default.createElement("div", { className: styles__default.default.brokenIcon },
51
- React__default.default.createElement("svg", { xmlns: 'http://www.w3.org/2000/svg', width: '40', height: '40', viewBox: '0 0 40 40', fill: 'none' },
52
- React__default.default.createElement("rect", { width: '40', height: '40', fill: 'none' }),
53
- React__default.default.createElement("path", { fillRule: 'evenodd', clipRule: 'evenodd', d: components_imagePreview_paths.NoImagePaths.baseImage, fill: '#89898A' }),
54
- React__default.default.createElement("path", { d: components_imagePreview_paths.NoImagePaths.triangleImage, fill: '#89898A' }))))) : (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.preview, styles__default.default.image, (_c = {},
55
- _c[styles__default.default.loading] = !meta,
56
- _c)) },
57
- React__default.default.createElement("img", { src: image.src, alt: utils_utils.getImageAlt(image, index) })))));
60
+ var renderPreview = function () {
61
+ var _a, _b, _c, _d, _e;
62
+ if (isBroken) {
63
+ return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.preview, (_a = {}, _a[styles__default.default.mobile] = isMobile, _a[styles__default.default.active] = active, _a), styles__default.default.brokenImageWrapper) },
64
+ React__default.default.createElement("div", { className: cn__default.default(styles__default.default.brokenIcon) },
65
+ React__default.default.createElement("svg", { xmlns: 'http://www.w3.org/2000/svg', width: previewWidth, height: previewHeight, viewBox: "".concat(isMobile ? -6 : 0, " ").concat(isMobile ? -12 : 0, " ").concat(previewWidth, " ").concat(previewHeight), fill: 'none' },
66
+ React__default.default.createElement("rect", { fill: 'none' }),
67
+ React__default.default.createElement("path", { fillRule: 'evenodd', clipRule: 'evenodd', d: isMobile ? components_imagePreview_paths.NoImagePaths.mobileImage : components_imagePreview_paths.NoImagePaths.baseImage, fill: '#89898A' }),
68
+ React__default.default.createElement("path", { d: isMobile
69
+ ? components_imagePreview_paths.NoImagePaths.mobileTriangle
70
+ : components_imagePreview_paths.NoImagePaths.triangleImage, fill: '#89898A' })))));
71
+ }
72
+ if (image.previewSrc) {
73
+ return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.preview, styles__default.default.image, (_b = {},
74
+ _b[styles__default.default.loading] = !meta,
75
+ _b[styles__default.default.mobile] = isMobile,
76
+ _b)) },
77
+ React__default.default.createElement("img", { src: image.previewSrc, alt: utils_utils.getImageAlt(image, index) })));
78
+ }
79
+ if (utils_utils.isVideo(image.src)) {
80
+ return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.preview, styles__default.default.image, (_c = {},
81
+ _c[styles__default.default.loading] = !meta,
82
+ _c[styles__default.default.mobile] = isMobile,
83
+ _c)) },
84
+ React__default.default.createElement("canvas", { className: cn__default.default(styles__default.default.canvasPreview, (_d = {}, _d[styles__default.default.mobile] = isMobile, _d)), "data-testid": 'canvas', width: previewWidth, height: previewHeight, ref: canvasRef })));
85
+ }
86
+ return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.preview, styles__default.default.image, (_e = {},
87
+ _e[styles__default.default.loading] = !meta,
88
+ _e[styles__default.default.mobile] = isMobile,
89
+ _e)) },
90
+ React__default.default.createElement("img", { src: image.src, alt: utils_utils.getImageAlt(image, index) })));
91
+ };
92
+ return (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.component, (_b = {},
93
+ _b[styles__default.default.active] = active,
94
+ _b[styles__default.default.focused] = focused,
95
+ _b[styles__default.default.mobile] = isMobile,
96
+ _b), className), onClick: handleClick, role: 'button', onKeyDown: handleKeyDown, tabIndex: 0, ref: ref, "aria-label": "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A ".concat(index + 1, " \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0443") }, renderPreview()));
58
97
  };
59
98
 
60
99
  exports.ImagePreview = ImagePreview;
@@ -1,11 +1,9 @@
1
1
  :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
2
2
  } /* deprecated */ :root {
3
- --color-light-base-bg-primary: #fff;
4
3
  --color-light-status-info: #2288fa;
5
4
  --color-static-neutral-100-inverted: #1c1c1e;
6
5
  --color-static-neutral-300-inverted: #29292c; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
7
- } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
8
- --color-static-overlay-white-xhigh: rgba(255, 255, 255, 0.4); /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
6
+ } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
9
7
  } :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
10
8
  } :root {
11
9
 
@@ -32,28 +30,32 @@
32
30
  } /* сбрасывает синюю подсветку при нажатии */ .component {
33
31
  display: flex;
34
32
  padding: var(--gap-4);
35
- border: 2px solid rgba(0, 0, 0, 0);
36
- border-radius: var(--border-radius-12);
33
+ z-index: 3;
37
34
  overflow: hidden;
38
35
  transition: border 0.15s ease-in-out;
39
- outline: none;
40
- } .active {
41
- border-color: var(--color-static-overlay-white-xhigh)
42
- } .active > .image {
43
- opacity: 0.7;
36
+ outline: none
37
+ } .component .image {
38
+ opacity: 0.3;
39
+ } .component.mobile {
40
+ padding: 0;
41
+ } .active > .image {
42
+ opacity: 1;
44
43
  } .preview {
45
44
  width: 56px;
46
45
  height: 56px;
47
46
  flex-shrink: 0;
48
- border-radius: var(--border-radius-8);
47
+ border-radius: var(--border-radius-12);
49
48
  cursor: pointer;
50
49
  -webkit-user-select: none;
51
- user-select: none;
52
- } .image {
50
+ user-select: none
51
+ } .preview.mobile {
52
+ width: 36px;
53
+ height: 46px;
54
+ border-radius: var(--border-radius-8);
55
+ } .image {
53
56
  transition: opacity 0.15s ease-in-out
54
57
  } .image > img {
55
58
  display: block;
56
- background-color: var(--color-light-base-bg-primary);
57
59
  width: 100%;
58
60
  height: 100%;
59
61
  border-radius: inherit;
@@ -70,13 +72,18 @@
70
72
  display: flex;
71
73
  justify-content: center;
72
74
  align-items: center;
73
- background-color: var(--color-static-neutral-300-inverted)
74
- } .brokenImageWrapper:hover {
75
- opacity: 0.7;
75
+ background-color: var(--color-static-neutral-300-inverted);
76
+ opacity: 0.3
77
+ } .brokenImageWrapper.active {
78
+ opacity: 1;
76
79
  } .brokenIcon {
77
80
  width: 40px;
78
81
  height: 40px;
79
82
  } .focused {
80
83
  outline: 2px solid var(--focus-color);
81
84
  outline-offset: 2px;
82
- }
85
+ } .canvasPreview {
86
+ border-radius: var(--border-radius-12)
87
+ } .canvasPreview.mobile {
88
+ border-radius: var(--border-radius-8);
89
+ }
@@ -1,5 +1,7 @@
1
1
  declare const NoImagePaths: {
2
2
  baseImage: string;
3
3
  triangleImage: string;
4
+ mobileImage: string;
5
+ mobileTriangle: string;
4
6
  };
5
7
  export { NoImagePaths };
@@ -5,6 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var NoImagePaths = {
6
6
  baseImage: 'M 30.5 6.5 L 4 6.5 C 2.894531 6.5 2 7.394531 2 8.5 L 2 31.5 C 2 32.605469 2.894531 33.5 4 33.5 L 36 33.5 C 37.105469 33.5 38 32.605469 38 31.5 L 38 14 L 32.367188 14 C 31.335938 14 30.5 13.164062 30.5 12.132812 Z M 11.917969 15.667969 C 12.285156 15.296875 12.882812 15.296875 13.25 15.667969 L 14.25 16.667969 L 15.25 15.667969 C 15.617188 15.296875 16.214844 15.296875 16.582031 15.667969 C 16.953125 16.035156 16.953125 16.632812 16.582031 17 L 15.582031 18 L 16.582031 19 C 16.953125 19.367188 16.953125 19.964844 16.582031 20.332031 C 16.214844 20.703125 15.617188 20.703125 15.25 20.332031 L 14.25 19.332031 L 13.25 20.332031 C 12.882812 20.703125 12.285156 20.703125 11.917969 20.332031 C 11.546875 19.964844 11.546875 19.367188 11.917969 19 L 12.917969 18 L 11.917969 17 C 11.546875 16.632812 11.546875 16.035156 11.917969 15.667969 Z M 24.75 15.667969 C 24.382812 15.296875 23.785156 15.296875 23.414062 15.667969 C 23.046875 16.035156 23.046875 16.632812 23.414062 17 L 24.414062 18 L 23.414062 19 C 23.046875 19.367188 23.046875 19.964844 23.414062 20.332031 C 23.785156 20.703125 24.378906 20.703125 24.75 20.332031 L 25.75 19.332031 L 26.75 20.332031 C 27.117188 20.703125 27.714844 20.703125 28.082031 20.332031 C 28.449219 19.964844 28.449219 19.367188 28.082031 19 L 27.082031 18 L 28.082031 17 C 28.449219 16.632812 28.449219 16.035156 28.082031 15.667969 C 27.714844 15.296875 27.117188 15.296875 26.75 15.667969 L 25.75 16.667969 Z M 14.40625 27.914062 L 14.402344 27.914062 C 13.898438 28.136719 13.308594 27.910156 13.085938 27.40625 C 12.863281 26.902344 13.089844 26.308594 13.59375 26.085938 L 14 27 C 13.59375 26.085938 13.59375 26.085938 13.59375 26.085938 L 13.597656 26.085938 L 13.601562 26.082031 L 13.609375 26.078125 L 13.621094 26.074219 L 13.636719 26.066406 C 13.660156 26.058594 13.695312 26.042969 13.734375 26.027344 C 13.816406 25.996094 13.933594 25.949219 14.082031 25.898438 C 14.378906 25.796875 14.808594 25.660156 15.359375 25.527344 C 16.457031 25.261719 18.035156 25 20 25 C 21.964844 25 23.542969 25.261719 24.640625 25.527344 C 25.191406 25.660156 25.621094 25.796875 25.917969 25.898438 C 25.96875 25.917969 26.015625 25.933594 26.058594 25.949219 C 26.144531 25.980469 26.210938 26.007812 26.265625 26.027344 C 26.285156 26.035156 26.304688 26.042969 26.320312 26.050781 C 26.335938 26.054688 26.351562 26.0625 26.363281 26.066406 L 26.382812 26.078125 L 26.390625 26.078125 L 26.398438 26.082031 L 26.402344 26.085938 L 26.40625 26.085938 C 26.40625 26.085938 26.40625 26.085938 26.402344 26.089844 L 26.398438 26.105469 L 26.40625 26.085938 C 26.910156 26.308594 27.136719 26.902344 26.914062 27.40625 C 26.691406 27.910156 26.101562 28.136719 25.597656 27.914062 L 20.449219 27.914062 L 25.59375 27.914062 L 25.585938 27.910156 C 25.574219 27.90625 25.554688 27.898438 25.527344 27.886719 C 25.472656 27.863281 25.382812 27.832031 25.261719 27.789062 C 25.019531 27.703125 24.652344 27.589844 24.171875 27.472656 C 23.207031 27.238281 21.785156 27 20 27 C 18.214844 27 16.792969 27.238281 15.828125 27.472656 C 15.347656 27.589844 14.980469 27.703125 14.738281 27.789062 C 14.617188 27.832031 14.527344 27.863281 14.472656 27.886719 C 14.445312 27.898438 14.425781 27.90625 14.414062 27.910156 L 14.40625 27.914062 L 20.449219 27.914062 Z M 14.40625 27.914062',
7
7
  triangleImage: 'M 38 12 L 32.5 12 L 32.5 6.5 Z M 38 12',
8
+ mobileImage: 'M19 0H1.33333C0.596954 0 0 0.596944 0 1.33333V16.6667C0 17.4031 0.596954 18 1.33333 18H22.6667C23.403 18 24 17.4031 24 16.6667V4.99995H20.2444C19.5571 4.99995 19 4.44279 19 3.7555V0ZM6.61123 6.11112C6.85668 5.86566 7.25465 5.86566 7.5001 6.11112L8.1667 6.77773L8.83331 6.1111C9.07878 5.86564 9.47675 5.86564 9.7222 6.1111C9.96766 6.35657 9.96766 6.75454 9.7222 7L9.05558 7.66661L9.72231 8.33333C9.96777 8.57878 9.96777 8.97675 9.72231 9.22221C9.47686 9.46767 9.07889 9.46767 8.83344 9.22221L8.16671 8.55548L7.49999 9.22221C7.25454 9.46765 6.85657 9.46765 6.6111 9.22221C6.36565 8.97675 6.36565 8.57878 6.6111 8.33331L7.27782 7.66659L6.61123 7C6.36576 6.75454 6.36576 6.35657 6.61123 6.11112ZM15.1661 6.11112C14.9207 5.86566 14.5227 5.86566 14.2772 6.11112C14.0318 6.35659 14.0318 6.75456 14.2772 7L14.9438 7.66661L14.2771 8.33333C14.0317 8.57878 14.0317 8.97675 14.2771 9.22221C14.5226 9.46767 14.9206 9.46767 15.166 9.22221L15.8327 8.55548L16.4995 9.22221C16.7449 9.46767 17.1429 9.46767 17.3883 9.22221C17.6338 8.97677 17.6338 8.5788 17.3883 8.33333L16.7216 7.66661L17.3882 7C17.6337 6.75454 17.6337 6.35657 17.3882 6.11112C17.1428 5.86566 16.7448 5.86566 16.4993 6.11112L15.8327 6.77773L15.1661 6.11112ZM8.26956 14.2764L8.26919 14.2766C7.93322 14.4248 7.54007 14.2733 7.39079 13.9374C7.24125 13.601 7.39278 13.207 7.72924 13.0575L8 13.6667C7.72924 13.0575 7.72962 13.0573 7.72962 13.0573L7.73005 13.0571L7.73099 13.0567L7.7333 13.0557L7.73957 13.0529L7.74749 13.0495L7.75875 13.0448C7.77446 13.0381 7.796 13.0293 7.82326 13.0184C7.87777 12.9968 7.95515 12.9674 8.05442 12.9328C8.25294 12.8638 8.53925 12.7742 8.90544 12.6854C9.63773 12.5079 10.6907 12.3333 12 12.3333C13.3093 12.3333 14.3623 12.5079 15.0946 12.6854C15.4608 12.7742 15.7471 12.8638 15.9456 12.9328C15.9796 12.9447 16.011 12.9559 16.0398 12.9664C16.0952 12.9866 16.1409 13.0042 16.1767 13.0184C16.1901 13.0238 16.2022 13.0286 16.2128 13.033C16.2238 13.0375 16.2333 13.0414 16.2413 13.0448L16.2559 13.051L16.2604 13.0529L16.2667 13.0557L16.269 13.0567L16.27 13.0571L16.2704 13.0573C16.2704 13.0573 16.2704 13.0573 16.2692 13.0602L16.2646 13.0707L16.2708 13.0575C16.6072 13.207 16.7587 13.601 16.6092 13.9374C16.4599 14.2733 16.0671 14.4249 15.731 14.2767L15.7304 14.2764L12.2987 14.2764L15.73 14.2762L15.7238 14.2736C15.7163 14.2704 15.7032 14.265 15.6846 14.2576C15.6473 14.2428 15.588 14.2201 15.5075 14.1922C15.3467 14.1362 15.1017 14.0591 14.7804 13.9812C14.1377 13.8254 13.1907 13.6667 12 13.6667C10.8093 13.6667 9.86227 13.8254 9.21956 13.9812C8.89825 14.0591 8.65331 14.1362 8.49245 14.1922C8.41204 14.2201 8.3527 14.2428 8.31541 14.2576C8.29677 14.265 8.28365 14.2704 8.27616 14.2736L8.27041 14.276L12.2987 14.2764L8.26956 14.2764Z',
9
+ mobileTriangle: 'M23.9999 3.66661H20.3333V0L23.9999 3.66661Z',
8
10
  };
9
11
 
10
12
  exports.NoImagePaths = NoImagePaths;
@@ -29,12 +29,14 @@ var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
29
29
  SwiperCore__default.default.use([SwiperCore.EffectFade, SwiperCore.A11y, SwiperCore.Controller]);
30
30
  var ImageViewer = function () {
31
31
  var _a, _b, _c;
32
- 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, getCurrentImage = _d.getCurrentImage, setImageMeta = _d.setImageMeta, setCurrentSlideIndex = _d.setCurrentSlideIndex, getSwiper = _d.getSwiper, setSwiper = _d.setSwiper, slidePrev = _d.slidePrev, slideNext = _d.slideNext;
32
+ 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;
33
+ var isMobile = view === 'mobile';
33
34
  var leftArrowRef = React.useRef(null);
34
35
  var rightArrowRef = React.useRef(null);
35
36
  var leftArrowFocused = hooks.useFocus(leftArrowRef, 'keyboard')[0];
36
37
  var rightArrowFocused = hooks.useFocus(rightArrowRef, 'keyboard')[0];
37
38
  var swiper = getSwiper();
39
+ var currentImage = getCurrentImage();
38
40
  var handleSlideChange = React.useCallback(function () {
39
41
  var _a;
40
42
  setCurrentSlideIndex === null || setCurrentSlideIndex === void 0 ? void 0 : setCurrentSlideIndex((_a = swiper === null || swiper === void 0 ? void 0 : swiper.activeIndex) !== null && _a !== void 0 ? _a : initialSlide);
@@ -70,10 +72,10 @@ var ImageViewer = function () {
70
72
  ((_b = rightArrowRef.current) === null || _b === void 0 ? void 0 : _b.contains(eventTarget));
71
73
  var isPlaceholder = Boolean(eventTarget.closest(".".concat(styles__default.default.placeholder)));
72
74
  var isImg = eventTarget.tagName === 'IMG';
73
- if (!isImg && !isPlaceholder && !isArrow) {
75
+ if (!isImg && !isPlaceholder && !isArrow && !isMobile) {
74
76
  onClose();
75
77
  }
76
- }, [onClose]);
78
+ }, [isMobile, onClose]);
77
79
  React.useEffect(function () {
78
80
  elementClosest__default.default(window);
79
81
  }, []);
@@ -85,30 +87,48 @@ var ImageViewer = function () {
85
87
  fadeEffect: {
86
88
  crossFade: true,
87
89
  },
88
- className: cn__default.default(styles__default.default.swiper, (_a = {}, _a[styles__default.default.hidden] = fullScreen, _a)),
90
+ className: cn__default.default(styles__default.default.swiper, (_a = {},
91
+ _a[styles__default.default.hidden] = fullScreen && !utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
92
+ _a[styles__default.default.fullScreenVideo] = fullScreen && !singleSlide && utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
93
+ _a[styles__default.default.mobile] = isMobile,
94
+ _a[styles__default.default.mobileVideo] = isMobile && utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
95
+ _a)),
89
96
  controller: { control: swiper },
90
97
  a11y: {
91
98
  slideRole: 'img',
92
99
  },
93
100
  initialSlide: initialSlide,
94
101
  simulateTouch: false,
102
+ zoom: { maxRatio: 4 },
95
103
  onSwiper: setSwiper,
96
104
  onSlideChange: handleSlideChange,
97
105
  });
98
- }, [swiper, fullScreen, initialSlide, handleSlideChange, setSwiper]);
99
- var showControls = !singleSlide && !fullScreen && !!images.length;
106
+ }, [
107
+ fullScreen,
108
+ currentImage === null || currentImage === void 0 ? void 0 : currentImage.src,
109
+ singleSlide,
110
+ isMobile,
111
+ swiper,
112
+ initialSlide,
113
+ setSwiper,
114
+ handleSlideChange,
115
+ ]);
116
+ var showControls = !singleSlide && !fullScreen && !isMobile && !!images.length;
100
117
  var swiperWidth = (swiper === null || swiper === void 0 ? void 0 : swiper.width) || 1;
101
118
  var swiperHeight = (swiper === null || swiper === void 0 ? void 0 : swiper.height) || (swiper === null || swiper === void 0 ? void 0 : swiper.width) || 1;
102
119
  var swiperAspectRatio = swiperWidth / swiperHeight;
103
- var currentImage = getCurrentImage();
104
120
  return (
105
121
  /* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */
106
- React__default.default.createElement("div", { className: cn__default.default(styles__default.default.component, (_a = {}, _a[styles__default.default.singleSlide] = singleSlide, _a)), onClick: handleWrapperClick },
122
+ React__default.default.createElement("div", { className: cn__default.default(styles__default.default.component, (_a = {},
123
+ _a[styles__default.default.singleSlide] = singleSlide,
124
+ _a[styles__default.default.mobile] = isMobile,
125
+ _a[styles__default.default.mobileVideo] = isMobile && utils_utils.isVideo(currentImage === null || currentImage === void 0 ? void 0 : currentImage.src),
126
+ _a)), onClick: handleWrapperClick },
107
127
  showControls && (React__default.default.createElement("div", { className: cn__default.default(styles__default.default.arrow, (_b = {},
108
128
  _b[styles__default.default.focused] = leftArrowFocused,
109
129
  _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 },
110
130
  React__default.default.createElement(ChevronBackHeavyMIcon.ChevronBackHeavyMIcon, null))),
111
- fullScreen && (React__default.default.createElement("img", { src: currentImage === null || currentImage === void 0 ? void 0 : currentImage.src, alt: currentImage ? utils_utils.getImageAlt(currentImage, currentSlideIndex) : '', className: styles__default.default.fullScreenImage })),
131
+ 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: styles__default.default.fullScreenImage })),
112
132
  React__default.default.createElement(react.Swiper, tslib.__assign({}, swiperProps), images.map(function (image, index) {
113
133
  var meta = imagesMeta[index];
114
134
  var imageWidth = (meta === null || meta === void 0 ? void 0 : meta.width) || 1;
@@ -21,6 +21,7 @@
21
21
  --border-radius-m: 8px; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
22
22
 
23
23
  /* новые значения, используйте их */
24
+ --border-radius-0: 0;
24
25
  --border-radius-8: var(--border-radius-m);
25
26
  } :root { /* deprecated */
26
27
  --gap-2xs: 4px; /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
@@ -37,7 +38,6 @@
37
38
  display: flex;
38
39
  flex-grow: 1;
39
40
  justify-content: center;
40
- align-items: center;
41
41
  background-color: var(--color-static-neutral-0-inverted);
42
42
  } .swiper {
43
43
  display: flex;
@@ -47,11 +47,20 @@
47
47
  /* 168px - высота хэдера и футера */
48
48
  max-height: calc(100vh - 168px);
49
49
  padding: var(--gap-32) var(--gap-16);
50
- box-sizing: border-box;
51
- } .singleSlide .swiper {
50
+ box-sizing: border-box
51
+ } .swiper.mobile {
52
+ max-height: calc(100vh - 210px);
53
+ } .swiper.mobileVideo {
54
+ max-height: 100vh;
55
+ } .singleSlide .swiper {
52
56
  max-height: calc(100vh - 80px);
53
- padding: var(--gap-32);
54
- } .hidden {
57
+ padding: var(--gap-32)
58
+ } .singleSlide .swiper.mobile {
59
+ max-height: calc(100vh - 174px);
60
+ padding: 0;
61
+ } .singleSlide .swiper.mobileVideo {
62
+ max-height: 100vh;
63
+ } .hidden {
55
64
  display: none;
56
65
  } .slide {
57
66
  position: relative;
@@ -68,15 +77,15 @@
68
77
  height: 0;
69
78
  -webkit-user-select: none;
70
79
  user-select: none;
71
- background-color: var(--color-light-base-bg-primary);
72
- border-radius: var(--border-radius-8);
73
- } .smallImage {
80
+ border-radius: var(--border-radius-8)
81
+ } .image.mobile {
82
+ border-radius: var(--border-radius-0);
83
+ } .smallImage {
74
84
  position: relative;
75
85
  width: auto;
76
86
  height: auto;
77
87
  -webkit-user-select: none;
78
88
  user-select: none;
79
- background-color: var(--color-light-base-bg-primary);
80
89
  } .verticalImageFit {
81
90
  width: auto;
82
91
  height: 100%;
@@ -125,4 +134,7 @@
125
134
  width: 100%;
126
135
  height: auto;
127
136
  background-color: var(--color-light-base-bg-primary);
137
+ } .fullScreenVideo {
138
+ width: calc(100% - 192px);
139
+ max-height: calc(100vh - 82px);
128
140
  }