@meduza/ui-kit-2 0.1.37 → 0.1.38

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 (35) hide show
  1. package/dist/SensitiveBlock/SensitiveBlock.stories.d.ts +10 -0
  2. package/dist/SensitiveBlock/SensitiveBlock.types.d.ts +15 -0
  3. package/dist/SensitiveBlock/index.d.ts +3 -0
  4. package/dist/index.d.ts +1 -0
  5. package/dist/ui-kit-2.cjs.development.js +195 -126
  6. package/dist/ui-kit-2.cjs.development.js.map +1 -1
  7. package/dist/ui-kit-2.cjs.production.min.js +1 -1
  8. package/dist/ui-kit-2.cjs.production.min.js.map +1 -1
  9. package/dist/ui-kit-2.esm.js +195 -127
  10. package/dist/ui-kit-2.esm.js.map +1 -1
  11. package/dist/ui-kit.css +1282 -1162
  12. package/package.json +6 -6
  13. package/src/.DS_Store +0 -0
  14. package/src/EmbedBlock/EmbedBlock.module.css +20 -60
  15. package/src/EmbedBlock/EmbedBlock.tsx +10 -12
  16. package/src/GroupedBlock/index.tsx +22 -8
  17. package/src/GroupedBlock/mock.json +54 -47
  18. package/src/RawHtmlBlock/RawHtmlBlock.stories.module.css +3 -0
  19. package/src/RawHtmlBlock/RawHtmlBlock.stories.tsx +6 -1
  20. package/src/RawHtmlBlock/index.tsx +5 -0
  21. package/src/RawHtmlBlock/mock.json +113 -24
  22. package/src/RelatedRichBlock/RelatedRichBlock.module.css +19 -12
  23. package/src/RenderBlocks/index.tsx +4 -5
  24. package/src/RenderBlocks/mock.json +0 -73
  25. package/src/SensitiveBlock/SensitiveBlock.module.css +143 -0
  26. package/src/SensitiveBlock/SensitiveBlock.stories.module.css +8 -0
  27. package/src/SensitiveBlock/SensitiveBlock.stories.tsx +40 -0
  28. package/src/SensitiveBlock/SensitiveBlock.test.tsx +20 -0
  29. package/src/SensitiveBlock/SensitiveBlock.types.ts +15 -0
  30. package/src/SensitiveBlock/index.tsx +70 -0
  31. package/src/SensitiveBlock/mock.json +61 -0
  32. package/src/Spoiler/index.tsx +2 -1
  33. package/src/SvgSymbol/SvgSymbol.module.css +1 -1
  34. package/src/index.tsx +1 -0
  35. package/src/vars.css +8 -8
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.37",
2
+ "version": "0.1.38",
3
3
  "license": "MIT",
4
4
  "description": "UIKit for Meduza",
5
5
  "repository": "https://github.com/meduza-corp/ui-kit-2.git",
@@ -59,12 +59,12 @@
59
59
  "@babel/core": "^7.10.5",
60
60
  "@commitlint/cli": "^9.1.1",
61
61
  "@commitlint/config-conventional": "^9.1.1",
62
- "@storybook/addon-actions": "^6.0.21",
63
- "@storybook/addon-docs": "^6.0.21",
62
+ "@storybook/addon-actions": "^6.1.1",
63
+ "@storybook/addon-docs": "^6.1.1",
64
64
  "@storybook/addon-info": "^5.3.21",
65
- "@storybook/addon-links": "^6.0.21",
66
- "@storybook/addons": "^6.0.21",
67
- "@storybook/react": "^6.0.21",
65
+ "@storybook/addon-links": "^6.1.1",
66
+ "@storybook/addons": "^6.1.1",
67
+ "@storybook/react": "^6.1.1",
68
68
  "@testing-library/jest-dom": "^5.11.1",
69
69
  "@testing-library/react": "^10.4.7",
70
70
  "@types/jest": "26.0.14",
package/src/.DS_Store CHANGED
Binary file
@@ -38,6 +38,17 @@
38
38
  flex-flow: column nowrap;
39
39
  }
40
40
 
41
+ .gameEmbed {
42
+ width: 100%;
43
+ max-width: 650px;
44
+ margin: 0 auto;
45
+
46
+ border-radius: 2px;
47
+ background: #fff;
48
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
49
+ }
50
+
51
+ .gameEmbed iframe,
41
52
  .objectWrap iframe {
42
53
  display: block;
43
54
 
@@ -62,17 +73,6 @@
62
73
  height: auto;
63
74
  }
64
75
 
65
- .attachment {
66
- display: flex;
67
- align-items: flex-end;
68
- flex-direction: row;
69
- flex-wrap: nowrap;
70
- }
71
-
72
- .attachment figcaption {
73
- padding-left: 12px;
74
- }
75
-
76
76
  .default,
77
77
  .xs {
78
78
  max-width: 650px;
@@ -92,16 +92,6 @@
92
92
  }
93
93
  }
94
94
 
95
- .full .object {
96
- margin-right: -20px;
97
- margin-left: -20px;
98
-
99
- @media $mobile {
100
- margin-right: 0;
101
- margin-left: 0;
102
- }
103
- }
104
-
105
95
  .super_full {
106
96
  max-width: 100%;
107
97
  }
