@alfalab/core-components-gallery 5.7.4 → 5.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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-c469a906.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-83826e9d.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 +2 -1
  209. package/{slide-12155967.js → slide-07755478.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-c469a906.d.ts} +0 -0
  257. /package/modern/{slide-c47386c3.d.ts → slide-83826e9d.d.ts} +0 -0
  258. /package/{slide-12155967.d.ts → slide-07755478.d.ts} +0 -0
package/src/context.ts CHANGED
@@ -4,13 +4,20 @@ import SwiperCore from 'swiper';
4
4
  import { GalleryImage, ImageMeta } from './types';
5
5
 
6
6
  export type GalleryContext = {
7
+ view: 'desktop' | 'mobile';
7
8
  singleSlide: boolean;
8
9
  currentSlideIndex: number;
9
10
  images: GalleryImage[];
10
11
  imagesMeta: ImageMeta[];
11
12
  fullScreen: boolean;
13
+ mutedVideo: boolean;
14
+ playingVideo: boolean;
15
+ hideNavigation: boolean;
16
+ setHideNavigation: (hideNavigation: boolean) => void;
12
17
  initialSlide: number;
13
18
  setFullScreen: (fullScreen: boolean) => void;
19
+ setMutedVideo: (muteVideo: boolean) => void;
20
+ setPlayingVideo: (playingVideo: boolean) => void;
14
21
  setImageMeta: (meta: ImageMeta, index: number) => void;
15
22
  slideTo: (index: number) => void;
16
23
  slideNext: () => void;
@@ -27,11 +34,18 @@ const mockFn = () => undefined;
27
34
 
28
35
  // eslint-disable-next-line @typescript-eslint/no-redeclare
29
36
  export const GalleryContext = createContext<GalleryContext>({
37
+ view: 'desktop',
30
38
  singleSlide: false,
31
39
  currentSlideIndex: 0,
32
40
  images: [],
33
41
  imagesMeta: [],
34
42
  fullScreen: false,
43
+ mutedVideo: false,
44
+ playingVideo: false,
45
+ hideNavigation: false,
46
+ setHideNavigation: mockFn,
47
+ setMutedVideo: mockFn,
48
+ setPlayingVideo: mockFn,
35
49
  initialSlide: 0,
36
50
  setFullScreen: mockFn,
37
51
  setImageMeta: mockFn,
@@ -1,6 +1,8 @@
1
1
  @import '@alfalab/core-components-vars/src/index.css';
2
2
 
3
3
  .container {
4
+ position: relative;
5
+ overflow: hidden;
4
6
  display: flex;
5
7
  flex-direction: column;
6
8
  justify-content: space-between;
@@ -11,7 +13,21 @@
11
13
 
12
14
  .modal {
13
15
  flex-grow: 1;
14
- width: 100%;
15
- height: 100%;
16
+ width: 100vw;
17
+ height: 100vh;
16
18
  background: transparent;
17
19
  }
20
+
21
+ .navigationVideo {
22
+ background-color: var(--color-static-neutral-0-inverted);
23
+ z-index: 3;
24
+ width: 100%;
25
+ position: absolute;
26
+ bottom: 0;
27
+ left: 0;
28
+ transition: transform 0.3s ease-in-out;
29
+ }
30
+
31
+ .hideNavigation {
32
+ transform: translateY(106px);
33
+ }
package/src/index.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export * from './Component';
2
- export * from './utils';
2
+ export { GALLERY_EVENTS, TestIds } from './utils';
package/src/types.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { RefObject } from 'react';
2
+
1
3
  export type GalleryImage = {
2
4
  src: string;
3
5
  name?: string;
@@ -6,8 +8,16 @@ export type GalleryImage = {
6
8
  canDownload?: boolean;
7
9
  };
8
10
 
9
- export type ImageMeta = {
10
- width: number;
11
- height: number;
12
- broken?: boolean;
13
- };
11
+ export type ImageMeta =
12
+ | {
13
+ width: number;
14
+ height: number;
15
+ broken?: boolean;
16
+ player?: never;
17
+ }
18
+ | {
19
+ width?: never;
20
+ height?: never;
21
+ broken?: boolean;
22
+ player: RefObject<HTMLVideoElement>;
23
+ };
@@ -7,4 +7,21 @@ export const TestIds = {
7
7
  EXIT_FULLSCREEN_BUTTON: 'exit-fullscreen-button',
8
8
  DOWNLOAD_BUTTON: 'download-button',
9
9
  NAVIGATION_BAR: 'navigation-bar',
10
+ MUTE_BUTTON: 'mute-button',
11
+ UNMUTE_BUTTON: 'unmute-button',
12
+ };
13
+
14
+ export const PREVIEW_WIDTH_MOBILE = 36;
15
+ export const PREVIEW_HEIGHT_MOBILE = 46;
16
+
17
+ export const PREVIEW_WIDTH_DESKTOP = 56;
18
+ export const PREVIEW_HEIGHT_DESKTOP = 56;
19
+
20
+ export const PREVIEW_VIDEO_MULTIPLIER = 12;
21
+
22
+ export const GALLERY_EVENTS = {
23
+ ON_PLAY: 'Gallery:OnPlay',
24
+ ON_PAUSE: 'Gallery:OnPause',
25
+ ON_MUTE: 'Gallery:OnMute',
26
+ ON_UNMUTE: 'Gallery:OnUnmute',
10
27
  };
@@ -10,9 +10,11 @@ export const getImageAlt = ({ alt, name }: GalleryImage, index: number): string
10
10
  alt || name || `Изображение ${index + 1}`;
11
11
 
12
12
  export const isSmallImage = (meta?: ImageMeta) => {
13
- if (!meta) {
14
- return false;
13
+ if (meta && meta.width && meta.height) {
14
+ return meta.width < PLACEHOLDER_WIDTH && meta.height < PLACEHOLDER_HEIGHT;
15
15
  }
16
16
 
17
- return meta.width < PLACEHOLDER_WIDTH && meta.height < PLACEHOLDER_HEIGHT;
17
+ return false;
18
18
  };
19
+
20
+ export const isVideo = (url: string | undefined) => /(.*?)(\.webm|\.mp4|\.m3u8)$/.test(url ?? '');
package/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { RefObject } from 'react';
1
2
  type GalleryImage = {
2
3
  src: string;
3
4
  name?: string;
@@ -9,5 +10,11 @@ type ImageMeta = {
9
10
  width: number;
10
11
  height: number;
11
12
  broken?: boolean;
13
+ player?: never;
14
+ } | {
15
+ width?: never;
16
+ height?: never;
17
+ broken?: boolean;
18
+ player: RefObject<HTMLVideoElement>;
12
19
  };
13
20
  export { GalleryImage, ImageMeta };
@@ -7,5 +7,18 @@ declare const TestIds: {
7
7
  EXIT_FULLSCREEN_BUTTON: string;
8
8
  DOWNLOAD_BUTTON: string;
9
9
  NAVIGATION_BAR: string;
10
+ MUTE_BUTTON: string;
11
+ UNMUTE_BUTTON: string;
10
12
  };
11
- export { TestIds };
13
+ declare const PREVIEW_WIDTH_MOBILE = 36;
14
+ declare const PREVIEW_HEIGHT_MOBILE = 46;
15
+ declare const PREVIEW_WIDTH_DESKTOP = 56;
16
+ declare const PREVIEW_HEIGHT_DESKTOP = 56;
17
+ declare const PREVIEW_VIDEO_MULTIPLIER = 12;
18
+ declare const GALLERY_EVENTS: {
19
+ ON_PLAY: string;
20
+ ON_PAUSE: string;
21
+ ON_MUTE: string;
22
+ ON_UNMUTE: string;
23
+ };
24
+ export { TestIds, PREVIEW_WIDTH_MOBILE, PREVIEW_HEIGHT_MOBILE, PREVIEW_WIDTH_DESKTOP, PREVIEW_HEIGHT_DESKTOP, PREVIEW_VIDEO_MULTIPLIER, GALLERY_EVENTS };
@@ -11,6 +11,25 @@ var TestIds = {
11
11
  EXIT_FULLSCREEN_BUTTON: 'exit-fullscreen-button',
12
12
  DOWNLOAD_BUTTON: 'download-button',
13
13
  NAVIGATION_BAR: 'navigation-bar',
14
+ MUTE_BUTTON: 'mute-button',
15
+ UNMUTE_BUTTON: 'unmute-button',
16
+ };
17
+ var PREVIEW_WIDTH_MOBILE = 36;
18
+ var PREVIEW_HEIGHT_MOBILE = 46;
19
+ var PREVIEW_WIDTH_DESKTOP = 56;
20
+ var PREVIEW_HEIGHT_DESKTOP = 56;
21
+ var PREVIEW_VIDEO_MULTIPLIER = 12;
22
+ var GALLERY_EVENTS = {
23
+ ON_PLAY: 'Gallery:OnPlay',
24
+ ON_PAUSE: 'Gallery:OnPause',
25
+ ON_MUTE: 'Gallery:OnMute',
26
+ ON_UNMUTE: 'Gallery:OnUnmute',
14
27
  };
15
28
 
29
+ exports.GALLERY_EVENTS = GALLERY_EVENTS;
30
+ exports.PREVIEW_HEIGHT_DESKTOP = PREVIEW_HEIGHT_DESKTOP;
31
+ exports.PREVIEW_HEIGHT_MOBILE = PREVIEW_HEIGHT_MOBILE;
32
+ exports.PREVIEW_VIDEO_MULTIPLIER = PREVIEW_VIDEO_MULTIPLIER;
33
+ exports.PREVIEW_WIDTH_DESKTOP = PREVIEW_WIDTH_DESKTOP;
34
+ exports.PREVIEW_WIDTH_MOBILE = PREVIEW_WIDTH_MOBILE;
16
35
  exports.TestIds = TestIds;
package/utils/index.js CHANGED
@@ -14,4 +14,11 @@ exports.PLACEHOLDER_WIDTH = utils_utils.PLACEHOLDER_WIDTH;
14
14
  exports.getImageAlt = utils_utils.getImageAlt;
15
15
  exports.getImageKey = utils_utils.getImageKey;
16
16
  exports.isSmallImage = utils_utils.isSmallImage;
17
+ exports.isVideo = utils_utils.isVideo;
18
+ exports.GALLERY_EVENTS = utils_constants.GALLERY_EVENTS;
19
+ exports.PREVIEW_HEIGHT_DESKTOP = utils_constants.PREVIEW_HEIGHT_DESKTOP;
20
+ exports.PREVIEW_HEIGHT_MOBILE = utils_constants.PREVIEW_HEIGHT_MOBILE;
21
+ exports.PREVIEW_VIDEO_MULTIPLIER = utils_constants.PREVIEW_VIDEO_MULTIPLIER;
22
+ exports.PREVIEW_WIDTH_DESKTOP = utils_constants.PREVIEW_WIDTH_DESKTOP;
23
+ exports.PREVIEW_WIDTH_MOBILE = utils_constants.PREVIEW_WIDTH_MOBILE;
17
24
  exports.TestIds = utils_constants.TestIds;
package/utils/utils.d.ts CHANGED
@@ -4,4 +4,5 @@ declare const PLACEHOLDER_HEIGHT = 300;
4
4
  declare const getImageKey: ({ name, src }: GalleryImage, index: number) => string;
5
5
  declare const getImageAlt: ({ alt, name }: GalleryImage, index: number) => string;
6
6
  declare const isSmallImage: (meta?: ImageMeta) => boolean;
7
- export { PLACEHOLDER_WIDTH, PLACEHOLDER_HEIGHT, getImageKey, getImageAlt, isSmallImage };
7
+ declare const isVideo: (url: string | undefined) => boolean;
8
+ export { PLACEHOLDER_WIDTH, PLACEHOLDER_HEIGHT, getImageKey, getImageAlt, isSmallImage, isVideo };
package/utils/utils.js CHANGED
@@ -13,14 +13,16 @@ var getImageAlt = function (_a, index) {
13
13
  return alt || name || "\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 ".concat(index + 1);
14
14
  };
15
15
  var isSmallImage = function (meta) {
16
- if (!meta) {
17
- return false;
16
+ if (meta && meta.width && meta.height) {
17
+ return meta.width < PLACEHOLDER_WIDTH && meta.height < PLACEHOLDER_HEIGHT;
18
18
  }
19
- return meta.width < PLACEHOLDER_WIDTH && meta.height < PLACEHOLDER_HEIGHT;
19
+ return false;
20
20
  };
21
+ var isVideo = function (url) { return /(.*?)(\.webm|\.mp4|\.m3u8)$/.test(url !== null && url !== void 0 ? url : ''); };
21
22
 
22
23
  exports.PLACEHOLDER_HEIGHT = PLACEHOLDER_HEIGHT;
23
24
  exports.PLACEHOLDER_WIDTH = PLACEHOLDER_WIDTH;
24
25
  exports.getImageAlt = getImageAlt;
25
26
  exports.getImageKey = getImageKey;
26
27
  exports.isSmallImage = isSmallImage;
28
+ exports.isVideo = isVideo;
@@ -1,37 +0,0 @@
1
- 'use strict';
2
-
3
- var tslib = require('tslib');
4
- var React = require('react');
5
- var coreComponentsIconButton = require('@alfalab/core-components-icon-button');
6
- var desktop = require('@alfalab/core-components-tooltip/desktop');
7
- var ArrowsInwardMIcon = require('@alfalab/icons-glyph/ArrowsInwardMIcon');
8
- var ArrowsOutwardMIcon = require('@alfalab/icons-glyph/ArrowsOutwardMIcon');
9
- var CrossMIcon = require('@alfalab/icons-glyph/CrossMIcon');
10
- var PointerDownMIcon = require('@alfalab/icons-glyph/PointerDownMIcon');
11
-
12
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
13
-
14
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
15
-
16
- var styles = {"header":"gallery__header_1eyvr","buttons":"gallery__buttons_1eyvr","iconButton":"gallery__iconButton_1eyvr"};
17
- require('./components/header/index.css')
18
-
19
- var Fullscreen = function (_a) {
20
- var buttonRef = _a.buttonRef, restProps = tslib.__rest(_a, ["buttonRef"]);
21
- return (React__default.default.createElement(desktop.TooltipDesktop, { trigger: 'hover', position: 'bottom', content: '\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435', fallbackPlacements: ['bottom-end'] },
22
- React__default.default.createElement(coreComponentsIconButton.IconButton, tslib.__assign({}, restProps, { ref: buttonRef, icon: ArrowsOutwardMIcon.ArrowsOutwardMIcon, colors: 'inverted', "aria-label": '\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435', className: styles.iconButton }))));
23
- };
24
- var ExitFullscreen = function (_a) {
25
- var buttonRef = _a.buttonRef, restProps = tslib.__rest(_a, ["buttonRef"]);
26
- return (React__default.default.createElement(desktop.TooltipDesktop, { trigger: 'hover', position: 'bottom', content: '\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430', fallbackPlacements: ['bottom-end'] },
27
- React__default.default.createElement(coreComponentsIconButton.IconButton, tslib.__assign({}, restProps, { ref: buttonRef, icon: ArrowsInwardMIcon.ArrowsInwardMIcon, colors: 'inverted', "aria-label": '\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430', className: styles.iconButton }))));
28
- };
29
- var Download = function (props) { return (React__default.default.createElement(desktop.TooltipDesktop, { trigger: 'hover', position: 'bottom', content: '\u0421\u043A\u0430\u0447\u0430\u0442\u044C', fallbackPlacements: ['bottom-end'] },
30
- React__default.default.createElement(coreComponentsIconButton.IconButton, tslib.__assign({}, props, { icon: PointerDownMIcon.PointerDownMIcon, colors: 'inverted', "aria-label": '\u0421\u043A\u0430\u0447\u0430\u0442\u044C', className: styles.iconButton })))); };
31
- var Exit = function (props) { return (React__default.default.createElement(coreComponentsIconButton.IconButton, tslib.__assign({}, props, { icon: CrossMIcon.CrossMIcon, colors: 'inverted', "aria-label": '\u0417\u0430\u043A\u0440\u044B\u0442\u044C', className: styles.iconButton }))); };
32
-
33
- exports.Download = Download;
34
- exports.Exit = Exit;
35
- exports.ExitFullscreen = ExitFullscreen;
36
- exports.Fullscreen = Fullscreen;
37
- exports.styles = styles;
File without changes
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- require('tslib');
6
- require('react');
7
- require('@alfalab/core-components-icon-button');
8
- require('@alfalab/core-components-tooltip/desktop');
9
- require('@alfalab/icons-glyph/ArrowsInwardMIcon');
10
- require('@alfalab/icons-glyph/ArrowsOutwardMIcon');
11
- require('@alfalab/icons-glyph/CrossMIcon');
12
- require('@alfalab/icons-glyph/PointerDownMIcon');
13
- var components_header_buttons = require('../../buttons-ec113bb4.js');
14
-
15
-
16
-
17
- exports.Download = components_header_buttons.Download;
18
- exports.Exit = components_header_buttons.Exit;
19
- exports.ExitFullscreen = components_header_buttons.ExitFullscreen;
20
- exports.Fullscreen = components_header_buttons.Fullscreen;
@@ -1,37 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var tslib = require('tslib');
6
- var React = require('react');
7
- var coreComponentsIconButton = require('@alfalab/core-components-icon-button/cssm');
8
- var desktop = require('@alfalab/core-components-tooltip/cssm/desktop');
9
- var ArrowsInwardMIcon = require('@alfalab/icons-glyph/ArrowsInwardMIcon');
10
- var ArrowsOutwardMIcon = require('@alfalab/icons-glyph/ArrowsOutwardMIcon');
11
- var CrossMIcon = require('@alfalab/icons-glyph/CrossMIcon');
12
- var PointerDownMIcon = require('@alfalab/icons-glyph/PointerDownMIcon');
13
- var styles = require('./index.module.css');
14
-
15
- function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
16
-
17
- var React__default = /*#__PURE__*/_interopDefaultCompat(React);
18
- var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
19
-
20
- var Fullscreen = function (_a) {
21
- var buttonRef = _a.buttonRef, restProps = tslib.__rest(_a, ["buttonRef"]);
22
- return (React__default.default.createElement(desktop.TooltipDesktop, { trigger: 'hover', position: 'bottom', content: '\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435', fallbackPlacements: ['bottom-end'] },
23
- React__default.default.createElement(coreComponentsIconButton.IconButton, tslib.__assign({}, restProps, { ref: buttonRef, icon: ArrowsOutwardMIcon.ArrowsOutwardMIcon, colors: 'inverted', "aria-label": '\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435', className: styles__default.default.iconButton }))));
24
- };
25
- var ExitFullscreen = function (_a) {
26
- var buttonRef = _a.buttonRef, restProps = tslib.__rest(_a, ["buttonRef"]);
27
- return (React__default.default.createElement(desktop.TooltipDesktop, { trigger: 'hover', position: 'bottom', content: '\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430', fallbackPlacements: ['bottom-end'] },
28
- React__default.default.createElement(coreComponentsIconButton.IconButton, tslib.__assign({}, restProps, { ref: buttonRef, icon: ArrowsInwardMIcon.ArrowsInwardMIcon, colors: 'inverted', "aria-label": '\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430', className: styles__default.default.iconButton }))));
29
- };
30
- var Download = function (props) { return (React__default.default.createElement(desktop.TooltipDesktop, { trigger: 'hover', position: 'bottom', content: '\u0421\u043A\u0430\u0447\u0430\u0442\u044C', fallbackPlacements: ['bottom-end'] },
31
- React__default.default.createElement(coreComponentsIconButton.IconButton, tslib.__assign({}, props, { icon: PointerDownMIcon.PointerDownMIcon, colors: 'inverted', "aria-label": '\u0421\u043A\u0430\u0447\u0430\u0442\u044C', className: styles__default.default.iconButton })))); };
32
- var Exit = function (props) { return (React__default.default.createElement(coreComponentsIconButton.IconButton, tslib.__assign({}, props, { icon: CrossMIcon.CrossMIcon, colors: 'inverted', "aria-label": '\u0417\u0430\u043A\u0440\u044B\u0442\u044C', className: styles__default.default.iconButton }))); };
33
-
34
- exports.Download = Download;
35
- exports.Exit = Exit;
36
- exports.ExitFullscreen = ExitFullscreen;
37
- exports.Fullscreen = Fullscreen;
@@ -1,27 +0,0 @@
1
- import { __rest, __assign } from 'tslib';
2
- import React from 'react';
3
- import { IconButton } from '@alfalab/core-components-icon-button/esm';
4
- import { TooltipDesktop } from '@alfalab/core-components-tooltip/esm/desktop';
5
- import { ArrowsInwardMIcon } from '@alfalab/icons-glyph/ArrowsInwardMIcon';
6
- import { ArrowsOutwardMIcon } from '@alfalab/icons-glyph/ArrowsOutwardMIcon';
7
- import { CrossMIcon } from '@alfalab/icons-glyph/CrossMIcon';
8
- import { PointerDownMIcon } from '@alfalab/icons-glyph/PointerDownMIcon';
9
-
10
- var styles = {"header":"gallery__header_1eyvr","buttons":"gallery__buttons_1eyvr","iconButton":"gallery__iconButton_1eyvr"};
11
- require('./components/header/index.css')
12
-
13
- var Fullscreen = function (_a) {
14
- var buttonRef = _a.buttonRef, restProps = __rest(_a, ["buttonRef"]);
15
- return (React.createElement(TooltipDesktop, { trigger: 'hover', position: 'bottom', content: '\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435', fallbackPlacements: ['bottom-end'] },
16
- React.createElement(IconButton, __assign({}, restProps, { ref: buttonRef, icon: ArrowsOutwardMIcon, colors: 'inverted', "aria-label": '\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435', className: styles.iconButton }))));
17
- };
18
- var ExitFullscreen = function (_a) {
19
- var buttonRef = _a.buttonRef, restProps = __rest(_a, ["buttonRef"]);
20
- return (React.createElement(TooltipDesktop, { trigger: 'hover', position: 'bottom', content: '\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430', fallbackPlacements: ['bottom-end'] },
21
- React.createElement(IconButton, __assign({}, restProps, { ref: buttonRef, icon: ArrowsInwardMIcon, colors: 'inverted', "aria-label": '\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430', className: styles.iconButton }))));
22
- };
23
- var Download = function (props) { return (React.createElement(TooltipDesktop, { trigger: 'hover', position: 'bottom', content: '\u0421\u043A\u0430\u0447\u0430\u0442\u044C', fallbackPlacements: ['bottom-end'] },
24
- React.createElement(IconButton, __assign({}, props, { icon: PointerDownMIcon, colors: 'inverted', "aria-label": '\u0421\u043A\u0430\u0447\u0430\u0442\u044C', className: styles.iconButton })))); };
25
- var Exit = function (props) { return (React.createElement(IconButton, __assign({}, props, { icon: CrossMIcon, colors: 'inverted', "aria-label": '\u0417\u0430\u043A\u0440\u044B\u0442\u044C', className: styles.iconButton }))); };
26
-
27
- export { Download as D, Exit as E, Fullscreen as F, ExitFullscreen as a, styles as s };
File without changes
@@ -1,9 +0,0 @@
1
- import 'tslib';
2
- import 'react';
3
- import '@alfalab/core-components-icon-button/esm';
4
- import '@alfalab/core-components-tooltip/esm/desktop';
5
- import '@alfalab/icons-glyph/ArrowsInwardMIcon';
6
- import '@alfalab/icons-glyph/ArrowsOutwardMIcon';
7
- import '@alfalab/icons-glyph/CrossMIcon';
8
- import '@alfalab/icons-glyph/PointerDownMIcon';
9
- export { D as Download, E as Exit, a as ExitFullscreen, F as Fullscreen } from '../../buttons-791da71e.js';
@@ -1,20 +0,0 @@
1
- import React from 'react';
2
- import { IconButton } from '@alfalab/core-components-icon-button/modern';
3
- import { TooltipDesktop } from '@alfalab/core-components-tooltip/modern/desktop';
4
- import { ArrowsInwardMIcon } from '@alfalab/icons-glyph/ArrowsInwardMIcon';
5
- import { ArrowsOutwardMIcon } from '@alfalab/icons-glyph/ArrowsOutwardMIcon';
6
- import { CrossMIcon } from '@alfalab/icons-glyph/CrossMIcon';
7
- import { PointerDownMIcon } from '@alfalab/icons-glyph/PointerDownMIcon';
8
-
9
- const styles = {"header":"gallery__header_1eyvr","buttons":"gallery__buttons_1eyvr","iconButton":"gallery__iconButton_1eyvr"};
10
- require('./components/header/index.css')
11
-
12
- const Fullscreen = ({ buttonRef, ...restProps }) => (React.createElement(TooltipDesktop, { trigger: 'hover', position: 'bottom', content: '\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435', fallbackPlacements: ['bottom-end'] },
13
- React.createElement(IconButton, { ...restProps, ref: buttonRef, icon: ArrowsOutwardMIcon, colors: 'inverted', "aria-label": '\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435', className: styles.iconButton })));
14
- const ExitFullscreen = ({ buttonRef, ...restProps }) => (React.createElement(TooltipDesktop, { trigger: 'hover', position: 'bottom', content: '\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430', fallbackPlacements: ['bottom-end'] },
15
- React.createElement(IconButton, { ...restProps, ref: buttonRef, icon: ArrowsInwardMIcon, colors: 'inverted', "aria-label": '\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430', className: styles.iconButton })));
16
- const Download = (props) => (React.createElement(TooltipDesktop, { trigger: 'hover', position: 'bottom', content: '\u0421\u043A\u0430\u0447\u0430\u0442\u044C', fallbackPlacements: ['bottom-end'] },
17
- React.createElement(IconButton, { ...props, icon: PointerDownMIcon, colors: 'inverted', "aria-label": '\u0421\u043A\u0430\u0447\u0430\u0442\u044C', className: styles.iconButton })));
18
- const Exit = (props) => (React.createElement(IconButton, { ...props, icon: CrossMIcon, colors: 'inverted', "aria-label": '\u0417\u0430\u043A\u0440\u044B\u0442\u044C', className: styles.iconButton }));
19
-
20
- export { Download as D, Exit as E, Fullscreen as F, ExitFullscreen as a, styles as s };
File without changes
@@ -1,8 +0,0 @@
1
- import 'react';
2
- import '@alfalab/core-components-icon-button/modern';
3
- import '@alfalab/core-components-tooltip/modern/desktop';
4
- import '@alfalab/icons-glyph/ArrowsInwardMIcon';
5
- import '@alfalab/icons-glyph/ArrowsOutwardMIcon';
6
- import '@alfalab/icons-glyph/CrossMIcon';
7
- import '@alfalab/icons-glyph/PointerDownMIcon';
8
- export { D as Download, E as Exit, a as ExitFullscreen, F as Fullscreen } from '../../buttons-1859cb8e.js';
@@ -1,11 +0,0 @@
1
- import { FC, MutableRefObject } from 'react';
2
- import { IconButtonProps } from "@alfalab/core-components-icon-button";
3
- type Props = Omit<IconButtonProps, 'icon' | 'colors'> & {
4
- buttonRef?: MutableRefObject<HTMLButtonElement | null>;
5
- download?: string | boolean;
6
- };
7
- declare const Fullscreen: FC<Props>;
8
- declare const ExitFullscreen: FC<Props>;
9
- declare const Download: FC<Props>;
10
- declare const Exit: FC<Props>;
11
- export { Fullscreen, ExitFullscreen, Download, Exit };
@@ -1,18 +0,0 @@
1
- import React from 'react';
2
- import { IconButton } from '@alfalab/core-components-icon-button/moderncssm';
3
- import { TooltipDesktop } from '@alfalab/core-components-tooltip/moderncssm/desktop';
4
- import { ArrowsInwardMIcon } from '@alfalab/icons-glyph/ArrowsInwardMIcon';
5
- import { ArrowsOutwardMIcon } from '@alfalab/icons-glyph/ArrowsOutwardMIcon';
6
- import { CrossMIcon } from '@alfalab/icons-glyph/CrossMIcon';
7
- import { PointerDownMIcon } from '@alfalab/icons-glyph/PointerDownMIcon';
8
- import styles from './index.module.css';
9
-
10
- const Fullscreen = ({ buttonRef, ...restProps }) => (React.createElement(TooltipDesktop, { trigger: 'hover', position: 'bottom', content: '\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435', fallbackPlacements: ['bottom-end'] },
11
- React.createElement(IconButton, { ...restProps, ref: buttonRef, icon: ArrowsOutwardMIcon, colors: 'inverted', "aria-label": '\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u043C \u0440\u0435\u0436\u0438\u043C\u0435', className: styles.iconButton })));
12
- const ExitFullscreen = ({ buttonRef, ...restProps }) => (React.createElement(TooltipDesktop, { trigger: 'hover', position: 'bottom', content: '\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430', fallbackPlacements: ['bottom-end'] },
13
- React.createElement(IconButton, { ...restProps, ref: buttonRef, icon: ArrowsInwardMIcon, colors: 'inverted', "aria-label": '\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430', className: styles.iconButton })));
14
- const Download = (props) => (React.createElement(TooltipDesktop, { trigger: 'hover', position: 'bottom', content: '\u0421\u043A\u0430\u0447\u0430\u0442\u044C', fallbackPlacements: ['bottom-end'] },
15
- React.createElement(IconButton, { ...props, icon: PointerDownMIcon, colors: 'inverted', "aria-label": '\u0421\u043A\u0430\u0447\u0430\u0442\u044C', className: styles.iconButton })));
16
- const Exit = (props) => (React.createElement(IconButton, { ...props, icon: CrossMIcon, colors: 'inverted', "aria-label": '\u0417\u0430\u043A\u0440\u044B\u0442\u044C', className: styles.iconButton }));
17
-
18
- export { Download, Exit, ExitFullscreen, Fullscreen };
File without changes