@gravity-ui/blog-constructor 5.5.0 → 5.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -123,7 +123,27 @@ export declare const Header: {
123
123
  };
124
124
  controls: {
125
125
  type: string;
126
- enum: string[];
126
+ enum: import("@gravity-ui/page-constructor").MediaVideoControlsType[];
127
+ };
128
+ customControlsOptions: {
129
+ type: string;
130
+ additionalProperties: boolean;
131
+ properties: {
132
+ type: {
133
+ type: string;
134
+ enum: import("@gravity-ui/page-constructor").CustomControlsType[];
135
+ };
136
+ muteButtonShown: {
137
+ type: string;
138
+ };
139
+ positioning: {
140
+ type: string;
141
+ enum: import("@gravity-ui/page-constructor").CustomControlsButtonPositioning[];
142
+ };
143
+ };
144
+ };
145
+ ariaLabel: {
146
+ type: string;
127
147
  };
128
148
  };
129
149
  } & {
@@ -271,7 +291,27 @@ export declare const Header: {
271
291
  };
272
292
  controls: {
273
293
  type: string;
274
- enum: string[];
294
+ enum: import("@gravity-ui/page-constructor").MediaVideoControlsType[];
295
+ };
296
+ customControlsOptions: {
297
+ type: string;
298
+ additionalProperties: boolean;
299
+ properties: {
300
+ type: {
301
+ type: string;
302
+ enum: import("@gravity-ui/page-constructor").CustomControlsType[];
303
+ };
304
+ muteButtonShown: {
305
+ type: string;
306
+ };
307
+ positioning: {
308
+ type: string;
309
+ enum: import("@gravity-ui/page-constructor").CustomControlsButtonPositioning[];
310
+ };
311
+ };
312
+ };
313
+ ariaLabel: {
314
+ type: string;
275
315
  };
276
316
  };
277
317
  };
@@ -388,6 +428,9 @@ export declare const Header: {
388
428
  };
389
429
  })[];
390
430
  };
431
+ ratio: {
432
+ type: string;
433
+ };
391
434
  };
392
435
  } & {
393
436
  optionName: string;
@@ -109,7 +109,27 @@ export declare const Media: {
109
109
  };
110
110
  controls: {
111
111
  type: string;
112
- enum: string[];
112
+ enum: import("@gravity-ui/page-constructor").MediaVideoControlsType[];
113
+ };
114
+ customControlsOptions: {
115
+ type: string;
116
+ additionalProperties: boolean;
117
+ properties: {
118
+ type: {
119
+ type: string;
120
+ enum: import("@gravity-ui/page-constructor").CustomControlsType[];
121
+ };
122
+ muteButtonShown: {
123
+ type: string;
124
+ };
125
+ positioning: {
126
+ type: string;
127
+ enum: import("@gravity-ui/page-constructor").CustomControlsButtonPositioning[];
128
+ };
129
+ };
130
+ };
131
+ ariaLabel: {
132
+ type: string;
113
133
  };
114
134
  };
115
135
  };
@@ -226,6 +246,9 @@ export declare const Media: {
226
246
  };
227
247
  })[];
228
248
  };