@@ -159,44 +149,6 @@
159
149
  background-size: 70px 70px;
160
150
  }
161
151
 
162
- .gameEmbed {
163
- width: 100%;
164
- max-width: 650px;
165
- margin: 0 auto;
166
-
167
- border-radius: 2px;
168
- background: #fff;
169
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
170
- }
171
-
172
- .gameEmbed iframe {
173
- display: block;
174
-
175
- width: 100%;
176
-
177
- border-width: 0;
178
- }
179
-
180
- .mobile {
181
- @media $mobile {
182
- display: none;
183
- }
184
- }
185
-
186
- .mobile:first-child .figure {
187
- overflow: hidden;
188
-
189
- border-radius: 8px 8px 0 0;
190
- }
191
-
192
- .desktop {
193
- display: none;
194
-
195
- @media $mobile {
196
- display: block;
197
- }
198
- }
199
-
200
152
  .control {
201
153
  position: absolute;
202
154
  z-index: 10;
@@ -222,6 +174,7 @@
222
174
  margin: 0 auto;
223
175
  }
224
176
 
177
+ .full .object,
225
178
  .mobileFullwidth .object,
226
179
  .figure {
227
180
  margin-right: -20px;
@@ -293,14 +246,20 @@
293
246
  position: static;
294
247
  }
295
248
 
296
- /* VISIBILITY */
297
249
 
250
+ /* DEVICES */
298
251
  .mobile {
299
252
  @media $mobile {
300
253
  display: none;
301
254
  }
302
255
  }
303
256
 
257
+ .mobile:first-child .figure {
258
+ overflow: hidden;
259
+
260
+ border-radius: 8px 8px 0 0;
261
+ }
262
+
304
263
  .desktop {
305
264
  display: none;
306
265
 
@@ -309,6 +268,7 @@
309
268
  }
310
269
  }
311
270
 
271
+
312
272
  /* XS */
