@gravity-ui/page-constructor 2.20.1 → 2.22.0-alpha
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/CHANGELOG.md +0 -46
- package/README.md +1 -1
- package/build/cjs/blocks/Header/schema.d.ts +18 -0
- package/build/cjs/blocks/HeaderSlider/schema.d.ts +6 -0
- package/build/cjs/blocks/Media/schema.d.ts +12 -0
- package/build/cjs/blocks/PromoFeaturesBlock/schema.d.ts +6 -0
- package/build/cjs/blocks/Security/schema.d.ts +6 -0
- package/build/cjs/blocks/Tabs/schema.d.ts +6 -0
- package/build/cjs/components/Anchor/Anchor.d.ts +2 -2
- package/build/cjs/components/Anchor/Anchor.js +1 -1
- package/build/cjs/components/Anchor/__tests__/Anchor.test.js +21 -0
- package/build/cjs/components/AnimateBlock/__tests__/AnimateBlock.test.js +36 -0
- package/build/cjs/components/Author/__tests__/Author.test.d.ts +1 -0
- package/build/cjs/components/Author/__tests__/Author.test.js +49 -0
- package/build/cjs/components/BackLink/__tests__/BackLink.test.d.ts +1 -0
- package/build/cjs/components/BackLink/__tests__/BackLink.test.js +63 -0
- package/build/cjs/components/BackgroundImage/BackgroundImage.js +2 -2
- package/build/cjs/components/BlockBase/BlockBase.d.ts +2 -3
- package/build/cjs/components/BlockBase/BlockBase.js +2 -4
- package/build/cjs/components/BlockBase/__tests__/BlockBase.test.d.ts +1 -0
- package/build/cjs/components/BlockBase/__tests__/BlockBase.test.js +44 -0
- package/build/cjs/components/Button/Button.css +0 -3
- package/build/cjs/components/Button/Button.js +4 -5
- package/build/cjs/components/Button/__tests__/Button.test.d.ts +1 -0
- package/build/cjs/components/Button/__tests__/Button.test.js +91 -0
- package/build/cjs/components/ButtonTabs/__tests__/ButtonTabs.test.d.ts +1 -0
- package/build/cjs/components/ButtonTabs/__tests__/ButtonTabs.test.js +58 -0
- package/build/cjs/components/FullscreenImage/FullscreenImage.d.ts +2 -2
- package/build/cjs/components/FullscreenImage/FullscreenImage.js +5 -5
- package/build/cjs/components/FullscreenMedia/FullscreenMedia.d.ts +13 -0
- package/build/cjs/components/FullscreenMedia/{FullScreenMedia.js → FullscreenMedia.js} +3 -3
- package/build/cjs/components/Image/Image.d.ts +0 -1
- package/build/cjs/components/Image/Image.js +2 -2
- package/build/cjs/components/Media/FullscreenVideo/FullscreenVideo.d.ts +4 -0
- package/build/cjs/components/Media/FullscreenVideo/FullscreenVideo.js +10 -0
- package/build/cjs/components/Media/Image/Image.d.ts +1 -0
- package/build/cjs/components/Media/Image/Image.js +10 -3
- package/build/cjs/components/Media/Media.js +25 -4
- package/build/cjs/components/Media/Video/Video.d.ts +1 -1
- package/build/cjs/components/VideoBlock/VideoBlock.d.ts +4 -0
- package/build/cjs/components/VideoBlock/VideoBlock.js +3 -3
- package/build/cjs/components/index.d.ts +1 -1
- package/build/cjs/components/index.js +2 -2
- package/build/cjs/constructor-items.d.ts +1 -1
- package/build/cjs/containers/Loadable/Loadable.d.ts +2 -2
- package/build/cjs/containers/PageConstructor/PageConstructor.js +3 -5
- package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +2 -3
- package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.d.ts +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +5 -5
- package/build/cjs/context/innerContext/InnerContext.d.ts +1 -2
- package/build/cjs/grid/Col/Col.d.ts +1 -1
- package/build/cjs/internal-typings/global.d.ts +16 -18
- package/build/cjs/models/constructor-items/blocks.d.ts +11 -1
- package/build/cjs/models/constructor-items/blocks.js +2 -0
- package/build/cjs/models/constructor-items/common.d.ts +7 -3
- package/build/cjs/models/constructor-items/sub-blocks.d.ts +4 -0
- package/build/cjs/models/constructor.d.ts +1 -4
- package/build/cjs/models/index.d.ts +0 -1
- package/build/cjs/models/index.js +0 -1
- package/build/cjs/schema/validators/common.d.ts +6 -0
- package/build/cjs/schema/validators/common.js +6 -0
- package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -2
- package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.js +2 -5
- package/build/cjs/sub-blocks/HubspotForm/index.d.ts +1 -1
- package/build/cjs/sub-blocks/HubspotForm/index.js +5 -6
- package/build/cjs/sub-blocks/LayoutItem/LayoutItem.d.ts +1 -1
- package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +4 -4
- package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +9 -0
- package/build/cjs/sub-blocks/LayoutItem/schema.js +2 -0
- package/build/cjs/sub-blocks/LayoutItem/utils.d.ts +2 -2
- package/build/cjs/sub-blocks/LayoutItem/utils.js +5 -5
- package/build/cjs/sub-blocks/MediaCard/schema.d.ts +6 -0
- package/build/cjs/utils/blocks.d.ts +1 -4
- package/build/cjs/utils/blocks.js +1 -11
- package/build/esm/blocks/Header/schema.d.ts +18 -0
- package/build/esm/blocks/HeaderSlider/schema.d.ts +6 -0
- package/build/esm/blocks/Media/schema.d.ts +12 -0
- package/build/esm/blocks/PromoFeaturesBlock/schema.d.ts +6 -0
- package/build/esm/blocks/Security/schema.d.ts +6 -0
- package/build/esm/blocks/Tabs/Tabs.js +2 -2
- package/build/esm/blocks/Tabs/schema.d.ts +6 -0
- package/build/esm/components/Anchor/Anchor.d.ts +2 -2
- package/build/esm/components/Anchor/Anchor.js +1 -1
- package/build/esm/components/Anchor/__tests__/Anchor.test.d.ts +1 -0
- package/build/esm/components/Anchor/__tests__/Anchor.test.js +18 -0
- package/build/esm/components/AnimateBlock/__tests__/AnimateBlock.test.d.ts +1 -0
- package/build/esm/components/AnimateBlock/__tests__/AnimateBlock.test.js +33 -0
- package/build/esm/components/Author/__tests__/Author.test.d.ts +1 -0
- package/build/esm/components/Author/__tests__/Author.test.js +46 -0
- package/build/esm/components/BackLink/__tests__/BackLink.test.d.ts +1 -0
- package/build/esm/components/BackLink/__tests__/BackLink.test.js +60 -0
- package/build/esm/components/BackgroundImage/BackgroundImage.js +2 -2
- package/build/esm/components/BlockBase/BlockBase.d.ts +2 -3
- package/build/esm/components/BlockBase/BlockBase.js +2 -4
- package/build/esm/components/BlockBase/__tests__/BlockBase.test.d.ts +1 -0
- package/build/esm/components/BlockBase/__tests__/BlockBase.test.js +41 -0
- package/build/esm/components/Button/Button.css +0 -3
- package/build/esm/components/Button/Button.js +4 -5
- package/build/esm/components/Button/__tests__/Button.test.d.ts +1 -0
- package/build/esm/components/Button/__tests__/Button.test.js +88 -0
- package/build/esm/components/ButtonTabs/__tests__/ButtonTabs.test.d.ts +1 -0
- package/build/esm/components/ButtonTabs/__tests__/ButtonTabs.test.js +55 -0
- package/build/esm/components/FullscreenImage/FullscreenImage.d.ts +3 -3
- package/build/esm/components/FullscreenImage/FullscreenImage.js +6 -6
- package/build/esm/components/FullscreenMedia/FullscreenMedia.d.ts +14 -0
- package/build/esm/components/FullscreenMedia/{FullScreenMedia.js → FullscreenMedia.js} +4 -4
- package/build/esm/components/Image/Image.d.ts +0 -1
- package/build/esm/components/Image/Image.js +2 -2
- package/build/esm/components/Media/FullscreenVideo/FullscreenVideo.d.ts +4 -0
- package/build/esm/components/Media/FullscreenVideo/FullscreenVideo.js +7 -0
- package/build/esm/components/Media/Image/Image.d.ts +1 -0
- package/build/esm/components/Media/Image/Image.js +12 -5
- package/build/esm/components/Media/Media.js +25 -4
- package/build/esm/components/Media/Video/Video.d.ts +1 -1
- package/build/esm/components/VideoBlock/VideoBlock.d.ts +4 -0
- package/build/esm/components/VideoBlock/VideoBlock.js +3 -3
- package/build/esm/components/index.d.ts +1 -1
- package/build/esm/components/index.js +1 -1
- package/build/esm/constructor-items.d.ts +1 -1
- package/build/esm/containers/Loadable/Loadable.d.ts +2 -2
- package/build/esm/containers/PageConstructor/PageConstructor.js +4 -6
- package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +2 -3
- package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.d.ts +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +5 -5
- package/build/esm/context/innerContext/InnerContext.d.ts +1 -2
- package/build/esm/grid/Col/Col.d.ts +1 -1
- package/build/esm/internal-typings/global.d.ts +16 -18
- package/build/esm/models/constructor-items/blocks.d.ts +11 -1
- package/build/esm/models/constructor-items/blocks.js +2 -0
- package/build/esm/models/constructor-items/common.d.ts +7 -3
- package/build/esm/models/constructor-items/sub-blocks.d.ts +4 -0
- package/build/esm/models/constructor.d.ts +1 -4
- package/build/esm/models/index.d.ts +0 -1
- package/build/esm/models/index.js +0 -1
- package/build/esm/schema/validators/common.d.ts +6 -0
- package/build/esm/schema/validators/common.js +6 -0
- package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -2
- package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.js +3 -6
- package/build/esm/sub-blocks/HubspotForm/index.d.ts +1 -1
- package/build/esm/sub-blocks/HubspotForm/index.js +6 -7
- package/build/esm/sub-blocks/LayoutItem/LayoutItem.d.ts +1 -1
- package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +5 -5
- package/build/esm/sub-blocks/LayoutItem/schema.d.ts +9 -0
- package/build/esm/sub-blocks/LayoutItem/schema.js +2 -0
- package/build/esm/sub-blocks/LayoutItem/utils.d.ts +2 -2
- package/build/esm/sub-blocks/LayoutItem/utils.js +2 -2
- package/build/esm/sub-blocks/MediaCard/schema.d.ts +6 -0
- package/build/esm/utils/blocks.d.ts +1 -4
- package/build/esm/utils/blocks.js +0 -7
- package/package.json +6 -4
- package/server/models/constructor-items/blocks.d.ts +11 -1
- package/server/models/constructor-items/blocks.js +2 -0
- package/server/models/constructor-items/common.d.ts +7 -3
- package/server/models/constructor-items/sub-blocks.d.ts +4 -0
- package/server/models/constructor.d.ts +1 -4
- package/server/models/index.d.ts +0 -1
- package/server/models/index.js +0 -1
- package/server/utils/blocks.d.ts +1 -4
- package/server/utils/blocks.js +1 -11
- package/build/cjs/components/FullscreenMedia/FullScreenMedia.d.ts +0 -9
- package/build/cjs/customization/BlockDecoration.d.ts +0 -3
- package/build/cjs/customization/BlockDecoration.js +0 -22
- package/build/cjs/editor/Components/AddBlock/AddBlock.css +0 -82
- package/build/cjs/editor/Components/AddBlock/AddBlock.d.ts +0 -7
- package/build/cjs/editor/Components/AddBlock/AddBlock.js +0 -43
- package/build/cjs/editor/Components/EditBlock/EditBlock.css +0 -47
- package/build/cjs/editor/Components/EditBlock/EditBlock.d.ts +0 -4
- package/build/cjs/editor/Components/EditBlock/EditBlock.js +0 -32
- package/build/cjs/editor/Containers/Editor.d.ts +0 -2
- package/build/cjs/editor/Containers/Editor.js +0 -24
- package/build/cjs/editor/data/index.d.ts +0 -13
- package/build/cjs/editor/data/index.js +0 -27
- package/build/cjs/editor/data/previews/default-preview.d.ts +0 -3
- package/build/cjs/editor/data/previews/default-preview.js +0 -18
- package/build/cjs/editor/data/previews/header-block.d.ts +0 -3
- package/build/cjs/editor/data/previews/header-block.js +0 -19
- package/build/cjs/editor/index.d.ts +0 -2
- package/build/cjs/editor/index.js +0 -7
- package/build/cjs/editor/store/index.d.ts +0 -15
- package/build/cjs/editor/store/index.js +0 -32
- package/build/cjs/editor/store/reducer.d.ts +0 -41
- package/build/cjs/editor/store/reducer.js +0 -59
- package/build/cjs/editor/store/utils.d.ts +0 -13
- package/build/cjs/editor/store/utils.js +0 -34
- package/build/cjs/editor/styles/mixins.css +0 -0
- package/build/cjs/editor/styles/variables.css +0 -0
- package/build/cjs/editor/types/index.d.ts +0 -17
- package/build/cjs/editor/types/index.js +0 -2
- package/build/cjs/editor/utils/index.d.ts +0 -11
- package/build/cjs/editor/utils/index.js +0 -12
- package/build/cjs/models/customization.d.ts +0 -9
- package/build/cjs/models/customization.js +0 -2
- package/build/esm/components/FullscreenMedia/FullScreenMedia.d.ts +0 -10
- package/build/esm/customization/BlockDecoration.d.ts +0 -3
- package/build/esm/customization/BlockDecoration.js +0 -17
- package/build/esm/editor/Components/AddBlock/AddBlock.css +0 -82
- package/build/esm/editor/Components/AddBlock/AddBlock.d.ts +0 -8
- package/build/esm/editor/Components/AddBlock/AddBlock.js +0 -41
- package/build/esm/editor/Components/EditBlock/EditBlock.css +0 -47
- package/build/esm/editor/Components/EditBlock/EditBlock.d.ts +0 -5
- package/build/esm/editor/Components/EditBlock/EditBlock.js +0 -30
- package/build/esm/editor/Containers/Editor.d.ts +0 -2
- package/build/esm/editor/Containers/Editor.js +0 -20
- package/build/esm/editor/data/index.d.ts +0 -13
- package/build/esm/editor/data/index.js +0 -24
- package/build/esm/editor/data/previews/default-preview.d.ts +0 -3
- package/build/esm/editor/data/previews/default-preview.js +0 -15
- package/build/esm/editor/data/previews/header-block.d.ts +0 -3
- package/build/esm/editor/data/previews/header-block.js +0 -16
- package/build/esm/editor/index.d.ts +0 -2
- package/build/esm/editor/index.js +0 -2
- package/build/esm/editor/store/index.d.ts +0 -15
- package/build/esm/editor/store/index.js +0 -28
- package/build/esm/editor/store/reducer.d.ts +0 -41
- package/build/esm/editor/store/reducer.js +0 -55
- package/build/esm/editor/store/utils.d.ts +0 -13
- package/build/esm/editor/store/utils.js +0 -26
- package/build/esm/editor/styles/mixins.css +0 -0
- package/build/esm/editor/styles/variables.css +0 -0
- package/build/esm/editor/types/index.d.ts +0 -17
- package/build/esm/editor/utils/index.d.ts +0 -11
- package/build/esm/editor/utils/index.js +0 -6
- package/build/esm/models/customization.d.ts +0 -9
- package/server/models/customization.d.ts +0 -9
- package/server/models/customization.js +0 -2
- /package/build/{esm/editor/types/index.js → cjs/components/Anchor/__tests__/Anchor.test.d.ts} +0 -0
- /package/build/{esm/models/customization.js → cjs/components/AnimateBlock/__tests__/AnimateBlock.test.d.ts} +0 -0
- /package/build/cjs/components/FullscreenImage/{FullScreenImage.css → FullscreenImage.css} +0 -0
- /package/build/cjs/components/FullscreenMedia/{FullScreenMedia.css → FullscreenMedia.css} +0 -0
- /package/build/esm/components/FullscreenImage/{FullScreenImage.css → FullscreenImage.css} +0 -0
- /package/build/esm/components/FullscreenMedia/{FullScreenMedia.css → FullscreenMedia.css} +0 -0
|
@@ -136,7 +136,11 @@ export interface LayoutItemProps extends ClassNameProps {
|
|
|
136
136
|
media: MediaProps;
|
|
137
137
|
metaInfo?: string[];
|
|
138
138
|
border?: boolean;
|
|
139
|
+
/**
|
|
140
|
+
* @deprecated use fullscreen
|
|
141
|
+
*/
|
|
139
142
|
fullScreen?: boolean;
|
|
143
|
+
fullscreen?: boolean;
|
|
140
144
|
}
|
|
141
145
|
export type DividerModel = {
|
|
142
146
|
type: SubBlockType.Divider;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
import { Animatable, Block,
|
|
2
|
+
import { Animatable, Block, ConstructorItem, ThemedMediaProps, WithChildren } from './';
|
|
3
3
|
export interface PageData {
|
|
4
4
|
content: PageContent;
|
|
5
5
|
}
|
|
@@ -41,8 +41,5 @@ export interface CustomConfig {
|
|
|
41
41
|
subBlocks?: CustomItems;
|
|
42
42
|
headers?: CustomItems;
|
|
43
43
|
loadable?: LoadableConfig;
|
|
44
|
-
decorators?: {
|
|
45
|
-
block?: ((props: BlockDecoratorProps) => React.ReactElement)[];
|
|
46
|
-
};
|
|
47
44
|
}
|
|
48
45
|
export {};
|
|
@@ -8,4 +8,3 @@ tslib_1.__exportStar(require("./components"), exports);
|
|
|
8
8
|
tslib_1.__exportStar(require("./guards"), exports);
|
|
9
9
|
tslib_1.__exportStar(require("./react"), exports);
|
|
10
10
|
tslib_1.__exportStar(require("./navigation"), exports);
|
|
11
|
-
tslib_1.__exportStar(require("./customization"), exports);
|
|
@@ -1114,6 +1114,12 @@ export declare const MediaProps: {
|
|
|
1114
1114
|
type: string;
|
|
1115
1115
|
})[];
|
|
1116
1116
|
};
|
|
1117
|
+
fullScreen: {
|
|
1118
|
+
type: string;
|
|
1119
|
+
};
|
|
1120
|
+
fullscreen: {
|
|
1121
|
+
type: string;
|
|
1122
|
+
};
|
|
1117
1123
|
};
|
|
1118
1124
|
export declare const YMapMarkerLabel: {
|
|
1119
1125
|
type: string;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { HubspotFormProps } from '../../models';
|
|
3
2
|
type HubspotFormContainerPropsKeys = 'className' | 'formId' | 'formInstanceId' | 'portalId' | 'region' | 'formClassName' | 'createDOMElement';
|
|
4
3
|
type HubspotFormContainerProps = Pick<HubspotFormProps, HubspotFormContainerPropsKeys>;
|
|
5
|
-
declare const HubspotFormContainer:
|
|
4
|
+
declare const HubspotFormContainer: (props: HubspotFormContainerProps) => JSX.Element;
|
|
6
5
|
export default HubspotFormContainer;
|
|
@@ -4,12 +4,10 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
5
5
|
const hooks_1 = require("../../hooks");
|
|
6
6
|
const loadHubspotScript_1 = tslib_1.__importDefault(require("./loadHubspotScript"));
|
|
7
|
-
const HubspotFormContainer = (
|
|
7
|
+
const HubspotFormContainer = (props) => {
|
|
8
8
|
const { className, formId, formInstanceId, portalId, region, formClassName, createDOMElement, } = props;
|
|
9
9
|
const containerRef = (0, react_1.useRef)(null);
|
|
10
10
|
const hsContainerRef = (0, react_1.useRef)();
|
|
11
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
12
|
-
(0, react_1.useImperativeHandle)(ref, () => containerRef.current);
|
|
13
11
|
const containerId = formInstanceId
|
|
14
12
|
? `hubspot-form-${formId}-${formInstanceId}`
|
|
15
13
|
: `hubspot-form-${formId}`;
|
|
@@ -47,6 +45,5 @@ const HubspotFormContainer = (0, react_1.forwardRef)((props, ref) => {
|
|
|
47
45
|
};
|
|
48
46
|
});
|
|
49
47
|
return react_1.default.createElement("div", { className: className, id: containerId, ref: containerRef });
|
|
50
|
-
}
|
|
51
|
-
HubspotFormContainer.displayName = 'HubspotFormContainer';
|
|
48
|
+
};
|
|
52
49
|
exports.default = HubspotFormContainer;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { HubspotFormProps } from '../../models';
|
|
3
|
-
declare const HubspotForm: React.
|
|
3
|
+
declare const HubspotForm: React.FunctionComponent<HubspotFormProps>;
|
|
4
4
|
export default HubspotForm;
|
|
@@ -10,7 +10,7 @@ const models_1 = require("../../models");
|
|
|
10
10
|
const utils_1 = require("../../utils");
|
|
11
11
|
const HubspotFormContainer_1 = tslib_1.__importDefault(require("./HubspotFormContainer"));
|
|
12
12
|
const b = (0, utils_1.block)('hubspot-form');
|
|
13
|
-
const HubspotForm = (
|
|
13
|
+
const HubspotForm = (props) => {
|
|
14
14
|
const { className, theme: themeProp, isMobile: isMobileProp, formId, formInstanceId, portalId, region, formClassName, pixelEvents,
|
|
15
15
|
// hubspotEvents, // TODO: decide how to handle them
|
|
16
16
|
analyticsEvents, onBeforeSubmit, onSubmit, onBeforeLoad, onLoad, createDOMElement, onSubmitError, } = props;
|
|
@@ -25,10 +25,10 @@ const HubspotForm = (0, react_1.forwardRef)((props, ref) => {
|
|
|
25
25
|
onBeforeSubmit,
|
|
26
26
|
onLoad,
|
|
27
27
|
onSubmitError,
|
|
28
|
-
onSubmit: (
|
|
28
|
+
onSubmit: (e) => {
|
|
29
29
|
handleMetrika === null || handleMetrika === void 0 ? void 0 : handleMetrika({ pixelEvents });
|
|
30
30
|
handleAnalytics(analyticsEvents);
|
|
31
|
-
onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(
|
|
31
|
+
onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(e);
|
|
32
32
|
},
|
|
33
33
|
}), [
|
|
34
34
|
onBeforeLoad,
|
|
@@ -42,7 +42,6 @@ const HubspotForm = (0, react_1.forwardRef)((props, ref) => {
|
|
|
42
42
|
onSubmitError,
|
|
43
43
|
]);
|
|
44
44
|
(0, hooks_1.useHandleHubspotEvents)(handlers, formId);
|
|
45
|
-
return (react_1.default.createElement(HubspotFormContainer_1.default, { createDOMElement: createDOMElement, key: [formClassName, formId, formInstanceId, portalId, region].join(), className: b({ theme, mobile }, className), formClassName: formClassName, formId: formId, portalId: portalId, formInstanceId: formInstanceId, region: region
|
|
46
|
-
}
|
|
47
|
-
HubspotForm.displayName = 'HubspotForm';
|
|
45
|
+
return (react_1.default.createElement(HubspotFormContainer_1.default, { createDOMElement: createDOMElement, key: [formClassName, formId, formInstanceId, portalId, region].join(), className: b({ theme, mobile }, className), formClassName: formClassName, formId: formId, portalId: portalId, formInstanceId: formInstanceId, region: region }));
|
|
46
|
+
};
|
|
48
47
|
exports.default = HubspotForm;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { LayoutItemProps } from '../../models';
|
|
2
|
-
declare const LayoutItem: ({ content: { links, ...content }, metaInfo, media, border, fullScreen, className, }: LayoutItemProps) => JSX.Element;
|
|
2
|
+
declare const LayoutItem: ({ content: { links, ...content }, metaInfo, media, border, fullScreen, fullscreen, className, }: LayoutItemProps) => JSX.Element;
|
|
3
3
|
export default LayoutItem;
|
|
@@ -8,11 +8,11 @@ const utils_1 = require("../../utils");
|
|
|
8
8
|
const utils_2 = require("./utils");
|
|
9
9
|
const b = (0, utils_1.block)('layout-item');
|
|
10
10
|
const LayoutItem = (_a) => {
|
|
11
|
-
var _b = _a.content, { links } = _b, content = tslib_1.__rest(_b, ["links"]), { metaInfo, media, border, fullScreen, className } = _a;
|
|
11
|
+
var _b = _a.content, { links } = _b, content = tslib_1.__rest(_b, ["links"]), { metaInfo, media, border, fullScreen, fullscreen, className } = _a;
|
|
12
12
|
return (react_1.default.createElement("div", { className: b(null, className) },
|
|
13
|
-
fullScreen && (0, utils_2.
|
|
14
|
-
var { className: mediaClassName } = _a,
|
|
15
|
-
return (react_1.default.createElement(components_1.Media, Object.assign({}, media,
|
|
13
|
+
(fullScreen || fullscreen) && (0, utils_2.hasFullscreen)(media) ? (react_1.default.createElement(components_1.FullScreenMedia, { showFullscreenIcon: (0, utils_2.showFullscreenIcon)(media) }, (_a = {}) => {
|
|
14
|
+
var { className: mediaClassName, fullScreen: _fullScreen } = _a, fullscreenMediaProps = tslib_1.__rest(_a, ["className", "fullScreen"]);
|
|
15
|
+
return (react_1.default.createElement(components_1.Media, Object.assign({}, media, fullscreenMediaProps, { className: b('media', { border }, mediaClassName) })));
|
|
16
16
|
})) : (react_1.default.createElement(components_1.Media, Object.assign({}, media, { className: b('media', { border }) }))),
|
|
17
17
|
metaInfo && react_1.default.createElement(components_1.MetaInfo, { items: metaInfo, className: b('meta-info') }),
|
|
18
18
|
react_1.default.createElement("div", { className: b('content') },
|
|
@@ -132,6 +132,12 @@ export declare const LayoutItem: {
|
|
|
132
132
|
type: string;
|
|
133
133
|
})[];
|
|
134
134
|
};
|
|
135
|
+
fullScreen: {
|
|
136
|
+
type: string;
|
|
137
|
+
};
|
|
138
|
+
fullscreen: {
|
|
139
|
+
type: string;
|
|
140
|
+
};
|
|
135
141
|
};
|
|
136
142
|
content: Partial<{
|
|
137
143
|
title: {
|
|
@@ -212,6 +218,9 @@ export declare const LayoutItem: {
|
|
|
212
218
|
fullScreen: {
|
|
213
219
|
type: string;
|
|
214
220
|
};
|
|
221
|
+
fullscreen: {
|
|
222
|
+
type: string;
|
|
223
|
+
};
|
|
215
224
|
type: {};
|
|
216
225
|
when: {};
|
|
217
226
|
};
|
|
@@ -24,5 +24,5 @@ export declare const getLayoutItemLinks: (links: LayoutItemProps['content']['lin
|
|
|
24
24
|
}[] | undefined;
|
|
25
25
|
className?: string | undefined;
|
|
26
26
|
}[] | undefined;
|
|
27
|
-
export declare const
|
|
28
|
-
export declare const
|
|
27
|
+
export declare const hasFullscreen: ({ dataLens, image }: MediaProps) => boolean;
|
|
28
|
+
export declare const showFullscreenIcon: ({ youtube }: MediaProps) => boolean;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.showFullscreenIcon = exports.hasFullscreen = exports.getLayoutItemLinks = void 0;
|
|
4
4
|
const getLayoutItemLinks = (links) => links === null || links === void 0 ? void 0 : links.map((link) => (Object.assign({ theme: 'normal' }, link)));
|
|
5
5
|
exports.getLayoutItemLinks = getLayoutItemLinks;
|
|
6
|
-
const
|
|
6
|
+
const hasFullscreen = ({ dataLens, image }) => {
|
|
7
7
|
// datalens and slider media card don't support fullScreen mode
|
|
8
8
|
return !(dataLens || Array.isArray(image));
|
|
9
9
|
};
|
|
10
|
-
exports.
|
|
11
|
-
const
|
|
12
|
-
exports.
|
|
10
|
+
exports.hasFullscreen = hasFullscreen;
|
|
11
|
+
const showFullscreenIcon = ({ youtube }) => !youtube;
|
|
12
|
+
exports.showFullscreenIcon = showFullscreenIcon;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CustomConfig, PCShareSocialNetwork, TextSize } from '../models';
|
|
2
2
|
import { ConstructorBlock } from '../models/constructor';
|
|
3
3
|
export declare function getHeaderTag(size: TextSize): "h1" | "h2" | "h4" | "h5";
|
|
4
4
|
export declare function getBlockKey(block: ConstructorBlock, index: number): string;
|
|
@@ -8,7 +8,4 @@ export declare const getCustomItems: ({ blocks, headers, subBlocks }?: CustomCon
|
|
|
8
8
|
};
|
|
9
9
|
export declare const getCustomSubBlockTypes: (customBlocks?: CustomConfig) => string[];
|
|
10
10
|
export declare const getCustomHeaderTypes: (customBlocks?: CustomConfig) => string[];
|
|
11
|
-
export declare const getOrderedBlocks: (blocks: Block[], headerBlockTypes?: string[]) => Block[];
|
|
12
|
-
export declare const getHeaderBlock: (blocks: Block[], headerBlockTypes?: string[]) => Block | undefined;
|
|
13
11
|
export declare const getShareLink: (url: string, type: PCShareSocialNetwork, title?: string, text?: string) => string | undefined;
|
|
14
|
-
export declare const getBlockIndexFromId: (blockId?: string) => number;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getShareLink = exports.getCustomHeaderTypes = exports.getCustomSubBlockTypes = exports.getCustomItems = exports.getCustomBlockTypes = exports.getBlockKey = exports.getHeaderTag = void 0;
|
|
4
4
|
const models_1 = require("../models");
|
|
5
5
|
function getHeaderTag(size) {
|
|
6
6
|
switch (size) {
|
|
@@ -46,14 +46,6 @@ const getShareUrlWithParams = (url, params = {}) => {
|
|
|
46
46
|
});
|
|
47
47
|
return result.toString();
|
|
48
48
|
};
|
|
49
|
-
const getOrderedBlocks = (blocks, headerBlockTypes = []) => {
|
|
50
|
-
return blocks.filter(({ type }) => !headerBlockTypes.includes(type));
|
|
51
|
-
};
|
|
52
|
-
exports.getOrderedBlocks = getOrderedBlocks;
|
|
53
|
-
const getHeaderBlock = (blocks, headerBlockTypes = []) => {
|
|
54
|
-
return blocks.find(({ type }) => headerBlockTypes.includes(type));
|
|
55
|
-
};
|
|
56
|
-
exports.getHeaderBlock = getHeaderBlock;
|
|
57
49
|
const getShareLink = (url, type, title, text) => {
|
|
58
50
|
// https://github.com/bradvin/social-share-urls
|
|
59
51
|
switch (type) {
|
|
@@ -83,5 +75,3 @@ const getShareLink = (url, type, title, text) => {
|
|
|
83
75
|
}
|
|
84
76
|
};
|
|
85
77
|
exports.getShareLink = getShareLink;
|
|
86
|
-
const getBlockIndexFromId = (blockId) => { var _a; return Number((_a = blockId === null || blockId === void 0 ? void 0 : blockId.split('-')) === null || _a === void 0 ? void 0 : _a.slice(-1).pop()); };
|
|
87
|
-
exports.getBlockIndexFromId = getBlockIndexFromId;
|
|
@@ -137,6 +137,12 @@ export declare const HeaderBackgroundProps: {
|
|
|
137
137
|
type: string;
|
|
138
138
|
})[];
|
|
139
139
|
};
|
|
140
|
+
fullScreen: {
|
|
141
|
+
type: string;
|
|
142
|
+
};
|
|
143
|
+
fullscreen: {
|
|
144
|
+
type: string;
|
|
145
|
+
};
|
|
140
146
|
};
|
|
141
147
|
};
|
|
142
148
|
export declare const HeaderProperties: {
|
|
@@ -424,6 +430,12 @@ export declare const HeaderProperties: {
|
|
|
424
430
|
type: string;
|
|
425
431
|
})[];
|
|
426
432
|
};
|
|
433
|
+
fullScreen: {
|
|
434
|
+
type: string;
|
|
435
|
+
};
|
|
436
|
+
fullscreen: {
|
|
437
|
+
type: string;
|
|
438
|
+
};
|
|
427
439
|
};
|
|
428
440
|
} | {
|
|
429
441
|
type: string;
|
|
@@ -757,6 +769,12 @@ export declare const HeaderBlock: {
|
|
|
757
769
|
type: string;
|
|
758
770
|
})[];
|
|
759
771
|
};
|
|
772
|
+
fullScreen: {
|
|
773
|
+
type: string;
|
|
774
|
+
};
|
|
775
|
+
fullscreen: {
|
|
776
|
+
type: string;
|
|
777
|
+
};
|
|
760
778
|
};
|
|
761
779
|
} | {
|
|
762
780
|
type: string;
|
|
@@ -131,6 +131,12 @@ export declare const Media: {
|
|
|
131
131
|
type: string;
|
|
132
132
|
})[];
|
|
133
133
|
};
|
|
134
|
+
fullScreen: {
|
|
135
|
+
type: string;
|
|
136
|
+
};
|
|
137
|
+
fullscreen: {
|
|
138
|
+
type: string;
|
|
139
|
+
};
|
|
134
140
|
};
|
|
135
141
|
};
|
|
136
142
|
export declare const MediaBlockBaseProps: {
|
|
@@ -608,6 +614,12 @@ export declare const MediaBlock: {
|
|
|
608
614
|
type: string;
|
|
609
615
|
})[];
|
|
610
616
|
};
|
|
617
|
+
fullScreen: {
|
|
618
|
+
type: string;
|
|
619
|
+
};
|
|
620
|
+
fullscreen: {
|
|
621
|
+
type: string;
|
|
622
|
+
};
|
|
611
623
|
};
|
|
612
624
|
};
|
|
613
625
|
description: {
|
|
@@ -2,7 +2,7 @@ import React, { Fragment, useContext, useRef, useState } from 'react';
|
|
|
2
2
|
import AnimateBlock from '../../components/AnimateBlock/AnimateBlock';
|
|
3
3
|
import BlockHeader from '../../components/BlockHeader/BlockHeader';
|
|
4
4
|
import ButtonTabs from '../../components/ButtonTabs/ButtonTabs';
|
|
5
|
-
import
|
|
5
|
+
import FullscreenImage from '../../components/FullscreenImage/FullscreenImage';
|
|
6
6
|
import { getMediaImage } from '../../components/Media/Image/utils';
|
|
7
7
|
import Media from '../../components/Media/Media';
|
|
8
8
|
import { getHeight } from '../../components/VideoBlock/VideoBlock';
|
|
@@ -44,7 +44,7 @@ export const TabsBlock = ({ items, title, description, animated, tabsColSizes, c
|
|
|
44
44
|
}, className: b('col', { centered: centered }) },
|
|
45
45
|
React.createElement("div", { ref: ref }, (activeTabData === null || activeTabData === void 0 ? void 0 : activeTabData.media) && (React.createElement(Media, Object.assign({}, getThemedValue(activeTabData.media, theme), { key: activeTab, className: b('media'), playVideo: play, height: mediaHeight })))),
|
|
46
46
|
imageProps && (React.createElement(Fragment, null,
|
|
47
|
-
React.createElement(
|
|
47
|
+
React.createElement(FullscreenImage, Object.assign({}, imageProps, { imageClassName: b('image') })))),
|
|
48
48
|
(activeTabData === null || activeTabData === void 0 ? void 0 : activeTabData.caption) && React.createElement("p", { className: b('caption') }, activeTabData.caption)));
|
|
49
49
|
const onSelectTab = (id, e) => {
|
|
50
50
|
setActiveTab(id);
|
|
@@ -3,7 +3,7 @@ import './Anchor.css';
|
|
|
3
3
|
export declare const qaIdByDefault = "qa-anchor";
|
|
4
4
|
export interface AnchorProps extends ClassNameProps {
|
|
5
5
|
id: string;
|
|
6
|
-
|
|
6
|
+
dataQa?: string;
|
|
7
7
|
}
|
|
8
|
-
declare const Anchor: ({ id, className,
|
|
8
|
+
declare const Anchor: ({ id, className, dataQa }: AnchorProps) => JSX.Element;
|
|
9
9
|
export default Anchor;
|
|
@@ -4,5 +4,5 @@ import { block } from '../../utils';
|
|
|
4
4
|
import './Anchor.css';
|
|
5
5
|
const b = block('Anchor');
|
|
6
6
|
export const qaIdByDefault = 'qa-anchor';
|
|
7
|
-
const Anchor = ({ id, className,
|
|
7
|
+
const Anchor = ({ id, className, dataQa }) => (React.createElement("div", { id: id, className: b(null, className), "data-qa": dataQa || qaIdByDefault }));
|
|
8
8
|
export default Anchor;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
|
+
import Anchor from '../Anchor';
|
|
4
|
+
const testId = 'anchor';
|
|
5
|
+
const anchorId = 'anchorId';
|
|
6
|
+
describe('Anchor', () => {
|
|
7
|
+
test('Has id', async () => {
|
|
8
|
+
render(React.createElement(Anchor, { id: anchorId, dataQa: testId }));
|
|
9
|
+
const anchor = screen.getByTestId(testId);
|
|
10
|
+
expect(anchor).toHaveAttribute('id', anchorId);
|
|
11
|
+
});
|
|
12
|
+
test('Has custom class', async () => {
|
|
13
|
+
const className = 'custom-anchor-class';
|
|
14
|
+
render(React.createElement(Anchor, { id: anchorId, className: className, dataQa: testId }));
|
|
15
|
+
const anchor = screen.getByTestId(testId);
|
|
16
|
+
expect(anchor).toHaveClass(className);
|
|
17
|
+
});
|
|
18
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
|
+
import userEvent from '@testing-library/user-event';
|
|
4
|
+
import AnimateBlock from '../AnimateBlock';
|
|
5
|
+
const qaId = 'animate-block';
|
|
6
|
+
describe('AnimateBlock', () => {
|
|
7
|
+
test('render AnimateBlock by default', async () => {
|
|
8
|
+
render(React.createElement(AnimateBlock, { qa: qaId }));
|
|
9
|
+
const component = screen.getByTestId(qaId);
|
|
10
|
+
expect(component).toBeInTheDocument();
|
|
11
|
+
});
|
|
12
|
+
test('add className', () => {
|
|
13
|
+
const className = 'my-class';
|
|
14
|
+
render(React.createElement(AnimateBlock, { qa: qaId, className: className }));
|
|
15
|
+
const component = screen.getByTestId(qaId);
|
|
16
|
+
expect(component).toHaveClass(className);
|
|
17
|
+
});
|
|
18
|
+
test('use passed style', () => {
|
|
19
|
+
const style = { color: 'red' };
|
|
20
|
+
render(React.createElement(AnimateBlock, { style: style, qa: qaId }));
|
|
21
|
+
const component = screen.getByTestId(qaId);
|
|
22
|
+
expect(component).toHaveStyle(style);
|
|
23
|
+
});
|
|
24
|
+
test('call onScroll', async () => {
|
|
25
|
+
const onScroll = jest.fn();
|
|
26
|
+
const user = userEvent.setup();
|
|
27
|
+
render(React.createElement("div", { style: { paddingTop: 100000 } },
|
|
28
|
+
React.createElement(AnimateBlock, { onScroll: onScroll, qa: qaId })));
|
|
29
|
+
const component = screen.getByTestId(qaId);
|
|
30
|
+
await user.hover(component);
|
|
31
|
+
expect(onScroll).toHaveBeenCalledTimes(1);
|
|
32
|
+
});
|
|
33
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
|
+
import { AuthorType } from '../../../models';
|
|
4
|
+
import Author from '../Author';
|
|
5
|
+
const testId = 'author';
|
|
6
|
+
const author = {
|
|
7
|
+
firstName: 'John',
|
|
8
|
+
secondName: 'Doe',
|
|
9
|
+
description: 'Web designer',
|
|
10
|
+
avatar: 'https://storage.yandexcloud.net/cloud-www-assets/constructor/storybook/images/img-gray.png',
|
|
11
|
+
};
|
|
12
|
+
describe('Author', () => {
|
|
13
|
+
test('Render author by default', async () => {
|
|
14
|
+
render(React.createElement(Author, { author: author, dataQa: testId }));
|
|
15
|
+
const object = screen.getByTestId(testId);
|
|
16
|
+
expect(object).toBeInTheDocument();
|
|
17
|
+
});
|
|
18
|
+
test('Has full name', async () => {
|
|
19
|
+
const name = `${author.firstName} ${author.secondName}`;
|
|
20
|
+
render(React.createElement(Author, { author: author, dataQa: testId }));
|
|
21
|
+
const object = screen.getByText(name);
|
|
22
|
+
expect(object).toBeInTheDocument();
|
|
23
|
+
});
|
|
24
|
+
test('Has first name only', async () => {
|
|
25
|
+
const name = author.firstName;
|
|
26
|
+
render(React.createElement(Author, { author: Object.assign(Object.assign({}, author), { secondName: '' }), dataQa: testId }));
|
|
27
|
+
const object = screen.getByText(name);
|
|
28
|
+
expect(object).toBeInTheDocument();
|
|
29
|
+
});
|
|
30
|
+
test('Has avatar', async () => {
|
|
31
|
+
render(React.createElement(Author, { author: author, dataQa: testId }));
|
|
32
|
+
const avatar = screen.getByRole('img');
|
|
33
|
+
expect(avatar).toBeInTheDocument();
|
|
34
|
+
expect(avatar).toHaveAttribute('src', author.avatar);
|
|
35
|
+
});
|
|
36
|
+
test('Has description', async () => {
|
|
37
|
+
render(React.createElement(Author, { author: author, dataQa: testId }));
|
|
38
|
+
const object = screen.getByText(author.description);
|
|
39
|
+
expect(object).toBeInTheDocument();
|
|
40
|
+
});
|
|
41
|
+
test.each(new Array(AuthorType.Column, AuthorType.Line))('Render with given "%s" type', (type) => {
|
|
42
|
+
render(React.createElement(Author, { author: author, dataQa: testId, type: type }));
|
|
43
|
+
const object = screen.getByTestId(testId);
|
|
44
|
+
expect(object).toHaveClass(`pc-author_type_${type}`);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
|
+
import userEvent from '@testing-library/user-event';
|
|
4
|
+
import { LocationContext } from '../../../context/locationContext';
|
|
5
|
+
import BackLink from '../BackLink';
|
|
6
|
+
const backLinkProps = {
|
|
7
|
+
url: '#',
|
|
8
|
+
title: 'Button Title',
|
|
9
|
+
theme: 'default',
|
|
10
|
+
size: 's',
|
|
11
|
+
className: 'customClassName',
|
|
12
|
+
shouldHandleBackAction: true,
|
|
13
|
+
onClick: () => { },
|
|
14
|
+
};
|
|
15
|
+
describe('BackLink', () => {
|
|
16
|
+
test('Default render', async () => {
|
|
17
|
+
render(React.createElement(BackLink, Object.assign({}, backLinkProps)));
|
|
18
|
+
const backLink = screen.getByRole('button');
|
|
19
|
+
expect(backLink).toBeInTheDocument();
|
|
20
|
+
});
|
|
21
|
+
test('Has custom class', async () => {
|
|
22
|
+
render(React.createElement(BackLink, Object.assign({}, backLinkProps)));
|
|
23
|
+
const backLink = screen.getByRole('button');
|
|
24
|
+
expect(backLink).toHaveClass(backLinkProps.className);
|
|
25
|
+
});
|
|
26
|
+
test('Should render <a /> tag', async () => {
|
|
27
|
+
render(React.createElement(BackLink, Object.assign({}, backLinkProps, { shouldHandleBackAction: false })));
|
|
28
|
+
const backLink = screen.getByRole('link');
|
|
29
|
+
expect(backLink).toBeVisible();
|
|
30
|
+
expect(backLink).toHaveAttribute('href', backLinkProps.url);
|
|
31
|
+
});
|
|
32
|
+
test('Should render title', async () => {
|
|
33
|
+
render(React.createElement(BackLink, Object.assign({}, backLinkProps)));
|
|
34
|
+
const backLink = screen.getByText(backLinkProps.title);
|
|
35
|
+
expect(backLink).toBeInTheDocument();
|
|
36
|
+
});
|
|
37
|
+
test('Call onClick', async () => {
|
|
38
|
+
const user = userEvent.setup();
|
|
39
|
+
const handleClick = jest.fn();
|
|
40
|
+
render(React.createElement(LocationContext.Provider, { value: { history: { push: jest.fn() } } },
|
|
41
|
+
React.createElement(BackLink, Object.assign({}, backLinkProps, { onClick: handleClick }))));
|
|
42
|
+
const backLink = screen.getByRole('button');
|
|
43
|
+
await user.click(backLink);
|
|
44
|
+
expect(handleClick).toHaveBeenCalledTimes(1);
|
|
45
|
+
});
|
|
46
|
+
test.each(new Array('s', 'm', 'l', 'xl'))('Render with given "%s" size', (size) => {
|
|
47
|
+
render(React.createElement(BackLink, Object.assign({}, backLinkProps, { size: size })));
|
|
48
|
+
const backLink = screen.getByRole('button');
|
|
49
|
+
expect(backLink).toHaveClass(`yc-button_size_${size}`);
|
|
50
|
+
});
|
|
51
|
+
test.each(new Array('default', 'special'))('Render with given "%s" theme', (theme) => {
|
|
52
|
+
const matchView = {
|
|
53
|
+
default: 'flat-secondary',
|
|
54
|
+
special: 'flat-contrast',
|
|
55
|
+
};
|
|
56
|
+
render(React.createElement(BackLink, Object.assign({}, backLinkProps, { theme: theme })));
|
|
57
|
+
const backLink = screen.getByRole('button');
|
|
58
|
+
expect(backLink).toHaveClass(`yc-button_view_${matchView[theme]}`);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
@@ -4,8 +4,8 @@ import Image from '../Image/Image';
|
|
|
4
4
|
import './BackgroundImage.css';
|
|
5
5
|
const b = block('storage-background-image');
|
|
6
6
|
const BackgroundImage = (props) => {
|
|
7
|
-
const { children, src, desktop, className, imageClassName, style, hide
|
|
8
|
-
return (React.createElement("div", { className: b(null, className), style: style
|
|
7
|
+
const { children, src, desktop, className, imageClassName, style, hide } = props;
|
|
8
|
+
return (React.createElement("div", { className: b(null, className), style: style },
|
|
9
9
|
(src || desktop) && !hide && React.createElement(Image, Object.assign({}, props, { className: b('img', imageClassName) })),
|
|
10
10
|
children && React.createElement("div", { className: b('container') }, children)));
|
|
11
11
|
};
|