249
+ ratio: {
250
+ type: string;
251
+ };
229
252
  paddingTop: {
230
253
  type: string;
231
254
  enum: string[];
@@ -11,7 +11,7 @@ const CustomSwitcher_1 = require("../CustomSwitcher/CustomSwitcher");
11
11
  const b = (0, cn_1.block)('feed-controls');
12
12
  const renderSwitcher = ({ initial, list, defaultLabel }) =>
13
13
  // eslint-disable-next-line react/display-name
14
- ({ onClick, ref }) => (react_1.default.createElement(CustomSwitcher_1.CustomSwitcher, { initial: initial, defaultLabel: defaultLabel, list: list, controlRef: ref, onClick: onClick }));
14
+ ({ onClick, ref, onKeyDown, open }) => (react_1.default.createElement(CustomSwitcher_1.CustomSwitcher, { initial: initial, defaultLabel: defaultLabel, list: list, controlRef: ref, onClick: onClick, onKeyDown: onKeyDown, open: open }));
15
15
  exports.renderSwitcher = renderSwitcher;
16
16
  const renderFilter = ({ value, ref, onChange, onKeyDown }) => (react_1.default.createElement(uikit_1.TextInput, { controlRef: ref, controlProps: { size: 1 }, value: value, view: "clear", placeholder: (0, i18n_1.i18)(i18n_1.Keyset.Search), onUpdate: onChange, onKeyDown: onKeyDown, className: b('popup-filter') }));
17
17
  exports.renderFilter = renderFilter;
@@ -12,6 +12,17 @@ unpredictable css rules order in build */
12
12
  border-radius: var(--g-border-radius-xl);
13
13
  width: 100%;
14
14
  line-height: 42px;
15
+ text-align: initial;
16
+ font-family: inherit;
17
+ padding: 0;
18
+ margin: 0;
19
+ }
20
+ .bc-feed-custom-switcher__custom-switcher:focus {
21
+ outline: 2px solid var(--g-color-line-focus);
22
+ outline-offset: 0;
23
+ }
24
+ .bc-feed-custom-switcher__custom-switcher:focus:not(:focus-visible) {
25
+ outline: 0;
15
26
  }
