@gravity-ui/page-constructor 5.30.0 → 5.31.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/README.md +4 -3
- package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +12 -0
- package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +1 -4
- package/build/cjs/components/BrandFooter/BrandFooter.css +94 -0
- package/build/cjs/components/BrandFooter/BrandFooter.d.ts +3 -0
- package/build/cjs/components/BrandFooter/BrandFooter.js +23 -0
- package/build/cjs/components/BrandFooter/i18n/en.json +3 -0
- package/build/cjs/components/BrandFooter/i18n/index.d.ts +1 -0
- package/build/cjs/components/BrandFooter/i18n/index.js +9 -0
- package/build/cjs/components/BrandFooter/i18n/ru.json +3 -0
- package/build/cjs/components/ImageBase/ImageBase.d.ts +1 -1
- package/build/cjs/components/ImageBase/ImageBase.js +3 -4
- package/build/cjs/components/OutsideClick/OutsideClick.js +3 -5
- package/build/cjs/components/ReactPlayer/ReactPlayer.js +13 -6
- package/build/cjs/components/Title/TitleItem.css +9 -0
- package/build/cjs/components/Title/TitleItem.d.ts +1 -1
- package/build/cjs/components/Title/TitleItem.js +1 -4
- package/build/cjs/components/VideoBlock/VideoBlock.d.ts +1 -0
- package/build/cjs/components/VideoBlock/VideoBlock.js +5 -6
- package/build/cjs/components/index.d.ts +11 -10
- package/build/cjs/components/index.js +23 -21
- package/build/cjs/containers/PageConstructor/PageConstructor.d.ts +1 -0
- package/build/cjs/containers/PageConstructor/PageConstructor.js +4 -2
- package/build/cjs/editor/components/AddBlock/AddBlock.css +10 -0
- package/build/cjs/editor/components/AddBlock/AddBlock.js +1 -4
- package/build/cjs/editor/components/EditBlock/EditBlock.css +9 -0
- package/build/cjs/editor/components/EditBlock/EditBlock.js +6 -6
- package/build/cjs/icons/BrandIconDark.d.ts +2 -0
- package/build/cjs/icons/BrandIconDark.js +23 -0
- package/build/cjs/icons/BrandIconLight.d.ts +2 -0
- package/build/cjs/icons/BrandIconLight.js +23 -0
- package/build/cjs/icons/BrandName.d.ts +3 -0
- package/build/cjs/icons/BrandName.js +19 -0
- package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +12 -0
- package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +1 -4
- package/build/esm/components/BrandFooter/BrandFooter.css +94 -0
- package/build/esm/components/BrandFooter/BrandFooter.d.ts +4 -0
- package/build/esm/components/BrandFooter/BrandFooter.js +21 -0
- package/build/esm/components/BrandFooter/i18n/en.json +3 -0
- package/build/esm/components/BrandFooter/i18n/index.d.ts +1 -0
- package/build/esm/components/BrandFooter/i18n/index.js +5 -0
- package/build/esm/components/BrandFooter/i18n/ru.json +3 -0
- package/build/esm/components/ImageBase/ImageBase.d.ts +1 -1
- package/build/esm/components/ImageBase/ImageBase.js +3 -4
- package/build/esm/components/OutsideClick/OutsideClick.js +3 -5
- package/build/esm/components/ReactPlayer/ReactPlayer.js +13 -6
- package/build/esm/components/Title/TitleItem.css +9 -0
- package/build/esm/components/Title/TitleItem.d.ts +1 -1
- package/build/esm/components/Title/TitleItem.js +1 -4
- package/build/esm/components/VideoBlock/VideoBlock.d.ts +1 -0
- package/build/esm/components/VideoBlock/VideoBlock.js +6 -7
- package/build/esm/components/index.d.ts +11 -10
- package/build/esm/components/index.js +11 -10
- package/build/esm/containers/PageConstructor/PageConstructor.d.ts +1 -0
- package/build/esm/containers/PageConstructor/PageConstructor.js +4 -2
- package/build/esm/editor/components/AddBlock/AddBlock.css +10 -0
- package/build/esm/editor/components/AddBlock/AddBlock.js +1 -4
- package/build/esm/editor/components/EditBlock/EditBlock.css +9 -0
- package/build/esm/editor/components/EditBlock/EditBlock.js +7 -7
- package/build/esm/icons/BrandIconDark.d.ts +2 -0
- package/build/esm/icons/BrandIconDark.js +18 -0
- package/build/esm/icons/BrandIconLight.d.ts +2 -0
- package/build/esm/icons/BrandIconLight.js +18 -0
- package/build/esm/icons/BrandName.d.ts +3 -0
- package/build/esm/icons/BrandName.js +14 -0
- package/package.json +1 -1
- package/widget/index.js +1 -1
package/README.md
CHANGED
|
@@ -36,11 +36,12 @@ const Page: React.PropsWithChildren<PageProps> = ({content}) => (
|
|
|
36
36
|
|
|
37
37
|
```typescript
|
|
38
38
|
interface PageConstructorProps {
|
|
39
|
-
content: PageContent; //Blocks data in JSON format.
|
|
39
|
+
content: PageContent; // Blocks data in JSON format.
|
|
40
40
|
shouldRenderBlock?: ShouldRenderBlock; // A function that is invoked when rendering each block and lets you set conditions for its display.
|
|
41
|
-
custom?: Custom; //Custom blocks (see `Customization`).
|
|
42
|
-
renderMenu?: () => React.ReactNode; //A function that renders the page menu with navigation (we plan to add rendering for the default menu version).
|
|
41
|
+
custom?: Custom; // Custom blocks (see `Customization`).
|
|
42
|
+
renderMenu?: () => React.ReactNode; // A function that renders the page menu with navigation (we plan to add rendering for the default menu version).
|
|
43
43
|
navigation?: NavigationData; // Navigation data for using navigation component in JSON format
|
|
44
|
+
isBranded?: boolean; // If true, adds a footer that links to https://gravity-ui.com/. Try BrandFooter component for more customization.
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
interface PageConstructorProviderProps {
|
|
@@ -12,12 +12,24 @@ unpredictable css rules order in build */
|
|
|
12
12
|
padding-top: 32px;
|
|
13
13
|
}
|
|
14
14
|
.pc-QuestionsBlockItem__title {
|
|
15
|
+
display: inline-block;
|
|
16
|
+
margin: 0;
|
|
17
|
+
padding: 0;
|
|
18
|
+
font: inherit;
|
|
19
|
+
border: none;
|
|
20
|
+
outline: none;
|
|
21
|
+
color: inherit;
|
|
22
|
+
background: none;
|
|
23
|
+
cursor: pointer;
|
|
15
24
|
font-size: var(--g-text-header-1-font-size);
|
|
16
25
|
line-height: var(--g-text-header-1-line-height);
|
|
17
26
|
color: var(--pc-text-header-color);
|
|
18
27
|
font-weight: var(--g-text-accent-font-weight);
|
|
19
28
|
position: relative;
|
|
29
|
+
display: block;
|
|
30
|
+
width: 100%;
|
|
20
31
|
padding-right: 24px;
|
|
32
|
+
text-align: start;
|
|
21
33
|
cursor: pointer;
|
|
22
34
|
border-radius: var(--g-focus-border-radius);
|
|
23
35
|
}
|
|
@@ -12,10 +12,7 @@ const b = (0, utils_1.block)('QuestionsBlockItem');
|
|
|
12
12
|
const QuestionBlockItem = ({ title: itemTitle, text: itemText, link, listStyle = 'dash', isOpened, onClick, }) => {
|
|
13
13
|
const { onKeyDown } = (0, uikit_1.useActionHandlers)(onClick);
|
|
14
14
|
return (react_1.default.createElement("div", { className: b(), itemScope: true, itemProp: models_1.FaqMicrodataValues.QuestionProp, itemType: models_1.FaqMicrodataValues.QuestionType, role: 'listitem' },
|
|
15
|
-
react_1.default.createElement("
|
|
16
|
-
// TODO fix in https://github.com/gravity-ui/page-constructor/issues/966
|
|
17
|
-
// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role
|
|
18
|
-
role: 'button', tabIndex: 0, onKeyDown: onKeyDown },
|
|
15
|
+
react_1.default.createElement("button", { className: b('title'), onClick: onClick, "aria-expanded": isOpened, onKeyDown: onKeyDown },
|
|
19
16
|
react_1.default.createElement(components_1.HTML, { itemProp: models_1.FaqMicrodataValues.QuestionNameProp }, itemTitle),
|
|
20
17
|
react_1.default.createElement(components_1.ToggleArrow, { open: isOpened, size: 16, type: 'vertical', iconType: "navigation", className: b('arrow') })),
|
|
21
18
|
react_1.default.createElement(components_1.Foldable, { isOpened: isOpened },
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/* use this for style redefinitions to awoid problems with
|
|
2
|
+
unpredictable css rules order in build */
|
|
3
|
+
.pc-brand-footer {
|
|
4
|
+
font-family: var(--g-text-body-font-family);
|
|
5
|
+
font-weight: var(--g-text-body-font-weight);
|
|
6
|
+
font-size: var(--g-text-body-2-font-size);
|
|
7
|
+
line-height: var(--g-text-body-2-line-height);
|
|
8
|
+
position: relative;
|
|
9
|
+
display: flex;
|
|
10
|
+
align-items: center;
|
|
11
|
+
justify-content: center;
|
|
12
|
+
width: 100%;
|
|
13
|
+
height: 72px;
|
|
14
|
+
margin-top: var(--header-height);
|
|
15
|
+
color: var(--g-color-text-secondary);
|
|
16
|
+
border-top: 1px solid var(--g-color-line-generic);
|
|
17
|
+
transition: color 0.5s ease-out, border-color 0.5s ease-out;
|
|
18
|
+
}
|
|
19
|
+
.pc-brand-footer::after {
|
|
20
|
+
position: absolute;
|
|
21
|
+
top: -1px;
|
|
22
|
+
right: 0;
|
|
23
|
+
left: 0;
|
|
24
|
+
height: 1px;
|
|
25
|
+
opacity: 0;
|
|
26
|
+
transition: opacity 0.5s ease-out;
|
|
27
|
+
content: "";
|
|
28
|
+
}
|
|
29
|
+
.pc-brand-footer:hover {
|
|
30
|
+
color: var(--g-color-text-primary);
|
|
31
|
+
border-color: transparent;
|
|
32
|
+
}
|
|
33
|
+
.pc-brand-footer:hover::after {
|
|
34
|
+
opacity: 1;
|
|
35
|
+
}
|
|
36
|
+
.pc-brand-footer_theme_light::after {
|
|
37
|
+
background: linear-gradient(270deg, rgb(228, 106, 68) 0%, rgb(242, 159, 85) 46.62%, rgb(255, 212, 102) 100%);
|
|
38
|
+
}
|
|
39
|
+
.pc-brand-footer_theme_dark::after {
|
|
40
|
+
background: linear-gradient(270deg, rgba(228, 106, 68, 0.6) 0%, rgba(242, 159, 85, 0.6) 46.62%, rgba(255, 212, 102, 0.6) 100%);
|
|
41
|
+
}
|
|
42
|
+
.pc-brand-footer__content {
|
|
43
|
+
display: flex;
|
|
44
|
+
align-items: center;
|
|
45
|
+
justify-content: center;
|
|
46
|
+
gap: 8px;
|
|
47
|
+
padding-top: 1px;
|
|
48
|
+
}
|
|
49
|
+
.pc-brand-footer__text {
|
|
50
|
+
align-self: flex-end;
|
|
51
|
+
}
|
|
52
|
+
.pc-brand-footer__brand-icon {
|
|
53
|
+
display: flex;
|
|
54
|
+
align-items: center;
|
|
55
|
+
justify-content: center;
|
|
56
|
+
width: 24px;
|
|
57
|
+
height: 24px;
|
|
58
|
+
}
|
|
59
|
+
.pc-brand-footer__brand-icon > svg {
|
|
60
|
+
width: 100%;
|
|
61
|
+
height: 100%;
|
|
62
|
+
}
|
|
63
|
+
.pc-brand-footer__brand-name {
|
|
64
|
+
display: flex;
|
|
65
|
+
align-items: center;
|
|
66
|
+
justify-content: center;
|
|
67
|
+
width: 90px;
|
|
68
|
+
height: 20px;
|
|
69
|
+
}
|
|
70
|
+
.pc-brand-footer__brand-name > svg {
|
|
71
|
+
width: 100%;
|
|
72
|
+
height: 100%;
|
|
73
|
+
}
|
|
74
|
+
@media (max-width: 769px) {
|
|
75
|
+
.pc-brand-footer {
|
|
76
|
+
font-family: var(--g-text-body-font-family);
|
|
77
|
+
font-weight: var(--g-text-body-font-weight);
|
|
78
|
+
font-size: var(--g-text-body-1-font-size);
|
|
79
|
+
line-height: var(--g-text-body-1-line-height);
|
|
80
|
+
height: 52px;
|
|
81
|
+
}
|
|
82
|
+
.pc-brand-footer__content {
|
|
83
|
+
padding: 0;
|
|
84
|
+
}
|
|
85
|
+
.pc-brand-footer__brand-icon {
|
|
86
|
+
width: 20px;
|
|
87
|
+
height: 20px;
|
|
88
|
+
}
|
|
89
|
+
.pc-brand-footer__brand-name {
|
|
90
|
+
width: 72px;
|
|
91
|
+
height: 16px;
|
|
92
|
+
margin-top: 0;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const react_1 = tslib_1.__importDefault(require("react"));
|
|
5
|
+
const uikit_1 = require("@gravity-ui/uikit");
|
|
6
|
+
const theme_1 = require("../../context/theme");
|
|
7
|
+
const BrandIconDark_1 = require("../../icons/BrandIconDark");
|
|
8
|
+
const BrandIconLight_1 = require("../../icons/BrandIconLight");
|
|
9
|
+
const BrandName_1 = require("../../icons/BrandName");
|
|
10
|
+
const models_1 = require("../../models");
|
|
11
|
+
const utils_1 = require("../../utils");
|
|
12
|
+
const i18n_1 = require("./i18n");
|
|
13
|
+
const b = (0, utils_1.block)('brand-footer');
|
|
14
|
+
const BrandFooter = ({ className }) => {
|
|
15
|
+
const theme = (0, theme_1.useTheme)();
|
|
16
|
+
return (react_1.default.createElement(uikit_1.Link, { className: b({ theme }, className), href: "https://gravity-ui.com" },
|
|
17
|
+
react_1.default.createElement("div", { className: b('content') },
|
|
18
|
+
react_1.default.createElement("span", { className: b('text') }, (0, i18n_1.i18n)('created-on')),
|
|
19
|
+
react_1.default.createElement("div", { className: b('brand-icon') }, theme === models_1.Theme.Light ? react_1.default.createElement(BrandIconLight_1.BrandIconLight, null) : react_1.default.createElement(BrandIconDark_1.BrandIconDark, null)),
|
|
20
|
+
react_1.default.createElement("div", { className: b('brand-name') },
|
|
21
|
+
react_1.default.createElement(BrandName_1.BrandName, null)))));
|
|
22
|
+
};
|
|
23
|
+
exports.default = BrandFooter;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const i18n: (key: "created-on", params?: import("@gravity-ui/i18n").Params | undefined) => string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.i18n = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const i18n_1 = require("@gravity-ui/uikit/i18n");
|
|
6
|
+
const cn_1 = require("../../../utils/cn");
|
|
7
|
+
const en_json_1 = tslib_1.__importDefault(require("./en.json"));
|
|
8
|
+
const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
|
|
9
|
+
exports.i18n = (0, i18n_1.addComponentKeysets)({ en: en_json_1.default, ru: ru_json_1.default }, `${cn_1.NAMESPACE}BrandFooter`);
|
|
@@ -7,5 +7,5 @@ export interface ImageBaseProps extends Partial<ImageObjectProps> {
|
|
|
7
7
|
onLoad?: ReactEventHandler<HTMLDivElement>;
|
|
8
8
|
onError?: () => void;
|
|
9
9
|
}
|
|
10
|
-
export declare const ImageBase: ({ fetchPriority, ...props }: ImageBaseProps) => JSX.Element;
|
|
10
|
+
export declare const ImageBase: ({ fetchPriority, alt, ...props }: ImageBaseProps) => JSX.Element;
|
|
11
11
|
export default ImageBase;
|
|
@@ -5,15 +5,14 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
6
|
const imageContext_1 = require("../../context/imageContext/imageContext");
|
|
7
7
|
const ImageBase = (_a) => {
|
|
8
|
-
var { fetchPriority } = _a, props = tslib_1.__rest(_a, ["fetchPriority"]);
|
|
8
|
+
var { fetchPriority, alt } = _a, props = tslib_1.__rest(_a, ["fetchPriority", "alt"]);
|
|
9
9
|
const { Image } = react_1.default.useContext(imageContext_1.ImageContext);
|
|
10
|
-
return Image ? (react_1.default.createElement(Image, Object.assign({ fetchPriority: fetchPriority }, props))) : (
|
|
10
|
+
return Image ? (react_1.default.createElement(Image, Object.assign({ fetchPriority: fetchPriority, alt: alt }, props))) : (
|
|
11
11
|
// There is an issue with fetchpriority attr in img in React.
|
|
12
12
|
// It is still not supported. However it's nice to have ability to manage
|
|
13
13
|
// this prop is good to have to improve Core Web Vitals.
|
|
14
14
|
// So, here is a workaround to assign the attr.
|
|
15
|
-
|
|
16
|
-
react_1.default.createElement("img", Object.assign({}, { fetchpriority: fetchPriority }, props)));
|
|
15
|
+
react_1.default.createElement("img", Object.assign({}, { fetchpriority: fetchPriority }, { alt: alt }, props)));
|
|
17
16
|
};
|
|
18
17
|
exports.ImageBase = ImageBase;
|
|
19
18
|
exports.default = exports.ImageBase;
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
3
|
-
/* eslint-disable jsx-a11y/click-events-have-key-events */
|
|
4
|
-
// TODO fix in https://github.com/gravity-ui/page-constructor/issues/965
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
const tslib_1 = require("tslib");
|
|
7
4
|
//TODO move into cloud components?
|
|
8
5
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
+
const noop_1 = tslib_1.__importDefault(require("lodash/noop"));
|
|
9
7
|
class OutsideClick extends react_1.default.Component {
|
|
10
8
|
constructor() {
|
|
11
9
|
super(...arguments);
|
|
@@ -26,8 +24,8 @@ class OutsideClick extends react_1.default.Component {
|
|
|
26
24
|
document.removeEventListener('click', this.handleOutsideClick);
|
|
27
25
|
}
|
|
28
26
|
render() {
|
|
29
|
-
const { className, onClick
|
|
30
|
-
return (react_1.default.createElement("div", { className: className, ref: this.ref, onClick: onClick }, children));
|
|
27
|
+
const { children, className, onClick } = this.props;
|
|
28
|
+
return (react_1.default.createElement("div", { className: className, ref: this.ref, onClick: onClick, onKeyDown: noop_1.default, role: onClick ? 'button' : 'group', tabIndex: onClick ? 0 : -1 }, children));
|
|
31
29
|
}
|
|
32
30
|
}
|
|
33
31
|
exports.default = OutsideClick;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
3
|
-
/* eslint-disable jsx-a11y/click-events-have-key-events */
|
|
4
|
-
// TODO fix in https://github.com/gravity-ui/page-constructor/issues/965
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.ReactPlayerBlock = void 0;
|
|
7
4
|
const tslib_1 = require("tslib");
|
|
@@ -31,6 +28,7 @@ exports.ReactPlayerBlock = react_1.default.forwardRef((props, originRef) => {
|
|
|
31
28
|
const mute = initiallyMuted || autoPlay;
|
|
32
29
|
const { playingVideoRef, setProps } = (0, react_1.useContext)(videoContext_1.VideoContext);
|
|
33
30
|
const ref = (0, react_1.useRef)(null);
|
|
31
|
+
const buttonRef = (0, react_1.useRef)(null);
|
|
34
32
|
const [playerRef, setPlayerRef] = (0, react_1.useState)();
|
|
35
33
|
const [isPlaying, setIsPlaying] = (0, react_1.useState)(autoPlay);
|
|
36
34
|
const [playedPercent, setPlayedPercent] = (0, react_1.useState)(0);
|
|
@@ -129,7 +127,7 @@ exports.ReactPlayerBlock = react_1.default.forwardRef((props, originRef) => {
|
|
|
129
127
|
playButtonContent = react_1.default.createElement(uikit_1.Icon, { className: b('icon'), data: icons_1.PlayFill, size: 24 });
|
|
130
128
|
break;
|
|
131
129
|
}
|
|
132
|
-
return (react_1.default.createElement("button", { className: b('button', { theme, text: Boolean(text) }, buttonClassName), "aria-label": (0, i18n_1.i18n)('play') }, playButtonContent));
|
|
130
|
+
return (react_1.default.createElement("button", { className: b('button', { theme, text: Boolean(text) }, buttonClassName), "aria-label": (0, i18n_1.i18n)('play'), ref: buttonRef }, playButtonContent));
|
|
133
131
|
}, [type, theme, text, buttonClassName]);
|
|
134
132
|
const changeMute = (0, react_1.useCallback)((isMuted) => {
|
|
135
133
|
if (isMuted &&
|
|
@@ -220,6 +218,8 @@ exports.ReactPlayerBlock = react_1.default.forwardRef((props, originRef) => {
|
|
|
220
218
|
}
|
|
221
219
|
}, [isPlaying, onPlay, onPause]);
|
|
222
220
|
const handleClick = (0, react_1.useCallback)(() => {
|
|
221
|
+
var _a;
|
|
222
|
+
(_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.click();
|
|
223
223
|
if (controls === models_1.MediaVideoControlsType.Custom) {
|
|
224
224
|
if (customControlsType === models_1.CustomControlsType.WithMuteButton) {
|
|
225
225
|
changeMute(muted);
|
|
@@ -228,7 +228,14 @@ exports.ReactPlayerBlock = react_1.default.forwardRef((props, originRef) => {
|
|
|
228
228
|
onPlayClick();
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
|
-
}, [
|
|
231
|
+
}, [controls, customControlsType, changeMute, muted, onPlayClick]);
|
|
232
|
+
const handleKeyDown = (0, react_1.useCallback)((e) => {
|
|
233
|
+
var _a;
|
|
234
|
+
const key = e.key.toLowerCase();
|
|
235
|
+
if (key === 'enter') {
|
|
236
|
+
(_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.click();
|
|
237
|
+
}
|
|
238
|
+
}, []);
|
|
232
239
|
const onFocusIn = (0, react_1.useCallback)(() => setHovered(true), []);
|
|
233
240
|
const onFocusOut = (0, react_1.useCallback)(() => setHovered(false), []);
|
|
234
241
|
return (react_1.default.createElement("div", { className: b({
|
|
@@ -236,7 +243,7 @@ exports.ReactPlayerBlock = react_1.default.forwardRef((props, originRef) => {
|
|
|
236
243
|
controls,
|
|
237
244
|
contain,
|
|
238
245
|
'auto-ratio': autoRatio,
|
|
239
|
-
}, className), ref: ref, onClick: handleClick, onMouseEnter: onFocusIn, onMouseLeave: onFocusOut, onFocus: onFocusIn, onBlur: onFocusOut }, isMounted ? (react_1.default.createElement(react_1.Fragment, null,
|
|
246
|
+
}, className), ref: ref, onClick: handleClick, onMouseEnter: onFocusIn, onMouseLeave: onFocusOut, onFocus: onFocusIn, onBlur: onFocusOut, onKeyDown: handleKeyDown, role: "button", tabIndex: 0 }, isMounted ? (react_1.default.createElement(react_1.Fragment, null,
|
|
240
247
|
react_1.default.createElement(react_player_1.default, { className: b('player'), url: videoSrc, muted: muted, controls: controls === models_1.MediaVideoControlsType.Default, height: currentHeight || '100%', width: width || '100%', light: previewImgUrl, playing: isPlaying, playIcon: playIcon, progressInterval: FPS, onClickPreview: handleClickPreview, onStart: onStart, onReady: onReady, onPlay: onPlay, onPause: autoPlay && customControlsType !== models_1.CustomControlsType.WithMuteButton
|
|
241
248
|
? undefined
|
|
242
249
|
: onPause, onProgress: onProgress, onEnded: onEnded, "aria-label": ariaLabel, previewTabIndex: -1, config: {
|
|
@@ -59,6 +59,15 @@ unpredictable css rules order in build */
|
|
|
59
59
|
margin-top: 4px;
|
|
60
60
|
}
|
|
61
61
|
.pc-title-item__link {
|
|
62
|
+
display: inline-block;
|
|
63
|
+
margin: 0;
|
|
64
|
+
padding: 0;
|
|
65
|
+
font: inherit;
|
|
66
|
+
border: none;
|
|
67
|
+
outline: none;
|
|
68
|
+
color: inherit;
|
|
69
|
+
background: none;
|
|
70
|
+
cursor: pointer;
|
|
62
71
|
color: inherit;
|
|
63
72
|
text-decoration: none;
|
|
64
73
|
padding-right: 8px;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { QAProps, TextSize, TitleItemProps } from '../../models';
|
|
2
|
-
export declare function getArrowSize(size: TextSize, isMobile: boolean):
|
|
2
|
+
export declare function getArrowSize(size: TextSize, isMobile: boolean): 16 | 20 | 24 | 13 | 22 | 26 | 38;
|
|
3
3
|
export interface TitleItemFullProps extends TitleItemProps, QAProps {
|
|
4
4
|
className?: string;
|
|
5
5
|
onClick?: () => void;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
3
|
-
/* eslint-disable jsx-a11y/click-events-have-key-events */
|
|
4
|
-
// TODO fix in https://github.com/gravity-ui/page-constructor/issues/965
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.getArrowSize = void 0;
|
|
7
4
|
const tslib_1 = require("tslib");
|
|
@@ -48,7 +45,7 @@ const TitleItem = (props) => {
|
|
|
48
45
|
content = (react_1.default.createElement("a", Object.assign({ className: b('link'), href: url }, (0, utils_1.getLinkProps)(url, hostname), { onClick: onClick, title: urlTitle }), insideClickableContent));
|
|
49
46
|
}
|
|
50
47
|
else if (onClick) {
|
|
51
|
-
content = (react_1.default.createElement("
|
|
48
|
+
content = (react_1.default.createElement("button", { className: b('link'), onClick: onClick, title: urlTitle }, insideClickableContent));
|
|
52
49
|
}
|
|
53
50
|
return (react_1.default.createElement(react_1.Fragment, null,
|
|
54
51
|
anchor && react_1.default.createElement(Anchor_1.default, { id: anchor, className: b('anchor') }),
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
3
|
-
/* eslint-disable jsx-a11y/click-events-have-key-events */
|
|
4
|
-
// TODO fix in https://github.com/gravity-ui/page-constructor/issues/965
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.getHeight = exports.AUTOPLAY_ATTRIBUTES = void 0;
|
|
7
4
|
const tslib_1 = require("tslib");
|
|
@@ -47,13 +44,14 @@ function getHeight(width) {
|
|
|
47
44
|
}
|
|
48
45
|
exports.getHeight = getHeight;
|
|
49
46
|
const VideoBlock = (props) => {
|
|
50
|
-
const { stream, record, videoIframe, attributes, className, id, previewImg, playButton, height, fullscreen, analyticsEvents, autoplay, onImageLoad, } = props;
|
|
47
|
+
const { stream, record, videoIframe, attributes, className, id, previewImg, playButton, playButtonId, height, fullscreen, analyticsEvents, autoplay, onImageLoad, } = props;
|
|
51
48
|
const handleAnalytics = (0, useAnalytics_1.useAnalytics)(common_1.DefaultEventNames.VideoPreview);
|
|
52
49
|
const src = videoIframe ? videoIframe : getYoutubeVideoSrc(stream, record);
|
|
53
50
|
const ref = (0, react_1.useRef)(null);
|
|
54
51
|
const [hidePreview, setHidePreview] = (0, react_1.useState)(false);
|
|
55
52
|
const [currentHeight, setCurrentHeight] = (0, react_1.useState)(height || undefined);
|
|
56
53
|
const fullId = (0, react_1.useMemo)(() => id || (0, uuid_1.v4)(), [id]);
|
|
54
|
+
const buttonId = (0, uikit_1.useUniqId)();
|
|
57
55
|
const [isPlaying, setIsPlaying] = (0, react_1.useState)(!previewImg);
|
|
58
56
|
const iframeSrc = src && isPlaying
|
|
59
57
|
? `${src}?${(0, utils_1.getPageSearchParams)(Object.assign(Object.assign({}, (attributes || {})), (previewImg || autoplay ? exports.AUTOPLAY_ATTRIBUTES : NO_AUTOPLAY_ATTRIBUTES)))}`
|
|
@@ -63,6 +61,7 @@ const VideoBlock = (props) => {
|
|
|
63
61
|
setIsPlaying(true);
|
|
64
62
|
setTimeout(() => setHidePreview(true), AUTOPLAY_DELAY);
|
|
65
63
|
}, [handleAnalytics, analyticsEvents]);
|
|
64
|
+
const { onKeyDown: onPreviewKeyDown } = (0, uikit_1.useActionHandlers)(onPreviewClick);
|
|
66
65
|
(0, react_1.useEffect)(() => {
|
|
67
66
|
const updateSize = (0, debounce_1.default)(() => {
|
|
68
67
|
setCurrentHeight(ref.current ? Math.round(getHeight(ref.current.offsetWidth)) : undefined);
|
|
@@ -84,9 +83,9 @@ const VideoBlock = (props) => {
|
|
|
84
83
|
}
|
|
85
84
|
return (react_1.default.createElement("div", { className: b(null, className), style: { height: currentHeight }, ref: ref },
|
|
86
85
|
iframeContent,
|
|
87
|
-
previewImg && !hidePreview && !fullscreen && (react_1.default.createElement("div", { className: b('preview'), onClick: onPreviewClick },
|
|
86
|
+
previewImg && !hidePreview && !fullscreen && (react_1.default.createElement("div", { className: b('preview'), onClick: onPreviewClick, onKeyDown: onPreviewKeyDown, role: "button", tabIndex: 0, "aria-labelledby": playButton ? playButtonId : buttonId },
|
|
88
87
|
react_1.default.createElement(Image_1.default, { src: previewImg, className: b('image'), containerClassName: b('image-wrapper'), onLoad: onImageLoad }),
|
|
89
|
-
playButton || (react_1.default.createElement("button", { title: "Play", className: b('button') },
|
|
88
|
+
playButton || (react_1.default.createElement("button", { title: "Play", id: buttonId, className: b('button') },
|
|
90
89
|
react_1.default.createElement(uikit_1.Icon, { className: b('icon'), data: icons_1.PlayFill, size: 24 })))))));
|
|
91
90
|
};
|
|
92
91
|
exports.default = VideoBlock;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { default as Anchor } from './Anchor/Anchor';
|
|
2
2
|
export { default as AnimateBlock } from './AnimateBlock/AnimateBlock';
|
|
3
|
+
export { default as Author } from './Author/Author';
|
|
3
4
|
export { default as BackgroundImage } from './BackgroundImage/BackgroundImage';
|
|
4
5
|
export { default as BackgroundMedia } from './BackgroundMedia/BackgroundMedia';
|
|
5
6
|
export { default as BackLink } from './BackLink/BackLink';
|
|
@@ -7,20 +8,30 @@ export { default as BalancedMasonry } from './BalancedMasonry/BalancedMasonry';
|
|
|
7
8
|
export { default as BlockBase } from './BlockBase/BlockBase';
|
|
8
9
|
export { default as Button } from './Button/Button';
|
|
9
10
|
export { default as Buttons } from './Buttons/Buttons';
|
|
11
|
+
export { default as BrandFooter } from './BrandFooter/BrandFooter';
|
|
10
12
|
export { default as CardBase } from './CardBase/CardBase';
|
|
13
|
+
export { default as ContentList } from './ContentList/ContentList';
|
|
14
|
+
export { default as Control } from './Control/Control';
|
|
11
15
|
export { default as ErrorWrapper } from './ErrorWrapper/ErrorWrapper';
|
|
12
16
|
export { default as FileLink } from './FileLink/FileLink';
|
|
13
17
|
export { default as Foldable } from './Foldable/Foldable';
|
|
14
18
|
export { default as FullscreenImage } from './FullscreenImage/FullscreenImage';
|
|
19
|
+
export { default as FullscreenMedia } from './FullscreenMedia/FullscreenMedia';
|
|
15
20
|
export { default as FullWidthBackground } from './FullWidthBackground/FullWidthBackground';
|
|
16
21
|
export { default as HeaderBreadcrumbs } from './HeaderBreadcrumbs/HeaderBreadcrumbs';
|
|
22
|
+
export { default as HTML } from './HTML/HTML';
|
|
23
|
+
export { default as IconWrapper } from './IconWrapper/IconWrapper';
|
|
17
24
|
export { default as Image } from './Image/Image';
|
|
18
25
|
export { default as ImageBase } from './ImageBase/ImageBase';
|
|
26
|
+
export { default as InnerForm } from './InnerForm/InnerForm';
|
|
19
27
|
export { default as Link } from './Link/Link';
|
|
20
28
|
export { default as Links } from './Links/Links';
|
|
21
29
|
export { default as Media } from './Media/Media';
|
|
30
|
+
export { default as MetaInfo } from './MetaInfo/MetaInfo';
|
|
22
31
|
export { default as OutsideClick } from './OutsideClick/OutsideClick';
|
|
32
|
+
export { default as OverflowScroller } from './OverflowScroller/OverflowScroller';
|
|
23
33
|
export { default as ReactPlayer } from './ReactPlayer/ReactPlayer';
|
|
34
|
+
export { default as RouterLink } from './RouterLink/RouterLink';
|
|
24
35
|
export { default as Table } from './Table/Table';
|
|
25
36
|
export { default as Title } from './Title/Title';
|
|
26
37
|
export { default as ToggleArrow } from './ToggleArrow/ToggleArrow';
|
|
@@ -28,15 +39,5 @@ export { default as UnpublishedLabel } from './UnpublishedLabel/UnpublishedLabel
|
|
|
28
39
|
export { default as VideoBlock } from './VideoBlock/VideoBlock';
|
|
29
40
|
export { default as YFMWrapper } from './YFMWrapper/YFMWrapper';
|
|
30
41
|
export { default as YandexForm } from './YandexForm/YandexForm';
|
|
31
|
-
export { default as Control } from './Control/Control';
|
|
32
|
-
export { default as OverflowScroller } from './OverflowScroller/OverflowScroller';
|
|
33
|
-
export { default as Author } from './Author/Author';
|
|
34
|
-
export { default as RouterLink } from './RouterLink/RouterLink';
|
|
35
|
-
export { default as HTML } from './HTML/HTML';
|
|
36
|
-
export { default as MetaInfo } from './MetaInfo/MetaInfo';
|
|
37
|
-
export { default as FullscreenMedia } from './FullscreenMedia/FullscreenMedia';
|
|
38
|
-
export { default as ContentList } from './ContentList/ContentList';
|
|
39
|
-
export { default as InnerForm } from './InnerForm/InnerForm';
|
|
40
|
-
export { default as IconWrapper } from './IconWrapper/IconWrapper';
|
|
41
42
|
export type { RouterLinkProps } from './RouterLink/RouterLink';
|
|
42
43
|
export type { ImageBaseProps } from './ImageBase/ImageBase';
|
|
@@ -3,11 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.YandexForm = exports.YFMWrapper = exports.VideoBlock = exports.UnpublishedLabel = exports.ToggleArrow = exports.Title = exports.Table = exports.RouterLink = exports.ReactPlayer = exports.OverflowScroller = exports.OutsideClick = exports.MetaInfo = exports.Media = exports.Links = exports.Link = exports.InnerForm = exports.ImageBase = exports.Image = exports.IconWrapper = exports.HTML = exports.HeaderBreadcrumbs = exports.FullWidthBackground = exports.FullscreenMedia = exports.FullscreenImage = exports.Foldable = exports.FileLink = exports.ErrorWrapper = exports.Control = exports.ContentList = exports.CardBase = exports.BrandFooter = exports.Buttons = exports.Button = exports.BlockBase = exports.BalancedMasonry = exports.BackLink = exports.BackgroundMedia = exports.BackgroundImage = exports.Author = exports.AnimateBlock = exports.Anchor = void 0;
|
|
7
7
|
var Anchor_1 = require("./Anchor/Anchor");
|
|
8
8
|
Object.defineProperty(exports, "Anchor", { enumerable: true, get: function () { return __importDefault(Anchor_1).default; } });
|
|
9
9
|
var AnimateBlock_1 = require("./AnimateBlock/AnimateBlock");
|
|
10
10
|
Object.defineProperty(exports, "AnimateBlock", { enumerable: true, get: function () { return __importDefault(AnimateBlock_1).default; } });
|
|
11
|
+
var Author_1 = require("./Author/Author");
|
|
12
|
+
Object.defineProperty(exports, "Author", { enumerable: true, get: function () { return __importDefault(Author_1).default; } });
|
|
11
13
|
var BackgroundImage_1 = require("./BackgroundImage/BackgroundImage");
|
|
12
14
|
Object.defineProperty(exports, "BackgroundImage", { enumerable: true, get: function () { return __importDefault(BackgroundImage_1).default; } });
|
|
13
15
|
var BackgroundMedia_1 = require("./BackgroundMedia/BackgroundMedia");
|
|
@@ -22,8 +24,14 @@ var Button_1 = require("./Button/Button");
|
|
|
22
24
|
Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return __importDefault(Button_1).default; } });
|
|
23
25
|
var Buttons_1 = require("./Buttons/Buttons");
|
|
24
26
|
Object.defineProperty(exports, "Buttons", { enumerable: true, get: function () { return __importDefault(Buttons_1).default; } });
|
|
27
|
+
var BrandFooter_1 = require("./BrandFooter/BrandFooter");
|
|
28
|
+
Object.defineProperty(exports, "BrandFooter", { enumerable: true, get: function () { return __importDefault(BrandFooter_1).default; } });
|
|
25
29
|
var CardBase_1 = require("./CardBase/CardBase");
|
|
26
30
|
Object.defineProperty(exports, "CardBase", { enumerable: true, get: function () { return __importDefault(CardBase_1).default; } });
|
|
31
|
+
var ContentList_1 = require("./ContentList/ContentList");
|
|
32
|
+
Object.defineProperty(exports, "ContentList", { enumerable: true, get: function () { return __importDefault(ContentList_1).default; } });
|
|
33
|
+
var Control_1 = require("./Control/Control");
|
|
34
|
+
Object.defineProperty(exports, "Control", { enumerable: true, get: function () { return __importDefault(Control_1).default; } });
|
|
27
35
|
var ErrorWrapper_1 = require("./ErrorWrapper/ErrorWrapper");
|
|
28
36
|
Object.defineProperty(exports, "ErrorWrapper", { enumerable: true, get: function () { return __importDefault(ErrorWrapper_1).default; } });
|
|
29
37
|
var FileLink_1 = require("./FileLink/FileLink");
|
|
@@ -32,24 +40,38 @@ var Foldable_1 = require("./Foldable/Foldable");
|
|
|
32
40
|
Object.defineProperty(exports, "Foldable", { enumerable: true, get: function () { return __importDefault(Foldable_1).default; } });
|
|
33
41
|
var FullscreenImage_1 = require("./FullscreenImage/FullscreenImage");
|
|
34
42
|
Object.defineProperty(exports, "FullscreenImage", { enumerable: true, get: function () { return __importDefault(FullscreenImage_1).default; } });
|
|
43
|
+
var FullscreenMedia_1 = require("./FullscreenMedia/FullscreenMedia");
|
|
44
|
+
Object.defineProperty(exports, "FullscreenMedia", { enumerable: true, get: function () { return __importDefault(FullscreenMedia_1).default; } });
|
|
35
45
|
var FullWidthBackground_1 = require("./FullWidthBackground/FullWidthBackground");
|
|
36
46
|
Object.defineProperty(exports, "FullWidthBackground", { enumerable: true, get: function () { return __importDefault(FullWidthBackground_1).default; } });
|
|
37
47
|
var HeaderBreadcrumbs_1 = require("./HeaderBreadcrumbs/HeaderBreadcrumbs");
|
|
38
48
|
Object.defineProperty(exports, "HeaderBreadcrumbs", { enumerable: true, get: function () { return __importDefault(HeaderBreadcrumbs_1).default; } });
|
|
49
|
+
var HTML_1 = require("./HTML/HTML");
|
|
50
|
+
Object.defineProperty(exports, "HTML", { enumerable: true, get: function () { return __importDefault(HTML_1).default; } });
|
|
51
|
+
var IconWrapper_1 = require("./IconWrapper/IconWrapper");
|
|
52
|
+
Object.defineProperty(exports, "IconWrapper", { enumerable: true, get: function () { return __importDefault(IconWrapper_1).default; } });
|
|
39
53
|
var Image_1 = require("./Image/Image");
|
|
40
54
|
Object.defineProperty(exports, "Image", { enumerable: true, get: function () { return __importDefault(Image_1).default; } });
|
|
41
55
|
var ImageBase_1 = require("./ImageBase/ImageBase");
|
|
42
56
|
Object.defineProperty(exports, "ImageBase", { enumerable: true, get: function () { return __importDefault(ImageBase_1).default; } });
|
|
57
|
+
var InnerForm_1 = require("./InnerForm/InnerForm");
|
|
58
|
+
Object.defineProperty(exports, "InnerForm", { enumerable: true, get: function () { return __importDefault(InnerForm_1).default; } });
|
|
43
59
|
var Link_1 = require("./Link/Link");
|
|
44
60
|
Object.defineProperty(exports, "Link", { enumerable: true, get: function () { return __importDefault(Link_1).default; } });
|
|
45
61
|
var Links_1 = require("./Links/Links");
|
|
46
62
|
Object.defineProperty(exports, "Links", { enumerable: true, get: function () { return __importDefault(Links_1).default; } });
|
|
47
63
|
var Media_1 = require("./Media/Media");
|
|
48
64
|
Object.defineProperty(exports, "Media", { enumerable: true, get: function () { return __importDefault(Media_1).default; } });
|
|
65
|
+
var MetaInfo_1 = require("./MetaInfo/MetaInfo");
|
|
66
|
+
Object.defineProperty(exports, "MetaInfo", { enumerable: true, get: function () { return __importDefault(MetaInfo_1).default; } });
|
|
49
67
|
var OutsideClick_1 = require("./OutsideClick/OutsideClick");
|
|
50
68
|
Object.defineProperty(exports, "OutsideClick", { enumerable: true, get: function () { return __importDefault(OutsideClick_1).default; } });
|
|
69
|
+
var OverflowScroller_1 = require("./OverflowScroller/OverflowScroller");
|
|
70
|
+
Object.defineProperty(exports, "OverflowScroller", { enumerable: true, get: function () { return __importDefault(OverflowScroller_1).default; } });
|
|
51
71
|
var ReactPlayer_1 = require("./ReactPlayer/ReactPlayer");
|
|
52
72
|
Object.defineProperty(exports, "ReactPlayer", { enumerable: true, get: function () { return __importDefault(ReactPlayer_1).default; } });
|
|
73
|
+
var RouterLink_1 = require("./RouterLink/RouterLink");
|
|
74
|
+
Object.defineProperty(exports, "RouterLink", { enumerable: true, get: function () { return __importDefault(RouterLink_1).default; } });
|
|
53
75
|
var Table_1 = require("./Table/Table");
|
|
54
76
|
Object.defineProperty(exports, "Table", { enumerable: true, get: function () { return __importDefault(Table_1).default; } });
|
|
55
77
|
var Title_1 = require("./Title/Title");
|
|
@@ -64,23 +86,3 @@ var YFMWrapper_1 = require("./YFMWrapper/YFMWrapper");
|
|
|
64
86
|
Object.defineProperty(exports, "YFMWrapper", { enumerable: true, get: function () { return __importDefault(YFMWrapper_1).default; } });
|
|
65
87
|
var YandexForm_1 = require("./YandexForm/YandexForm");
|
|
66
88
|
Object.defineProperty(exports, "YandexForm", { enumerable: true, get: function () { return __importDefault(YandexForm_1).default; } });
|
|
67
|
-
var Control_1 = require("./Control/Control");
|
|
68
|
-
Object.defineProperty(exports, "Control", { enumerable: true, get: function () { return __importDefault(Control_1).default; } });
|
|
69
|
-
var OverflowScroller_1 = require("./OverflowScroller/OverflowScroller");
|
|
70
|
-
Object.defineProperty(exports, "OverflowScroller", { enumerable: true, get: function () { return __importDefault(OverflowScroller_1).default; } });
|
|
71
|
-
var Author_1 = require("./Author/Author");
|
|
72
|
-
Object.defineProperty(exports, "Author", { enumerable: true, get: function () { return __importDefault(Author_1).default; } });
|
|
73
|
-
var RouterLink_1 = require("./RouterLink/RouterLink");
|
|
74
|
-
Object.defineProperty(exports, "RouterLink", { enumerable: true, get: function () { return __importDefault(RouterLink_1).default; } });
|
|
75
|
-
var HTML_1 = require("./HTML/HTML");
|
|
76
|
-
Object.defineProperty(exports, "HTML", { enumerable: true, get: function () { return __importDefault(HTML_1).default; } });
|
|
77
|
-
var MetaInfo_1 = require("./MetaInfo/MetaInfo");
|
|
78
|
-
Object.defineProperty(exports, "MetaInfo", { enumerable: true, get: function () { return __importDefault(MetaInfo_1).default; } });
|
|
79
|
-
var FullscreenMedia_1 = require("./FullscreenMedia/FullscreenMedia");
|
|
80
|
-
Object.defineProperty(exports, "FullscreenMedia", { enumerable: true, get: function () { return __importDefault(FullscreenMedia_1).default; } });
|
|
81
|
-
var ContentList_1 = require("./ContentList/ContentList");
|
|
82
|
-
Object.defineProperty(exports, "ContentList", { enumerable: true, get: function () { return __importDefault(ContentList_1).default; } });
|
|
83
|
-
var InnerForm_1 = require("./InnerForm/InnerForm");
|
|
84
|
-
Object.defineProperty(exports, "InnerForm", { enumerable: true, get: function () { return __importDefault(InnerForm_1).default; } });
|
|
85
|
-
var IconWrapper_1 = require("./IconWrapper/IconWrapper");
|
|
86
|
-
Object.defineProperty(exports, "IconWrapper", { enumerable: true, get: function () { return __importDefault(IconWrapper_1).default; } });
|
|
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
6
|
require("@diplodoc/transform/dist/js/yfm");
|
|
7
7
|
const BackgroundMedia_1 = tslib_1.__importDefault(require("../../components/BackgroundMedia/BackgroundMedia"));
|
|
8
|
+
const BrandFooter_1 = tslib_1.__importDefault(require("../../components/BrandFooter/BrandFooter"));
|
|
8
9
|
const RootCn_1 = tslib_1.__importDefault(require("../../components/RootCn"));
|
|
9
10
|
const constructor_items_1 = require("../../constructor-items");
|
|
10
11
|
const animateContext_1 = require("../../context/animateContext");
|
|
@@ -20,7 +21,7 @@ const ConstructorItem_1 = require("./components/ConstructorItem");
|
|
|
20
21
|
const ConstructorRow_1 = require("./components/ConstructorRow");
|
|
21
22
|
const b = (0, utils_1.block)('page-constructor');
|
|
22
23
|
const Constructor = (props) => {
|
|
23
|
-
const { content: { blocks = [], background } = {}, renderMenu, shouldRenderBlock, navigation, custom, microdata, } = props;
|
|
24
|
+
const { content: { blocks = [], background } = {}, renderMenu, shouldRenderBlock, navigation, custom, isBranded, microdata, } = props;
|
|
24
25
|
const { context } = (0, react_1.useMemo)(() => ({
|
|
25
26
|
context: {
|
|
26
27
|
blockTypes: [...models_1.BlockTypes, ...(0, utils_1.getCustomTypes)(['blocks', 'headers'], custom)],
|
|
@@ -52,7 +53,8 @@ const Constructor = (props) => {
|
|
|
52
53
|
renderMenu && renderMenu(),
|
|
53
54
|
header && (react_1.default.createElement(ConstructorItem_1.ConstructorHeader, { data: header, blockKey: models_1.BlockType.HeaderBlock })),
|
|
54
55
|
react_1.default.createElement(grid_1.Grid, null, restBlocks && (react_1.default.createElement(ConstructorRow_1.ConstructorRow, null,
|
|
55
|
-
react_1.default.createElement(ConstructorBlocks_1.ConstructorBlocks, { items: restBlocks })))))
|
|
56
|
+
react_1.default.createElement(ConstructorBlocks_1.ConstructorBlocks, { items: restBlocks }))))),
|
|
57
|
+
isBranded && react_1.default.createElement(BrandFooter_1.default, null)))));
|
|
56
58
|
};
|
|
57
59
|
exports.Constructor = Constructor;
|
|
58
60
|
const PageConstructor = (props) => {
|
|
@@ -51,12 +51,22 @@ unpredictable css rules order in build */
|
|
|
51
51
|
overflow-y: auto;
|
|
52
52
|
}
|
|
53
53
|
.pc-add-block__popup .pc-add-block__block {
|
|
54
|
+
display: inline-block;
|
|
55
|
+
margin: 0;
|
|
56
|
+
padding: 0;
|
|
57
|
+
font: inherit;
|
|
58
|
+
border: none;
|
|
59
|
+
outline: none;
|
|
60
|
+
color: inherit;
|
|
61
|
+
background: none;
|
|
62
|
+
cursor: pointer;
|
|
54
63
|
display: flex;
|
|
55
64
|
justify-content: center;
|
|
56
65
|
align-items: center;
|
|
57
66
|
transition: transform 0.2s;
|
|
58
67
|
margin-top: 20px;
|
|
59
68
|
justify-content: flex-start;
|
|
69
|
+
text-align: start;
|
|
60
70
|
cursor: pointer;
|
|
61
71
|
}
|
|
62
72
|
.pc-add-block__popup .pc-add-block__block:hover {
|