313
273
  .xs {
314
274
  @media $contentWidth {
@@ -62,18 +62,16 @@ export const EmbedBlock: React.FC<EmbedBlockProps> = ({
62
62
  case 'image': {
63
63
  return (
64
64
  <div className={styles.figure}>
65
- {(small || optimized) && (
66
- <Image
67
- fullscreen={{ desktop: block.data.fullscreen, mobile: true }}
68
- source={!optimized && [small, large]}
69
- optimized={block.data.optimized}
70
- width={block.data.width}
71
- height={block.data.height}
72
- alt={block.data.caption}
73
- display={block.data.display}
74
- lazy={block.data.lazy}
75
- />
76
- )}
65
+ <Image
66
+ fullscreen={{ desktop: block.data.fullscreen, mobile: true }}
67
+ source={!optimized && [small, large]}
68
+ optimized={block.data.optimized}
69
+ width={block.data.width}
70
+ height={block.data.height}
71
+ alt={block.data.caption}
72
+ display={block.data.display}
73
+ lazy={block.data.lazy}
74
+ />
77
75
  </div>
78
76
  )
79
77
  }
@@ -2,6 +2,7 @@ import React from 'react'
2
2
  import { GroupedBlockProps } from './GroupedBlock.types'
3
3
  import { makeClassName, ClassNames } from '../utils/makeClassName'
4
4
  import makeStyleContext from '../utils/makeStyleContext'
5
+ import { SensitiveBlock } from '../SensitiveBlock'
5
6
  import { EmbedBlockContainer } from '../EmbedBlock'
6
7
  import { MediaCaption } from '../MediaCaption'
7
8
 
@@ -12,12 +13,18 @@ export const GroupedBlock: React.FC<GroupedBlockProps> = ({
12
13
  block: { only_on: onlyOn },
13
14
  styleContext
14
15
  }) => {
15
- const maxHeight = Math.min(...block.data.map((item) => item.data.height))
16
-
17
- const normalizedBoxesWidth = block.data.map(
18
- (item) => item.data.width / (item.data.height / maxHeight)
16
+ const maxHeight = Math.min(
17
+ ...block.data.map(
18
+ (item) => (item.data && item.data.height) || item.item.data.height
19
+ )
19
20
  )
20
21
 
22
+ const normalizedBoxesWidth = block.data.map((item) => {
23
+ const width = (item.data && item.data.width) || item.item.data.heigh
24
+ const height = (item.data && item.data.height) || item.item.data.heigh
25
+ return width / (height / maxHeight)
26
+ })
27
+
21
28
  const sumWidth = normalizedBoxesWidth.reduce((sum, x) => sum + x)
22
29
 
23
30
  let classNames: ClassNames = [
@@ -43,10 +50,17 @@ export const GroupedBlock: React.FC<GroupedBlockProps> = ({
43
50
  key={item.id}
44
51
  style={{ width: `${percentWidth}%` }}
45
52
  >
46
- <EmbedBlockContainer
47
- block={item}
48
- styleContext={['isInGroupedBlock']}
49
- />
53
+ {item.type === 'sensitive' ? (
54
+ <SensitiveBlock
55
+ block={item}
56
+ styleContext={['isInGroupedBlock']}
57
+ />
58
+ ) : (
59
+ <EmbedBlockContainer
60
+ block={item}
61
+ styleContext={['isInGroupedBlock']}
62
+ />
63
+ )}
50
64
  </div>
51
65
  )
52
66
  })}
@@ -53,55 +53,62 @@
53
53
  "id": "13-0-b34177a203aa0897ee8aaf638bf9cf09d0a9db82c725292c4203731ee702c2db"
54
54
  },
55
55
  {
56
- "type": "image",
57
- "data": {
58
- "lazy": true,
59
- "fullscreen": false,
60
- "small_url": "/image/attachments/images/006/011/020/small/3MCxTB9uARNCFtEXSdn4BA.jpg",
61
- "large_url": "/image/attachments/images/006/011/020/large/3MCxTB9uARNCFtEXSdn4BA.jpg",
62
- "elarge_url": "/image/attachments/images/006/011/020/elarge/3MCxTB9uARNCFtEXSdn4BA.jpg",
63
- "width": 1960,
64
- "height": 1307,
65
- "caption": "Последствия лесных пожаров в долине Напа, Калифорния. 15 сентября 2020 года",
66
- "credit": "Justin Sullivan / Getty Images / AFP",
67
- "cc": "default",
68
- "display": "default",
69
- "optimized": {
70
- "original": "https://meduza.io/impro/CanLPFEFtHBDPoH0QICxej2BICo1o20-UTNWc0VJrmI/fill/2670/0/ce/0/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.jpg",
71
- "w325": {
72
- "1x": "https://meduza.io/impro/2UCxX5MMjIYJcTrxtTDV1Ignf8bLqk-er1PLwICaf-k/fill/325/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.jpg",
73
- "2x": "https://meduza.io/impro/nuUBxnUOSfBGP7m6q8DuS2u2j3FJGOfBQ5kZqLE6QpU/fill/650/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.jpg",
74
- "1x_webp": "https://meduza.io/impro/3TrmLBsd7wp-rHtXt-89DBuVYB7JMWaOdz1KTBEdqZQ/fill/325/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.webp",
75
- "2x_webp": "https://meduza.io/impro/T214Ezgxm-hcl9Z273UepPwo7vc1GAzNeaZqrRsTqYI/fill/650/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.webp"
76
- },
77
- "w520": {
78
- "1x": "https://meduza.io/impro/_Eg_U71Irp48DpHp_T35jlwtN7CiG2Pg8RyufRwecb0/fill/520/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.jpg",
79
- "2x": "https://meduza.io/impro/fCa_4qmst5Is2XBPymRGdQ-0Yqvetih5BY1rOpiKrbA/fill/1040/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.jpg",
80
- "1x_webp": "https://meduza.io/impro/kBEbwsPIqv6zZb1-tmzJbGtqg2HVHArBTdJ7XKBRxCg/fill/520/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.webp",
81
- "2x_webp": "https://meduza.io/impro/KxnRpt_J9NqcZBtyIFBVT1x6hpyiG4GuEM-GnWq0PVE/fill/1040/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.webp"
82
- },
83
- "w650": {
84
- "1x": "https://meduza.io/impro/nuUBxnUOSfBGP7m6q8DuS2u2j3FJGOfBQ5kZqLE6QpU/fill/650/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.jpg",
85
- "2x": "https://meduza.io/impro/zKl4bhQuzB2Khv1J9WMkbTDPGNvkNPksRkiJpD2saE0/fill/1300/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.jpg",
86
- "1x_webp": "https://meduza.io/impro/T214Ezgxm-hcl9Z273UepPwo7vc1GAzNeaZqrRsTqYI/fill/650/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.webp",
87
- "2x_webp": "https://meduza.io/impro/q2y7RbDsQos2k2uaqERkgYdgKW-dARp9Z90iuQdm_-E/fill/1300/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.webp"
88
- },
89
- "w980": {
90
- "1x": "https://meduza.io/impro/2TU248Q5xUN-Z_wWcUlJPBsIQtTZaFp7nGfD9NwYFr4/fill/980/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.jpg",
91
- "2x": "https://meduza.io/impro/4aHvHAaOmMl97RF44tz359fOnGk7xPffvKjsIybiY-0/fill/1960/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.jpg",
92
- "1x_webp": "https://meduza.io/impro/4YCukpYtAPGwrQ7FgLiZRYbODs3TqgpgbThM4KHp73A/fill/980/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.webp",
93
- "2x_webp": "https://meduza.io/impro/I1HGtoCKlBZ-47FgHp6B8vmF9ktzTuBYjizraPeiZPM/fill/1960/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.webp"
94
- },
95
- "w1335": {
96
- "1x": "https://meduza.io/impro/o1TGJbCFKQ0I1uytPb1M8BO5PgnCKAwEDuAxIirqrso/fill/1335/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.jpg",
97
- "2x": "https://meduza.io/impro/KnYbAZPBQX65FtCrJqlkxc8By3ImSo4n2xkGrhsGRP4/fill/2670/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.jpg",
98
- "1x_webp": "https://meduza.io/impro/Hltcr4nObZqGiX9B8tftoxiDcj512lA_Czce_-v67Eo/fill/1335/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.webp",
99
- "2x_webp": "https://meduza.io/impro/jIjhi9bak_DcbOEFQp7fTpKXPqwkvwqZ6JCpby7jHcU/fill/2670/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/MTEvMDIwL29yaWdp/bmFsLzNNQ3hUQjl1/QVJOQ0Z0RVhTZG40/QkEuanBn.webp"
56
+ "type": "sensitive",
57
+ "title": "18 ноября несколько тысяч человек устроили возле Бранденбургских ворот в&nbsp;Берлине акцию против антикоронавирусных мер",
58
+ "caption": "18 ноября несколько тысяч человек устроили возле Бранденбургских ворот в Берлине акцию против антикоронавирусных мер, введенных правительством Германии. <a href=\"https://www.zeit.de/politik/deutschland/2020-11/bevoelkerungsschutzgesetz-berlin-corona-proteste-abstimmung-corona-politik-regierungsviertel-infektionsschutzgesetz\" target=\"_blank\">Как сообщает Die Zeit</a>, протестующие не соблюдали дистанцию и не носили защитных масок. В полиции <a href=\"https://twitter.com/PolizeiBerlin_E/status/1329033384409116679\" target=\"_blank\">заявили</a>, что участники протестов бросали в полицейских бутылки, камни и петарды, а также использовали перцовый спрей. Полиция применила против демонстрантов водометы, что «очень необычно для Берлина», <a href=\"https://www.bild.de/regional/berlin/berlin-aktuell/gegner-der-corona-massnahmen-demonstrieren-wieder-in-berlin-74003922.bild.html\" target=\"_blank\">пишет Bild</a>. В полиции <a href=\"https://twitter.com/PolizeiBerlin_E/status/1329063341776642053\" target=\"_blank\">сообщили</a> о 190 задержанных.",
59
+ "credit": "Odd Andersen / AFP / Scanpix / LETA",
60
+ "cc": "default",
61
+ "button": {
62
+ "text": "Трогни чтобы увидеть"
63
+ },
64
+
65
+ "blurred_image": "https://meduza.io/image/attachments/images/006/179/198/original/7E08Oyt5qSKpRywhXLwrLg.webp",
66
+ "item": {
67
+ "type": "image",
68
+ "data": {
69
+ "small_url": "https://meduza.io/image/attachments/images/006/177/130/small/5Ei7odv4IYiUaPJIicJDLQ.jpg",
70
+ "large_url": "https://meduza.io/image/attachments/images/006/177/130/large/5Ei7odv4IYiUaPJIicJDLQ.jpg",
71
+ "elarge_url": "https://meduza.io/image/attachments/images/006/177/130/elarge/5Ei7odv4IYiUaPJIicJDLQ.jpg",
72
+ "height": 1307,
73
+ "width": 1960,
74
+ "display": "full",
75
+ "optimized": {
76
+ "original": "https://meduza.io/impro/anHT0Vh2OPD2xtF9H8CcIZcYPwMfg1Xs3luucAMANCs/fill/2670/0/ce/0/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.jpg",
77
+ "w325": {
78
+ "1x": "https://meduza.io/impro/Pppv1xRwyEPWgTYcWdDtLTyMfKk1yiSWYWbSocZaPX4/fill/325/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.jpg",
79
+ "2x": "https://meduza.io/impro/K2boyZjzctKBpp6eEndOswVplmSviEntVMF7sS-HfGM/fill/650/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.jpg",
80
+ "1x_webp": "https://meduza.io/impro/ju9g9g9NRCZRhAiGXQ28_tUQciVtLPtfGEq4QwzXF6o/fill/325/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.webp",
81
+ "2x_webp": "https://meduza.io/impro/mAkn7bkT3SAKd-eYYPXBuzXl-947G0Z-2OiSYWLYOG8/fill/650/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.webp"
82
+ },
83
+ "w520": {
84
+ "1x": "https://meduza.io/impro/wq7cnaFcyfi4BwlJCPntDAqBPevcWzJplOq66sWFhNE/fill/520/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.jpg",
85
+ "2x": "https://meduza.io/impro/KQypYyxEx7jf8rdM8AY-6C1UKsY7F8VsaWfqbwbR95k/fill/1040/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.jpg",
86
+ "1x_webp": "https://meduza.io/impro/X4geRHzOaIiljNaZlD1_0kP8G_OoWcdKFVKlCrKdHds/fill/520/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.webp",
87
+ "2x_webp": "https://meduza.io/impro/p0-QkEHBdVvxXX052mvP7XXSDav12VvsQ-drzO47VlI/fill/1040/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.webp"
88
+ },
89
+ "w650": {
90
+ "1x": "https://meduza.io/impro/K2boyZjzctKBpp6eEndOswVplmSviEntVMF7sS-HfGM/fill/650/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.jpg",
91
+ "2x": "https://meduza.io/impro/IsiZ5kDEhsWzIds0csL_oz5ml2HHOQU_JIksf1CKlkk/fill/1300/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.jpg",
92
+ "1x_webp": "https://meduza.io/impro/mAkn7bkT3SAKd-eYYPXBuzXl-947G0Z-2OiSYWLYOG8/fill/650/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.webp",
93
+ "2x_webp": "https://meduza.io/impro/tglX8IWWkUPexJezwDfoQg6xDrenUpWaMAgAwHckg7M/fill/1300/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.webp"
94
+ },
95
+ "w980": {
96
+ "1x": "https://meduza.io/impro/XLntahPDRv2sWhqa6zmvKeXIBC_rJe-Gm-QzZidE_v4/fill/980/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.jpg",
97
+ "2x": "https://meduza.io/impro/B3JjZn3hHC6k_evpEmUept2DLnPb3NjuiVKORxlQe8E/fill/1960/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.jpg",
98
+ "1x_webp": "https://meduza.io/impro/XneTbp8xG5tiRfLqkrQR93VBh2bjvsnXsW9TSKVIHu0/fill/980/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.webp",
99
+ "2x_webp": "https://meduza.io/impro/phgrh-EpPeXDBZ1ypW0Z_ZttXFISniLFICLoePQHCas/fill/1960/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.webp"
100
+ },
101
+ "w1335": {
102
+ "1x": "https://meduza.io/impro/GLUfXXJOrHhkW6IcxUfkZ9-ezIJJ7Pcj2ozTVuc-O9c/fill/1335/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.jpg",
103
+ "2x": "https://meduza.io/impro/EEPDi9TRZbxf6P4bDKMKMy_X-rNnZv28Aze1GuTWgS4/fill/2670/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.jpg",
104
+ "1x_webp": "https://meduza.io/impro/kr_f7-7yvpCWTM5VGPq1ydB_wwo6s4AChrbae9S6yDc/fill/1335/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.webp",
105
+ "2x_webp": "https://meduza.io/impro/wJ26MavDdFbHCQ3kzRuEpmfKwZS05Z-8FtM8HkBc3nQ/fill/2670/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzcvMTMwL29yaWdp/bmFsLzVFaTdvZHY0/SVlpVWFQSklpY0pE/TFEuanBn.webp"
106
+ }
100
107
  }
101
- }
108
+ },
109
+ "id": "0-55ff26409b089e78cd332f7125eb6efd2bc2522fb3f0742332ff6b3480916ab0"
102
110
  },
103
- "subtype": "grouped",
104
- "id": "13-1-6700424e506f740e6749ef5707278c4f022a3f49cb9889e1959aa624e2cb5c58"
111
+ "id": "0-55ff26409b089e78cd332f7125eb6efdere2bc2522fb3f0742332ff6b3480916ab0"
105
112
  }
106
113
  ],
107
114
  "cc": "none",
@@ -2,4 +2,7 @@
2
2
 
3
3
  .root {
4
4
  display: block;
5
+
6
+ max-width: 1000px;
7
+ margin: 0 auto;
5
8
  }
@@ -19,7 +19,12 @@ const Example: React.FC = () => {
19
19
  <>
20
20
  <div className={styles.root}>
21
21
  {mock.blocks.map((item) => (
22
- <RawHtmlBlock block={item} key={item.id} lightBox={null} />
22
+ <RawHtmlBlock
23
+ block={item}
24
+ key={item.id}
25
+ lightBox={null}
26
+ styleContext={['center']}
27
+ />
23
28
  ))}
24
29
  </div>
25
30
  </>
@@ -5,6 +5,7 @@ import { RenderBlocks } from '../RenderBlocks'
5
5
  import { Spoiler } from '../Spoiler'
6
6
  import { HalfBlock } from '../HalfBlock'
7
7
  import { Cover } from '../Cover'
8
+ import { RelatedRichBlock } from '../RelatedRichBlock'
8
9
  import { BlockProvider } from '../utils/BlockContext'
9
10
 
10
11
  export const RawHtmlBlock: React.FC<RawHtmlBlockProps> = ({
@@ -41,6 +42,10 @@ export const RawHtmlBlock: React.FC<RawHtmlBlockProps> = ({
41
42
  return <HalfBlock block={block} styleContext={styleContext} />
42
43
  }
43
44
 
45
+ case 'related_rich': {
46
+ return <RelatedRichBlock block={block} styleContext={styleContext} />
47
+ }
48
+
44
49
  default: {
45
50
  return (
46
51
  <BlockProvider value={context}>
@@ -9,45 +9,59 @@
9
9
  {
10
10
  "type": "image",
11
11
  "data": {
12
- "display": "default",
13
- "cc": "none",
12
+ "display": "sfull",
13
+ "wh_810_540_url": "/image/attachments/images/006/174/374/wh_810_540/ZdtwBdux0HAEj22sfoZVzg.jpg",
14
+ "wh_1245_710_url": "/image/attachments/images/006/174/374/wh_1245_710/ZdtwBdux0HAEj22sfoZVzg.jpg",
15
+ "wh_1245_500_url": "/image/attachments/images/006/174/374/wh_1245_500/ZdtwBdux0HAEj22sfoZVzg.jpg",
16
+ "wh_615_410_url": "/image/attachments/images/006/174/374/wh_615_410/ZdtwBdux0HAEj22sfoZVzg.jpg",
17
+ "wh_405_270_url": "/image/attachments/images/006/174/374/wh_405_270/ZdtwBdux0HAEj22sfoZVzg.jpg",
18
+ "wh_300_200_url": "/image/attachments/images/006/174/374/wh_300_200/ZdtwBdux0HAEj22sfoZVzg.jpg",
19
+ "wh_165_110_url": "/image/attachments/images/006/174/374/wh_165_110/ZdtwBdux0HAEj22sfoZVzg.jpg",
20
+ "small_url": "/image/attachments/images/006/174/374/small/ZdtwBdux0HAEj22sfoZVzg.jpg",
21
+ "large_url": "/image/attachments/images/006/174/374/large/ZdtwBdux0HAEj22sfoZVzg.jpg",
22
+ "elarge_url": "/image/attachments/images/006/174/374/elarge/ZdtwBdux0HAEj22sfoZVzg.jpg",
23
+ "width": 1574,
24
+ "height": 890,
25
+ "caption": "Азербайджанские беспилотники, которые, по утверждению армянской стороны, были подбиты или перехвачены до начала войны в Карабахе. Ереван, 21 июля 2020 года",
26
+ "credit": "Айк Халатян / Коммерсант",
27
+ "cc": "default",
14
28
  "only_on": "desktop",
15
29
  "optimized": {
16
- "original": "https://meduza.io/impro/Cq0iwI5cI7zIsJoiZNkhcYE9i1XQdSf6MQkIIB5jz7E/fill/2670/0/ce/0/aHR0cHM6Ly9tZWR1/emEuaW8.",
30
+ "original": "https://meduza.io/impro/CXRnPgtvpCMPDTL-I-UvW1niUNBjk92kZg1yIIZdm0E/fill/2670/0/ce/0/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.jpg",
17
31
  "w325": {
18
- "1x": "https://meduza.io/impro/71RM58GCx-oAfoS-qungNBuTcdV92SXIO3l_WmHcN4k/fill/325/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.",
19
- "2x": "https://meduza.io/impro/mZTtXwEFU3Eydeamz6jzl_Cgy2P3MarFsPW8v-uPZRA/fill/650/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.",
20
- "1x_webp": "https://meduza.io/impro/x67lhgMAk5RT1cPRLZ_HPgZxT0gCX0bpGYfkXlQWOrs/fill/325/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.webp",
21
- "2x_webp": "https://meduza.io/impro/ghBbI1NVTVK14EUxpkigvxNXAjT3SRdBVfgtlsM6fhA/fill/650/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.webp"
32
+ "1x": "https://meduza.io/impro/AmySdo6IuPyyscRh8dPCXaR9htFAF0EAzlv8ODW0zI0/fill/325/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.jpg",
33
+ "2x": "https://meduza.io/impro/Efv2z1qDaVOcZYY1Ft3FT7Th_lWmL0yw3NNjY5IqOOI/fill/650/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.jpg",
34
+ "1x_webp": "https://meduza.io/impro/hoN9RASuwNDWxz024Arvpd5OZw_eq-P73bKrGp87wGs/fill/325/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.webp",
35
+ "2x_webp": "https://meduza.io/impro/HtifEzg1Md3dxwGEZiGO-LyuJ5wfpo0P0erqDkwkB4Q/fill/650/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.webp"
22
36
  },
23
37
  "w520": {
24
- "1x": "https://meduza.io/impro/9Cdi5FnFa5U-7heIrlxoFIHfkT4y0IETzYE5_Z_eHhQ/fill/520/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.",
25
- "2x": "https://meduza.io/impro/zfEFfuH6y4EPCO3RsG6SEWqCjJznGA-DTt-2ZdSSbDU/fill/1040/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.",
26
- "1x_webp": "https://meduza.io/impro/hQSXUz0yrr1TIZM8VqouRVjKSXMnrCfBQVLbn5uR4Mo/fill/520/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.webp",
27
- "2x_webp": "https://meduza.io/impro/lA7yk1L0uxQzowgoXV9E-_1QMOVwjUF1RLhCAJ24sks/fill/1040/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.webp"
38
+ "1x": "https://meduza.io/impro/nwDxhezffCwqqKfbg5d1qRW1UZnoqjvJRrx9ZpZXmO4/fill/520/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.jpg",
39
+ "2x": "https://meduza.io/impro/L-yGUEtCQqh4vfcNbwoqLsCC2LKNgo5ogpHoybLYopU/fill/1040/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.jpg",
40
+ "1x_webp": "https://meduza.io/impro/mw9JE2p8aCNz2sZp6tZo_ANFURXaotzdAFrHFVtZwjI/fill/520/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.webp",
41
+ "2x_webp": "https://meduza.io/impro/EhyQnEsb_9Zvxe5Cff4z-Q51Jhp3CfBzLlSqXBfkECA/fill/1040/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.webp"
28
42
  },
29
43
  "w650": {
30
- "1x": "https://meduza.io/impro/mZTtXwEFU3Eydeamz6jzl_Cgy2P3MarFsPW8v-uPZRA/fill/650/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.",
31
- "2x": "https://meduza.io/impro/AzoY4UD7jHyvBpswizObS6IRnAEoifhjx6Ch2YbBU38/fill/1300/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.",
32
- "1x_webp": "https://meduza.io/impro/ghBbI1NVTVK14EUxpkigvxNXAjT3SRdBVfgtlsM6fhA/fill/650/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.webp",
33
- "2x_webp": "https://meduza.io/impro/3xNDYJdlsgqPqCWwn_ji1dcgZXVJ0QZW_wzWe2D0r3Q/fill/1300/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.webp"
44
+ "1x": "https://meduza.io/impro/Efv2z1qDaVOcZYY1Ft3FT7Th_lWmL0yw3NNjY5IqOOI/fill/650/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.jpg",
45
+ "2x": "https://meduza.io/impro/nIirsb_avMBndRErEoPiZIW7MFtCizwbnQsfqXM1lKM/fill/1300/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.jpg",
46
+ "1x_webp": "https://meduza.io/impro/HtifEzg1Md3dxwGEZiGO-LyuJ5wfpo0P0erqDkwkB4Q/fill/650/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.webp",
47
+ "2x_webp": "https://meduza.io/impro/wFfHlB2onAodFbUDZTDd-tlt6YiSlJFYQYphuu9c0jU/fill/1300/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.webp"
34
48
  },
35
49
  "w980": {
36
- "1x": "https://meduza.io/impro/8qexRL6-Gc5YyHkTXCMvS5w_m6C8gQvDLxiBv8XoPuw/fill/980/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.",
37
- "2x": "https://meduza.io/impro/toFXld6dcqIhLsnrUjTF5YY1rpmQ1db4BFIEUG9vUP4/fill/1960/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.",
38
- "1x_webp": "https://meduza.io/impro/PdzjFzbJR-XvGgbdsG0h_oaAiDwIBsjClkj-Aq6EgsM/fill/980/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.webp",
39
- "2x_webp": "https://meduza.io/impro/1PyHHAkaIEBt2iCfo0MYU-Fk-W9sm9TmiWTKuUfGQ2Y/fill/1960/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.webp"
50
+ "1x": "https://meduza.io/impro/R4dFviatnTCC6bDfMdEWzp1Gn3xKemkgfxqvQZijwkU/fill/980/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.jpg",
51
+ "2x": "https://meduza.io/impro/W8Ej_DepzTow2hMn_qvPKu-m7uKQNwL9sg7DTetQKeI/fill/1960/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.jpg",
52
+ "1x_webp": "https://meduza.io/impro/fyhn2SEJ_WmADfKEbLo73sPEW3zGWvCTwKcVvQHNNW4/fill/980/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.webp",
53
+ "2x_webp": "https://meduza.io/impro/8OACPRrWWqm-wTwkbesOblTqOtmN53xTJ9AeaGRD9PU/fill/1960/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.webp"
40
54
  },
41
55
  "w1335": {
42
- "1x": "https://meduza.io/impro/L64c_2KGCucRa-su2JevMV2XGmCycvO1xkbbhLHLBps/fill/1335/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.",
43
- "2x": "https://meduza.io/impro/ztlnrueJIjIvD1FOQbZGohPicV8-WuhQWS7T6mApLgg/fill/2670/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.",
44
- "1x_webp": "https://meduza.io/impro/shwEBdfAGRszkpdjB066VQQ7MpCSUZSibFd7dq63O-M/fill/1335/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.webp",
45
- "2x_webp": "https://meduza.io/impro/Dz7tIStOkX25-crIoDc4GTQKH5r4DWSM2qOU3oOSlSA/fill/2670/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8.webp"
56
+ "1x": "https://meduza.io/impro/d-GwKo4RRE5Dp7JTeAvUlOlTg6d1eIORjG8HRmpGA4Q/fill/1335/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.jpg",
57
+ "2x": "https://meduza.io/impro/3VH6MyY5W3MgMyYO7Yesaxl9vW6LnrVi-8-ZFHdZYIw/fill/2670/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.jpg",
58
+ "1x_webp": "https://meduza.io/impro/FlzSzEYceCJF05TPVKQAZ1p4z7pxWiDn07iBlJULr6c/fill/1335/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.webp",
59
+ "2x_webp": "https://meduza.io/impro/hdRRFlus_DUyomGZg3bWJXLC2wgYBNfAiGDRwKSYzRo/fill/2670/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8x/NzQvMzc0L29yaWdp/bmFsL1pkdHdCZHV4/MEhBRWoyMnNmb1pW/emcuanBn.webp"
46
60
  }
47
61
  }
48
62
  },
49
63
  "only_on": "desktop",
50
- "id": "0-ee46b4f495604adf5e078719a2bfb853515cf60e96912dbfdcee741479968cc3"
64
+ "id": "0-4fe0ec5ae4a13a0066577ef467e8d94015c1ecfdc1a28488ea8316f1855c7e58"
51
65
  },
52
66
  {
53
67
  "type": "blockquote",
@@ -85,6 +99,81 @@
85
99
  "length": 397,
86
100
  "id": "6-a7e74bdf978563d60aff60e67ca975e27d716568bdc59ee41cd275b634d0fcf5"
87
101
  },
102
+
103
+ {
104
+ "type": "related_rich",
105
+ "data": {
106
+ "url": "https://meduza.io/",
107
+ "fallback": {
108
+ "data": {
109
+ "title": "Не богато вышло",
110
+ "related": [
111
+ {
112
+ "title": "«Если кто-нибудь видит меня и слышит, пожалуйста, распространите это видео любым способом! Чтобы я существовал!»",
113
+ "second": "Автор фильма «Котлован» — о том, как сделал его из обращений россиян к Путину",
114
+ "layout": "rich",
115
+ "url": "feature/2018/09/18/na-rossiyskuyu-bolnitsu-pervye-podali-v-sud-za-otkaz-v-poseschenii-umirayuschego-v-reanimatsii-rodstvennika-sud-vstal-na-storonu-medikov",
116
+ "id": "0-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
117
+ }
118
+ ]
119
+ },
120
+ "only_on": "desktop"
121
+ },
122
+ "cover": {
123
+ "ratio": 1.4976958525,
124
+ "layout": "rich",
125
+ "urls": {
126
+ "w325": {
127
+ "1x": "http://meduza.io/image/attachments/images/006/087/556/elarge/E_3uGWnvssXzgtJ05-_Rfw.jpg",
128
+ "2x": "http://meduza.io/image/attachments/images/006/087/556/elarge/E_3uGWnvssXzgtJ05-_Rfw.jpg",
129
+ "1x_webp": "http://meduza.io/impro/MbBIK4vj9YMr8INLi6GMIYF4muqHFCWV0b1rxhhM6aI/fill/0/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/ODcvNTU2L2VsYXJn/ZS9FXzN1R1dudnNz/WHpndEowNS1fUmZ3/LmpwZw.webp",
130
+ "2x_webp": "http://meduza.io/impro/MbBIK4vj9YMr8INLi6GMIYF4muqHFCWV0b1rxhhM6aI/fill/0/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/ODcvNTU2L2VsYXJn/ZS9FXzN1R1dudnNz/WHpndEowNS1fUmZ3/LmpwZw.webp"
131
+ },
132
+ "w600": {
133
+ "1x": "http://meduza.io/image/attachments/images/006/087/556/elarge/E_3uGWnvssXzgtJ05-_Rfw.jpg",
134
+ "2x": "http://meduza.io/image/attachments/images/006/087/556/elarge/E_3uGWnvssXzgtJ05-_Rfw.jpg",
135
+ "1x_webp": "http://meduza.io/impro/MbBIK4vj9YMr8INLi6GMIYF4muqHFCWV0b1rxhhM6aI/fill/0/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/ODcvNTU2L2VsYXJn/ZS9FXzN1R1dudnNz/WHpndEowNS1fUmZ3/LmpwZw.webp",
136
+ "2x_webp": "http://meduza.io/impro/MbBIK4vj9YMr8INLi6GMIYF4muqHFCWV0b1rxhhM6aI/fill/0/0/ce/1/aHR0cHM6Ly9tZWR1/emEuaW8vaW1hZ2Uv/YXR0YWNobWVudHMv/aW1hZ2VzLzAwNi8w/ODcvNTU2L2VsYXJn/ZS9FXzN1R1dudnNz/WHpndEowNS1fUmZ3/LmpwZw.webp"
137
+ }
138
+ },
139
+ "tag": "Читайте также",
140
+ "gradients": {
141
+ "text_rgb": "255,255,255",
142
+ "bg_rgb": "0,0,0"
143
+ }
144
+ },
145
+ "blocks": [
146
+ {
147
+ "type": "rich_title",
148
+ "data": {
149
+ "first": "«Если кто-нибудь видит меня и слышит, пожалуйста, распространите это видео любым способом! Чтобы я существовал!»",
150
+ "second": "Автор фильма «Котлован» — о том, как сделал его из обращений россиян к Путину",
151
+ "as": "h3",
152
+ "featured": false
153
+ },
154
+ "id": "1-7b53ea24bd8ae1cfa59f45e4e4027bdabb5bf9667b97f0a6ed45d6b464c47356"
155
+ },
156
+ {
157
+ "type": "meta",
158
+ "data": {
159
+ "lang": "ru",
160
+ "components": [
161
+ {
162
+ "type": "datetime",
163
+ "datetime": 1600593764,
164
+ "id": "7639a7d1455a1ca907de0fc98a22b017e23f30e7df15b0739c78418848d674b5"
165
+ }
166
+ ],
167
+ "theme": "light"
168
+ },
169
+ "id": "2-e09585bd2b15e886b22728975010295dae47dd7ace948bc8aa012080f713290d"
170
+ }
171
+ ]
172
+ },
173
+ "only_on": "desktop",
174
+ "id": "11-1ff7b114f405e532387ad41ebfc3c7941313c3baaa413180d495c00a60273f0d2eb400d"
175
+ },
176
+
88
177
  {
89
178
  "type": "quote",
90
179
  "data": "<strong>Путин:</strong> Мы чувствовали себя импотентами во время всей этой катастрофы. Сейчас все выглядит так, что весь экипаж погиб в течение 60 или 90 секунд. <mark>Мы не могли рассказать родственникам</mark>, но в корпусе была дыра шириной около 2 метров, через которую затопило первые три секции подлодки. Я даже не знаю, как мы можем вытащить тела. В этих водах много трески, и плоти на костях может не остаться. <mark>Мы пытались спустить на тормозах всю эту шумиху</mark>, но некоторые люди странные, и они просто продолжали ее подпитывать. Это просто факт жизни.",