16
27
  .bc-feed-custom-switcher__custom-switcher + .yc-popup.yc-popup_open {
17
28
  position: absolute !important;
@@ -8,5 +8,5 @@ export type CustomSwitcherProps = {
8
8
  list: SelectItem[];
9
9
  controlRef: RenderControlParameters['ref'];
10
10
  } & Omit<RenderControlParameters, 'ref'>;
11
- export declare const CustomSwitcher: ({ initial, defaultLabel, list, onClick, controlRef, }: CustomSwitcherProps) => React.JSX.Element;
11
+ export declare const CustomSwitcher: ({ initial, defaultLabel, list, onClick, controlRef, onKeyDown, open, }: CustomSwitcherProps) => React.JSX.Element;
12
12
  export {};
@@ -8,7 +8,7 @@ const DropdownArrow_1 = require("../../../../icons/DropdownArrow");
8
8
  const cn_1 = require("../../../../utils/cn");
9
9
  const b = (0, cn_1.block)('feed-custom-switcher');
10
10
  const ICON_SIZE = 12;
11
- const CustomSwitcher = ({ initial, defaultLabel, list, onClick, controlRef, }) => {
11
+ const CustomSwitcher = ({ initial, defaultLabel, list, onClick, controlRef, onKeyDown, open, }) => {
12
12
  const itemsNames = (0, react_1.useMemo)(() => {
13
13
  const items = list
14
14
  .filter((item) => initial.includes(item.value))
@@ -16,7 +16,7 @@ const CustomSwitcher = ({ initial, defaultLabel, list, onClick, controlRef, }) =
16
16
  return items.length ? items : [defaultLabel];
17
17
  }, [defaultLabel, initial, list]);
18
18
  const hasCounter = itemsNames.length > 1;
19
- return (react_1.default.createElement("div", { className: b('custom-switcher'), onClick: onClick, ref: controlRef },
19
+ return (react_1.default.createElement("button", { className: b('custom-switcher'), onClick: onClick, ref: controlRef, onKeyDown: onKeyDown, "aria-expanded": open },
20
20
  react_1.default.createElement("div", { className: b('custom-switcher-element', { content: true }) }, itemsNames === null || itemsNames === void 0 ? void 0 : itemsNames.join(', ')),
21
21
  hasCounter && (react_1.default.createElement("div", { className: b('custom-switcher-element', { counter: true }) }, itemsNames.length)),
22
22
  react_1.default.createElement("div", { className: b('custom-switcher-element', { arrow: true }) },
@@ -109,10 +109,20 @@ unpredictable css rules order in build */
109
109
  }
110
110
  .yfm_blog a {
111
111
  color: var(--g-color-text-link);
112
+ border-radius: var(--g-focus-border-radius);
112
113
  }
113
114
  .yfm_blog a:hover {
114
115
  color: var(--g-color-text-link-hover);
115
116
  }
117
+ .yfm_blog a:focus {
118
+ box-shadow: 0 0 0 2px var(--g-color-line-focus);
119
+ }
120
+ .yfm_blog a:focus:not(:focus-visible) {
121
+ box-shadow: none;
122
+ }
123
+ .yfm_blog a:focus {
124
+ outline: 0;
125
+ }
116
126
  .yfm_blog .yfm-tab:hover, .yfm_blog .yfm-tab:active {
117
127
  color: var(--g-color-text-link-hover);
118
128
  }
@@ -194,6 +204,7 @@ unpredictable css rules order in build */
194
204
  color: var(--g-color-text-link);
195
205
  text-decoration: none;
196
206
  cursor: pointer;
207
+ border-radius: var(--g-focus-border-radius);
197
208
  }
198
209
  .utilityfocus .yfm_constructor a:focus {
199
210
  outline: 2px solid #ffdb4d;
@@ -202,6 +213,12 @@ unpredictable css rules order in build */
202
213
  --pc-text-header-color: var(--g-color-text-link-hover);
203
214
  color: var(--g-color-text-link-hover);
204
215
  }
216
+ .yfm_constructor a:focus {
217
+ box-shadow: 0 0 0 2px var(--g-color-line-focus);
218
+ }
219
+ .yfm_constructor a:focus:not(:focus-visible) {
220
+ box-shadow: none;
221
+ }
205
222
  .yfm_constructor table {
206
223
  color: var(--g-color-text-primary);
207
224
  border: 1px solid var(--g-color-line-generic);
@@ -131,7 +131,27 @@ export declare const schemasForCustom: {
131
131
  };
132
132
  controls: {
133
133
  type: string;
134
- enum: string[];
134
+ enum: import("@gravity-ui/page-constructor").MediaVideoControlsType[];
135
+ };
136
+ customControlsOptions: {
137
+ type: string;
138
+ additionalProperties: boolean;
139
+ properties: {
140
+ type: {
141
+ type: string;
142
+ enum: import("@gravity-ui/page-constructor").CustomControlsType[];
143
+ };
144
+ muteButtonShown: {
145
+ type: string;
146
+ };
147
+ positioning: {
148
+ type: string;
149
+ enum: import("@gravity-ui/page-constructor").CustomControlsButtonPositioning[];
150
+ };
151
+ };
152
+ };
153
+ ariaLabel: {
154
+ type: string;
135
155
  };
136
156
  };
137
157
  } & {
@@ -279,7 +299,27 @@ export declare const schemasForCustom: {
279
299
  };
280
300
  controls: {
281
301
  type: string;
282
- enum: string[];
302
+ enum: import("@gravity-ui/page-constructor").MediaVideoControlsType[];
303
+ };
304
+ customControlsOptions: {
305
+ type: string;
306
+ additionalProperties: boolean;
307
+ properties: {
308
+ type: {
309
+ type: string;
310
+ enum: import("@gravity-ui/page-constructor").CustomControlsType[];
311
+ };
312
+ muteButtonShown: {
313
+ type: string;
314
+ };
315
+ positioning: {
316
+ type: string;
317
+ enum: import("@gravity-ui/page-constructor").CustomControlsButtonPositioning[];
318
+ };
319
+ };
320
+ };
321
+ ariaLabel: {
322
+ type: string;
283
323
  };
284
324
  };
285
325
  };
@@ -396,6 +436,9 @@ export declare const schemasForCustom: {
396
436
  };
397
437
  })[];
398
438
  };
439
+ ratio: {
440
+ type: string;
441
+ };
399
442
  };
400
443
  } & {
401
444
  optionName: string;
@@ -1226,7 +1269,27 @@ export declare const schemasForCustom: {
1226
1269
  };
1227
1270
  controls: {
1228
1271
  type: string;
1229
- enum: string[];
1272
+ enum: import("@gravity-ui/page-constructor").MediaVideoControlsType[];
1273
+ };
1274
+ customControlsOptions: {
1275
+ type: string;
1276
+ additionalProperties: boolean;
1277
+ properties: {
1278
+ type: {
1279
+ type: string;
1280
+ enum: import("@gravity-ui/page-constructor").CustomControlsType[];
1281
+ };
1282
+ muteButtonShown: {
1283
+ type: string;
1284
+ };
1285
+ positioning: {
1286
+ type: string;
1287
+ enum: import("@gravity-ui/page-constructor").CustomControlsButtonPositioning[];
1288
+ };
1289
+ };
1290
+ };
1291
+ ariaLabel: {
1292
+ type: string;
1230
1293
  };
1231
1294
  };
