@gravity-ui/blog-constructor 5.5.0 → 5.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/blocks/Header/schema.d.ts +45 -2
- package/build/cjs/blocks/Media/schema.d.ts +24 -1
- package/build/cjs/components/FeedHeader/components/Controls/customRenders.js +1 -1
- package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +11 -0
- package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.d.ts +1 -1
- package/build/cjs/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js +2 -2
- package/build/cjs/containers/BlogPostPage/BlogPostPage.css +17 -0
- package/build/cjs/schema/index.d.ts +69 -3
- package/build/esm/blocks/Header/schema.d.ts +45 -2
- package/build/esm/blocks/Media/schema.d.ts +24 -1
- package/build/esm/components/FeedHeader/components/Controls/customRenders.js +1 -1
- package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.css +11 -0
- package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.d.ts +1 -1
- package/build/esm/components/FeedHeader/components/CustomSwitcher/CustomSwitcher.js +2 -2
- package/build/esm/containers/BlogPostPage/BlogPostPage.css +17 -0
- package/build/esm/schema/index.d.ts +69 -3
- package/package.json +5 -5
- package/styles/yfm.css +10 -0
- package/styles/yfm.scss +7 -0
@@ -123,7 +123,27 @@ export declare const Header: {
|
|
123
123
|
};
|
124
124
|
controls: {
|
125
125
|
type: string;
|
126
|
-
enum:
|
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:
|
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:
|
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("
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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("
|
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:
|
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:
|
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:
|
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.
|
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.
|
82
|
-
"@gravity-ui/uikit": "^5.
|
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.
|
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.
|
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 {
|