@alfalab/core-components-gallery 7.2.0 → 7.2.1-alfasans

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 (90) hide show
  1. package/components/bottom-button/index.css +5 -5
  2. package/components/bottom-button/index.module.css.js +1 -1
  3. package/components/buttons/index.css +5 -5
  4. package/components/buttons/index.module.css.js +1 -1
  5. package/components/header/index.css +1 -1
  6. package/components/header/index.module.css.js +1 -1
  7. package/components/header-info-block/index.css +4 -4
  8. package/components/header-info-block/index.module.css.js +1 -1
  9. package/components/header-mobile/index.css +6 -6
  10. package/components/header-mobile/index.module.css.js +1 -1
  11. package/components/image-preview/index.css +17 -17
  12. package/components/image-preview/index.module.css.js +1 -1
  13. package/components/image-viewer/index.css +30 -29
  14. package/components/image-viewer/index.module.css.js +1 -1
  15. package/components/image-viewer/index.module.css.js.map +1 -1
  16. package/components/image-viewer/slide.js +2 -1
  17. package/components/image-viewer/slide.js.map +1 -1
  18. package/components/image-viewer/video/index.css +7 -7
  19. package/components/image-viewer/video/index.module.css.js +1 -1
  20. package/components/info-bar/index.css +3 -3
  21. package/components/info-bar/index.module.css.js +1 -1
  22. package/components/navigation-bar/index.css +8 -8
  23. package/components/navigation-bar/index.module.css.js +1 -1
  24. package/components/subtitles/index.css +3 -3
  25. package/components/subtitles/index.module.css.js +1 -1
  26. package/cssm/components/image-viewer/index.module.css +2 -1
  27. package/cssm/components/image-viewer/slide.js +2 -1
  28. package/cssm/components/image-viewer/slide.js.map +1 -1
  29. package/esm/components/bottom-button/index.css +5 -5
  30. package/esm/components/bottom-button/index.module.css.js +1 -1
  31. package/esm/components/buttons/index.css +5 -5
  32. package/esm/components/buttons/index.module.css.js +1 -1
  33. package/esm/components/header/index.css +1 -1
  34. package/esm/components/header/index.module.css.js +1 -1
  35. package/esm/components/header-info-block/index.css +4 -4
  36. package/esm/components/header-info-block/index.module.css.js +1 -1
  37. package/esm/components/header-mobile/index.css +6 -6
  38. package/esm/components/header-mobile/index.module.css.js +1 -1
  39. package/esm/components/image-preview/index.css +17 -17
  40. package/esm/components/image-preview/index.module.css.js +1 -1
  41. package/esm/components/image-viewer/index.css +30 -29
  42. package/esm/components/image-viewer/index.module.css.js +1 -1
  43. package/esm/components/image-viewer/index.module.css.js.map +1 -1
  44. package/esm/components/image-viewer/slide.js +2 -1
  45. package/esm/components/image-viewer/slide.js.map +1 -1
  46. package/esm/components/image-viewer/video/index.css +7 -7
  47. package/esm/components/image-viewer/video/index.module.css.js +1 -1
  48. package/esm/components/info-bar/index.css +3 -3
  49. package/esm/components/info-bar/index.module.css.js +1 -1
  50. package/esm/components/navigation-bar/index.css +8 -8
  51. package/esm/components/navigation-bar/index.module.css.js +1 -1
  52. package/esm/components/subtitles/index.css +3 -3
  53. package/esm/components/subtitles/index.module.css.js +1 -1
  54. package/esm/index.css +9 -9
  55. package/esm/index.module.css.js +1 -1
  56. package/index.css +9 -9
  57. package/index.module.css.js +1 -1
  58. package/modern/components/bottom-button/index.css +5 -5
  59. package/modern/components/bottom-button/index.module.css.js +1 -1
  60. package/modern/components/buttons/index.css +5 -5
  61. package/modern/components/buttons/index.module.css.js +1 -1
  62. package/modern/components/header/index.css +1 -1
  63. package/modern/components/header/index.module.css.js +1 -1
  64. package/modern/components/header-info-block/index.css +4 -4
  65. package/modern/components/header-info-block/index.module.css.js +1 -1
  66. package/modern/components/header-mobile/index.css +6 -6
  67. package/modern/components/header-mobile/index.module.css.js +1 -1
  68. package/modern/components/image-preview/index.css +17 -17
  69. package/modern/components/image-preview/index.module.css.js +1 -1
  70. package/modern/components/image-viewer/index.css +30 -29
  71. package/modern/components/image-viewer/index.module.css.js +1 -1
  72. package/modern/components/image-viewer/index.module.css.js.map +1 -1
  73. package/modern/components/image-viewer/slide.js +2 -1
  74. package/modern/components/image-viewer/slide.js.map +1 -1
  75. package/modern/components/image-viewer/video/index.css +7 -7
  76. package/modern/components/image-viewer/video/index.module.css.js +1 -1
  77. package/modern/components/info-bar/index.css +3 -3
  78. package/modern/components/info-bar/index.module.css.js +1 -1
  79. package/modern/components/navigation-bar/index.css +8 -8
  80. package/modern/components/navigation-bar/index.module.css.js +1 -1
  81. package/modern/components/subtitles/index.css +3 -3
  82. package/modern/components/subtitles/index.module.css.js +1 -1
  83. package/modern/index.css +9 -9
  84. package/modern/index.module.css.js +1 -1
  85. package/moderncssm/components/image-viewer/index.module.css +2 -1
  86. package/moderncssm/components/image-viewer/slide.js +2 -1
  87. package/moderncssm/components/image-viewer/slide.js.map +1 -1
  88. package/package.json +11 -11
  89. package/src/components/image-viewer/index.module.css +2 -1
  90. package/src/components/image-viewer/slide.tsx +3 -1
@@ -3,20 +3,20 @@
3
3
  --color-static-neutral-translucent-500-inverted-hover: rgba(233, 233, 250, 0.37);
4
4
  --color-static-neutral-translucent-500-inverted-press: rgba(238, 238, 254, 0.46);
5
5
  }