1232
1295
  };
@@ -1343,6 +1406,9 @@ export declare const schemasForCustom: {
1343
1406
  };
1344
1407
  })[];
1345
1408
  };
1409
+ ratio: {
1410
+ type: string;
1411
+ };
1346
1412
  paddingTop: {
1347
1413
  type: string;
1348
1414
  enum: string[];
@@ -123,7 +123,27 @@ export declare const Header: {
123
123
  };
124
124
  controls: {
125
125
  type: string;
126
- enum: string[];
126
+ enum: import("@gravity-ui/page-constructor").MediaVideoControlsType[];
127
+ };
128
+ customControlsOptions: {
129
+ type: string;
130
+ additionalProperties: boolean;
131
+ properties: {
132
+ type: {
133
+ type: string;
134
+ enum: import("@gravity-ui/page-constructor").CustomControlsType[];
135
+ };
136
+ muteButtonShown: {
137
+ type: string;
138
+ };
139
+ positioning: {
140
+ type: string;
141
+ enum: import("@gravity-ui/page-constructor").CustomControlsButtonPositioning[];
142
+ };
143
+ };
144
+ };
145
+ ariaLabel: {
146
+ type: string;
127
147
  };
128
148
  };
129
149
  } & {
@@ -271,7 +291,27 @@ export declare const Header: {
271
291
  };
272
292
  controls: {
273
293
  type: string;
274
- enum: string[];
294
+ enum: import("@gravity-ui/page-constructor").MediaVideoControlsType[];
295
+ };
296
+ customControlsOptions: {
297
+ type: string;
298
+ additionalProperties: boolean;
299
+ properties: {
300
+ type: {
301
+ type: string;
302
+ enum: import("@gravity-ui/page-constructor").CustomControlsType[];
303
+ };
304
+ muteButtonShown: {
305
+ type: string;
306
+ };
307
+ positioning: {
308
+ type: string;
309
+ enum: import("@gravity-ui/page-constructor").CustomControlsButtonPositioning[];
310
+ };
311
+ };
312
+ };
313
+ ariaLabel: {
314
+ type: string;
275
315
  };
276
316
  };
277
317
  };
@@ -388,6 +428,9 @@ export declare const Header: {
388
428
  };
389
429
  })[];
390
430
  };
431
+ ratio: {
432
+ type: string;
433
+ };
391
434
  };
392
435
  } & {
393
436
  optionName: string;
@@ -109,7 +109,27 @@ export declare const Media: {
109
109
  };
110
110
  controls: {
111
111
  type: string;
112
- enum: string[];
112
+ enum: import("@gravity-ui/page-constructor").MediaVideoControlsType[];
113
+ };
114
+ customControlsOptions: {
115
+ type: string;
116
+ additionalProperties: boolean;
117
+ properties: {
118
+ type: {
119
+ type: string;
120
+ enum: import("@gravity-ui/page-constructor").CustomControlsType[];
121
+ };
122
+ muteButtonShown: {
123
+ type: string;
124
+ };
125
+ positioning: {
126
+ type: string;
127
+ enum: import("@gravity-ui/page-constructor").CustomControlsButtonPositioning[];
128
+ };
129
+ };
130
+ };
131
+ ariaLabel: {
132
+ type: string;
113
133
  };
114
134
  };
115
135
  };
@@ -226,6 +246,9 @@ export declare const Media: {
226
246
  };
227
247
  })[];
228
248
  };
