@hh.ru/magritte-ui-media-viewer 1.3.46 → 1.3.48
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.
- package/index.css +64 -64
- package/index.js +2 -1
- package/index.js.map +1 -1
- package/internal/Counter.js +1 -1
- package/internal/GalleryItemBody.js +1 -1
- package/internal/PreviewItem.js +1 -1
- package/internal/PreviewItemBody.js +1 -1
- package/internal/PreviewZoomControl.js +1 -1
- package/media-viewer-4tGuvs4q.js +5 -0
- package/media-viewer-4tGuvs4q.js.map +1 -0
- package/package.json +10 -6
- package/public/Footer.js +1 -1
- package/public/Gallery.js +1 -1
- package/public/GalleryItem.js +1 -1
- package/public/Header.js +3 -7
- package/public/Header.js.map +1 -1
- package/public/MediaViewer.js +2 -1
- package/public/MediaViewer.js.map +1 -1
- package/public/Preview.js +1 -1
- package/public/Toolbar.js +1 -1
- package/public/headerDefaults.d.ts +17 -0
- package/public/headerDefaults.js +10 -0
- package/public/headerDefaults.js.map +1 -0
- package/media-viewer-BhKBIoei.js +0 -5
- package/media-viewer-BhKBIoei.js.map +0 -1
package/index.css
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
.magritte-night-theme{
|
|
16
16
|
--magritte-color-component-skeleton-background-content-v26-0-2:#5e5e5e3d;
|
|
17
17
|
}
|
|
18
|
-
.magritte-media-viewer___KnrXP_1-3-
|
|
18
|
+
.magritte-media-viewer___KnrXP_1-3-48{
|
|
19
19
|
position:fixed;
|
|
20
20
|
inset:0;
|
|
21
21
|
display:grid;
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
--media-viewer-background-opacity:calc(1 - var(--magritte-ui-media-viewer-close-progress));
|
|
28
28
|
--magritte-ui-nav-bar-background-color-override:var(--magritte-color-background-overlay-toolbar-v26-0-2);
|
|
29
29
|
}
|
|
30
|
-
.magritte-media-viewer___KnrXP_1-3-
|
|
30
|
+
.magritte-media-viewer___KnrXP_1-3-48::before{
|
|
31
31
|
content:'';
|
|
32
32
|
position:absolute;
|
|
33
33
|
inset:0;
|
|
@@ -35,13 +35,13 @@
|
|
|
35
35
|
opacity:var(--media-viewer-background-opacity);
|
|
36
36
|
pointer-events:none;
|
|
37
37
|
}
|
|
38
|
-
.magritte-gallery-placeholder___rUoGL_1-3-
|
|
38
|
+
.magritte-gallery-placeholder___rUoGL_1-3-48{
|
|
39
39
|
display:flex;
|
|
40
40
|
align-items:stretch;
|
|
41
41
|
grid-row:2;
|
|
42
42
|
min-height:0;
|
|
43
43
|
}
|
|
44
|
-
.magritte-media-viewer-gallery___P0SnN_1-3-
|
|
44
|
+
.magritte-media-viewer-gallery___P0SnN_1-3-48{
|
|
45
45
|
display:grid;
|
|
46
46
|
flex-grow:1;
|
|
47
47
|
contain:layout size;
|
|
@@ -50,16 +50,16 @@
|
|
|
50
50
|
inset:0;
|
|
51
51
|
}
|
|
52
52
|
@media (min-width: 1020px){
|
|
53
|
-
body.magritte-old-layout .magritte-media-viewer-gallery___P0SnN_1-3-
|
|
53
|
+
body.magritte-old-layout .magritte-media-viewer-gallery___P0SnN_1-3-48{
|
|
54
54
|
position:relative;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
@media (min-width: 1024px){
|
|
58
|
-
body:not(.magritte-old-layout) .magritte-media-viewer-gallery___P0SnN_1-3-
|
|
58
|
+
body:not(.magritte-old-layout) .magritte-media-viewer-gallery___P0SnN_1-3-48{
|
|
59
59
|
position:relative;
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
.magritte-gallery-item___Js0Z5_1-3-
|
|
62
|
+
.magritte-gallery-item___Js0Z5_1-3-48{
|
|
63
63
|
position:relative;
|
|
64
64
|
grid-area:1 / 1;
|
|
65
65
|
contain:size;
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
overflow-y:visible;
|
|
69
69
|
opacity:calc(1 - var(--magritte-ui-media-viewer-image-close-progress, 0));
|
|
70
70
|
}
|
|
71
|
-
.magritte-gallery-item-transform-container___N8-sA_1-3-
|
|
71
|
+
.magritte-gallery-item-transform-container___N8-sA_1-3-48{
|
|
72
72
|
position:absolute;
|
|
73
73
|
top:50%;
|
|
74
74
|
left:50%;
|
|
@@ -76,37 +76,37 @@
|
|
|
76
76
|
will-change:transform;
|
|
77
77
|
touch-action:none;
|
|
78
78
|
}
|
|
79
|
-
.magritte-preview-counter___uP2Hc_1-3-
|
|
79
|
+
.magritte-preview-counter___uP2Hc_1-3-48{
|
|
80
80
|
min-width:0;
|
|
81
81
|
text-align:center;
|
|
82
82
|
}
|
|
83
83
|
@media (min-width: 1020px){
|
|
84
|
-
body.magritte-old-layout .magritte-preview-counter___uP2Hc_1-3-
|
|
84
|
+
body.magritte-old-layout .magritte-preview-counter___uP2Hc_1-3-48{
|
|
85
85
|
text-align:left;
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
@media (min-width: 1024px){
|
|
89
|
-
body:not(.magritte-old-layout) .magritte-preview-counter___uP2Hc_1-3-
|
|
89
|
+
body:not(.magritte-old-layout) .magritte-preview-counter___uP2Hc_1-3-48{
|
|
90
90
|
text-align:left;
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
-
.magritte-preview-counter___uP2Hc_1-3-
|
|
93
|
+
.magritte-preview-counter___uP2Hc_1-3-48.magritte-with-description___-w7ld_1-3-48{
|
|
94
94
|
cursor:pointer;
|
|
95
95
|
}
|
|
96
|
-
.magritte-counter-number___gUpMp_1-3-
|
|
96
|
+
.magritte-counter-number___gUpMp_1-3-48{
|
|
97
97
|
display:block;
|
|
98
98
|
transform:translateY(calc(18px * 0.5));
|
|
99
99
|
transition:transform var(--magritte-semantic-animation-time-m-duration-v26-0-2) var(--magritte-semantic-animation-ease-base-timing-function-v26-0-2);
|
|
100
100
|
}
|
|
101
|
-
.magritte-with-description___-w7ld_1-3-
|
|
101
|
+
.magritte-with-description___-w7ld_1-3-48 .magritte-counter-number___gUpMp_1-3-48{
|
|
102
102
|
transform:translateY(0);
|
|
103
103
|
}
|
|
104
|
-
.magritte-no-description-placeholder___qc6h2_1-3-
|
|
104
|
+
.magritte-no-description-placeholder___qc6h2_1-3-48{
|
|
105
105
|
display:block;
|
|
106
106
|
height:18px;
|
|
107
107
|
padding:0;
|
|
108
108
|
}
|
|
109
|
-
.magritte-preview-zoom-control___026jA_1-3-
|
|
109
|
+
.magritte-preview-zoom-control___026jA_1-3-48{
|
|
110
110
|
display:flex;
|
|
111
111
|
flex-direction:row;
|
|
112
112
|
gap:2px;
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
justify-self:end;
|
|
115
115
|
grid-column:3;
|
|
116
116
|
}
|
|
117
|
-
.magritte-preview-container___nwjNY_1-3-
|
|
117
|
+
.magritte-preview-container___nwjNY_1-3-48{
|
|
118
118
|
display:grid;
|
|
119
119
|
grid-template-columns:1fr auto 1fr;
|
|
120
120
|
gap:16px;
|
|
@@ -125,16 +125,16 @@
|
|
|
125
125
|
z-index:10;
|
|
126
126
|
}
|
|
127
127
|
@media (min-width: 1020px){
|
|
128
|
-
body.magritte-old-layout .magritte-preview-container___nwjNY_1-3-
|
|
128
|
+
body.magritte-old-layout .magritte-preview-container___nwjNY_1-3-48{
|
|
129
129
|
padding:16px 24px;
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
@media (min-width: 1024px){
|
|
133
|
-
body:not(.magritte-old-layout) .magritte-preview-container___nwjNY_1-3-
|
|
133
|
+
body:not(.magritte-old-layout) .magritte-preview-container___nwjNY_1-3-48{
|
|
134
134
|
padding:16px 24px;
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
|
-
.magritte-preview___0Ge4C_1-3-
|
|
137
|
+
.magritte-preview___0Ge4C_1-3-48{
|
|
138
138
|
display:flex;
|
|
139
139
|
flex-direction:row;
|
|
140
140
|
touch-action:none;
|
|
@@ -142,18 +142,18 @@
|
|
|
142
142
|
min-width:0;
|
|
143
143
|
}
|
|
144
144
|
@media (min-width: 1020px){
|
|
145
|
-
body.magritte-old-layout .magritte-preview___0Ge4C_1-3-
|
|
145
|
+
body.magritte-old-layout .magritte-preview___0Ge4C_1-3-48{
|
|
146
146
|
max-width:calc(((40 + 8) * (var(--media-viewer-max-visible-items) - 1) + 80) * 1px);
|
|
147
147
|
overflow:hidden;
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
@media (min-width: 1024px){
|
|
151
|
-
body:not(.magritte-old-layout) .magritte-preview___0Ge4C_1-3-
|
|
151
|
+
body:not(.magritte-old-layout) .magritte-preview___0Ge4C_1-3-48{
|
|
152
152
|
max-width:calc(((40 + 8) * (var(--media-viewer-max-visible-items) - 1) + 80) * 1px);
|
|
153
153
|
overflow:hidden;
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
|
-
.magritte-preview-list___SAXLZ_1-3-
|
|
156
|
+
.magritte-preview-list___SAXLZ_1-3-48{
|
|
157
157
|
margin-left:50%;
|
|
158
158
|
contain:layout paint;
|
|
159
159
|
display:flex;
|
|
@@ -163,18 +163,18 @@
|
|
|
163
163
|
flex:0 0 auto;
|
|
164
164
|
}
|
|
165
165
|
@media (min-width: 1020px){
|
|
166
|
-
body.magritte-old-layout .magritte-preview-list___SAXLZ_1-3-
|
|
166
|
+
body.magritte-old-layout .magritte-preview-list___SAXLZ_1-3-48{
|
|
167
167
|
margin:0;
|
|
168
168
|
gap:8px;
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
@media (min-width: 1024px){
|
|
172
|
-
body:not(.magritte-old-layout) .magritte-preview-list___SAXLZ_1-3-
|
|
172
|
+
body:not(.magritte-old-layout) .magritte-preview-list___SAXLZ_1-3-48{
|
|
173
173
|
margin:0;
|
|
174
174
|
gap:8px;
|
|
175
175
|
}
|
|
176
176
|
}
|
|
177
|
-
.magritte-preview-item___gz5f2_1-3-
|
|
177
|
+
.magritte-preview-item___gz5f2_1-3-48{
|
|
178
178
|
contain:layout paint size;
|
|
179
179
|
position:relative;
|
|
180
180
|
flex-shrink:0;
|
|
@@ -188,33 +188,33 @@
|
|
|
188
188
|
background-color:var(--magritte-color-component-skeleton-background-content-v26-0-2);
|
|
189
189
|
}
|
|
190
190
|
@media (min-width: 1020px){
|
|
191
|
-
body.magritte-old-layout .magritte-preview-item___gz5f2_1-3-
|
|
191
|
+
body.magritte-old-layout .magritte-preview-item___gz5f2_1-3-48{
|
|
192
192
|
height:80px;
|
|
193
193
|
border-radius:8px;
|
|
194
194
|
}
|
|
195
195
|
}
|
|
196
196
|
@media (min-width: 1024px){
|
|
197
|
-
body:not(.magritte-old-layout) .magritte-preview-item___gz5f2_1-3-
|
|
197
|
+
body:not(.magritte-old-layout) .magritte-preview-item___gz5f2_1-3-48{
|
|
198
198
|
height:80px;
|
|
199
199
|
border-radius:8px;
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
|
-
.magritte-preview-item-container___JDVsk_1-3-
|
|
202
|
+
.magritte-preview-item-container___JDVsk_1-3-48{
|
|
203
203
|
contain:layout paint size;
|
|
204
204
|
overflow:hidden;
|
|
205
205
|
scale:1;
|
|
206
206
|
}
|
|
207
207
|
@media (min-width: 1020px){
|
|
208
|
-
body.magritte-old-layout .magritte-preview-item-container___JDVsk_1-3-
|
|
208
|
+
body.magritte-old-layout .magritte-preview-item-container___JDVsk_1-3-48{
|
|
209
209
|
scale:1.66666667;
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
212
|
@media (min-width: 1024px){
|
|
213
|
-
body:not(.magritte-old-layout) .magritte-preview-item-container___JDVsk_1-3-
|
|
213
|
+
body:not(.magritte-old-layout) .magritte-preview-item-container___JDVsk_1-3-48{
|
|
214
214
|
scale:1.66666667;
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
|
-
.magritte-preview-item-container___JDVsk_1-3-
|
|
217
|
+
.magritte-preview-item-container___JDVsk_1-3-48 *{
|
|
218
218
|
touch-action:none;
|
|
219
219
|
position:absolute;
|
|
220
220
|
top:0;
|
|
@@ -224,7 +224,7 @@
|
|
|
224
224
|
height:100%;
|
|
225
225
|
user-select:none;
|
|
226
226
|
}
|
|
227
|
-
.magritte-media-viewer-toolbar___2C8nr_1-3-
|
|
227
|
+
.magritte-media-viewer-toolbar___2C8nr_1-3-48{
|
|
228
228
|
background:var(--magritte-color-background-overlay-toolbar-v26-0-2);
|
|
229
229
|
padding:0 8px;
|
|
230
230
|
display:grid;
|
|
@@ -235,30 +235,30 @@
|
|
|
235
235
|
grid-row:4;
|
|
236
236
|
z-index:10;
|
|
237
237
|
}
|
|
238
|
-
.magritte-media-viewer-toolbar___2C8nr_1-3-
|
|
238
|
+
.magritte-media-viewer-toolbar___2C8nr_1-3-48.magritte-no-description___NebrT_1-3-48{
|
|
239
239
|
display:flex;
|
|
240
240
|
justify-content:space-between;
|
|
241
241
|
}
|
|
242
242
|
@media (min-width: 1020px){
|
|
243
|
-
body.magritte-old-layout .magritte-media-viewer-toolbar___2C8nr_1-3-
|
|
243
|
+
body.magritte-old-layout .magritte-media-viewer-toolbar___2C8nr_1-3-48{
|
|
244
244
|
display:none;
|
|
245
245
|
}
|
|
246
246
|
}
|
|
247
247
|
@media (min-width: 1024px){
|
|
248
|
-
body:not(.magritte-old-layout) .magritte-media-viewer-toolbar___2C8nr_1-3-
|
|
248
|
+
body:not(.magritte-old-layout) .magritte-media-viewer-toolbar___2C8nr_1-3-48{
|
|
249
249
|
display:none;
|
|
250
250
|
}
|
|
251
251
|
}
|
|
252
|
-
.magritte-media-viewer-toolbar-left___YzkJt_1-3-
|
|
253
|
-
.magritte-media-viewer-toolbar-right___kBER9_1-3-
|
|
252
|
+
.magritte-media-viewer-toolbar-left___YzkJt_1-3-48,
|
|
253
|
+
.magritte-media-viewer-toolbar-right___kBER9_1-3-48{
|
|
254
254
|
display:flex;
|
|
255
255
|
gap:4px;
|
|
256
256
|
}
|
|
257
|
-
.magritte-media-viewer-toolbar-right___kBER9_1-3-
|
|
257
|
+
.magritte-media-viewer-toolbar-right___kBER9_1-3-48{
|
|
258
258
|
justify-content:end;
|
|
259
259
|
}
|
|
260
|
-
.magritte-prev-button___WMYjR_1-3-
|
|
261
|
-
.magritte-next-button___f8hJT_1-3-
|
|
260
|
+
.magritte-prev-button___WMYjR_1-3-48,
|
|
261
|
+
.magritte-next-button___f8hJT_1-3-48{
|
|
262
262
|
cursor:pointer;
|
|
263
263
|
position:absolute;
|
|
264
264
|
top:0;
|
|
@@ -266,40 +266,40 @@
|
|
|
266
266
|
width:48px;
|
|
267
267
|
opacity:var(--media-viewer-background-opacity);
|
|
268
268
|
}
|
|
269
|
-
.magritte-prev-button___WMYjR_1-3-
|
|
270
|
-
.magritte-next-button___f8hJT_1-3-
|
|
269
|
+
.magritte-prev-button___WMYjR_1-3-48:active,
|
|
270
|
+
.magritte-next-button___f8hJT_1-3-48:active{
|
|
271
271
|
background:linear-gradient(90deg, var(--magritte-gradient-component-media-viewer-background-fade-v26-0-2));
|
|
272
272
|
}
|
|
273
273
|
@media (min-width: 1020px){
|
|
274
|
-
body.magritte-old-layout .magritte-prev-button___WMYjR_1-3-
|
|
275
|
-
body.magritte-old-layout .magritte-next-button___f8hJT_1-3-
|
|
274
|
+
body.magritte-old-layout .magritte-prev-button___WMYjR_1-3-48,
|
|
275
|
+
body.magritte-old-layout .magritte-next-button___f8hJT_1-3-48{
|
|
276
276
|
width:88px;
|
|
277
277
|
}
|
|
278
|
-
body.magritte-old-layout .magritte-prev-button___WMYjR_1-3-
|
|
279
|
-
body.magritte-old-layout .magritte-next-button___f8hJT_1-3-
|
|
278
|
+
body.magritte-old-layout .magritte-prev-button___WMYjR_1-3-48:active,
|
|
279
|
+
body.magritte-old-layout .magritte-next-button___f8hJT_1-3-48:active{
|
|
280
280
|
background:none;
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
283
|
@media (min-width: 1024px){
|
|
284
|
-
body:not(.magritte-old-layout) .magritte-prev-button___WMYjR_1-3-
|
|
285
|
-
body:not(.magritte-old-layout) .magritte-next-button___f8hJT_1-3-
|
|
284
|
+
body:not(.magritte-old-layout) .magritte-prev-button___WMYjR_1-3-48,
|
|
285
|
+
body:not(.magritte-old-layout) .magritte-next-button___f8hJT_1-3-48{
|
|
286
286
|
width:88px;
|
|
287
287
|
}
|
|
288
|
-
body:not(.magritte-old-layout) .magritte-prev-button___WMYjR_1-3-
|
|
289
|
-
body:not(.magritte-old-layout) .magritte-next-button___f8hJT_1-3-
|
|
288
|
+
body:not(.magritte-old-layout) .magritte-prev-button___WMYjR_1-3-48:active,
|
|
289
|
+
body:not(.magritte-old-layout) .magritte-next-button___f8hJT_1-3-48:active{
|
|
290
290
|
background:none;
|
|
291
291
|
}
|
|
292
292
|
}
|
|
293
|
-
.magritte-prev-button___WMYjR_1-3-
|
|
293
|
+
.magritte-prev-button___WMYjR_1-3-48{
|
|
294
294
|
left:0;
|
|
295
295
|
}
|
|
296
|
-
.magritte-prev-button___WMYjR_1-3-
|
|
296
|
+
.magritte-prev-button___WMYjR_1-3-48:active{
|
|
297
297
|
background:linear-gradient(270deg, var(--magritte-gradient-component-media-viewer-background-fade-v26-0-2));
|
|
298
298
|
}
|
|
299
|
-
.magritte-next-button___f8hJT_1-3-
|
|
299
|
+
.magritte-next-button___f8hJT_1-3-48{
|
|
300
300
|
right:0;
|
|
301
301
|
}
|
|
302
|
-
.magritte-slide-button___sY8LB_1-3-
|
|
302
|
+
.magritte-slide-button___sY8LB_1-3-48{
|
|
303
303
|
display:flex;
|
|
304
304
|
background:none;
|
|
305
305
|
padding:0;
|
|
@@ -309,7 +309,7 @@
|
|
|
309
309
|
position:absolute;
|
|
310
310
|
inset:0;
|
|
311
311
|
}
|
|
312
|
-
.magritte-preview-placeholder___yuhW1_1-3-
|
|
312
|
+
.magritte-preview-placeholder___yuhW1_1-3-48{
|
|
313
313
|
--magritte-media-viewer-preview-width:24px;
|
|
314
314
|
--magritte-media-viewer-preview-gap:2px;
|
|
315
315
|
flex:0 0 auto;
|
|
@@ -318,24 +318,24 @@
|
|
|
318
318
|
flex-grow:0;
|
|
319
319
|
}
|
|
320
320
|
@media (min-width: 1020px){
|
|
321
|
-
body.magritte-old-layout .magritte-preview-placeholder___yuhW1_1-3-
|
|
321
|
+
body.magritte-old-layout .magritte-preview-placeholder___yuhW1_1-3-48{
|
|
322
322
|
--magritte-media-viewer-preview-width:40px;
|
|
323
323
|
--magritte-media-viewer-preview-gap:8px;
|
|
324
324
|
}
|
|
325
325
|
}
|
|
326
326
|
@media (min-width: 1024px){
|
|
327
|
-
body:not(.magritte-old-layout) .magritte-preview-placeholder___yuhW1_1-3-
|
|
327
|
+
body:not(.magritte-old-layout) .magritte-preview-placeholder___yuhW1_1-3-48{
|
|
328
328
|
--magritte-media-viewer-preview-width:40px;
|
|
329
329
|
--magritte-media-viewer-preview-gap:8px;
|
|
330
330
|
}
|
|
331
331
|
}
|
|
332
|
-
.magritte-gallery-item-loader___70TDe_1-3-
|
|
332
|
+
.magritte-gallery-item-loader___70TDe_1-3-48{
|
|
333
333
|
position:absolute;
|
|
334
334
|
top:50%;
|
|
335
335
|
left:50%;
|
|
336
336
|
transform:translate(-50%, -50%);
|
|
337
337
|
}
|
|
338
|
-
.magritte-gallery-item-error-container___Z-HyZ_1-3-
|
|
338
|
+
.magritte-gallery-item-error-container___Z-HyZ_1-3-48{
|
|
339
339
|
display:flex;
|
|
340
340
|
flex-direction:column;
|
|
341
341
|
align-items:center;
|
|
@@ -349,10 +349,10 @@
|
|
|
349
349
|
width:100%;
|
|
350
350
|
box-sizing:border-box;
|
|
351
351
|
}
|
|
352
|
-
.magritte-description-bottom-sheet-content___swnEV_1-3-
|
|
352
|
+
.magritte-description-bottom-sheet-content___swnEV_1-3-48{
|
|
353
353
|
padding:8px 0;
|
|
354
354
|
}
|
|
355
|
-
.magritte-header___egZXt_1-3-
|
|
355
|
+
.magritte-header___egZXt_1-3-48{
|
|
356
356
|
grid-row:1;
|
|
357
357
|
z-index:2;
|
|
358
358
|
opacity:var(--media-viewer-toolbars-opacity);
|
|
@@ -360,13 +360,13 @@
|
|
|
360
360
|
--magritte-ui-nav-bar-title-color-override:var(--magritte-color-text-constant-v26-0-2);
|
|
361
361
|
--magritte-ui-nav-bar-subtitle-color-override:var(--magritte-color-text-constant-secondary-v26-0-2);
|
|
362
362
|
}
|
|
363
|
-
.magritte-footer___rOH-M_1-3-
|
|
363
|
+
.magritte-footer___rOH-M_1-3-48{
|
|
364
364
|
grid-row:3;
|
|
365
365
|
z-index:2;
|
|
366
366
|
opacity:var(--media-viewer-toolbars-opacity);
|
|
367
367
|
transform:translateY(calc(var(--magritte-ui-media-viewer-hide-tools-progress) * 100%));
|
|
368
368
|
}
|
|
369
|
-
.magritte-description___dYc-E_1-3-
|
|
369
|
+
.magritte-description___dYc-E_1-3-48{
|
|
370
370
|
display:inline-block;
|
|
371
371
|
max-width:100%;
|
|
372
372
|
}
|
package/index.js
CHANGED
|
@@ -18,7 +18,7 @@ import './internal/utils.js';
|
|
|
18
18
|
import './internal/hooks/useTapToToggleTools.js';
|
|
19
19
|
import './internal/hooks/useVirtualization.js';
|
|
20
20
|
import './public/Footer.js';
|
|
21
|
-
import './media-viewer-
|
|
21
|
+
import './media-viewer-4tGuvs4q.js';
|
|
22
22
|
import './public/Gallery.js';
|
|
23
23
|
import '@hh.ru/magritte-common-resize';
|
|
24
24
|
import '@hh.ru/magritte-ui-icon/icon';
|
|
@@ -33,6 +33,7 @@ import './internal/hooks/usePinchToZoom.js';
|
|
|
33
33
|
import './internal/hooks/useWheelToZoom.js';
|
|
34
34
|
import '@hh.ru/magritte-ui-typography';
|
|
35
35
|
import './public/Header.js';
|
|
36
|
+
import './public/headerDefaults.js';
|
|
36
37
|
import '@hh.ru/magritte-ui-nav-bar';
|
|
37
38
|
import './public/Preview.js';
|
|
38
39
|
import './internal/Counter.js';
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/internal/Counter.js
CHANGED
|
@@ -8,7 +8,7 @@ import { BottomSheet } from '@hh.ru/magritte-ui-bottom-sheet';
|
|
|
8
8
|
import { useMediaViewerContext } from './context.js';
|
|
9
9
|
import { TooltipHover } from '@hh.ru/magritte-ui-tooltip';
|
|
10
10
|
import { Text } from '@hh.ru/magritte-ui-typography';
|
|
11
|
-
import { s as styles } from '../media-viewer-
|
|
11
|
+
import { s as styles } from '../media-viewer-4tGuvs4q.js';
|
|
12
12
|
import './ImagesLoader.js';
|
|
13
13
|
import './utils.js';
|
|
14
14
|
import '@hh.ru/magritte-design-tokens/core-tokens';
|
|
@@ -14,7 +14,7 @@ import { usePinchToZoom } from './hooks/usePinchToZoom.js';
|
|
|
14
14
|
import { useWheelToZoom } from './hooks/useWheelToZoom.js';
|
|
15
15
|
import { lerp, clamp } from './utils.js';
|
|
16
16
|
import { Text } from '@hh.ru/magritte-ui-typography';
|
|
17
|
-
import { s as styles } from '../media-viewer-
|
|
17
|
+
import { s as styles } from '../media-viewer-4tGuvs4q.js';
|
|
18
18
|
import './ImagesLoader.js';
|
|
19
19
|
import '@use-gesture/react';
|
|
20
20
|
|
package/internal/PreviewItem.js
CHANGED
|
@@ -9,7 +9,7 @@ import '@hh.ru/magritte-ui-breakpoint';
|
|
|
9
9
|
import './utils.js';
|
|
10
10
|
import '@hh.ru/magritte-design-tokens/core-tokens';
|
|
11
11
|
import './animations.js';
|
|
12
|
-
import '../media-viewer-
|
|
12
|
+
import '../media-viewer-4tGuvs4q.js';
|
|
13
13
|
import './ImagesLoader.js';
|
|
14
14
|
|
|
15
15
|
const PreviewItem = ({
|
|
@@ -5,7 +5,7 @@ import { useMotionValue, useTransform, useMotionValueEvent, animate, motion } fr
|
|
|
5
5
|
import { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';
|
|
6
6
|
import { useMediaViewerContext, usePreviewContext } from './context.js';
|
|
7
7
|
import { useDetectDiscreteChange, clamp } from './utils.js';
|
|
8
|
-
import { s as styles } from '../media-viewer-
|
|
8
|
+
import { s as styles } from '../media-viewer-4tGuvs4q.js';
|
|
9
9
|
import './ImagesLoader.js';
|
|
10
10
|
import '@hh.ru/magritte-design-tokens/core-tokens';
|
|
11
11
|
import './animations.js';
|
|
@@ -9,7 +9,7 @@ import { EASE_BASE } from './animations.js';
|
|
|
9
9
|
import { useMediaViewerContext } from './context.js';
|
|
10
10
|
import { useInitOnce, findNextValue, getDimensionsAfterRotation, clampOffset } from './utils.js';
|
|
11
11
|
import { Text } from '@hh.ru/magritte-ui-typography';
|
|
12
|
-
import { s as styles } from '../media-viewer-
|
|
12
|
+
import { s as styles } from '../media-viewer-4tGuvs4q.js';
|
|
13
13
|
import './ImagesLoader.js';
|
|
14
14
|
|
|
15
15
|
const getControllerLimits = (controller) => {
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import './index.css';
|
|
2
|
+
var styles = {"media-viewer":"magritte-media-viewer___KnrXP_1-3-48","mediaViewer":"magritte-media-viewer___KnrXP_1-3-48","gallery-placeholder":"magritte-gallery-placeholder___rUoGL_1-3-48","galleryPlaceholder":"magritte-gallery-placeholder___rUoGL_1-3-48","media-viewer-gallery":"magritte-media-viewer-gallery___P0SnN_1-3-48","mediaViewerGallery":"magritte-media-viewer-gallery___P0SnN_1-3-48","gallery-item":"magritte-gallery-item___Js0Z5_1-3-48","galleryItem":"magritte-gallery-item___Js0Z5_1-3-48","gallery-item-transform-container":"magritte-gallery-item-transform-container___N8-sA_1-3-48","galleryItemTransformContainer":"magritte-gallery-item-transform-container___N8-sA_1-3-48","preview-counter":"magritte-preview-counter___uP2Hc_1-3-48","previewCounter":"magritte-preview-counter___uP2Hc_1-3-48","with-description":"magritte-with-description___-w7ld_1-3-48","withDescription":"magritte-with-description___-w7ld_1-3-48","counter-number":"magritte-counter-number___gUpMp_1-3-48","counterNumber":"magritte-counter-number___gUpMp_1-3-48","no-description-placeholder":"magritte-no-description-placeholder___qc6h2_1-3-48","noDescriptionPlaceholder":"magritte-no-description-placeholder___qc6h2_1-3-48","preview-zoom-control":"magritte-preview-zoom-control___026jA_1-3-48","previewZoomControl":"magritte-preview-zoom-control___026jA_1-3-48","preview-container":"magritte-preview-container___nwjNY_1-3-48","previewContainer":"magritte-preview-container___nwjNY_1-3-48","preview":"magritte-preview___0Ge4C_1-3-48","preview-list":"magritte-preview-list___SAXLZ_1-3-48","previewList":"magritte-preview-list___SAXLZ_1-3-48","preview-item":"magritte-preview-item___gz5f2_1-3-48","previewItem":"magritte-preview-item___gz5f2_1-3-48","preview-item-container":"magritte-preview-item-container___JDVsk_1-3-48","previewItemContainer":"magritte-preview-item-container___JDVsk_1-3-48","media-viewer-toolbar":"magritte-media-viewer-toolbar___2C8nr_1-3-48","mediaViewerToolbar":"magritte-media-viewer-toolbar___2C8nr_1-3-48","no-description":"magritte-no-description___NebrT_1-3-48","noDescription":"magritte-no-description___NebrT_1-3-48","media-viewer-toolbar-left":"magritte-media-viewer-toolbar-left___YzkJt_1-3-48","mediaViewerToolbarLeft":"magritte-media-viewer-toolbar-left___YzkJt_1-3-48","media-viewer-toolbar-right":"magritte-media-viewer-toolbar-right___kBER9_1-3-48","mediaViewerToolbarRight":"magritte-media-viewer-toolbar-right___kBER9_1-3-48","prev-button":"magritte-prev-button___WMYjR_1-3-48","prevButton":"magritte-prev-button___WMYjR_1-3-48","next-button":"magritte-next-button___f8hJT_1-3-48","nextButton":"magritte-next-button___f8hJT_1-3-48","slide-button":"magritte-slide-button___sY8LB_1-3-48","slideButton":"magritte-slide-button___sY8LB_1-3-48","preview-placeholder":"magritte-preview-placeholder___yuhW1_1-3-48","previewPlaceholder":"magritte-preview-placeholder___yuhW1_1-3-48","gallery-item-loader":"magritte-gallery-item-loader___70TDe_1-3-48","galleryItemLoader":"magritte-gallery-item-loader___70TDe_1-3-48","gallery-item-error-container":"magritte-gallery-item-error-container___Z-HyZ_1-3-48","galleryItemErrorContainer":"magritte-gallery-item-error-container___Z-HyZ_1-3-48","description-bottom-sheet-content":"magritte-description-bottom-sheet-content___swnEV_1-3-48","descriptionBottomSheetContent":"magritte-description-bottom-sheet-content___swnEV_1-3-48","header":"magritte-header___egZXt_1-3-48","footer":"magritte-footer___rOH-M_1-3-48","description":"magritte-description___dYc-E_1-3-48"};
|
|
3
|
+
|
|
4
|
+
export { styles as s };
|
|
5
|
+
//# sourceMappingURL=media-viewer-4tGuvs4q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-viewer-4tGuvs4q.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hh.ru/magritte-ui-media-viewer",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.48",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"sideEffects": [
|
|
@@ -17,7 +17,11 @@
|
|
|
17
17
|
"ts-check": "yarn root:ts-check $(pwd)",
|
|
18
18
|
"test": "yarn root:test $(pwd)",
|
|
19
19
|
"test:types": "yarn root:test:types $(pwd)",
|
|
20
|
-
"watch": "yarn root:watch $(pwd)"
|
|
20
|
+
"watch": "yarn root:watch $(pwd)",
|
|
21
|
+
"figma-publish": "yarn root:figma-publish $(pwd)",
|
|
22
|
+
"figma-unpublish": "yarn root:figma-unpublish $(pwd)",
|
|
23
|
+
"figma-snapshot-check": "yarn root:figma-snapshot $(pwd)",
|
|
24
|
+
"figma-snapshot-update": "yarn root:figma-snapshot $(pwd) --update"
|
|
21
25
|
},
|
|
22
26
|
"publishConfig": {
|
|
23
27
|
"access": "public"
|
|
@@ -29,14 +33,14 @@
|
|
|
29
33
|
"@hh.ru/magritte-common-use-translation": "3.6.2",
|
|
30
34
|
"@hh.ru/magritte-design-tokens": "26.0.2",
|
|
31
35
|
"@hh.ru/magritte-internal-accessible-region": "1.0.5",
|
|
32
|
-
"@hh.ru/magritte-ui-bottom-sheet": "9.4.
|
|
36
|
+
"@hh.ru/magritte-ui-bottom-sheet": "9.4.54",
|
|
33
37
|
"@hh.ru/magritte-ui-breakpoint": "6.1.3",
|
|
34
38
|
"@hh.ru/magritte-ui-icon": "15.1.6",
|
|
35
39
|
"@hh.ru/magritte-ui-layer": "3.2.9",
|
|
36
40
|
"@hh.ru/magritte-ui-loader": "4.1.7",
|
|
37
41
|
"@hh.ru/magritte-ui-mock-component": "1.1.9",
|
|
38
|
-
"@hh.ru/magritte-ui-nav-bar": "2.0.
|
|
39
|
-
"@hh.ru/magritte-ui-tooltip": "11.0.
|
|
42
|
+
"@hh.ru/magritte-ui-nav-bar": "2.0.23",
|
|
43
|
+
"@hh.ru/magritte-ui-tooltip": "11.0.54",
|
|
40
44
|
"@hh.ru/magritte-ui-typography": "5.3.17",
|
|
41
45
|
"@use-gesture/react": "10.3.1"
|
|
42
46
|
},
|
|
@@ -45,5 +49,5 @@
|
|
|
45
49
|
"motion": "^12.23.12",
|
|
46
50
|
"react": ">=18.2.0"
|
|
47
51
|
},
|
|
48
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "5c3c2c1bf7101bd746688b009408e18f03fe200a"
|
|
49
53
|
}
|
package/public/Footer.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './../index.css';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { s as styles } from '../media-viewer-
|
|
3
|
+
import { s as styles } from '../media-viewer-4tGuvs4q.js';
|
|
4
4
|
|
|
5
5
|
const Footer = ({ children }) => {
|
|
6
6
|
return /* @__PURE__ */ jsx("div", { "data-media-viewer-interactive": "true", className: styles.footer, children });
|
package/public/Gallery.js
CHANGED
|
@@ -10,7 +10,7 @@ import { useMediaViewerContext, useGalleryItemsContext } from '../internal/conte
|
|
|
10
10
|
import { useSwipe } from '../internal/hooks/useSwipe.js';
|
|
11
11
|
import { clamp } from '../internal/utils.js';
|
|
12
12
|
import { GalleryItem } from './GalleryItem.js';
|
|
13
|
-
import { s as styles } from '../media-viewer-
|
|
13
|
+
import { s as styles } from '../media-viewer-4tGuvs4q.js';
|
|
14
14
|
import '../internal/ImagesLoader.js';
|
|
15
15
|
import '@use-gesture/react';
|
|
16
16
|
import '@hh.ru/magritte-design-tokens/core-tokens';
|
package/public/GalleryItem.js
CHANGED
|
@@ -17,7 +17,7 @@ import '@use-gesture/react';
|
|
|
17
17
|
import '../internal/hooks/usePinchToZoom.js';
|
|
18
18
|
import '../internal/hooks/useWheelToZoom.js';
|
|
19
19
|
import '@hh.ru/magritte-ui-typography';
|
|
20
|
-
import '../media-viewer-
|
|
20
|
+
import '../media-viewer-4tGuvs4q.js';
|
|
21
21
|
import '../internal/ImagesLoader.js';
|
|
22
22
|
|
|
23
23
|
const GALLERY_ITEM_VIRTUALIZATION_PADDING = 5;
|
package/public/Header.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import './../index.css';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { MEDIA_VIEWER_HEADER_ACTIONS_ICONS_DEFAULTS } from './headerDefaults.js';
|
|
3
4
|
import { NavBarDefaultPropsContext } from '@hh.ru/magritte-ui-nav-bar';
|
|
4
|
-
import { s as styles } from '../media-viewer-
|
|
5
|
+
import { s as styles } from '../media-viewer-4tGuvs4q.js';
|
|
5
6
|
|
|
6
7
|
const NAV_BAR_ACTIONS_DEFAULT_PROPS = {
|
|
7
8
|
verticalAlign: "top"
|
|
@@ -12,12 +13,7 @@ const NAV_BAR_TITLE_DEFAULT_PROPS = {
|
|
|
12
13
|
const NAV_BAR_SUBTITLE_DEFAULT_PROPS = {
|
|
13
14
|
style: "constant-secondary"
|
|
14
15
|
};
|
|
15
|
-
const NAV_BAR_ACTIONS_ICONS_DEFAULT_PROPS =
|
|
16
|
-
borderRadius: "halfHeight",
|
|
17
|
-
padding: 8,
|
|
18
|
-
backgroundStyle: void 0,
|
|
19
|
-
initialColor: "constant"
|
|
20
|
-
};
|
|
16
|
+
const NAV_BAR_ACTIONS_ICONS_DEFAULT_PROPS = MEDIA_VIEWER_HEADER_ACTIONS_ICONS_DEFAULTS;
|
|
21
17
|
const Header = ({ children }) => {
|
|
22
18
|
return /* @__PURE__ */ jsx(
|
|
23
19
|
NavBarDefaultPropsContext,
|
package/public/Header.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sources":["src/public/Header.tsx"],"sourcesContent":["import { FC, PropsWithChildren } from 'react';\n\nimport { NavBarDefaultPropsContext } from '@hh.ru/magritte-ui-nav-bar';\n\nimport styles from './media-viewer.less';\n\nconst NAV_BAR_ACTIONS_DEFAULT_PROPS = {\n verticalAlign: 'top',\n} as const;\n\nconst NAV_BAR_TITLE_DEFAULT_PROPS = {\n style: 'constant',\n} as const;\n\nconst NAV_BAR_SUBTITLE_DEFAULT_PROPS = {\n style: 'constant-secondary',\n} as const;\n\nconst NAV_BAR_ACTIONS_ICONS_DEFAULT_PROPS =
|
|
1
|
+
{"version":3,"file":"Header.js","sources":["src/public/Header.tsx"],"sourcesContent":["import { FC, PropsWithChildren } from 'react';\n\nimport { MEDIA_VIEWER_HEADER_ACTIONS_ICONS_DEFAULTS } from '@hh.ru/magritte-ui-media-viewer/public/headerDefaults';\nimport { NavBarDefaultPropsContext } from '@hh.ru/magritte-ui-nav-bar';\n\nimport styles from './media-viewer.less';\n\nconst NAV_BAR_ACTIONS_DEFAULT_PROPS = {\n verticalAlign: 'top',\n} as const;\n\nconst NAV_BAR_TITLE_DEFAULT_PROPS = {\n style: 'constant',\n} as const;\n\nconst NAV_BAR_SUBTITLE_DEFAULT_PROPS = {\n style: 'constant-secondary',\n} as const;\n\nconst NAV_BAR_ACTIONS_ICONS_DEFAULT_PROPS = MEDIA_VIEWER_HEADER_ACTIONS_ICONS_DEFAULTS;\n\nexport const Header: FC<PropsWithChildren> = ({ children }) => {\n return (\n <NavBarDefaultPropsContext\n actionsProps={NAV_BAR_ACTIONS_DEFAULT_PROPS}\n actionsIconsProps={NAV_BAR_ACTIONS_ICONS_DEFAULT_PROPS}\n titleProps={NAV_BAR_TITLE_DEFAULT_PROPS}\n subtitleProps={NAV_BAR_SUBTITLE_DEFAULT_PROPS}\n >\n <div data-media-viewer-interactive=\"true\" className={styles.header}>\n {children}\n </div>\n </NavBarDefaultPropsContext>\n );\n};\n"],"names":[],"mappings":";;;;;AAOA,MAAM,6BAAgC,GAAA;AAAA,EAClC,aAAe,EAAA,KAAA;AACnB,CAAA,CAAA;AAEA,MAAM,2BAA8B,GAAA;AAAA,EAChC,KAAO,EAAA,UAAA;AACX,CAAA,CAAA;AAEA,MAAM,8BAAiC,GAAA;AAAA,EACnC,KAAO,EAAA,oBAAA;AACX,CAAA,CAAA;AAEA,MAAM,mCAAsC,GAAA,0CAAA,CAAA;AAErC,MAAM,MAAgC,GAAA,CAAC,EAAE,QAAA,EAAe,KAAA;AAC3D,EACI,uBAAA,GAAA;AAAA,IAAC,yBAAA;AAAA,IAAA;AAAA,MACG,YAAc,EAAA,6BAAA;AAAA,MACd,iBAAmB,EAAA,mCAAA;AAAA,MACnB,UAAY,EAAA,2BAAA;AAAA,MACZ,aAAe,EAAA,8BAAA;AAAA,MAEf,8BAAC,KAAI,EAAA,EAAA,+BAAA,EAA8B,QAAO,SAAW,EAAA,MAAA,CAAO,QACvD,QACL,EAAA,CAAA;AAAA,KAAA;AAAA,GACJ,CAAA;AAER;;;;"}
|
package/public/MediaViewer.js
CHANGED
|
@@ -22,7 +22,7 @@ import { Header } from './Header.js';
|
|
|
22
22
|
import { Preview } from './Preview.js';
|
|
23
23
|
import { Toolbar } from './Toolbar.js';
|
|
24
24
|
import { DesktopTool, MobileTool, RotateTool, CloseTool, FullWidthTool } from './Tools.js';
|
|
25
|
-
import { s as styles } from '../media-viewer-
|
|
25
|
+
import { s as styles } from '../media-viewer-4tGuvs4q.js';
|
|
26
26
|
import '../internal/ImagesLoader.js';
|
|
27
27
|
import '@use-gesture/react';
|
|
28
28
|
import '@hh.ru/magritte-common-resize';
|
|
@@ -36,6 +36,7 @@ import '../internal/hooks/usePan.js';
|
|
|
36
36
|
import '../internal/hooks/usePinchToZoom.js';
|
|
37
37
|
import '../internal/hooks/useWheelToZoom.js';
|
|
38
38
|
import '@hh.ru/magritte-ui-typography';
|
|
39
|
+
import './headerDefaults.js';
|
|
39
40
|
import '@hh.ru/magritte-ui-nav-bar';
|
|
40
41
|
import '../internal/Counter.js';
|
|
41
42
|
import 'classnames';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaViewer.js","sources":["../../common/keyboard/lib/keys-DMQazhll.js","../../common/keyboard/lib/findNextFocusableElement.js","../../common/keyboard/lib/match.js","../../common/keyboard/lib/useKeyboardNavigation.js","src/public/MediaViewer.tsx"],"sourcesContent":["const Escape = {\n key: \"Escape\",\n code: \"Esc\"\n};\nconst PageUp = {\n key: \"PageUp\",\n code: \"Numpad9\"\n};\nconst PageDown = {\n key: \"PageDown\",\n code: \"Numpad3\"\n};\nconst Enter = {\n key: \"Enter\",\n code: \"Enter\"\n};\nconst Space = {\n key: \" \",\n code: \"Space\"\n};\nconst Backspace = {\n key: \"Backspace\",\n code: \"Backspace\"\n};\nconst Delete = {\n key: \"Delete\",\n code: \"Delete\"\n};\nconst Home = {\n key: \"Home\",\n code: \"Home\"\n};\nconst End = {\n key: \"End\",\n code: \"End\"\n};\nconst ArrowRight = {\n key: \"ArrowRight\",\n code: \"ArrowRight\"\n};\nconst ArrowLeft = {\n key: \"ArrowLeft\",\n code: \"ArrowLeft\"\n};\nconst ArrowUp = {\n key: \"ArrowUp\",\n code: \"ArrowUp\"\n};\nconst ArrowDown = {\n key: \"ArrowDown\",\n code: \"ArrowDown\"\n};\nconst Tab = {\n key: \"Tab\",\n code: \"Tab\"\n};\nconst DigitKeys = [\n {\n key: \"0\",\n code: \"Digit0\"\n },\n {\n key: \"1\",\n code: \"Digit1\"\n },\n {\n key: \"2\",\n code: \"Digit2\"\n },\n {\n key: \"3\",\n code: \"Digit3\"\n },\n {\n key: \"4\",\n code: \"Digit4\"\n },\n {\n key: \"5\",\n code: \"Digit5\"\n },\n {\n key: \"6\",\n code: \"Digit6\"\n },\n {\n key: \"7\",\n code: \"Digit7\"\n },\n {\n key: \"8\",\n code: \"Digit8\"\n },\n {\n key: \"9\",\n code: \"Digit9\"\n }\n];\n\nvar keys = /*#__PURE__*/Object.freeze({\n __proto__: null,\n ArrowDown: ArrowDown,\n ArrowLeft: ArrowLeft,\n ArrowRight: ArrowRight,\n ArrowUp: ArrowUp,\n Backspace: Backspace,\n Delete: Delete,\n DigitKeys: DigitKeys,\n End: End,\n Enter: Enter,\n Escape: Escape,\n Home: Home,\n PageDown: PageDown,\n PageUp: PageUp,\n Space: Space,\n Tab: Tab\n});\n\nexport { ArrowUp as A, Backspace as B, Delete as D, Escape as E, Home as H, PageDown as P, Space as S, Tab as T, ArrowRight as a, ArrowDown as b, ArrowLeft as c, DigitKeys as d, End as e, Enter as f, PageUp as g, keys as k };\n//# sourceMappingURL=keys-DMQazhll.js.map\n","const FLOAT_COMPARISON_THRESHOLD = 0.5;\nconst FOCUSABLE_SELECTOR = `\n button:not([disabled]):not([tabindex=\"-1\"]),\n a[href],\n input:not([disabled]):not([tabindex=\"-1\"]):not([type=\"hidden\"]),\n select:not([disabled]):not([tabindex=\"-1\"]),\n textarea:not([disabled]):not([tabindex=\"-1\"]),\n [tabindex]:not([tabindex=\"-1\"])\n`;\nconst canReceiveFocus = (element) => {\n if (typeof element.checkVisibility === \"function\") {\n return element.checkVisibility({\n checkVisibilityCSS: true,\n // старое имя опции visibilityProperty (Chrome 105–121)\n visibilityProperty: true\n });\n }\n return true;\n};\nconst findAllFocusableElements = (container) => {\n return [...container.querySelectorAll(FOCUSABLE_SELECTOR)].filter(canReceiveFocus);\n};\nconst findNextFocusableElement = (container, targetElement, direction, mode = \"main\") => {\n if (mode === \"main\" && !targetElement || targetElement !== null && (targetElement === container || !container.contains(targetElement))) {\n return null;\n }\n const focusableElements = findAllFocusableElements(container);\n const targetRect = targetElement?.getBoundingClientRect() ?? null;\n const targetCenterX = targetRect !== null ? Math.round(targetRect.left + targetRect.width / 2) : Number.NaN;\n const targetCenterY = targetRect !== null ? Math.round(targetRect.top + targetRect.height / 2) : Number.NaN;\n let nearestElement = null;\n let minDistance = Infinity;\n let oppositeElement = null;\n let oppositeCoordinate = Number.NaN;\n switch (direction) {\n case \"up\":\n oppositeCoordinate = targetRect?.top ?? 0;\n break;\n case \"down\":\n oppositeCoordinate = targetRect?.bottom ?? Infinity;\n break;\n case \"left\":\n oppositeCoordinate = targetRect?.right ?? 0;\n break;\n case \"right\":\n oppositeCoordinate = targetRect?.left ?? Infinity;\n break;\n }\n focusableElements.forEach((element) => {\n if (targetElement === element) {\n return;\n }\n const elementRect = element.getBoundingClientRect();\n const elementCenterX = Math.round(elementRect.left + elementRect.width / 2);\n const elementCenterY = Math.round(elementRect.top + elementRect.height / 2);\n if (targetRect !== null && !(direction === \"up\" && (elementCenterY >= targetCenterY || elementRect.bottom > targetRect.top)) && !(direction === \"down\" && (elementCenterY <= targetCenterY || elementRect.top < targetRect.bottom)) && !(direction === \"left\" && (elementCenterX >= targetCenterX || elementRect.right > targetRect.left)) && !(direction === \"right\" && (elementCenterX <= targetCenterX || elementRect.left < targetRect.right))) {\n let distanceX = Math.abs(targetCenterX - elementCenterX);\n let distanceY = Math.abs(targetCenterY - elementCenterY);\n if (direction === \"up\" || direction === \"down\") {\n distanceY *= 0.5;\n } else {\n distanceX *= 0.5;\n }\n const distance = Math.hypot(distanceX, distanceY);\n if (distance < minDistance) {\n minDistance = distance;\n nearestElement = element;\n }\n }\n if (mode === \"list\") {\n if (direction === \"up\" && elementRect.top - oppositeCoordinate > FLOAT_COMPARISON_THRESHOLD) {\n oppositeElement = element;\n oppositeCoordinate = elementRect.top;\n } else if (direction === \"down\" && elementRect.bottom - oppositeCoordinate < -FLOAT_COMPARISON_THRESHOLD) {\n oppositeElement = element;\n oppositeCoordinate = elementRect.bottom;\n } else if (direction === \"left\" && elementRect.right - oppositeCoordinate > FLOAT_COMPARISON_THRESHOLD) {\n oppositeElement = element;\n oppositeCoordinate = elementRect.right;\n } else if (direction === \"right\" && elementRect.left - oppositeCoordinate < -FLOAT_COMPARISON_THRESHOLD) {\n oppositeElement = element;\n oppositeCoordinate = elementRect.left;\n }\n }\n });\n return nearestElement ?? oppositeElement;\n};\n\nexport { FOCUSABLE_SELECTOR, findAllFocusableElements, findNextFocusableElement };\n//# sourceMappingURL=findNextFocusableElement.js.map\n","const keyboardMatch = (event, { key, code }) => {\n return event.key === key || event.code === code;\n};\nconst keyboardMatches = (event, keysToMatch) => {\n for (let i = 0; i < keysToMatch.length; i++) {\n if (keyboardMatch(event, keysToMatch[i])) {\n return true;\n }\n }\n return false;\n};\n\nexport { keyboardMatch, keyboardMatches };\n//# sourceMappingURL=match.js.map\n","import { useRef, useCallback } from 'react';\nimport { findAllFocusableElements, findNextFocusableElement } from './findNextFocusableElement.js';\nimport { T as Tab, A as ArrowUp, a as ArrowRight, b as ArrowDown, c as ArrowLeft } from './keys-DMQazhll.js';\nimport { keyboardMatch } from './match.js';\n\nconst TEXT_FIELD_SELECTOR = 'textarea, input:not([type=\"checkbox\"]):not([type=\"radio\"]), [contenteditable=\"true\"]';\nconst isTextElement = (element) => {\n return element?.matches(TEXT_FIELD_SELECTOR) ?? false;\n};\nconst getNavigationDirection = (event, mode = \"main\") => {\n if (mode === \"list\" && keyboardMatch(event, Tab)) {\n return event.shiftKey ? \"up\" : \"down\";\n }\n if (keyboardMatch(event, ArrowUp)) {\n return \"up\";\n }\n if (keyboardMatch(event, ArrowRight)) {\n return \"right\";\n }\n if (keyboardMatch(event, ArrowDown)) {\n return \"down\";\n }\n if (keyboardMatch(event, ArrowLeft)) {\n return \"left\";\n }\n return null;\n};\nconst handleKeyboardNavigation = (event, container, activeElementOverride = null, mode = \"main\") => {\n const activeElement = activeElementOverride ?? document.activeElement;\n if (mode === \"loop\") {\n const focusableElements = findAllFocusableElements(container);\n if (keyboardMatch(event, Tab) && focusableElements.length > 1) {\n if ((activeElement === container || activeElement === focusableElements[focusableElements.length - 1]) && !event.shiftKey) {\n event.preventDefault();\n focusableElements[0].focus();\n }\n if ((activeElement === container || activeElement === focusableElements[0]) && event.shiftKey) {\n event.preventDefault();\n focusableElements[focusableElements.length - 1].focus();\n }\n }\n }\n if (mode !== \"loop\" && !isTextElement(activeElement)) {\n const direction = getNavigationDirection(event, mode);\n if (direction !== null) {\n const nextFocusableElement = findNextFocusableElement(container, activeElement, direction, mode);\n if (nextFocusableElement !== null) {\n event.preventDefault();\n nextFocusableElement.focus();\n }\n }\n }\n};\nconst useKeyboardNavigation = (args = {}) => {\n const { mode = \"main\", enabled = true, activeElement: activeElementOverride } = args;\n const enabledRef = useRef(enabled);\n enabledRef.current = enabled;\n const activeElementOverrideRef = useRef(activeElementOverride);\n activeElementOverrideRef.current = activeElementOverride;\n const modeRef = useRef(mode);\n modeRef.current = mode;\n const cleanupRef = useRef(null);\n const bindNavigationRef = useCallback((container) => {\n if (!container) {\n cleanupRef.current?.();\n cleanupRef.current = null;\n return;\n }\n const handleKeyDown = (event) => {\n if (enabledRef.current) {\n handleKeyboardNavigation(event, container, activeElementOverrideRef.current, modeRef.current);\n }\n };\n container.addEventListener(\"keydown\", handleKeyDown);\n cleanupRef.current = () => {\n container.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, []);\n return bindNavigationRef;\n};\n\nexport { TEXT_FIELD_SELECTOR, isTextElement, useKeyboardNavigation };\n//# sourceMappingURL=useKeyboardNavigation.js.map\n","import {\n type FC,\n type PropsWithChildren,\n type ReactElement,\n type Ref,\n useState,\n CSSProperties,\n useEffect,\n useCallback,\n useRef,\n} from 'react';\nimport { type HTMLMotionProps, motion, useMotionValue, animate } from 'motion/react';\n\nimport { useKeyboardNavigation } from '@hh.ru/magritte-common-keyboard';\nimport { disableScroll } from '@hh.ru/magritte-common-modal-helper';\nimport { useTranslation } from '@hh.ru/magritte-common-use-translation';\nimport CoreTokens from '@hh.ru/magritte-design-tokens/core-tokens';\nimport {\n AccessibleRegionProvider,\n useAccessibleRegionProps,\n type ExplicitRegionProps,\n} from '@hh.ru/magritte-internal-accessible-region';\nimport { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';\nimport { Layer } from '@hh.ru/magritte-ui-layer';\nimport { GalleryItemProps } from '@hh.ru/magritte-ui-media-viewer/internal/GalleryItemBody';\nimport { EASE_BASE } from '@hh.ru/magritte-ui-media-viewer/internal/animations';\nimport {\n createMediaViewerContextValue,\n MediaViewerContext,\n GalleryItemsContext,\n} from '@hh.ru/magritte-ui-media-viewer/internal/context';\nimport { useAutoHideTools } from '@hh.ru/magritte-ui-media-viewer/internal/hooks/useAutoHideTools';\nimport { type GalleryItemController } from '@hh.ru/magritte-ui-media-viewer/internal/hooks/useGalleryItemController';\nimport { useSwipeToClose } from '@hh.ru/magritte-ui-media-viewer/internal/hooks/useSwipeToClose';\nimport { useTapToToggleTools } from '@hh.ru/magritte-ui-media-viewer/internal/hooks/useTapToToggleTools';\nimport { useVirtualization } from '@hh.ru/magritte-ui-media-viewer/internal/hooks/useVirtualization';\nimport { clamp, useInitOnce } from '@hh.ru/magritte-ui-media-viewer/internal/utils';\nimport { Footer } from '@hh.ru/magritte-ui-media-viewer/public/Footer';\nimport { Gallery } from '@hh.ru/magritte-ui-media-viewer/public/Gallery';\nimport { GalleryItem } from '@hh.ru/magritte-ui-media-viewer/public/GalleryItem';\nimport { Header } from '@hh.ru/magritte-ui-media-viewer/public/Header';\nimport { Preview, PreviewProps } from '@hh.ru/magritte-ui-media-viewer/public/Preview';\nimport { Toolbar, ToolbarProps } from '@hh.ru/magritte-ui-media-viewer/public/Toolbar';\nimport {\n DesktopTool,\n MobileTool,\n RotateTool,\n CloseTool,\n FullWidthTool,\n} from '@hh.ru/magritte-ui-media-viewer/public/Tools';\n\nimport styles from './media-viewer.less';\n\ninterface MediaViewerCompound {\n Gallery: FC<PropsWithChildren>;\n GalleryItem: FC<GalleryItemProps>;\n Preview: FC<PreviewProps>;\n Toolbar: FC<ToolbarProps>;\n Header: FC<PropsWithChildren>;\n Footer: FC<PropsWithChildren>;\n DesktopTool: FC<PropsWithChildren>;\n MobileTool: FC<PropsWithChildren>;\n RotateTool: FC<PropsWithChildren>;\n CloseTool: FC<PropsWithChildren>;\n FullWidthTool: FC<PropsWithChildren>;\n}\n\ninterface MediaViewerDialogProps extends HTMLMotionProps<'div'> {\n explicitAria: ExplicitRegionProps;\n /** Плейсхолдер из переводов — используется только если метка не задана иным источником */\n fallbackLabel: string | undefined;\n dialogRef: Ref<HTMLDivElement>;\n}\n\n/**\n * Внутренний `role=\"dialog\"`-узел. Вынесен в отдельный компонент, потому что обязан жить **под**\n * `AccessibleRegionProvider`: только так `useAccessibleRegionProps` видит метки/описания,\n * зарегистрированные потомками, и выставляет `aria-labelledby` / `aria-describedby`. Явные\n * `aria-*` пропы при этом всё перекрывают. Метка из переводов — лишь дефолт: применяется\n * локально, только когда ни один другой источник метку не дал.\n */\nconst MediaViewerDialog: FC<MediaViewerDialogProps> = ({\n explicitAria,\n fallbackLabel,\n dialogRef,\n children,\n ...rest\n}) => {\n const aria = useAccessibleRegionProps(explicitAria);\n const hasLabel = 'aria-label' in aria || 'aria-labelledby' in aria;\n\n return (\n <motion.div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={hasLabel ? undefined : fallbackLabel}\n {...aria}\n {...rest}\n ref={dialogRef}\n >\n {children}\n </motion.div>\n );\n};\n\nexport const MediaViewer: FC<\n PropsWithChildren<{\n /** Флаг видимости компонента */\n visible: boolean;\n /** Коллбек, вызываемый при закрытии медиавьюера */\n onClose?: VoidFunction;\n /** Индекс слайда, который будет отображаться при открытии компонента, индексация с 0 */\n initialItemIndex?: number;\n }> &\n ExplicitRegionProps\n> &\n MediaViewerCompound = ({\n children,\n visible,\n onClose,\n initialItemIndex = 0,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n 'aria-description': ariaDescription,\n}) => {\n const [isVisible, setIsVisible] = useState(visible);\n const currentSlideIndex = useMotionValue<number>(0);\n const closeProgress = useMotionValue(isVisible ? 0 : 1);\n const currentSlideController = useMotionValue<GalleryItemController | null>(null);\n const visibleRange = useVirtualization(4, currentSlideIndex);\n const closeCallbackRef = useRef(onClose);\n closeCallbackRef.current = onClose;\n const scrollEnableRef = useRef<VoidFunction | null>(null);\n\n const finishClose = useInitOnce(() => () => {\n setIsVisible(false);\n scrollEnableRef.current?.();\n scrollEnableRef.current = null;\n currentSlideIndex.set(0);\n currentSlideController.get()?.reset();\n currentSlideController.set(null);\n closeCallbackRef.current?.();\n });\n\n const close = useInitOnce(() => () => {\n if (closeProgress.get() >= 1) {\n closeProgress.set(1);\n finishClose();\n return;\n }\n const delta = Math.abs(closeProgress.get() - 1);\n const animationDuration = delta * (CoreTokens['magritte-semantic-animation-time-m'].duration / 1000);\n animate(closeProgress, 1, {\n duration: animationDuration,\n ease: EASE_BASE,\n onComplete: finishClose,\n });\n });\n const rootRef = useKeyboardNavigation({ mode: 'loop', enabled: isVisible });\n\n const contextValue = useInitOnce(() => {\n const contextValue = createMediaViewerContextValue(\n visibleRange,\n currentSlideIndex,\n closeProgress,\n currentSlideController,\n close\n );\n contextValue.onRequestClose = () => {\n setIsVisible(false);\n };\n return contextValue;\n });\n\n const keyHandler = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n close();\n return;\n }\n\n const currentSlideIndexRounded = Math.round(currentSlideIndex.get());\n let slideIndex = currentSlideIndexRounded;\n const slidesCount = contextValue.totalSlides.get();\n if (event.key === 'ArrowLeft') {\n slideIndex = clamp(slideIndex - 1, 0, slidesCount - 1);\n }\n if (event.key === 'ArrowRight') {\n slideIndex = clamp(slideIndex + 1, 0, slidesCount - 1);\n }\n if (slideIndex === currentSlideIndexRounded) {\n return;\n }\n\n currentSlideIndex.set(slideIndex);\n },\n [currentSlideIndex, contextValue, close]\n );\n\n useEffect(() => {\n if (visible) {\n document.addEventListener('keydown', keyHandler);\n } else {\n document.removeEventListener('keydown', keyHandler);\n }\n return () => {\n document.removeEventListener('keydown', keyHandler);\n };\n }, [visible, keyHandler]);\n\n const componentDescriptionTrl = useTranslation('MediaViewer', 'componentDescription');\n\n const explicitAria: ExplicitRegionProps = {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n 'aria-description': ariaDescription,\n };\n\n useEffect(() => {\n if (visible && !isVisible) {\n scrollEnableRef.current = disableScroll();\n currentSlideIndex.set(initialItemIndex);\n setIsVisible(true);\n animate(contextValue.closeProgress, 0, {\n duration: CoreTokens['magritte-semantic-animation-time-m'].duration / 1000,\n ease: EASE_BASE,\n });\n return;\n }\n\n if (!visible && isVisible) {\n close();\n }\n // нельзя реагировать на изменения isVisible, иначе при закрытии жестом хук будет срабатывать\n // и переоткрывать компонент, хук должен реагировать только на изменения visible пропса\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible, contextValue]);\n\n useEffect(\n () => () => {\n scrollEnableRef.current?.();\n scrollEnableRef.current = null;\n },\n []\n );\n\n const { isMobile } = useBreakpoint();\n\n const [bindSwipeToClose, isSwipeClosing] = useSwipeToClose<HTMLDivElement>(contextValue);\n const { onTouchStart, onTouchEnd, onClick } = useTapToToggleTools(contextValue);\n const { onMouseMove, onClick: onDesktopClick } = useAutoHideTools(contextValue);\n\n const [items, setItems] = useState<ReactElement<GalleryItemProps>[]>([]);\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <GalleryItemsContext.Provider value={{ items, setItems }}>\n <MediaViewerContext.Provider value={contextValue}>\n <AccessibleRegionProvider>\n <Layer layer=\"media-viewer\">\n <MediaViewerDialog\n explicitAria={explicitAria}\n fallbackLabel={componentDescriptionTrl}\n className={styles.mediaViewer}\n {...(bindSwipeToClose() as HTMLMotionProps<'div'>)}\n dialogRef={rootRef}\n style={\n {\n '--magritte-ui-media-viewer-close-progress': contextValue.closeProgress,\n '--magritte-ui-media-viewer-hide-tools-progress': contextValue.hideToolsProgress,\n ...(!isSwipeClosing\n ? {\n '--magritte-ui-media-viewer-image-close-progress':\n contextValue.closeProgress,\n }\n : {}),\n } as CSSProperties\n }\n onTouchStart={isMobile ? onTouchStart : undefined}\n onTouchEnd={isMobile ? onTouchEnd : undefined}\n onClick={isMobile ? onClick : onDesktopClick}\n onMouseMove={!isMobile ? onMouseMove : undefined}\n >\n {children}\n </MediaViewerDialog>\n </Layer>\n </AccessibleRegionProvider>\n </MediaViewerContext.Provider>\n </GalleryItemsContext.Provider>\n );\n};\n\nMediaViewer.Header = Header;\nMediaViewer.Footer = Footer;\nMediaViewer.Gallery = Gallery;\nMediaViewer.GalleryItem = GalleryItem;\nMediaViewer.Preview = Preview;\nMediaViewer.Toolbar = Toolbar;\nMediaViewer.DesktopTool = DesktopTool;\nMediaViewer.MobileTool = MobileTool;\nMediaViewer.RotateTool = RotateTool;\nMediaViewer.CloseTool = CloseTool;\nMediaViewer.FullWidthTool = FullWidthTool;\n\nMediaViewer.displayName = 'MediaViewer';\n"],"names":["contextValue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MediaViewer.js","sources":["../../common/keyboard/lib/keys-DMQazhll.js","../../common/keyboard/lib/findNextFocusableElement.js","../../common/keyboard/lib/match.js","../../common/keyboard/lib/useKeyboardNavigation.js","src/public/MediaViewer.tsx"],"sourcesContent":["const Escape = {\n key: \"Escape\",\n code: \"Esc\"\n};\nconst PageUp = {\n key: \"PageUp\",\n code: \"Numpad9\"\n};\nconst PageDown = {\n key: \"PageDown\",\n code: \"Numpad3\"\n};\nconst Enter = {\n key: \"Enter\",\n code: \"Enter\"\n};\nconst Space = {\n key: \" \",\n code: \"Space\"\n};\nconst Backspace = {\n key: \"Backspace\",\n code: \"Backspace\"\n};\nconst Delete = {\n key: \"Delete\",\n code: \"Delete\"\n};\nconst Home = {\n key: \"Home\",\n code: \"Home\"\n};\nconst End = {\n key: \"End\",\n code: \"End\"\n};\nconst ArrowRight = {\n key: \"ArrowRight\",\n code: \"ArrowRight\"\n};\nconst ArrowLeft = {\n key: \"ArrowLeft\",\n code: \"ArrowLeft\"\n};\nconst ArrowUp = {\n key: \"ArrowUp\",\n code: \"ArrowUp\"\n};\nconst ArrowDown = {\n key: \"ArrowDown\",\n code: \"ArrowDown\"\n};\nconst Tab = {\n key: \"Tab\",\n code: \"Tab\"\n};\nconst DigitKeys = [\n {\n key: \"0\",\n code: \"Digit0\"\n },\n {\n key: \"1\",\n code: \"Digit1\"\n },\n {\n key: \"2\",\n code: \"Digit2\"\n },\n {\n key: \"3\",\n code: \"Digit3\"\n },\n {\n key: \"4\",\n code: \"Digit4\"\n },\n {\n key: \"5\",\n code: \"Digit5\"\n },\n {\n key: \"6\",\n code: \"Digit6\"\n },\n {\n key: \"7\",\n code: \"Digit7\"\n },\n {\n key: \"8\",\n code: \"Digit8\"\n },\n {\n key: \"9\",\n code: \"Digit9\"\n }\n];\n\nvar keys = /*#__PURE__*/Object.freeze({\n __proto__: null,\n ArrowDown: ArrowDown,\n ArrowLeft: ArrowLeft,\n ArrowRight: ArrowRight,\n ArrowUp: ArrowUp,\n Backspace: Backspace,\n Delete: Delete,\n DigitKeys: DigitKeys,\n End: End,\n Enter: Enter,\n Escape: Escape,\n Home: Home,\n PageDown: PageDown,\n PageUp: PageUp,\n Space: Space,\n Tab: Tab\n});\n\nexport { ArrowUp as A, Backspace as B, Delete as D, Escape as E, Home as H, PageDown as P, Space as S, Tab as T, ArrowRight as a, ArrowDown as b, ArrowLeft as c, DigitKeys as d, End as e, Enter as f, PageUp as g, keys as k };\n//# sourceMappingURL=keys-DMQazhll.js.map\n","const FLOAT_COMPARISON_THRESHOLD = 0.5;\nconst FOCUSABLE_SELECTOR = `\n button:not([disabled]):not([tabindex=\"-1\"]),\n a[href],\n input:not([disabled]):not([tabindex=\"-1\"]):not([type=\"hidden\"]),\n select:not([disabled]):not([tabindex=\"-1\"]),\n textarea:not([disabled]):not([tabindex=\"-1\"]),\n [tabindex]:not([tabindex=\"-1\"])\n`;\nconst canReceiveFocus = (element) => {\n if (typeof element.checkVisibility === \"function\") {\n return element.checkVisibility({\n checkVisibilityCSS: true,\n // старое имя опции visibilityProperty (Chrome 105–121)\n visibilityProperty: true\n });\n }\n return true;\n};\nconst findAllFocusableElements = (container) => {\n return [...container.querySelectorAll(FOCUSABLE_SELECTOR)].filter(canReceiveFocus);\n};\nconst findNextFocusableElement = (container, targetElement, direction, mode = \"main\") => {\n if (mode === \"main\" && !targetElement || targetElement !== null && (targetElement === container || !container.contains(targetElement))) {\n return null;\n }\n const focusableElements = findAllFocusableElements(container);\n const targetRect = targetElement?.getBoundingClientRect() ?? null;\n const targetCenterX = targetRect !== null ? Math.round(targetRect.left + targetRect.width / 2) : Number.NaN;\n const targetCenterY = targetRect !== null ? Math.round(targetRect.top + targetRect.height / 2) : Number.NaN;\n let nearestElement = null;\n let minDistance = Infinity;\n let oppositeElement = null;\n let oppositeCoordinate = Number.NaN;\n switch (direction) {\n case \"up\":\n oppositeCoordinate = targetRect?.top ?? 0;\n break;\n case \"down\":\n oppositeCoordinate = targetRect?.bottom ?? Infinity;\n break;\n case \"left\":\n oppositeCoordinate = targetRect?.right ?? 0;\n break;\n case \"right\":\n oppositeCoordinate = targetRect?.left ?? Infinity;\n break;\n }\n focusableElements.forEach((element) => {\n if (targetElement === element) {\n return;\n }\n const elementRect = element.getBoundingClientRect();\n const elementCenterX = Math.round(elementRect.left + elementRect.width / 2);\n const elementCenterY = Math.round(elementRect.top + elementRect.height / 2);\n if (targetRect !== null && !(direction === \"up\" && (elementCenterY >= targetCenterY || elementRect.bottom > targetRect.top)) && !(direction === \"down\" && (elementCenterY <= targetCenterY || elementRect.top < targetRect.bottom)) && !(direction === \"left\" && (elementCenterX >= targetCenterX || elementRect.right > targetRect.left)) && !(direction === \"right\" && (elementCenterX <= targetCenterX || elementRect.left < targetRect.right))) {\n let distanceX = Math.abs(targetCenterX - elementCenterX);\n let distanceY = Math.abs(targetCenterY - elementCenterY);\n if (direction === \"up\" || direction === \"down\") {\n distanceY *= 0.5;\n } else {\n distanceX *= 0.5;\n }\n const distance = Math.hypot(distanceX, distanceY);\n if (distance < minDistance) {\n minDistance = distance;\n nearestElement = element;\n }\n }\n if (mode === \"list\") {\n if (direction === \"up\" && elementRect.top - oppositeCoordinate > FLOAT_COMPARISON_THRESHOLD) {\n oppositeElement = element;\n oppositeCoordinate = elementRect.top;\n } else if (direction === \"down\" && elementRect.bottom - oppositeCoordinate < -FLOAT_COMPARISON_THRESHOLD) {\n oppositeElement = element;\n oppositeCoordinate = elementRect.bottom;\n } else if (direction === \"left\" && elementRect.right - oppositeCoordinate > FLOAT_COMPARISON_THRESHOLD) {\n oppositeElement = element;\n oppositeCoordinate = elementRect.right;\n } else if (direction === \"right\" && elementRect.left - oppositeCoordinate < -FLOAT_COMPARISON_THRESHOLD) {\n oppositeElement = element;\n oppositeCoordinate = elementRect.left;\n }\n }\n });\n return nearestElement ?? oppositeElement;\n};\n\nexport { FOCUSABLE_SELECTOR, findAllFocusableElements, findNextFocusableElement };\n//# sourceMappingURL=findNextFocusableElement.js.map\n","const keyboardMatch = (event, { key, code }) => {\n return event.key === key || event.code === code;\n};\nconst keyboardMatches = (event, keysToMatch) => {\n for (let i = 0; i < keysToMatch.length; i++) {\n if (keyboardMatch(event, keysToMatch[i])) {\n return true;\n }\n }\n return false;\n};\n\nexport { keyboardMatch, keyboardMatches };\n//# sourceMappingURL=match.js.map\n","import { useRef, useCallback } from 'react';\nimport { findAllFocusableElements, findNextFocusableElement } from './findNextFocusableElement.js';\nimport { T as Tab, A as ArrowUp, a as ArrowRight, b as ArrowDown, c as ArrowLeft } from './keys-DMQazhll.js';\nimport { keyboardMatch } from './match.js';\n\nconst TEXT_FIELD_SELECTOR = 'textarea, input:not([type=\"checkbox\"]):not([type=\"radio\"]), [contenteditable=\"true\"]';\nconst isTextElement = (element) => {\n return element?.matches(TEXT_FIELD_SELECTOR) ?? false;\n};\nconst getNavigationDirection = (event, mode = \"main\") => {\n if (mode === \"list\" && keyboardMatch(event, Tab)) {\n return event.shiftKey ? \"up\" : \"down\";\n }\n if (keyboardMatch(event, ArrowUp)) {\n return \"up\";\n }\n if (keyboardMatch(event, ArrowRight)) {\n return \"right\";\n }\n if (keyboardMatch(event, ArrowDown)) {\n return \"down\";\n }\n if (keyboardMatch(event, ArrowLeft)) {\n return \"left\";\n }\n return null;\n};\nconst handleKeyboardNavigation = (event, container, activeElementOverride = null, mode = \"main\") => {\n const activeElement = activeElementOverride ?? document.activeElement;\n if (mode === \"loop\") {\n const focusableElements = findAllFocusableElements(container);\n if (keyboardMatch(event, Tab) && focusableElements.length > 1) {\n if ((activeElement === container || activeElement === focusableElements[focusableElements.length - 1]) && !event.shiftKey) {\n event.preventDefault();\n focusableElements[0].focus();\n }\n if ((activeElement === container || activeElement === focusableElements[0]) && event.shiftKey) {\n event.preventDefault();\n focusableElements[focusableElements.length - 1].focus();\n }\n }\n }\n if (mode !== \"loop\" && !isTextElement(activeElement)) {\n const direction = getNavigationDirection(event, mode);\n if (direction !== null) {\n const nextFocusableElement = findNextFocusableElement(container, activeElement, direction, mode);\n if (nextFocusableElement !== null) {\n event.preventDefault();\n nextFocusableElement.focus();\n }\n }\n }\n};\nconst useKeyboardNavigation = (args = {}) => {\n const { mode = \"main\", enabled = true, activeElement: activeElementOverride } = args;\n const enabledRef = useRef(enabled);\n enabledRef.current = enabled;\n const activeElementOverrideRef = useRef(activeElementOverride);\n activeElementOverrideRef.current = activeElementOverride;\n const modeRef = useRef(mode);\n modeRef.current = mode;\n const cleanupRef = useRef(null);\n const bindNavigationRef = useCallback((container) => {\n if (!container) {\n cleanupRef.current?.();\n cleanupRef.current = null;\n return;\n }\n const handleKeyDown = (event) => {\n if (enabledRef.current) {\n handleKeyboardNavigation(event, container, activeElementOverrideRef.current, modeRef.current);\n }\n };\n container.addEventListener(\"keydown\", handleKeyDown);\n cleanupRef.current = () => {\n container.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, []);\n return bindNavigationRef;\n};\n\nexport { TEXT_FIELD_SELECTOR, isTextElement, useKeyboardNavigation };\n//# sourceMappingURL=useKeyboardNavigation.js.map\n","import {\n type FC,\n type PropsWithChildren,\n type ReactElement,\n type Ref,\n useState,\n CSSProperties,\n useEffect,\n useCallback,\n useRef,\n} from 'react';\nimport { type HTMLMotionProps, motion, useMotionValue, animate } from 'motion/react';\n\nimport { useKeyboardNavigation } from '@hh.ru/magritte-common-keyboard';\nimport { disableScroll } from '@hh.ru/magritte-common-modal-helper';\nimport { useTranslation } from '@hh.ru/magritte-common-use-translation';\nimport CoreTokens from '@hh.ru/magritte-design-tokens/core-tokens';\nimport {\n AccessibleRegionProvider,\n useAccessibleRegionProps,\n type ExplicitRegionProps,\n} from '@hh.ru/magritte-internal-accessible-region';\nimport { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';\nimport { Layer } from '@hh.ru/magritte-ui-layer';\nimport { GalleryItemProps } from '@hh.ru/magritte-ui-media-viewer/internal/GalleryItemBody';\nimport { EASE_BASE } from '@hh.ru/magritte-ui-media-viewer/internal/animations';\nimport {\n createMediaViewerContextValue,\n MediaViewerContext,\n GalleryItemsContext,\n} from '@hh.ru/magritte-ui-media-viewer/internal/context';\nimport { useAutoHideTools } from '@hh.ru/magritte-ui-media-viewer/internal/hooks/useAutoHideTools';\nimport { type GalleryItemController } from '@hh.ru/magritte-ui-media-viewer/internal/hooks/useGalleryItemController';\nimport { useSwipeToClose } from '@hh.ru/magritte-ui-media-viewer/internal/hooks/useSwipeToClose';\nimport { useTapToToggleTools } from '@hh.ru/magritte-ui-media-viewer/internal/hooks/useTapToToggleTools';\nimport { useVirtualization } from '@hh.ru/magritte-ui-media-viewer/internal/hooks/useVirtualization';\nimport { clamp, useInitOnce } from '@hh.ru/magritte-ui-media-viewer/internal/utils';\nimport { Footer } from '@hh.ru/magritte-ui-media-viewer/public/Footer';\nimport { Gallery } from '@hh.ru/magritte-ui-media-viewer/public/Gallery';\nimport { GalleryItem } from '@hh.ru/magritte-ui-media-viewer/public/GalleryItem';\nimport { Header } from '@hh.ru/magritte-ui-media-viewer/public/Header';\nimport { Preview, PreviewProps } from '@hh.ru/magritte-ui-media-viewer/public/Preview';\nimport { Toolbar, ToolbarProps } from '@hh.ru/magritte-ui-media-viewer/public/Toolbar';\nimport {\n DesktopTool,\n MobileTool,\n RotateTool,\n CloseTool,\n FullWidthTool,\n} from '@hh.ru/magritte-ui-media-viewer/public/Tools';\n\nimport styles from './media-viewer.less';\n\ninterface MediaViewerCompound {\n Gallery: FC<PropsWithChildren>;\n GalleryItem: FC<GalleryItemProps>;\n Preview: FC<PreviewProps>;\n Toolbar: FC<ToolbarProps>;\n Header: FC<PropsWithChildren>;\n Footer: FC<PropsWithChildren>;\n DesktopTool: FC<PropsWithChildren>;\n MobileTool: FC<PropsWithChildren>;\n RotateTool: FC<PropsWithChildren>;\n CloseTool: FC<PropsWithChildren>;\n FullWidthTool: FC<PropsWithChildren>;\n}\n\ninterface MediaViewerDialogProps extends HTMLMotionProps<'div'> {\n explicitAria: ExplicitRegionProps;\n /** Плейсхолдер из переводов — используется только если метка не задана иным источником */\n fallbackLabel: string | undefined;\n dialogRef: Ref<HTMLDivElement>;\n}\n\n/**\n * Внутренний `role=\"dialog\"`-узел. Вынесен в отдельный компонент, потому что обязан жить **под**\n * `AccessibleRegionProvider`: только так `useAccessibleRegionProps` видит метки/описания,\n * зарегистрированные потомками, и выставляет `aria-labelledby` / `aria-describedby`. Явные\n * `aria-*` пропы при этом всё перекрывают. Метка из переводов — лишь дефолт: применяется\n * локально, только когда ни один другой источник метку не дал.\n */\nconst MediaViewerDialog: FC<MediaViewerDialogProps> = ({\n explicitAria,\n fallbackLabel,\n dialogRef,\n children,\n ...rest\n}) => {\n const aria = useAccessibleRegionProps(explicitAria);\n const hasLabel = 'aria-label' in aria || 'aria-labelledby' in aria;\n\n return (\n <motion.div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={hasLabel ? undefined : fallbackLabel}\n {...aria}\n {...rest}\n ref={dialogRef}\n >\n {children}\n </motion.div>\n );\n};\n\nexport const MediaViewer: FC<\n PropsWithChildren<{\n /** Флаг видимости компонента */\n visible: boolean;\n /** Коллбек, вызываемый при закрытии медиавьюера */\n onClose?: VoidFunction;\n /** Индекс слайда, который будет отображаться при открытии компонента, индексация с 0 */\n initialItemIndex?: number;\n }> &\n ExplicitRegionProps\n> &\n MediaViewerCompound = ({\n children,\n visible,\n onClose,\n initialItemIndex = 0,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n 'aria-description': ariaDescription,\n}) => {\n const [isVisible, setIsVisible] = useState(visible);\n const currentSlideIndex = useMotionValue<number>(0);\n const closeProgress = useMotionValue(isVisible ? 0 : 1);\n const currentSlideController = useMotionValue<GalleryItemController | null>(null);\n const visibleRange = useVirtualization(4, currentSlideIndex);\n const closeCallbackRef = useRef(onClose);\n closeCallbackRef.current = onClose;\n const scrollEnableRef = useRef<VoidFunction | null>(null);\n\n const finishClose = useInitOnce(() => () => {\n setIsVisible(false);\n scrollEnableRef.current?.();\n scrollEnableRef.current = null;\n currentSlideIndex.set(0);\n currentSlideController.get()?.reset();\n currentSlideController.set(null);\n closeCallbackRef.current?.();\n });\n\n const close = useInitOnce(() => () => {\n if (closeProgress.get() >= 1) {\n closeProgress.set(1);\n finishClose();\n return;\n }\n const delta = Math.abs(closeProgress.get() - 1);\n const animationDuration = delta * (CoreTokens['magritte-semantic-animation-time-m'].duration / 1000);\n animate(closeProgress, 1, {\n duration: animationDuration,\n ease: EASE_BASE,\n onComplete: finishClose,\n });\n });\n const rootRef = useKeyboardNavigation({ mode: 'loop', enabled: isVisible });\n\n const contextValue = useInitOnce(() => {\n const contextValue = createMediaViewerContextValue(\n visibleRange,\n currentSlideIndex,\n closeProgress,\n currentSlideController,\n close\n );\n contextValue.onRequestClose = () => {\n setIsVisible(false);\n };\n return contextValue;\n });\n\n const keyHandler = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n close();\n return;\n }\n\n const currentSlideIndexRounded = Math.round(currentSlideIndex.get());\n let slideIndex = currentSlideIndexRounded;\n const slidesCount = contextValue.totalSlides.get();\n if (event.key === 'ArrowLeft') {\n slideIndex = clamp(slideIndex - 1, 0, slidesCount - 1);\n }\n if (event.key === 'ArrowRight') {\n slideIndex = clamp(slideIndex + 1, 0, slidesCount - 1);\n }\n if (slideIndex === currentSlideIndexRounded) {\n return;\n }\n\n currentSlideIndex.set(slideIndex);\n },\n [currentSlideIndex, contextValue, close]\n );\n\n useEffect(() => {\n if (visible) {\n document.addEventListener('keydown', keyHandler);\n } else {\n document.removeEventListener('keydown', keyHandler);\n }\n return () => {\n document.removeEventListener('keydown', keyHandler);\n };\n }, [visible, keyHandler]);\n\n const componentDescriptionTrl = useTranslation('MediaViewer', 'componentDescription');\n\n const explicitAria: ExplicitRegionProps = {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n 'aria-description': ariaDescription,\n };\n\n useEffect(() => {\n if (visible && !isVisible) {\n scrollEnableRef.current = disableScroll();\n currentSlideIndex.set(initialItemIndex);\n setIsVisible(true);\n animate(contextValue.closeProgress, 0, {\n duration: CoreTokens['magritte-semantic-animation-time-m'].duration / 1000,\n ease: EASE_BASE,\n });\n return;\n }\n\n if (!visible && isVisible) {\n close();\n }\n // нельзя реагировать на изменения isVisible, иначе при закрытии жестом хук будет срабатывать\n // и переоткрывать компонент, хук должен реагировать только на изменения visible пропса\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visible, contextValue]);\n\n useEffect(\n () => () => {\n scrollEnableRef.current?.();\n scrollEnableRef.current = null;\n },\n []\n );\n\n const { isMobile } = useBreakpoint();\n\n const [bindSwipeToClose, isSwipeClosing] = useSwipeToClose<HTMLDivElement>(contextValue);\n const { onTouchStart, onTouchEnd, onClick } = useTapToToggleTools(contextValue);\n const { onMouseMove, onClick: onDesktopClick } = useAutoHideTools(contextValue);\n\n const [items, setItems] = useState<ReactElement<GalleryItemProps>[]>([]);\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <GalleryItemsContext.Provider value={{ items, setItems }}>\n <MediaViewerContext.Provider value={contextValue}>\n <AccessibleRegionProvider>\n <Layer layer=\"media-viewer\">\n <MediaViewerDialog\n explicitAria={explicitAria}\n fallbackLabel={componentDescriptionTrl}\n className={styles.mediaViewer}\n {...(bindSwipeToClose() as HTMLMotionProps<'div'>)}\n dialogRef={rootRef}\n style={\n {\n '--magritte-ui-media-viewer-close-progress': contextValue.closeProgress,\n '--magritte-ui-media-viewer-hide-tools-progress': contextValue.hideToolsProgress,\n ...(!isSwipeClosing\n ? {\n '--magritte-ui-media-viewer-image-close-progress':\n contextValue.closeProgress,\n }\n : {}),\n } as CSSProperties\n }\n onTouchStart={isMobile ? onTouchStart : undefined}\n onTouchEnd={isMobile ? onTouchEnd : undefined}\n onClick={isMobile ? onClick : onDesktopClick}\n onMouseMove={!isMobile ? onMouseMove : undefined}\n >\n {children}\n </MediaViewerDialog>\n </Layer>\n </AccessibleRegionProvider>\n </MediaViewerContext.Provider>\n </GalleryItemsContext.Provider>\n );\n};\n\nMediaViewer.Header = Header;\nMediaViewer.Footer = Footer;\nMediaViewer.Gallery = Gallery;\nMediaViewer.GalleryItem = GalleryItem;\nMediaViewer.Preview = Preview;\nMediaViewer.Toolbar = Toolbar;\nMediaViewer.DesktopTool = DesktopTool;\nMediaViewer.MobileTool = MobileTool;\nMediaViewer.RotateTool = RotateTool;\nMediaViewer.CloseTool = CloseTool;\nMediaViewer.FullWidthTool = FullWidthTool;\n\nMediaViewer.displayName = 'MediaViewer';\n"],"names":["contextValue"],"mappings":"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"}
|
package/public/Preview.js
CHANGED
|
@@ -12,7 +12,7 @@ import { EASE_BASE } from '../internal/animations.js';
|
|
|
12
12
|
import { useMediaViewerContext, useGalleryItemsContext, PreviewContext } from '../internal/context.js';
|
|
13
13
|
import { useVirtualization } from '../internal/hooks/useVirtualization.js';
|
|
14
14
|
import { useDetectDiscreteChange, useInitOnce, clamp } from '../internal/utils.js';
|
|
15
|
-
import { s as styles } from '../media-viewer-
|
|
15
|
+
import { s as styles } from '../media-viewer-4tGuvs4q.js';
|
|
16
16
|
import 'classnames';
|
|
17
17
|
import '@hh.ru/magritte-common-use-translation';
|
|
18
18
|
import '@hh.ru/magritte-ui-bottom-sheet';
|
package/public/Toolbar.js
CHANGED
|
@@ -4,7 +4,7 @@ import classNames from 'classnames';
|
|
|
4
4
|
import { IconDefaultPropsContext } from '@hh.ru/magritte-ui-icon';
|
|
5
5
|
import { hasCounterContent, Counter } from '../internal/Counter.js';
|
|
6
6
|
import { useGalleryItemsContext } from '../internal/context.js';
|
|
7
|
-
import { s as styles } from '../media-viewer-
|
|
7
|
+
import { s as styles } from '../media-viewer-4tGuvs4q.js';
|
|
8
8
|
import 'react';
|
|
9
9
|
import 'motion/react';
|
|
10
10
|
import '@hh.ru/magritte-common-use-translation';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Переопределение дефолтных пропсов иконок в боковых слотах навбара внутри `MediaViewer.Header`
|
|
3
|
+
* (ключ `actionsIconsProps` у `NavBarDefaultPropsContext`).
|
|
4
|
+
*
|
|
5
|
+
* Вынесено из `Header.tsx` отдельным модулем ради второго читателя — Code Connect-шаблона
|
|
6
|
+
* (`figma/MediaViewer.figma.ts`): он объявляет эти же значения контекстом для вложенного навбара, чтобы сниппет
|
|
7
|
+
* не повторял проп, который шапка и так подставляет. Значение, скопированное в шаблон литералом, разъезжается
|
|
8
|
+
* молча.
|
|
9
|
+
*
|
|
10
|
+
* Модуль обязан оставаться чистыми данными без импортов рантайма: шаблон инлайнится сборщиком.
|
|
11
|
+
*/
|
|
12
|
+
export declare const MEDIA_VIEWER_HEADER_ACTIONS_ICONS_DEFAULTS: {
|
|
13
|
+
readonly borderRadius: 'halfHeight';
|
|
14
|
+
readonly padding: 8;
|
|
15
|
+
readonly backgroundStyle: undefined;
|
|
16
|
+
readonly initialColor: 'constant';
|
|
17
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import './../index.css';
|
|
2
|
+
const MEDIA_VIEWER_HEADER_ACTIONS_ICONS_DEFAULTS = {
|
|
3
|
+
borderRadius: "halfHeight",
|
|
4
|
+
padding: 8,
|
|
5
|
+
backgroundStyle: void 0,
|
|
6
|
+
initialColor: "constant"
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export { MEDIA_VIEWER_HEADER_ACTIONS_ICONS_DEFAULTS };
|
|
10
|
+
//# sourceMappingURL=headerDefaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headerDefaults.js","sources":["src/public/headerDefaults.ts"],"sourcesContent":["/**\n * Переопределение дефолтных пропсов иконок в боковых слотах навбара внутри `MediaViewer.Header`\n * (ключ `actionsIconsProps` у `NavBarDefaultPropsContext`).\n *\n * Вынесено из `Header.tsx` отдельным модулем ради второго читателя — Code Connect-шаблона\n * (`figma/MediaViewer.figma.ts`): он объявляет эти же значения контекстом для вложенного навбара, чтобы сниппет\n * не повторял проп, который шапка и так подставляет. Значение, скопированное в шаблон литералом, разъезжается\n * молча.\n *\n * Модуль обязан оставаться чистыми данными без импортов рантайма: шаблон инлайнится сборщиком.\n */\nexport const MEDIA_VIEWER_HEADER_ACTIONS_ICONS_DEFAULTS = {\n borderRadius: 'halfHeight',\n padding: 8,\n backgroundStyle: undefined,\n initialColor: 'constant',\n} as const;\n"],"names":[],"mappings":"AAWO,MAAM,0CAA6C,GAAA;AAAA,EACtD,YAAc,EAAA,YAAA;AAAA,EACd,OAAS,EAAA,CAAA;AAAA,EACT,eAAiB,EAAA,KAAA,CAAA;AAAA,EACjB,YAAc,EAAA,UAAA;AAClB;;;;"}
|
package/media-viewer-BhKBIoei.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import './index.css';
|
|
2
|
-
var styles = {"media-viewer":"magritte-media-viewer___KnrXP_1-3-46","mediaViewer":"magritte-media-viewer___KnrXP_1-3-46","gallery-placeholder":"magritte-gallery-placeholder___rUoGL_1-3-46","galleryPlaceholder":"magritte-gallery-placeholder___rUoGL_1-3-46","media-viewer-gallery":"magritte-media-viewer-gallery___P0SnN_1-3-46","mediaViewerGallery":"magritte-media-viewer-gallery___P0SnN_1-3-46","gallery-item":"magritte-gallery-item___Js0Z5_1-3-46","galleryItem":"magritte-gallery-item___Js0Z5_1-3-46","gallery-item-transform-container":"magritte-gallery-item-transform-container___N8-sA_1-3-46","galleryItemTransformContainer":"magritte-gallery-item-transform-container___N8-sA_1-3-46","preview-counter":"magritte-preview-counter___uP2Hc_1-3-46","previewCounter":"magritte-preview-counter___uP2Hc_1-3-46","with-description":"magritte-with-description___-w7ld_1-3-46","withDescription":"magritte-with-description___-w7ld_1-3-46","counter-number":"magritte-counter-number___gUpMp_1-3-46","counterNumber":"magritte-counter-number___gUpMp_1-3-46","no-description-placeholder":"magritte-no-description-placeholder___qc6h2_1-3-46","noDescriptionPlaceholder":"magritte-no-description-placeholder___qc6h2_1-3-46","preview-zoom-control":"magritte-preview-zoom-control___026jA_1-3-46","previewZoomControl":"magritte-preview-zoom-control___026jA_1-3-46","preview-container":"magritte-preview-container___nwjNY_1-3-46","previewContainer":"magritte-preview-container___nwjNY_1-3-46","preview":"magritte-preview___0Ge4C_1-3-46","preview-list":"magritte-preview-list___SAXLZ_1-3-46","previewList":"magritte-preview-list___SAXLZ_1-3-46","preview-item":"magritte-preview-item___gz5f2_1-3-46","previewItem":"magritte-preview-item___gz5f2_1-3-46","preview-item-container":"magritte-preview-item-container___JDVsk_1-3-46","previewItemContainer":"magritte-preview-item-container___JDVsk_1-3-46","media-viewer-toolbar":"magritte-media-viewer-toolbar___2C8nr_1-3-46","mediaViewerToolbar":"magritte-media-viewer-toolbar___2C8nr_1-3-46","no-description":"magritte-no-description___NebrT_1-3-46","noDescription":"magritte-no-description___NebrT_1-3-46","media-viewer-toolbar-left":"magritte-media-viewer-toolbar-left___YzkJt_1-3-46","mediaViewerToolbarLeft":"magritte-media-viewer-toolbar-left___YzkJt_1-3-46","media-viewer-toolbar-right":"magritte-media-viewer-toolbar-right___kBER9_1-3-46","mediaViewerToolbarRight":"magritte-media-viewer-toolbar-right___kBER9_1-3-46","prev-button":"magritte-prev-button___WMYjR_1-3-46","prevButton":"magritte-prev-button___WMYjR_1-3-46","next-button":"magritte-next-button___f8hJT_1-3-46","nextButton":"magritte-next-button___f8hJT_1-3-46","slide-button":"magritte-slide-button___sY8LB_1-3-46","slideButton":"magritte-slide-button___sY8LB_1-3-46","preview-placeholder":"magritte-preview-placeholder___yuhW1_1-3-46","previewPlaceholder":"magritte-preview-placeholder___yuhW1_1-3-46","gallery-item-loader":"magritte-gallery-item-loader___70TDe_1-3-46","galleryItemLoader":"magritte-gallery-item-loader___70TDe_1-3-46","gallery-item-error-container":"magritte-gallery-item-error-container___Z-HyZ_1-3-46","galleryItemErrorContainer":"magritte-gallery-item-error-container___Z-HyZ_1-3-46","description-bottom-sheet-content":"magritte-description-bottom-sheet-content___swnEV_1-3-46","descriptionBottomSheetContent":"magritte-description-bottom-sheet-content___swnEV_1-3-46","header":"magritte-header___egZXt_1-3-46","footer":"magritte-footer___rOH-M_1-3-46","description":"magritte-description___dYc-E_1-3-46"};
|
|
3
|
-
|
|
4
|
-
export { styles as s };
|
|
5
|
-
//# sourceMappingURL=media-viewer-BhKBIoei.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"media-viewer-BhKBIoei.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|