6
- .gallery__component_1111w {
6
+ .gallery__component_12iyi {
7
7
  background-color: var(--color-static-neutral-translucent-500-inverted);
8
8
  }
9
- .gallery__component_1111w:hover {
9
+ .gallery__component_12iyi:hover {
10
10
  background-color: var(--color-static-neutral-translucent-500-inverted-hover);
11
11
  }
12
- .gallery__component_1111w:active {
12
+ .gallery__component_12iyi:active {
13
13
  background-color: var(--color-static-neutral-translucent-500-inverted-press);
14
14
  }
15
- .gallery__component_1111w {
15
+ .gallery__component_12iyi {
16
16
 
17
17
  transition: transform 1s ease-in-out;
18
18
  will-change: transform;
19
19
  }
20
- .gallery__notVisible_1111w {
20
+ .gallery__notVisible_12iyi {
21
21
  transform: translateY(250%);
22
22
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"component":"gallery__component_1111w","notVisible":"gallery__notVisible_1111w"};
5
+ var styles = {"component":"gallery__component_12iyi","notVisible":"gallery__notVisible_12iyi"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -8,19 +8,19 @@
8
8
  --gap-2xl: 32px;
9
9
  --gap-32: var(--gap-2xl);
10
10
  }
11
- .gallery__buttons_wuul2 {
11
+ .gallery__buttons_17zvp {
12
12
  display: flex;
13
13
  padding-left: var(--gap-32);
14
14
  }
15
- .gallery__buttons_wuul2 path {
15
+ .gallery__buttons_17zvp path {
16
16
  color: var(--color-static-neutral-translucent-1300-inverted);
17
17
  }
18
- .gallery__iconButton_wuul2 path {
18
+ .gallery__iconButton_17zvp path {
19
19
  color: var(--color-static-neutral-100);
20
20
  }
21
- .gallery__iconButton_wuul2:hover path {
21
+ .gallery__iconButton_17zvp:hover path {
22
22
  color: var(--color-static-neutral-100-hover);
23
23
  }
24
- .gallery__iconButton_wuul2:active path {
24
+ .gallery__iconButton_17zvp:active path {
25
25
  color: var(--color-static-neutral-100-press);
26
26
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"iconButton":"gallery__iconButton_wuul2"};
5
+ var styles = {"iconButton":"gallery__iconButton_17zvp"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -4,7 +4,7 @@
4
4
  --gap-16: var(--gap-m);
5
5
  --gap-32: var(--gap-2xl);
6
6
  }
7
- .gallery__header_1ncrn {
7
+ .gallery__header_c4i7e {
8
8
  display: flex;
9
9
  justify-content: space-between;
10
10
  flex-shrink: 0;
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"header":"gallery__header_1ncrn"};
5
+ var styles = {"header":"gallery__header_c4i7e"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -2,24 +2,24 @@
2
2
  --gap-2xs: 4px;
3
3
  --gap-4: var(--gap-2xs);
4
4
  }
5
- .gallery__info_67sij {
5
+ .gallery__info_2l9no {
6
6
  height: 100%;
7
7
  display: flex;
8
8
  flex-direction: column;
9
9
  justify-content: center;
10
10
  overflow: hidden;
11
11
  }
12
- .gallery__filenameHead_67sij {
12
+ .gallery__filenameHead_2l9no {
13
13
  display: inline;
14
14
  text-overflow: ellipsis;
15
15
  overflow: hidden;
16
16
  white-space: nowrap;
17
17
  }
18
- .gallery__filenameContainer_67sij {
18
+ .gallery__filenameContainer_2l9no {
19
19
  overflow: hidden;
20
20
  display: inline-flex;
21
21
  }
22
- .gallery__description_67sij {
22
+ .gallery__description_2l9no {
23
23
  display: inline;
24
24
  text-overflow: ellipsis;
25
25
  overflow: hidden;
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"info":"gallery__info_67sij","filenameHead":"gallery__filenameHead_67sij","filenameContainer":"gallery__filenameContainer_67sij","description":"gallery__description_67sij"};
5
+ var styles = {"info":"gallery__info_2l9no","filenameHead":"gallery__filenameHead_2l9no","filenameContainer":"gallery__filenameContainer_2l9no","description":"gallery__description_2l9no"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1,7 +1,7 @@
1
1
  :root {
2
2
  --color-static-neutral-0-inverted: #262629;
3
3
  }
4
- .gallery__headerMobile_t1ge4 {
4
+ .gallery__headerMobile_9pe0x {
5
5
  position: relative;
6
6
  height: 72px;
7
7
  z-index: 3;
@@ -10,21 +10,21 @@
10
10
  justify-content: space-between;
11
11
  align-items: center;
12
12
  }
13
- .gallery__headerMobile_t1ge4.gallery__video_t1ge4 {
13
+ .gallery__headerMobile_9pe0x.gallery__video_9pe0x {
14
14
  position: absolute;
15
15
  width: 100%;
16
16
  background-color: var(--color-static-neutral-0-inverted);
17
17
  transition: transform 0.3s ease-in-out;
18
18
  }
19
- .gallery__hide_t1ge4 {
19
+ .gallery__hide_9pe0x {
20
20
  transform: translateY(-96px);
21
21
  }
22
- .gallery__leftButton_t1ge4,
23
- .gallery__rightButtons_t1ge4 {
22
+ .gallery__leftButton_9pe0x,
23
+ .gallery__rightButtons_9pe0x {
24
24
  display: flex;
25
25
  align-items: center;
26
26
  }
27
- .gallery__description_t1ge4 {
27
+ .gallery__description_9pe0x {
28
28
  position: absolute;
29
29
  left: 50%;
30
30
  transform: translateX(-50%);
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"headerMobile":"gallery__headerMobile_t1ge4","video":"gallery__video_t1ge4","hide":"gallery__hide_t1ge4","rightButtons":"gallery__rightButtons_t1ge4","description":"gallery__description_t1ge4"};
5
+ var styles = {"headerMobile":"gallery__headerMobile_9pe0x","video":"gallery__video_9pe0x","hide":"gallery__hide_9pe0x","rightButtons":"gallery__rightButtons_9pe0x","description":"gallery__description_9pe0x"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -12,23 +12,23 @@
12
12
  :root {
13
13
  --focus-color: var(--color-light-status-info);
14
14
  }
15
- .gallery__component_14mo1 {
15
+ .gallery__component_1pxtz {
16
16
  display: flex;
17
17
  z-index: 3;
18
18
  overflow: hidden;
19
19
  transition: border 0.15s ease-in-out;
20
20
  outline: none;
21
21
  }
22
- .gallery__component_14mo1 .gallery__image_14mo1 {
22
+ .gallery__component_1pxtz .gallery__image_1pxtz {
23
23
  opacity: 0.3;
24
24
  }
25
- .gallery__component_14mo1.gallery__mobile_14mo1 {
25
+ .gallery__component_1pxtz.gallery__mobile_1pxtz {
26
26
  padding: 0;
27
27
  }
28
- .gallery__active_14mo1 > .gallery__image_14mo1 {
28
+ .gallery__active_1pxtz > .gallery__image_1pxtz {
29
29
  opacity: 1;
30
30
  }
31
- .gallery__preview_14mo1 {
31
+ .gallery__preview_1pxtz {
32
32
  width: 56px;
33
33
  height: 56px;
34
34
  flex-shrink: 0;
@@ -38,15 +38,15 @@
38
38
  -moz-user-select: none;
39
39
  user-select: none;
40
40
  }
41
- .gallery__preview_14mo1.gallery__mobile_14mo1 {
41
+ .gallery__preview_1pxtz.gallery__mobile_1pxtz {
42
42
  width: 46px;
43
43
  height: 46px;
44
44
  border-radius: var(--border-radius-8);
45
45
  }
46
- .gallery__image_14mo1 {
46
+ .gallery__image_1pxtz {
47
47
  transition: opacity 0.15s ease-in-out;
48
48
  }
49
- .gallery__image_14mo1 > img {
49
+ .gallery__image_1pxtz > img {
50
50
  display: block;
51
51
  width: 100%;
52
52
  height: 100%;
@@ -56,36 +56,36 @@
56
56
  overflow: clip;
57
57
  overflow-clip-margin: border-box;
58
58
  }
59
- .gallery__image_14mo1:hover {
59
+ .gallery__image_1pxtz:hover {
60
60
  opacity: 0.7;
61
61
  }
62
- .gallery__loading_14mo1 {
62
+ .gallery__loading_1pxtz {
63
63
  background-color: var(--color-static-neutral-100-inverted);
64
64
  }
65
- .gallery__loading_14mo1 .gallery__active_14mo1 {
65
+ .gallery__loading_1pxtz .gallery__active_1pxtz {
66
66
  background-color: var(--color-static-neutral-300-inverted);
67
67
  }
68
- .gallery__brokenImageWrapper_14mo1 {
68
+ .gallery__brokenImageWrapper_1pxtz {
69
69
  display: flex;
70
70
  justify-content: center;
71
71
  align-items: center;
72
72
  background-color: var(--color-static-neutral-300-inverted);
73
73
  opacity: 0.3;
74
74
  }
75
- .gallery__brokenImageWrapper_14mo1.gallery__active_14mo1 {
75
+ .gallery__brokenImageWrapper_1pxtz.gallery__active_1pxtz {
76
76
  opacity: 1;
77
77
  }
78
- .gallery__brokenIcon_14mo1 {
78
+ .gallery__brokenIcon_1pxtz {
79
79
  width: 40px;
80
80
  height: 40px;
81
81
  }
82
- .gallery__focused_14mo1 {
82
+ .gallery__focused_1pxtz {
83
83
  outline: 2px solid var(--focus-color);
84
84
  outline-offset: 2px;
85
85
  }
86
- .gallery__canvasPreview_14mo1 {
86
+ .gallery__canvasPreview_1pxtz {
87
87
  border-radius: var(--border-radius-12);
88
88
  }
89
- .gallery__canvasPreview_14mo1.gallery__mobile_14mo1 {
89
+ .gallery__canvasPreview_1pxtz.gallery__mobile_1pxtz {
90
90
  border-radius: var(--border-radius-8);
91
91
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"component":"gallery__component_14mo1","image":"gallery__image_14mo1","mobile":"gallery__mobile_14mo1","active":"gallery__active_14mo1","preview":"gallery__preview_14mo1","loading":"gallery__loading_14mo1","brokenImageWrapper":"gallery__brokenImageWrapper_14mo1","brokenIcon":"gallery__brokenIcon_14mo1","focused":"gallery__focused_14mo1","canvasPreview":"gallery__canvasPreview_14mo1"};
5
+ var styles = {"component":"gallery__component_1pxtz","image":"gallery__image_1pxtz","mobile":"gallery__mobile_1pxtz","active":"gallery__active_1pxtz","preview":"gallery__preview_1pxtz","loading":"gallery__loading_1pxtz","brokenImageWrapper":"gallery__brokenImageWrapper_1pxtz","brokenIcon":"gallery__brokenIcon_1pxtz","focused":"gallery__focused_1pxtz","canvasPreview":"gallery__canvasPreview_1pxtz"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -24,7 +24,7 @@
24
24
  :root {
25
25
  --focus-color: var(--color-light-status-info);
26
26
  }
27
- .gallery__component_1ef1i {
27
+ .gallery__component_xdq4y {
28
28
  display: flex;
29
29
  flex-grow: 1;
30
30
  justify-content: center;
@@ -92,9 +92,10 @@
92
92
  z-index: -1000;
93
93
  }
94
94
 
95
- .gallery__swiperFrame_1ef1i {
95
+ .gallery__swiperFrame_xdq4y {
96
96
  display: flex;
97
- width: 100%;
97
+ flex: 1 1 0;
98
+ min-width: 0;
98
99
  height: 100%;
99
100
  min-height: 0;
100
101
  max-height: calc(100vh - 168px);
@@ -103,17 +104,17 @@
103
104
  box-sizing: border-box;
104
105
  }
105
106
 
106
- .gallery__swiperFrame_1ef1i.gallery__mobile_1ef1i {
107
+ .gallery__swiperFrame_xdq4y.gallery__mobile_xdq4y {
107
108
  max-height: calc(100vh - 210px);
108
109
  max-height: calc(100dvh - 210px);
109
110
  }
110
111
 
111
- .gallery__swiperFrame_1ef1i.gallery__mobileVideo_1ef1i {
112
+ .gallery__swiperFrame_xdq4y.gallery__mobileVideo_xdq4y {
112
113
  max-height: 100vh;
113
114
  max-height: 100dvh;
114
115
  }
115
116
 
116
- .gallery__fullScreenFrame_1ef1i {
117
+ .gallery__fullScreenFrame_xdq4y {
117
118
  display: flex;
118
119
  align-items: center;
119
120
  justify-content: center;
@@ -126,7 +127,7 @@
126
127
  overflow: hidden;
127
128
  }
128
129
 
129
- .gallery__hiddenFrame_1ef1i {
130
+ .gallery__hiddenFrame_xdq4y {
130
131
  flex: 0 0 0;
131
132
  width: 0;
132
133
  height: 0;
@@ -134,16 +135,16 @@
134
135
  overflow: hidden;
135
136
  }
136
137
 
137
- .gallery__swiper_1ef1i {
138
+ .gallery__swiper_xdq4y {
138
139
  width: 100%;
139
140
  height: 100%;
140
141
  }
141
142
 
142
- .gallery__hidden_1ef1i {
143
+ .gallery__hidden_xdq4y {
143
144
  display: none;
144
145
  }
145
146
 
146
- .gallery__singleSlideContainer_1ef1i {
147
+ .gallery__singleSlideContainer_xdq4y {
147
148
  display: flex;
148
149
  width: 100%;
149
150
  height: 100%;
@@ -155,18 +156,18 @@
155
156
  box-sizing: border-box;
156
157
  }
157
158
 
158
- .gallery__singleSlideContainer_1ef1i.gallery__mobile_1ef1i {
159
+ .gallery__singleSlideContainer_xdq4y.gallery__mobile_xdq4y {
159
160
  max-height: calc(100vh - 174px);
160
161
  max-height: calc(100dvh - 174px);
161
162
  padding: 0;
162
163
  }
163
164
 
164
- .gallery__singleSlideContainer_1ef1i.gallery__mobileVideo_1ef1i {
165
+ .gallery__singleSlideContainer_xdq4y.gallery__mobileVideo_xdq4y {
165
166
  max-height: 100vh;
166
167
  max-height: 100dvh;
167
168
  }
168
169
 
169
- .gallery__slide_1ef1i {
170
+ .gallery__slide_xdq4y {
170
171
  position: relative;
171
172
  display: flex;
172
173
  justify-content: center;
@@ -175,17 +176,17 @@
175
176
  height: 100%;
176
177
  }
177
178
 
178
- .gallery__slideLoading_1ef1i {
179
+ .gallery__slideLoading_xdq4y {
179
180
  background-color: var(--color-static-neutral-translucent-100-inverted);
180
181
  border-radius: var(--border-radius-8);
181
182
  }
182
183
 
183
- .gallery__spinner_1ef1i {
184
+ .gallery__spinner_xdq4y {
184
185
  position: absolute;
185
186
  color: var(--color-static-neutral-translucent-1300-inverted);
186
187
  }
187
188
 
188
- .gallery__image_1ef1i {
189
+ .gallery__image_xdq4y {
189
190
  width: auto;
190
191
  height: auto;
191
192
  max-width: 100%;
@@ -198,11 +199,11 @@
198
199
  border-radius: var(--border-radius-8);
199
200
  }
200
201
 
201
- .gallery__image_1ef1i.gallery__mobile_1ef1i {
202
+ .gallery__image_xdq4y.gallery__mobile_xdq4y {
202
203
  border-radius: var(--border-radius-0);
203
204
  }
204
205
 
205
- .gallery__smallImage_1ef1i {
206
+ .gallery__smallImage_xdq4y {
206
207
  position: relative;
207
208
  width: auto;
208
209
  height: auto;
@@ -215,17 +216,17 @@
215
216
  user-select: none;
216
217
  }
217
218
 
218
- .gallery__verticalImageFit_1ef1i {
219
+ .gallery__verticalImageFit_xdq4y {
219
220
  width: auto;
220
221
  height: 100%;
221
222
  }
222
223
 
223
- .gallery__horizontalImageFit_1ef1i {
224
+ .gallery__horizontalImageFit_xdq4y {
224
225
  width: 100%;
225
226
  height: auto;
226
227
  }
227
228
 
228
- .gallery__fullScreenMedia_1ef1i {
229
+ .gallery__fullScreenMedia_xdq4y {
229
230
  width: 100%;
230
231
  height: 100%;
231
232
  max-width: 100%;
@@ -235,7 +236,7 @@
235
236
  border-radius: var(--border-radius-0);
236
237
  }
237
238
 
238
- .gallery__arrow_1ef1i {
239
+ .gallery__arrow_xdq4y {
239
240
  display: flex;
240
241
  flex-direction: column;
241
242
  justify-content: center;
@@ -249,20 +250,20 @@
249
250
  outline: none;
250
251
  }
251
252
 
252
- .gallery__arrow_1ef1i:hover {
253
+ .gallery__arrow_xdq4y:hover {
253
254
  background-color: var(--color-static-neutral-0-inverted-hover);
254
255
  }
255
256
 
256
- .gallery__arrow_1ef1i:active {
257
+ .gallery__arrow_xdq4y:active {
257
258
  background-color: var(--color-static-neutral-0-inverted-press);
258
259
  }
259
260
 
260
- .gallery__focused_1ef1i {
261
+ .gallery__focused_xdq4y {
261
262
  outline: 2px solid var(--focus-color);
262
263
  outline-offset: 2px;
263
264
  }
264
265
 
265
- .gallery__placeholder_1ef1i {
266
+ .gallery__placeholder_xdq4y {
266
267
  display: flex;
267
268
  justify-content: center;
268
269
  align-items: center;
@@ -272,7 +273,7 @@
272
273
  background-color: var(--color-static-neutral-300-inverted);
273
274
  }
274
275
 
275
- .gallery__brokenImgWrapper_1ef1i {
276
+ .gallery__brokenImgWrapper_xdq4y {
276
277
  position: relative;
277
278
  display: flex;
278
279
  flex-direction: column;
@@ -281,13 +282,13 @@
281
282
  text-align: center;
282
283
  }
283
284
 
284
- .gallery__brokenImgIcon_1ef1i {
285
+ .gallery__brokenImgIcon_xdq4y {
285
286
  width: 80px;
286
287
  height: 80px;
287
288
  margin-bottom: var(--gap-4);
288
289
  }
289
290
 
290
- .gallery__fullScreenVideo_1ef1i {
291
+ .gallery__fullScreenVideo_xdq4y {
291
292
  width: 100%;
292
293
  height: 100%;
293
294
  max-height: none;
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"component":"gallery__component_1ef1i","swiperFrame":"gallery__swiperFrame_1ef1i","mobile":"gallery__mobile_1ef1i","mobileVideo":"gallery__mobileVideo_1ef1i","fullScreenFrame":"gallery__fullScreenFrame_1ef1i","hiddenFrame":"gallery__hiddenFrame_1ef1i","swiper":"gallery__swiper_1ef1i","hidden":"gallery__hidden_1ef1i","singleSlideContainer":"gallery__singleSlideContainer_1ef1i","slide":"gallery__slide_1ef1i","slideLoading":"gallery__slideLoading_1ef1i","spinner":"gallery__spinner_1ef1i","image":"gallery__image_1ef1i","smallImage":"gallery__smallImage_1ef1i","verticalImageFit":"gallery__verticalImageFit_1ef1i","horizontalImageFit":"gallery__horizontalImageFit_1ef1i","fullScreenMedia":"gallery__fullScreenMedia_1ef1i","arrow":"gallery__arrow_1ef1i","focused":"gallery__focused_1ef1i","placeholder":"gallery__placeholder_1ef1i","brokenImgWrapper":"gallery__brokenImgWrapper_1ef1i","brokenImgIcon":"gallery__brokenImgIcon_1ef1i","fullScreenVideo":"gallery__fullScreenVideo_1ef1i"};
5
+ var styles = {"component":"gallery__component_xdq4y","swiperFrame":"gallery__swiperFrame_xdq4y","mobile":"gallery__mobile_xdq4y","mobileVideo":"gallery__mobileVideo_xdq4y","fullScreenFrame":"gallery__fullScreenFrame_xdq4y","hiddenFrame":"gallery__hiddenFrame_xdq4y","swiper":"gallery__swiper_xdq4y","hidden":"gallery__hidden_xdq4y","singleSlideContainer":"gallery__singleSlideContainer_xdq4y","slide":"gallery__slide_xdq4y","slideLoading":"gallery__slideLoading_xdq4y","spinner":"gallery__spinner_xdq4y","image":"gallery__image_xdq4y","smallImage":"gallery__smallImage_xdq4y","verticalImageFit":"gallery__verticalImageFit_xdq4y","horizontalImageFit":"gallery__horizontalImageFit_xdq4y","fullScreenMedia":"gallery__fullScreenMedia_xdq4y","arrow":"gallery__arrow_xdq4y","focused":"gallery__focused_xdq4y","placeholder":"gallery__placeholder_xdq4y","brokenImgWrapper":"gallery__brokenImgWrapper_xdq4y","brokenImgIcon":"gallery__brokenImgIcon_xdq4y","fullScreenVideo":"gallery__fullScreenVideo_xdq4y"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/image-viewer/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.component {\n display: flex;\n flex-grow: 1;\n justify-content: center;\n min-height: 0;\n background-color: var(--color-static-neutral-0-inverted);\n\n /* swiper/swiper.css; */\n :global(.swiper) {\n margin-left: auto;\n margin-right: auto;\n position: relative;\n overflow: hidden;\n list-style: none;\n padding: 0;\n z-index: 1;\n display: block;\n }\n :global(.swiper-wrapper) {\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 1;\n display: flex;\n transition-property: transform;\n transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);\n box-sizing: content-box;\n }\n :global(.swiper-android) :global(.swiper-slide),\n :global(.swiper-ios) :global(.swiper-slide),\n :global(.swiper-wrapper) {\n transform: translate3d(0, 0, 0);\n }\n :global(.swiper-horizontal) {\n touch-action: pan-y;\n }\n :global(.swiper-slide) {\n flex-shrink: 0;\n width: 100%;\n height: 100%;\n position: relative;\n transition-property: transform;\n display: block;\n }\n :global(.swiper-slide-invisible-blank) {\n visibility: hidden;\n }\n :global(.swiper-autoheight),\n :global(.swiper-autoheight) :global(.swiper-slide) {\n height: auto;\n }\n :global(.swiper-autoheight) :global(.swiper-wrapper) {\n align-items: flex-start;\n transition-property: transform, height;\n }\n :global(.swiper-backface-hidden) :global(.swiper-slide) {\n transform: translateZ(0);\n backface-visibility: hidden;\n }\n\n /* swiper/modules/a11y.css */\n :global(.swiper) :global(.swiper-notification) {\n position: absolute;\n left: 0;\n top: 0;\n pointer-events: none;\n opacity: 0;\n z-index: -1000;\n }\n\n .swiperFrame {\n display: flex;\n width: 100%;\n height: 100%;\n min-height: 0;\n\n /* 168px - высота хэдера и футера */\n max-height: calc(100vh - 168px);\n max-height: calc(100dvh - 168px);\n padding: var(--gap-32) var(--gap-16);\n box-sizing: border-box;\n\n &.mobile {\n max-height: calc(100vh - 210px);\n max-height: calc(100dvh - 210px);\n }\n\n &.mobileVideo {\n max-height: 100vh;\n max-height: 100dvh;\n }\n }\n\n .fullScreenFrame {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n max-height: none;\n min-height: 0;\n padding: var(--gap-0);\n box-sizing: border-box;\n overflow: hidden;\n }\n\n .hiddenFrame {\n flex: 0 0 0;\n width: 0;\n height: 0;\n padding: var(--gap-0);\n overflow: hidden;\n }\n\n .swiper {\n width: 100%;\n height: 100%;\n }\n\n .hidden {\n display: none;\n }\n\n .singleSlideContainer {\n display: flex;\n width: 100%;\n height: 100%;\n min-height: 0;\n\n max-height: calc(100vh - 80px);\n max-height: calc(100dvh - 80px);\n padding: var(--gap-32);\n box-sizing: border-box;\n\n &.mobile {\n max-height: calc(100vh - 174px);\n max-height: calc(100dvh - 174px);\n padding: 0;\n }\n\n &.mobileVideo {\n max-height: 100vh;\n max-height: 100dvh;\n }\n }\n\n .slide {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n }\n\n .slideLoading {\n background-color: var(--color-static-neutral-translucent-100-inverted);\n border-radius: var(--border-radius-8);\n }\n\n .spinner {\n position: absolute;\n color: var(--color-static-neutral-translucent-1300-inverted);\n }\n\n .image {\n width: auto;\n height: auto;\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n user-select: none;\n border-radius: var(--border-radius-8);\n\n &.mobile {\n border-radius: var(--border-radius-0);\n }\n }\n\n .smallImage {\n position: relative;\n width: auto;\n height: auto;\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n user-select: none;\n }\n\n .verticalImageFit {\n width: auto;\n height: 100%;\n }\n\n .horizontalImageFit {\n width: 100%;\n height: auto;\n }\n\n .fullScreenMedia {\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n border-radius: var(--border-radius-0);\n }\n\n .arrow {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n width: 96px;\n height: 100%;\n cursor: pointer;\n color: var(--color-static-neutral-translucent-1300-inverted);\n transition: background-color 0.15s ease-in-out;\n outline: none;\n\n &:hover {\n background-color: var(--color-static-neutral-0-inverted-hover);\n }\n\n &:active {\n background-color: var(--color-static-neutral-0-inverted-press);\n }\n }\n\n .focused {\n @mixin focus-outline;\n }\n\n .placeholder {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n border-radius: var(--border-radius-8);\n background-color: var(--color-static-neutral-300-inverted);\n }\n\n .brokenImgWrapper {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 150px;\n text-align: center;\n }\n\n .brokenImgIcon {\n width: 80px;\n height: 80px;\n margin-bottom: var(--gap-4);\n }\n\n .fullScreenVideo {\n width: 100%;\n height: 100%;\n max-height: none;\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,0BAA0B,CAAC,aAAa,CAAC,4BAA4B,CAAC,QAAQ,CAAC,uBAAuB,CAAC,aAAa,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,aAAa,CAAC,4BAA4B,CAAC,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,qCAAqC,CAAC,OAAO,CAAC,sBAAsB,CAAC,cAAc,CAAC,6BAA6B,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,sBAAsB,CAAC,YAAY,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,oBAAoB,CAAC,mCAAmC,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,OAAO,CAAC,sBAAsB,CAAC,SAAS,CAAC,wBAAwB,CAAC,aAAa,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,eAAe,CAAC,8BAA8B,CAAC,iBAAiB,CAAC,gCAAgC,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/image-viewer/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.component {\n display: flex;\n flex-grow: 1;\n justify-content: center;\n min-height: 0;\n background-color: var(--color-static-neutral-0-inverted);\n\n /* swiper/swiper.css; */\n :global(.swiper) {\n margin-left: auto;\n margin-right: auto;\n position: relative;\n overflow: hidden;\n list-style: none;\n padding: 0;\n z-index: 1;\n display: block;\n }\n :global(.swiper-wrapper) {\n position: relative;\n width: 100%;\n height: 100%;\n z-index: 1;\n display: flex;\n transition-property: transform;\n transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);\n box-sizing: content-box;\n }\n :global(.swiper-android) :global(.swiper-slide),\n :global(.swiper-ios) :global(.swiper-slide),\n :global(.swiper-wrapper) {\n transform: translate3d(0, 0, 0);\n }\n :global(.swiper-horizontal) {\n touch-action: pan-y;\n }\n :global(.swiper-slide) {\n flex-shrink: 0;\n width: 100%;\n height: 100%;\n position: relative;\n transition-property: transform;\n display: block;\n }\n :global(.swiper-slide-invisible-blank) {\n visibility: hidden;\n }\n :global(.swiper-autoheight),\n :global(.swiper-autoheight) :global(.swiper-slide) {\n height: auto;\n }\n :global(.swiper-autoheight) :global(.swiper-wrapper) {\n align-items: flex-start;\n transition-property: transform, height;\n }\n :global(.swiper-backface-hidden) :global(.swiper-slide) {\n transform: translateZ(0);\n backface-visibility: hidden;\n }\n\n /* swiper/modules/a11y.css */\n :global(.swiper) :global(.swiper-notification) {\n position: absolute;\n left: 0;\n top: 0;\n pointer-events: none;\n opacity: 0;\n z-index: -1000;\n }\n\n .swiperFrame {\n display: flex;\n flex: 1 1 0;\n min-width: 0;\n height: 100%;\n min-height: 0;\n\n /* 168px - высота хэдера и футера */\n max-height: calc(100vh - 168px);\n max-height: calc(100dvh - 168px);\n padding: var(--gap-32) var(--gap-16);\n box-sizing: border-box;\n\n &.mobile {\n max-height: calc(100vh - 210px);\n max-height: calc(100dvh - 210px);\n }\n\n &.mobileVideo {\n max-height: 100vh;\n max-height: 100dvh;\n }\n }\n\n .fullScreenFrame {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n max-height: none;\n min-height: 0;\n padding: var(--gap-0);\n box-sizing: border-box;\n overflow: hidden;\n }\n\n .hiddenFrame {\n flex: 0 0 0;\n width: 0;\n height: 0;\n padding: var(--gap-0);\n overflow: hidden;\n }\n\n .swiper {\n width: 100%;\n height: 100%;\n }\n\n .hidden {\n display: none;\n }\n\n .singleSlideContainer {\n display: flex;\n width: 100%;\n height: 100%;\n min-height: 0;\n\n max-height: calc(100vh - 80px);\n max-height: calc(100dvh - 80px);\n padding: var(--gap-32);\n box-sizing: border-box;\n\n &.mobile {\n max-height: calc(100vh - 174px);\n max-height: calc(100dvh - 174px);\n padding: 0;\n }\n\n &.mobileVideo {\n max-height: 100vh;\n max-height: 100dvh;\n }\n }\n\n .slide {\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n }\n\n .slideLoading {\n background-color: var(--color-static-neutral-translucent-100-inverted);\n border-radius: var(--border-radius-8);\n }\n\n .spinner {\n position: absolute;\n color: var(--color-static-neutral-translucent-1300-inverted);\n }\n\n .image {\n width: auto;\n height: auto;\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n user-select: none;\n border-radius: var(--border-radius-8);\n\n &.mobile {\n border-radius: var(--border-radius-0);\n }\n }\n\n .smallImage {\n position: relative;\n width: auto;\n height: auto;\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n user-select: none;\n }\n\n .verticalImageFit {\n width: auto;\n height: 100%;\n }\n\n .horizontalImageFit {\n width: 100%;\n height: auto;\n }\n\n .fullScreenMedia {\n width: 100%;\n height: 100%;\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n border-radius: var(--border-radius-0);\n }\n\n .arrow {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n width: 96px;\n height: 100%;\n cursor: pointer;\n color: var(--color-static-neutral-translucent-1300-inverted);\n transition: background-color 0.15s ease-in-out;\n outline: none;\n\n &:hover {\n background-color: var(--color-static-neutral-0-inverted-hover);\n }\n\n &:active {\n background-color: var(--color-static-neutral-0-inverted-press);\n }\n }\n\n .focused {\n @mixin focus-outline;\n }\n\n .placeholder {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n border-radius: var(--border-radius-8);\n background-color: var(--color-static-neutral-300-inverted);\n }\n\n .brokenImgWrapper {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 150px;\n text-align: center;\n }\n\n .brokenImgIcon {\n width: 80px;\n height: 80px;\n margin-bottom: var(--gap-4);\n }\n\n .fullScreenVideo {\n width: 100%;\n height: 100%;\n max-height: none;\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,0BAA0B,CAAC,aAAa,CAAC,4BAA4B,CAAC,QAAQ,CAAC,uBAAuB,CAAC,aAAa,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,aAAa,CAAC,4BAA4B,CAAC,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,qCAAqC,CAAC,OAAO,CAAC,sBAAsB,CAAC,cAAc,CAAC,6BAA6B,CAAC,SAAS,CAAC,wBAAwB,CAAC,OAAO,CAAC,sBAAsB,CAAC,YAAY,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,oBAAoB,CAAC,mCAAmC,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,OAAO,CAAC,sBAAsB,CAAC,SAAS,CAAC,wBAAwB,CAAC,aAAa,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,eAAe,CAAC,8BAA8B,CAAC,iBAAiB,CAAC,gCAAgC,CAAC;;;;"}
@@ -44,6 +44,7 @@ var Slide = function (_a) {
44
44
  var small = utils.isSmallImage(meta);
45
45
  var verticalImageFit = !small && containerAspectRatio > imageAspectRatio;
46
46
  var horizontalImageFit = !small && containerAspectRatio <= imageAspectRatio;
47
+ var imageStyle = fullScreen || !containerHeight ? undefined : { maxHeight: "".concat(containerHeight, "px") };
47
48
  var handleImageRef = React.useCallback(function (node) {
48
49
  if ((node === null || node === void 0 ? void 0 : node.complete) && node.naturalWidth > 0 && !meta) {
49
50
  handleLoad({ currentTarget: node }, index$1);
@@ -61,7 +62,7 @@ var Slide = function (_a) {
61
62
  _c[index_module.fullScreenMedia] = fullScreen,
62
63
  _c[index_module.verticalImageFit] = verticalImageFit,
63
64
  _c[index_module.horizontalImageFit] = horizontalImageFit,
64
- _c)), onLoad: function (event) { return handleLoad(event, index$1); }, onError: function () { return handleLoadError(index$1); }, style: fullScreen ? undefined : { maxHeight: "".concat(containerHeight, "px") }, "data-test-id": slideVisible ? constants.TestIds.ACTIVE_IMAGE : undefined })));
65
+ _c)), onLoad: function (event) { return handleLoad(event, index$1); }, onError: function () { return handleLoadError(index$1); }, style: imageStyle, "data-test-id": slideVisible ? constants.TestIds.ACTIVE_IMAGE : undefined })));
65
66
  };
66
67
 
67
68
  exports.Slide = Slide;
@@ -1 +1 @@
1
- {"version":3,"file":"slide.js","sources":["../../src/components/image-viewer/slide.tsx"],"sourcesContent":["import React, { type FC, type ReactNode, useCallback, useContext } from 'react';\nimport cn from 'classnames';\n\nimport { Spinner } from '@alfalab/core-components-spinner';\nimport { TypographyText } from '@alfalab/core-components-typography';\n\nimport { GalleryContext } from '../../context';\nimport { type GalleryImage, type ImageMeta } from '../../types';\nimport { getImageAlt, isSmallImage, isVideo, TestIds } from '../../utils';\n\nimport { useHandleImageViewer } from './hooks';\nimport { NoImagePaths } from './paths';\nimport { Video } from './video';\n\nimport styles from './index.module.css';\n\ntype SlideInnerProps = {\n active: boolean;\n broken: boolean;\n loading: boolean;\n children: ReactNode;\n isVideoView?: boolean;\n};\n\nconst SlideInner: FC<SlideInnerProps> = ({ children, broken, loading, isVideoView }) => {\n const content = broken ? (\n <div className={styles.brokenImgWrapper}>\n <div className={styles.brokenImgIcon}>\n <svg\n xmlns='http://www.w3.org/2000/svg'\n width='80'\n height='80'\n viewBox='0 0 80 80'\n fill='none'\n >\n <rect width='80' height='80' fill='none' />\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d={NoImagePaths.baseImage}\n fill='#89898A'\n />\n <path d={NoImagePaths.triangleImage} fill='#89898A' />\n </svg>\n </div>\n\n <TypographyText view='primary-small' color='static-secondary-light'>\n Не удалось загрузить {isVideoView ? 'видео' : 'изображение'}\n </TypographyText>\n </div>\n ) : (\n children\n );\n\n return (\n <div className={cn(styles.slide, { [styles.slideLoading]: loading })}>\n {broken ? <div className={styles.placeholder}>{content}</div> : content}\n <Spinner className={styles.spinner} preset={48} visible={loading} />\n </div>\n );\n};\n\ntype SlideProps = {\n isActive: boolean;\n image: GalleryImage;\n meta?: ImageMeta;\n containerAspectRatio: number;\n imageAspectRatio: number;\n index: number;\n containerHeight: number;\n slideVisible: boolean;\n fullScreen?: boolean;\n};\n\nexport const Slide: FC<SlideProps> = ({\n isActive,\n meta,\n containerAspectRatio,\n imageAspectRatio,\n image,\n index,\n containerHeight,\n slideVisible,\n fullScreen,\n}) => {\n const { view } = useContext(GalleryContext);\n const { handleLoad, handleLoadError } = useHandleImageViewer();\n\n const broken = Boolean(meta?.broken);\n const small = isSmallImage(meta);\n const verticalImageFit = !small && containerAspectRatio > imageAspectRatio;\n const horizontalImageFit = !small && containerAspectRatio <= imageAspectRatio;\n\n const handleImageRef = useCallback(\n (node: HTMLImageElement | null) => {\n if (node?.complete && node.naturalWidth > 0 && !meta) {\n handleLoad(\n { currentTarget: node } as React.SyntheticEvent<HTMLImageElement>,\n index,\n );\n }\n },\n [handleLoad, index, meta],\n );\n\n if (isVideo(image.src)) {\n return (\n <SlideInner isVideoView={true} active={isActive} broken={broken} loading={!meta}>\n <Video\n url={image.src}\n index={index}\n isActive={isActive}\n className={cn({ [styles.fullScreenMedia]: fullScreen })}\n />\n </SlideInner>\n );\n }\n\n return (\n <SlideInner active={isActive} broken={broken} loading={!meta}>\n <img\n ref={handleImageRef}\n src={image.src}\n alt={getImageAlt(image, index)}\n className={cn({\n [styles.smallImage]: small,\n [styles.image]: !small && meta,\n [styles.mobile]: view === 'mobile',\n [styles.fullScreenMedia]: fullScreen,\n [styles.verticalImageFit]: verticalImageFit,\n [styles.horizontalImageFit]: horizontalImageFit,\n })}\n onLoad={(event) => handleLoad(event, index)}\n onError={() => handleLoadError(index)}\n style={fullScreen ? undefined : { maxHeight: `${containerHeight}px` }}\n data-test-id={slideVisible ? TestIds.ACTIVE_IMAGE : undefined}\n />\n </SlideInner>\n );\n};\n"],"names":["React","styles","NoImagePaths","TypographyText","cn","Spinner","index","useContext","GalleryContext","useHandleImageViewer","isSmallImage","useCallback","isVideo","Video","getImageAlt","TestIds"],"mappings":"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"}
1
+ {"version":3,"file":"slide.js","sources":["../../src/components/image-viewer/slide.tsx"],"sourcesContent":["import React, { type FC, type ReactNode, useCallback, useContext } from 'react';\nimport cn from 'classnames';\n\nimport { Spinner } from '@alfalab/core-components-spinner';\nimport { TypographyText } from '@alfalab/core-components-typography';\n\nimport { GalleryContext } from '../../context';\nimport { type GalleryImage, type ImageMeta } from '../../types';\nimport { getImageAlt, isSmallImage, isVideo, TestIds } from '../../utils';\n\nimport { useHandleImageViewer } from './hooks';\nimport { NoImagePaths } from './paths';\nimport { Video } from './video';\n\nimport styles from './index.module.css';\n\ntype SlideInnerProps = {\n active: boolean;\n broken: boolean;\n loading: boolean;\n children: ReactNode;\n isVideoView?: boolean;\n};\n\nconst SlideInner: FC<SlideInnerProps> = ({ children, broken, loading, isVideoView }) => {\n const content = broken ? (\n <div className={styles.brokenImgWrapper}>\n <div className={styles.brokenImgIcon}>\n <svg\n xmlns='http://www.w3.org/2000/svg'\n width='80'\n height='80'\n viewBox='0 0 80 80'\n fill='none'\n >\n <rect width='80' height='80' fill='none' />\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d={NoImagePaths.baseImage}\n fill='#89898A'\n />\n <path d={NoImagePaths.triangleImage} fill='#89898A' />\n </svg>\n </div>\n\n <TypographyText view='primary-small' color='static-secondary-light'>\n Не удалось загрузить {isVideoView ? 'видео' : 'изображение'}\n </TypographyText>\n </div>\n ) : (\n children\n );\n\n return (\n <div className={cn(styles.slide, { [styles.slideLoading]: loading })}>\n {broken ? <div className={styles.placeholder}>{content}</div> : content}\n <Spinner className={styles.spinner} preset={48} visible={loading} />\n </div>\n );\n};\n\ntype SlideProps = {\n isActive: boolean;\n image: GalleryImage;\n meta?: ImageMeta;\n containerAspectRatio: number;\n imageAspectRatio: number;\n index: number;\n containerHeight: number;\n slideVisible: boolean;\n fullScreen?: boolean;\n};\n\nexport const Slide: FC<SlideProps> = ({\n isActive,\n meta,\n containerAspectRatio,\n imageAspectRatio,\n image,\n index,\n containerHeight,\n slideVisible,\n fullScreen,\n}) => {\n const { view } = useContext(GalleryContext);\n const { handleLoad, handleLoadError } = useHandleImageViewer();\n\n const broken = Boolean(meta?.broken);\n const small = isSmallImage(meta);\n const verticalImageFit = !small && containerAspectRatio > imageAspectRatio;\n const horizontalImageFit = !small && containerAspectRatio <= imageAspectRatio;\n const imageStyle =\n fullScreen || !containerHeight ? undefined : { maxHeight: `${containerHeight}px` };\n\n const handleImageRef = useCallback(\n (node: HTMLImageElement | null) => {\n if (node?.complete && node.naturalWidth > 0 && !meta) {\n handleLoad(\n { currentTarget: node } as React.SyntheticEvent<HTMLImageElement>,\n index,\n );\n }\n },\n [handleLoad, index, meta],\n );\n\n if (isVideo(image.src)) {\n return (\n <SlideInner isVideoView={true} active={isActive} broken={broken} loading={!meta}>\n <Video\n url={image.src}\n index={index}\n isActive={isActive}\n className={cn({ [styles.fullScreenMedia]: fullScreen })}\n />\n </SlideInner>\n );\n }\n\n return (\n <SlideInner active={isActive} broken={broken} loading={!meta}>\n <img\n ref={handleImageRef}\n src={image.src}\n alt={getImageAlt(image, index)}\n className={cn({\n [styles.smallImage]: small,\n [styles.image]: !small && meta,\n [styles.mobile]: view === 'mobile',\n [styles.fullScreenMedia]: fullScreen,\n [styles.verticalImageFit]: verticalImageFit,\n [styles.horizontalImageFit]: horizontalImageFit,\n })}\n onLoad={(event) => handleLoad(event, index)}\n onError={() => handleLoadError(index)}\n style={imageStyle}\n data-test-id={slideVisible ? TestIds.ACTIVE_IMAGE : undefined}\n />\n </SlideInner>\n );\n};\n"],"names":["React","styles","NoImagePaths","TypographyText","cn","Spinner","index","useContext","GalleryContext","useHandleImageViewer","isSmallImage","useCallback","isVideo","Video","getImageAlt","TestIds"],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  --border-radius-0: 0;
8
8
  --border-radius-24: var(--border-radius-3xl);
9
9
  }
10
- .gallery__videoWrapper_1ogqj {
10
+ .gallery__videoWrapper_1ipf9 {
11
11
  display: flex;
12
12
  align-items: center;
13
13
  justify-content: center;
@@ -17,17 +17,17 @@
17
17
  min-height: 0;
18
18
  position: relative;
19
19
  }
20
- .gallery__video_1ogqj {
20
+ .gallery__video_1ipf9 {
21
21
  max-width: 100%;
22
22
  max-height: 100%;
23
23
  -o-object-fit: contain;
24
24
  object-fit: contain;
25
25
  border-radius: var(--border-radius-24);
26
26
  }
27
- .gallery__mobile_1ogqj {
27
+ .gallery__mobile_1ipf9 {
28
28
  border-radius: var(--border-radius-0);
29
29
  }
30
- .gallery__videoButton_1ogqj {
30
+ .gallery__videoButton_1ipf9 {
31
31
  position: absolute;
32
32
  top: 50%;
33
33
  left: 50%;
@@ -35,13 +35,13 @@
35
35
  z-index: 1;
36
36
  color: green;
37
37
  }
38
- .gallery__icon_1ogqj {
38
+ .gallery__icon_1ipf9 {
39
39
  color: var(--color-static-neutral-0);
40
40
  }
41
- .gallery__iconShape_1ogqj {
41
+ .gallery__iconShape_1ipf9 {
42
42
  fill: var(--color-static-neutral-translucent-700);
43
43
  }
44
- .gallery__bottomButton_1ogqj {
44
+ .gallery__bottomButton_1ipf9 {
45
45
  position: absolute;
46
46
  bottom: 48px;
47
47
  left: 32px;