249
+ ratio: {
250
+ type: string;
251
+ };
229
252
  paddingTop: {
230
253
  type: string;
231
254
  enum: string[];
@@ -8,6 +8,6 @@ import './Controls.css';
8
8
  const b = block('feed-controls');
9
9
  export const renderSwitcher = ({ initial, list, defaultLabel }) =>
10
10
  // eslint-disable-next-line react/display-name
11
- ({ onClick, ref }) => (React.createElement(CustomSwitcher, { initial: initial, defaultLabel: defaultLabel, list: list, controlRef: ref, onClick: onClick }));
11
+ ({ onClick, ref, onKeyDown, open }) => (React.createElement(CustomSwitcher, { initial: initial, defaultLabel: defaultLabel, list: list, controlRef: ref, onClick: onClick, onKeyDown: onKeyDown, open: open }));
12
12
  export const renderFilter = ({ value, ref, onChange, onKeyDown }) => (React.createElement(TextInput, { controlRef: ref, controlProps: { size: 1 }, value: value, view: "clear", placeholder: i18(Keyset.Search), onUpdate: onChange, onKeyDown: onKeyDown, className: b('popup-filter') }));
13
13
  export const renderOption = (option) => (React.createElement(CustomSelectOption, { data: option }));
@@ -12,6 +12,17 @@ unpredictable css rules order in build */
12
12
  border-radius: var(--g-border-radius-xl);
13
13
  width: 100%;
14
14
  line-height: 42px;
15
+ text-align: initial;
16
+ font-family: inherit;
17
+ padding: 0;
18
+ margin: 0;
19
+ }
20
+ .bc-feed-custom-switcher__custom-switcher:focus {
21
+ outline: 2px solid var(--g-color-line-focus);
22
+ outline-offset: 0;
23
+ }
24
+ .bc-feed-custom-switcher__custom-switcher:focus:not(:focus-visible) {
25
+ outline: 0;
15
26
  }
16
27
  .bc-feed-custom-switcher__custom-switcher + .yc-popup.yc-popup_open {
17
28
  position: absolute !important;
@@ -9,5 +9,5 @@ export type CustomSwitcherProps = {
9
9
  list: SelectItem[];
10
10
  controlRef: RenderControlParameters['ref'];
11
11
  } & Omit<RenderControlParameters, 'ref'>;
12
- export declare const CustomSwitcher: ({ initial, defaultLabel, list, onClick, controlRef, }: CustomSwitcherProps) => React.JSX.Element;
12
+ export declare const CustomSwitcher: ({ initial, defaultLabel, list, onClick, controlRef, onKeyDown, open, }: CustomSwitcherProps) => React.JSX.Element;
13
13
  export {};
@@ -5,7 +5,7 @@ import { block } from '../../../../utils/cn';
5
5
  import './CustomSwitcher.css';
6
6
  const b = block('feed-custom-switcher');
7
7
  const ICON_SIZE = 12;
8
- export const CustomSwitcher = ({ initial, defaultLabel, list, onClick, controlRef, }) => {
8
+ export const CustomSwitcher = ({ initial, defaultLabel, list, onClick, controlRef, onKeyDown, open, }) => {
9
9
  const itemsNames = useMemo(() => {
10
10
  const items = list
11
11
  .filter((item) => initial.includes(item.value))
@@ -13,7 +13,7 @@ export const CustomSwitcher = ({ initial, defaultLabel, list, onClick, controlRe
13
13
  return items.length ? items : [defaultLabel];
14
14
  }, [defaultLabel, initial, list]);
15
15
  const hasCounter = itemsNames.length > 1;
16
- return (React.createElement("div", { className: b('custom-switcher'), onClick: onClick, ref: controlRef },
16
+ return (React.createElement("button", { className: b('custom-switcher'), onClick: onClick, ref: controlRef, onKeyDown: onKeyDown, "aria-expanded": open },
17
17
  React.createElement("div", { className: b('custom-switcher-element', { content: true }) }, itemsNames === null || itemsNames === void 0 ? void 0 : itemsNames.join(', ')),
18
18
  hasCounter && (React.createElement("div", { className: b('custom-switcher-element', { counter: true }) }, itemsNames.length)),
19
19
  React.createElement("div", { className: b('custom-switcher-element', { arrow: true }) },
@@ -109,10 +109,20 @@ unpredictable css rules order in build */
109
109
  }
110
110
  .yfm_blog a {
111
111
  color: var(--g-color-text-link);
112
+ border-radius: var(--g-focus-border-radius);
112
113
  }
113
114
  .yfm_blog a:hover {
114
115
  color: var(--g-color-text-link-hover);
115
116
  }
117
+ .yfm_blog a:focus {
118
+ box-shadow: 0 0 0 2px var(--g-color-line-focus);
119
+ }
120
+ .yfm_blog a:focus:not(:focus-visible) {
121
+ box-shadow: none;
122
+ }
123
+ .yfm_blog a:focus {
124
+ outline: 0;
125
+ }
116
126
  .yfm_blog .yfm-tab:hover, .yfm_blog .yfm-tab:active {
117
127
  color: var(--g-color-text-link-hover);
118
128
  }
@@ -194,6 +204,7 @@ unpredictable css rules order in build */
194
204
  color: var(--g-color-text-link);
195
205
  text-decoration: none;
196
206
  cursor: pointer;
207
+ border-radius: var(--g-focus-border-radius);
197
208
  }
198
209
  .utilityfocus .yfm_constructor a:focus {
199
210
  outline: 2px solid #ffdb4d;
@@ -202,6 +213,12 @@ unpredictable css rules order in build */
202
213
  --pc-text-header-color: var(--g-color-text-link-hover);
203
214
  color: var(--g-color-text-link-hover);
204
215
  }
216
+ .yfm_constructor a:focus {
217
+ box-shadow: 0 0 0 2px var(--g-color-line-focus);
218
+ }
219
+ .yfm_constructor a:focus:not(:focus-visible) {
220
+ box-shadow: none;
221
+ }
205
222
  .yfm_constructor table {
206
223
  color: var(--g-color-text-primary);
207
224
  border: 1px solid var(--g-color-line-generic);
@@ -131,7 +131,27 @@ export declare const schemasForCustom: {
131
131
  };
132
132
  controls: {
133
133
  type: string;
134
- enum: string[];
134
+ enum: import("@gravity-ui/page-constructor").MediaVideoControlsType[];
135
+ };
136
+ customControlsOptions: {
137
+ type: string;
138
+ additionalProperties: boolean;
139
+ properties: {
140
+ type: {
141
+ type: string;
142
+ enum: import("@gravity-ui/page-constructor").CustomControlsType[];
143
+ };
144
+ muteButtonShown: {
145
+ type: string;
146
+ };
147
+ positioning: {
148
+ type: string;
149
+ enum: import("@gravity-ui/page-constructor").CustomControlsButtonPositioning[];
150
+ };
151
+ };
152
+ };
153
+ ariaLabel: {
154
+ type: string;
135
155
  };
136
156
  };
137
157
  } & {
@@ -279,7 +299,27 @@ export declare const schemasForCustom: {
279
299
  };
280
300
  controls: {
281
301
  type: string;
282
- enum: string[];
302
+ enum: import("@gravity-ui/page-constructor").MediaVideoControlsType[];
303
+ };
304
+ customControlsOptions: {
305
+ type: string;
306
+ additionalProperties: boolean;
307
+ properties: {
308
+ type: {
309
+ type: string;
310
+ enum: import("@gravity-ui/page-constructor").CustomControlsType[];
311
+ };
312
+ muteButtonShown: {
313
+ type: string;
314
+ };
315
+ positioning: {
316
+ type: string;
317
+ enum: import("@gravity-ui/page-constructor").CustomControlsButtonPositioning[];
318
+ };
319
+ };
320
+ };
321
+ ariaLabel: {
322
+ type: string;
283
323
  };
284
324
  };
285
325
  };
@@ -396,6 +436,9 @@ export declare const schemasForCustom: {
396
436
  };
397
437
  })[];
398
438
  };
439
+ ratio: {
440
+ type: string;
441
+ };
399
442
  };
400
443
  } & {
401
444
  optionName: string;
@@ -1226,7 +1269,27 @@ export declare const schemasForCustom: {
1226
1269
  };
1227
1270
  controls: {
1228
1271
  type: string;
1229
- enum: string[];
1272
+ enum: import("@gravity-ui/page-constructor").MediaVideoControlsType[];
1273
+ };
1274
+ customControlsOptions: {
1275
+ type: string;
1276
+ additionalProperties: boolean;
1277
+ properties: {
1278
+ type: {
1279
+ type: string;
1280
+ enum: import("@gravity-ui/page-constructor").CustomControlsType[];
1281
+ };
1282
+ muteButtonShown: {
1283
+ type: string;
1284
+ };
1285
+ positioning: {
1286
+ type: string;
1287
+ enum: import("@gravity-ui/page-constructor").CustomControlsButtonPositioning[];
1288
+ };
1289
+ };
1290
+ };
1291
+ ariaLabel: {
1292
+ type: string;
1230
1293
  };
1231
1294
  };
1232
1295
  };
@@ -1343,6 +1406,9 @@ export declare const schemasForCustom: {
1343
1406
  };
1344
1407
  })[];
1345
1408
  };
1409
+ ratio: {
1410
+ type: string;
1411
+ };
1346
1412
  paddingTop: {
1347
1413
  type: string;
1348
1414
  enum: string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/blog-constructor",
3
- "version": "5.5.0",
3
+ "version": "5.6.0",
4
4
  "description": "Gravity UI Blog Constructor",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -78,8 +78,8 @@
78
78
  },
79
79
  "peerDependencies": {
80
80
  "@doc-tools/transform": "^3.3.2",
81
- "@gravity-ui/page-constructor": "^4.0.0",
82
- "@gravity-ui/uikit": "^5.1.0",
81
+ "@gravity-ui/page-constructor": "^4.26.0",
82
+ "@gravity-ui/uikit": "^5.12.0",
83
83
  "react": "^16.0.0 || ^17.0.0 || ^18.0.0"
84
84
  },
85
85
  "devDependencies": {
@@ -89,11 +89,11 @@
89
89
  "@commitlint/config-conventional": "^17.4.3",
90
90
  "@doc-tools/transform": "^3.3.2",
91
91
  "@gravity-ui/eslint-config": "^2.0.0",
92
- "@gravity-ui/page-constructor": "^4.20.2",
92
+ "@gravity-ui/page-constructor": "^4.26.0",
93
93
  "@gravity-ui/prettier-config": "^1.0.1",
94
94
  "@gravity-ui/stylelint-config": "^1.0.0",
95
95
  "@gravity-ui/tsconfig": "^1.0.0",
96
- "@gravity-ui/uikit": "^5.11.0",
96
+ "@gravity-ui/uikit": "^5.12.0",
97
97
  "@storybook/addon-essentials": "^7.0.27",
98
98
  "@storybook/cli": "^7.0.27",
99
99
  "@storybook/preset-scss": "^1.0.3",
package/styles/yfm.css CHANGED
@@ -85,10 +85,20 @@ unpredictable css rules order in build */
85
85
  }
86
86
  .yfm_blog a {
87
87
  color: var(--g-color-text-link);
88
+ border-radius: var(--g-focus-border-radius);
88
89
  }
89
90
  .yfm_blog a:hover {
90
91
  color: var(--g-color-text-link-hover);
91
92
  }
93
+ .yfm_blog a:focus {
94
+ box-shadow: 0 0 0 2px var(--g-color-line-focus);
95
+ }
96
+ .yfm_blog a:focus:not(:focus-visible) {
97
+ box-shadow: none;
98
+ }
99
+ .yfm_blog a:focus {
100
+ outline: 0;
101
+ }
92
102
  .yfm_blog .yfm-tab:hover, .yfm_blog .yfm-tab:active {
93
103
  color: var(--g-color-text-link-hover);
94
104
  }
package/styles/yfm.scss CHANGED
@@ -98,10 +98,17 @@
98
98
 
99
99
  a {
100
100
  color: var(--g-color-text-link);
101
+ border-radius: var(--g-focus-border-radius);
101
102
 
102
103
  &:hover {
103
104
  color: var(--g-color-text-link-hover);
104
105
  }
106
+
107
+ @include focusable(0, 'box-shadow');
108
+
109
+ &:focus {
110
+ outline: 0;
111
+ }
105
112
  }
106
113
 
107
114
  .yfm-tab {