@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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CSSProperties, ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { ButtonSize, ButtonView } from '@gravity-ui/uikit';
|
|
3
3
|
import { ThemeSupporting } from '../../utils/theme';
|
|
4
4
|
import { AnalyticsEventsBase, ClassNameProps, PixelEventType } from '../common';
|
|
5
5
|
export declare enum AuthorType {
|
|
@@ -99,7 +99,6 @@ export interface BackgroundImageProps extends React.HTMLProps<HTMLDivElement>, P
|
|
|
99
99
|
style?: CSSProperties;
|
|
100
100
|
imageClassName?: string;
|
|
101
101
|
hide?: boolean;
|
|
102
|
-
qa?: string;
|
|
103
102
|
}
|
|
104
103
|
export interface MediaVideoProps extends AnalyticsEventsBase {
|
|
105
104
|
src: string[];
|
|
@@ -132,10 +131,11 @@ export interface FileLinkProps extends ClassNameProps {
|
|
|
132
131
|
onClick?: () => void;
|
|
133
132
|
}
|
|
134
133
|
export type ButtonTheme = ButtonView | 'github' | 'app-store' | 'google-play' | 'scale' | 'monochrome';
|
|
135
|
-
export interface ButtonProps extends AnalyticsEventsBase
|
|
134
|
+
export interface ButtonProps extends AnalyticsEventsBase {
|
|
136
135
|
text: string;
|
|
137
136
|
url: string;
|
|
138
137
|
primary?: boolean;
|
|
138
|
+
size?: ButtonSize;
|
|
139
139
|
theme?: ButtonTheme;
|
|
140
140
|
img?: ButtonImageProps | string;
|
|
141
141
|
metrikaGoals?: MetrikaGoal;
|
|
@@ -174,7 +174,11 @@ export interface MediaComponentVideoProps extends AnalyticsEventsBase {
|
|
|
174
174
|
export interface MediaComponentYoutubeProps {
|
|
175
175
|
youtube: string;
|
|
176
176
|
previewImg?: string;
|
|
177
|
+
/**
|
|
178
|
+
* @deprecated use fullscreen
|
|
179
|
+
*/
|
|
177
180
|
fullScreen?: boolean;
|
|
181
|
+
fullscreen?: boolean;
|
|
178
182
|
}
|
|
179
183
|
export interface MediaComponentImageProps {
|
|
180
184
|
image: ImageProps | ImageProps[] | ImageDeviceProps;
|
|
@@ -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 {};
|
package/server/models/index.d.ts
CHANGED
package/server/models/index.js
CHANGED
package/server/utils/blocks.d.ts
CHANGED
|
@@ -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;
|
package/server/utils/blocks.js
CHANGED
|
@@ -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;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { MediaAllProps } from '../Media/Media';
|
|
3
|
-
export type ChildMediaRenderProps = Pick<MediaAllProps, 'fullScreen' | 'imageClassName' | 'videoClassName' | 'youtubeClassName' | 'className'>;
|
|
4
|
-
export interface FullScreenMediaProps {
|
|
5
|
-
showFullScreenIcon?: boolean;
|
|
6
|
-
children: (props?: ChildMediaRenderProps) => JSX.Element;
|
|
7
|
-
}
|
|
8
|
-
declare const FullScreenMedia: ({ children, showFullScreenIcon }: FullScreenMediaProps) => JSX.Element;
|
|
9
|
-
export default FullScreenMedia;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BlockDecoration = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
-
const blockIdContext_1 = require("../context/blockIdContext");
|
|
7
|
-
const innerContext_1 = require("../context/innerContext");
|
|
8
|
-
const utils_1 = require("../utils");
|
|
9
|
-
const BlockDecoration = (props) => {
|
|
10
|
-
var _a, _b;
|
|
11
|
-
const blockContenxtId = (0, utils_1.getBlockIndexFromId)((0, react_1.useContext)(blockIdContext_1.BlockIdContext));
|
|
12
|
-
const { headerBlockTypes } = (0, react_1.useContext)(innerContext_1.InnerContext);
|
|
13
|
-
const blockId = props.id || blockContenxtId;
|
|
14
|
-
const isHeader = Boolean(props.id && headerBlockTypes.includes(props.id));
|
|
15
|
-
const block = react_1.default.createElement(react_1.Fragment, null, props.children);
|
|
16
|
-
const blockDecorators = (_b = (_a = (0, react_1.useContext)(innerContext_1.InnerContext).customization) === null || _a === void 0 ? void 0 : _a.decorators) === null || _b === void 0 ? void 0 : _b.block;
|
|
17
|
-
if (!blockDecorators) {
|
|
18
|
-
return block;
|
|
19
|
-
}
|
|
20
|
-
return blockDecorators.reduce((children, decorator) => (react_1.default.createElement(react_1.Fragment, null, decorator({ children, id: blockId, isHeader }))), block);
|
|
21
|
-
};
|
|
22
|
-
exports.BlockDecoration = BlockDecoration;
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/* use this for style redefinitions to awoid problems with
|
|
2
|
-
unpredictable css rules order in build */
|
|
3
|
-
.pc-add-block {
|
|
4
|
-
position: fixed;
|
|
5
|
-
bottom: 32px;
|
|
6
|
-
left: 50%;
|
|
7
|
-
transform: translateX(-50%);
|
|
8
|
-
z-index: 110;
|
|
9
|
-
}
|
|
10
|
-
.pc-add-block__button {
|
|
11
|
-
display: inline-block;
|
|
12
|
-
margin: 0;
|
|
13
|
-
padding: 0;
|
|
14
|
-
font: inherit;
|
|
15
|
-
border: none;
|
|
16
|
-
outline: none;
|
|
17
|
-
color: inherit;
|
|
18
|
-
background: none;
|
|
19
|
-
cursor: pointer;
|
|
20
|
-
display: flex;
|
|
21
|
-
justify-content: center;
|
|
22
|
-
align-items: center;
|
|
23
|
-
transition: transform 0.2s;
|
|
24
|
-
width: 76px;
|
|
25
|
-
height: 40px;
|
|
26
|
-
color: var(--yc-color-text-inverted-primary);
|
|
27
|
-
background-color: var(--yc-color-promo-base-neon);
|
|
28
|
-
border-radius: 8px;
|
|
29
|
-
}
|
|
30
|
-
.pc-add-block__button:hover {
|
|
31
|
-
transform: scale(1.05);
|
|
32
|
-
}
|
|
33
|
-
.pc-add-block__icon {
|
|
34
|
-
width: 16px;
|
|
35
|
-
height: 16px;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.pc-add-block__popup {
|
|
39
|
-
min-width: 420px;
|
|
40
|
-
border-radius: var(--pc-border-radius);
|
|
41
|
-
box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.06), 0px 4px 24px rgba(0, 0, 0, 0.06);
|
|
42
|
-
}
|
|
43
|
-
.pc-add-block__popup .pc-add-block__search {
|
|
44
|
-
padding: 20px 20px 0;
|
|
45
|
-
}
|
|
46
|
-
.pc-add-block__popup .pc-add-block__blocks {
|
|
47
|
-
display: flex;
|
|
48
|
-
flex-direction: column;
|
|
49
|
-
padding: 20px;
|
|
50
|
-
height: 296px;
|
|
51
|
-
max-height: 296px;
|
|
52
|
-
overflow-y: auto;
|
|
53
|
-
}
|
|
54
|
-
.pc-add-block__popup .pc-add-block__block {
|
|
55
|
-
display: flex;
|
|
56
|
-
justify-content: center;
|
|
57
|
-
align-items: center;
|
|
58
|
-
transition: transform 0.2s;
|
|
59
|
-
margin-top: 20px;
|
|
60
|
-
justify-content: flex-start;
|
|
61
|
-
cursor: pointer;
|
|
62
|
-
}
|
|
63
|
-
.pc-add-block__popup .pc-add-block__block:hover {
|
|
64
|
-
transform: scale(1.05);
|
|
65
|
-
}
|
|
66
|
-
.pc-add-block__popup .pc-add-block__block:first-child {
|
|
67
|
-
margin-top: 0;
|
|
68
|
-
}
|
|
69
|
-
.pc-add-block__popup .pc-add-block__preview {
|
|
70
|
-
width: 148px;
|
|
71
|
-
height: 74px;
|
|
72
|
-
border-radius: var(--pc-border-radius);
|
|
73
|
-
margin-right: 16px;
|
|
74
|
-
}
|
|
75
|
-
.pc-add-block__popup .pc-add-block__title {
|
|
76
|
-
font-size: var(--yc-text-body-2-font-size);
|
|
77
|
-
line-height: var(--yc-text-body-2-line-height);
|
|
78
|
-
}
|
|
79
|
-
.pc-add-block__popup .pc-add-block__title,
|
|
80
|
-
.pc-add-block__popup .pc-add-block__description {
|
|
81
|
-
margin: 0;
|
|
82
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { PropsWithChildren } from 'react';
|
|
2
|
-
import { Block } from '../../../models';
|
|
3
|
-
export interface AddBlockProps {
|
|
4
|
-
onAdd: (data: Block) => void;
|
|
5
|
-
}
|
|
6
|
-
declare const AddBlock: ({ onAdd }: PropsWithChildren<AddBlockProps>) => JSX.Element;
|
|
7
|
-
export default AddBlock;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const react_1 = tslib_1.__importStar(require("react"));
|
|
5
|
-
const icons_1 = require("@gravity-ui/icons");
|
|
6
|
-
const uikit_1 = require("@gravity-ui/uikit");
|
|
7
|
-
const constructor_items_1 = require("../../../constructor-items");
|
|
8
|
-
const utils_1 = require("../../../utils");
|
|
9
|
-
const data_1 = tslib_1.__importDefault(require("../../data"));
|
|
10
|
-
const b = (0, utils_1.block)('add-block');
|
|
11
|
-
const sortedBlockNames = Object.keys(constructor_items_1.blockMap).sort();
|
|
12
|
-
const AddBlock = ({ onAdd }) => {
|
|
13
|
-
const [isOpened, setIsOpened] = (0, react_1.useState)(false);
|
|
14
|
-
const [search, setSearch] = (0, react_1.useState)('');
|
|
15
|
-
const ref = (0, react_1.useRef)(null);
|
|
16
|
-
const blocks = (0, react_1.useMemo)(() => sortedBlockNames.filter((blockName) => data_1.default[blockName].meta.title
|
|
17
|
-
.toLocaleLowerCase()
|
|
18
|
-
.startsWith(search.toLocaleLowerCase())), [search]);
|
|
19
|
-
return (react_1.default.createElement("div", { className: b(), ref: ref },
|
|
20
|
-
react_1.default.createElement("button", { className: b('button'), onClick: () => {
|
|
21
|
-
setIsOpened(!isOpened);
|
|
22
|
-
setSearch('');
|
|
23
|
-
} },
|
|
24
|
-
react_1.default.createElement(icons_1.Plus, { className: b('icon') })),
|
|
25
|
-
isOpened && (react_1.default.createElement(uikit_1.Popup, { anchorRef: ref, open: isOpened, className: b('popup'), placement: "top", offset: [0, 24], onOutsideClick: () => setIsOpened(false) },
|
|
26
|
-
react_1.default.createElement("div", { className: b('search') },
|
|
27
|
-
react_1.default.createElement(uikit_1.TextInput, { placeholder: "search", type: "text", value: search, size: "l", onUpdate: (value) => setSearch(value) })),
|
|
28
|
-
react_1.default.createElement("div", { className: b('blocks') }, blocks.map((blockName) => {
|
|
29
|
-
var _a;
|
|
30
|
-
const blockData = data_1.default[blockName];
|
|
31
|
-
const Preview = blockData === null || blockData === void 0 ? void 0 : blockData.preview;
|
|
32
|
-
return (react_1.default.createElement("div", { key: blockName, className: b('block'), onClick: () => {
|
|
33
|
-
onAdd(blockData === null || blockData === void 0 ? void 0 : blockData.template);
|
|
34
|
-
setIsOpened(false);
|
|
35
|
-
} },
|
|
36
|
-
react_1.default.createElement("div", { className: b('preview') },
|
|
37
|
-
react_1.default.createElement(Preview, null)),
|
|
38
|
-
react_1.default.createElement("div", { className: b('info') },
|
|
39
|
-
react_1.default.createElement("h4", { className: b('title') }, blockData.meta.title),
|
|
40
|
-
((_a = blockData === null || blockData === void 0 ? void 0 : blockData.meta) === null || _a === void 0 ? void 0 : _a.description) && (react_1.default.createElement("p", { className: b('description') }, blockData.meta.description)))));
|
|
41
|
-
}))))));
|
|
42
|
-
};
|
|
43
|
-
exports.default = AddBlock;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/* use this for style redefinitions to awoid problems with
|
|
2
|
-
unpredictable css rules order in build */
|
|
3
|
-
.pc-edit-block {
|
|
4
|
-
cursor: pointer;
|
|
5
|
-
position: relative;
|
|
6
|
-
}
|
|
7
|
-
.pc-edit-block__controls {
|
|
8
|
-
position: absolute;
|
|
9
|
-
width: calc(100% + 40px);
|
|
10
|
-
height: calc(100% + 40px);
|
|
11
|
-
top: -20px;
|
|
12
|
-
left: -20px;
|
|
13
|
-
border-radius: 8px;
|
|
14
|
-
z-index: 100;
|
|
15
|
-
}
|
|
16
|
-
.pc-edit-block__controls_isHeader {
|
|
17
|
-
width: 100%;
|
|
18
|
-
height: 100%;
|
|
19
|
-
top: 0;
|
|
20
|
-
left: 0;
|
|
21
|
-
}
|
|
22
|
-
.pc-edit-block__controls_active {
|
|
23
|
-
border: 4px solid var(--yc-color-promo-base-neon);
|
|
24
|
-
}
|
|
25
|
-
.pc-edit-block__controls-content {
|
|
26
|
-
display: flex;
|
|
27
|
-
position: absolute;
|
|
28
|
-
bottom: -44px;
|
|
29
|
-
left: 50%;
|
|
30
|
-
transform: translateX(-50%);
|
|
31
|
-
}
|
|
32
|
-
.pc-edit-block__control {
|
|
33
|
-
display: flex;
|
|
34
|
-
justify-content: center;
|
|
35
|
-
align-items: center;
|
|
36
|
-
transition: transform 0.2s;
|
|
37
|
-
width: 24px;
|
|
38
|
-
height: 24px;
|
|
39
|
-
border-radius: calc(8px / 2);
|
|
40
|
-
background-color: var(--yc-color-promo-highlight-neon);
|
|
41
|
-
}
|
|
42
|
-
.pc-edit-block__control:hover {
|
|
43
|
-
transform: scale(1.1);
|
|
44
|
-
}
|
|
45
|
-
.pc-edit-block__control:not(:first-child) {
|
|
46
|
-
margin-left: 12px;
|
|
47
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { EditBlockProps } from '../../../editor/types';
|
|
3
|
-
declare const _default: React.MemoExoticComponent<({ id, isHeader, activeBlockId, onDelete, onSelect, onCopy, onOrderChange, children, orderedBlocksCount, }: EditBlockProps) => JSX.Element>;
|
|
4
|
-
export default _default;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const react_1 = tslib_1.__importStar(require("react"));
|
|
5
|
-
const icons_1 = require("@gravity-ui/icons");
|
|
6
|
-
const utils_1 = require("../../../utils");
|
|
7
|
-
const b = (0, utils_1.block)('edit-block');
|
|
8
|
-
const EditBlock = ({ id, isHeader, activeBlockId, onDelete, onSelect, onCopy, onOrderChange, children, orderedBlocksCount, }) => {
|
|
9
|
-
const ref = (0, react_1.useRef)(null);
|
|
10
|
-
const controlsActive = activeBlockId === id;
|
|
11
|
-
(0, react_1.useEffect)(() => {
|
|
12
|
-
var _a;
|
|
13
|
-
if (controlsActive && ref.current) {
|
|
14
|
-
(_a = ref.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
15
|
-
}
|
|
16
|
-
}, [controlsActive]);
|
|
17
|
-
return (react_1.default.createElement("div", { className: b(), onClick: () => {
|
|
18
|
-
onSelect(id);
|
|
19
|
-
}, ref: ref },
|
|
20
|
-
react_1.default.createElement("div", { className: b('controls', { active: controlsActive, isHeader }) }, controlsActive && (react_1.default.createElement("div", { className: b('controls-content'), onClick: (e) => e.stopPropagation() },
|
|
21
|
-
typeof id === 'number' && (react_1.default.createElement(react_1.Fragment, null,
|
|
22
|
-
id > 0 && (react_1.default.createElement("div", { className: b('control'), onClick: () => onOrderChange(id, id - 1) },
|
|
23
|
-
react_1.default.createElement(icons_1.ChevronUp, null))),
|
|
24
|
-
id < orderedBlocksCount - 1 && (react_1.default.createElement("div", { className: b('control'), onClick: () => onOrderChange(id, id + 1) },
|
|
25
|
-
react_1.default.createElement(icons_1.ChevronDown, null))),
|
|
26
|
-
react_1.default.createElement("div", { className: b('control'), onClick: () => onCopy(id) },
|
|
27
|
-
react_1.default.createElement(icons_1.Copy, null)))),
|
|
28
|
-
react_1.default.createElement("div", { className: b('control'), onClick: () => onDelete(id) },
|
|
29
|
-
react_1.default.createElement(icons_1.TrashBin, null))))),
|
|
30
|
-
children));
|
|
31
|
-
};
|
|
32
|
-
exports.default = react_1.default.memo(EditBlock);
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Editor = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const react_1 = tslib_1.__importStar(require("react"));
|
|
6
|
-
const AddBlock_1 = tslib_1.__importDefault(require("../Components/AddBlock/AddBlock"));
|
|
7
|
-
const EditBlock_1 = tslib_1.__importDefault(require("../Components/EditBlock/EditBlock"));
|
|
8
|
-
const store_1 = require("../store");
|
|
9
|
-
const utils_1 = require("../utils");
|
|
10
|
-
const Editor = (_a) => {
|
|
11
|
-
var { children } = _a, rest = tslib_1.__rest(_a, ["children"]);
|
|
12
|
-
const { content, onAdd, editControlsProps } = (0, store_1.useEditorState)(rest);
|
|
13
|
-
const constructorProps = (0, react_1.useMemo)(() => {
|
|
14
|
-
const editControlsDecorator = (props) => (react_1.default.createElement(EditBlock_1.default, Object.assign({}, props, editControlsProps)));
|
|
15
|
-
return {
|
|
16
|
-
content,
|
|
17
|
-
custom: (0, utils_1.addCustomDecorator)(editControlsDecorator, rest.custom),
|
|
18
|
-
};
|
|
19
|
-
}, [editControlsProps, content, rest.custom]);
|
|
20
|
-
return (react_1.default.createElement("div", null,
|
|
21
|
-
children(constructorProps),
|
|
22
|
-
react_1.default.createElement(AddBlock_1.default, { onAdd: onAdd })));
|
|
23
|
-
};
|
|
24
|
-
exports.Editor = Editor;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { Block, BlockType } from '../../models';
|
|
3
|
-
export type PreviewComponent = React.FunctionComponent<React.SVGProps<SVGSVGElement>>;
|
|
4
|
-
export interface EdiorBlockData {
|
|
5
|
-
template: Block;
|
|
6
|
-
preview: PreviewComponent;
|
|
7
|
-
meta: {
|
|
8
|
-
title: string;
|
|
9
|
-
description?: string;
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
declare const EditorBlocksData: Record<BlockType, EdiorBlockData>;
|
|
13
|
-
export default EditorBlocksData;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const models_1 = require("../../models");
|
|
5
|
-
const utils_1 = require("../utils");
|
|
6
|
-
const default_preview_1 = tslib_1.__importDefault(require("./previews/default-preview"));
|
|
7
|
-
const getBlockTemplate = (blockType) => require(`./templates/${blockType}.json`);
|
|
8
|
-
const getBlockPreview = (blockType) => {
|
|
9
|
-
try {
|
|
10
|
-
return require(`./previews/${blockType}.tsx`).default;
|
|
11
|
-
}
|
|
12
|
-
catch (err) {
|
|
13
|
-
/*eslint-disable no-console */
|
|
14
|
-
console.warn(`Preview image for ${blockType} not found`);
|
|
15
|
-
return default_preview_1.default;
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
const EditorBlocksData = Object.values(models_1.BlockType).reduce((previewData, blockType) => {
|
|
19
|
-
const template = getBlockTemplate(blockType);
|
|
20
|
-
const preview = getBlockPreview(blockType);
|
|
21
|
-
template.meta = template.meta || {};
|
|
22
|
-
template.meta.title = template.meta.title || (0, utils_1.formatBlockName)(blockType);
|
|
23
|
-
/* eslint-disable no-param-reassign */
|
|
24
|
-
previewData[blockType] = Object.assign(Object.assign({}, template), { preview });
|
|
25
|
-
return previewData;
|
|
26
|
-
}, {});
|
|
27
|
-
exports.default = EditorBlocksData;
|
|
@@ -1,18 +0,0 @@
|
|
|
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 svg_1 = require("../../../utils/svg");
|
|
6
|
-
const DefaultPreview = (props) => (react_1.default.createElement("svg", Object.assign({ width: "150", height: "76", viewBox: "0 0 150 76", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, svg_1.a11yHiddenSvgProps, props),
|
|
7
|
-
react_1.default.createElement("rect", { x: "1", y: "1", width: "148", height: "74", rx: "8", fill: "white" }),
|
|
8
|
-
react_1.default.createElement("rect", { x: "14.7674", y: "21.6512", width: "28.3953", height: "6.88372", rx: "0.860465", fill: "#E7E7E7" }),
|
|
9
|
-
react_1.default.createElement("rect", { x: "43.1628", y: "21.6512", width: "28.3953", height: "6.88372", rx: "0.860465", fill: "white" }),
|
|
10
|
-
react_1.default.createElement("rect", { x: "14.7674", y: "31.9767", width: "56.7907", height: "3.44186", rx: "0.860465", fill: "#E7E7E7" }),
|
|
11
|
-
react_1.default.createElement("rect", { x: "14.7675", y: "37.1395", width: "56.7907", height: "3.44186", rx: "0.860465", fill: "#E7E7E7" }),
|
|
12
|
-
react_1.default.createElement("rect", { x: "14.7675", y: "42.3023", width: "56.7907", height: "3.44186", rx: "0.860465", fill: "#E7E7E7" }),
|
|
13
|
-
react_1.default.createElement("rect", { x: "14.7674", y: "49.186", width: "18.9302", height: "5.16279", rx: "0.860465", fill: "#E7E7E7" }),
|
|
14
|
-
react_1.default.createElement("rect", { x: "33.6977", y: "49.186", width: "18.9302", height: "5.16279", rx: "0.860465", fill: "white" }),
|
|
15
|
-
react_1.default.createElement("rect", { x: "52.6279", y: "49.186", width: "18.9302", height: "5.16279", rx: "0.860465", fill: "white" }),
|
|
16
|
-
react_1.default.createElement("rect", { x: "78.4418", y: "9.60464", width: "56.7907", height: "56.7907", rx: "5.16279", fill: "#A967FF" }),
|
|
17
|
-
react_1.default.createElement("rect", { x: "0.5", y: "0.5", width: "149", height: "75", rx: "8.5", stroke: "black", strokeOpacity: "0.1" })));
|
|
18
|
-
exports.default = DefaultPreview;
|
|
@@ -1,19 +0,0 @@
|
|
|
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 svg_1 = require("../../../utils/svg");
|
|
6
|
-
const Header = (props) => (react_1.default.createElement("svg", Object.assign({ width: "150", height: "76", viewBox: "0 0 150 76", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, svg_1.a11yHiddenSvgProps, props),
|
|
7
|
-
react_1.default.createElement("rect", { x: "1", y: "1", width: "148", height: "74", rx: "8", fill: "white" }),
|
|
8
|
-
react_1.default.createElement("rect", { x: "4.44174", y: "9.60464", width: "141.116", height: "56.7907", rx: "5.16279", fill: "#A967FF" }),
|
|
9
|
-
react_1.default.createElement("rect", { x: "14.7674", y: "21.6512", width: "28.3953", height: "6.88372", rx: "0.860465", fill: "white" }),
|
|
10
|
-
react_1.default.createElement("rect", { x: "43.1628", y: "21.6512", width: "28.3953", height: "6.88372", rx: "0.860465", fill: "#A967FF" }),
|
|
11
|
-
react_1.default.createElement("rect", { x: "14.7674", y: "31.9767", width: "56.7907", height: "3.44186", rx: "0.860465", fill: "white" }),
|
|
12
|
-
react_1.default.createElement("rect", { x: "14.7674", y: "37.1395", width: "56.7907", height: "3.44186", rx: "0.860465", fill: "white" }),
|
|
13
|
-
react_1.default.createElement("rect", { x: "14.7674", y: "42.3023", width: "56.7907", height: "3.44186", rx: "0.860465", fill: "white" }),
|
|
14
|
-
react_1.default.createElement("rect", { x: "14.7674", y: "49.186", width: "18.9302", height: "5.16279", rx: "0.860465", fill: "white" }),
|
|
15
|
-
react_1.default.createElement("rect", { x: "33.6976", y: "49.186", width: "18.9302", height: "5.16279", rx: "0.860465", fill: "#A967FF" }),
|
|
16
|
-
react_1.default.createElement("rect", { x: "52.6279", y: "49.186", width: "18.9302", height: "5.16279", rx: "0.860465", fill: "#A967FF" }),
|
|
17
|
-
react_1.default.createElement("rect", { x: "78.4418", y: "9.60464", width: "56.7907", height: "56.7907", rx: "5.16279", fill: "#A967FF" }),
|
|
18
|
-
react_1.default.createElement("rect", { x: "0.5", y: "0.5", width: "149", height: "75", rx: "8.5", stroke: "black", strokeOpacity: "0.1" })));
|
|
19
|
-
exports.default = Header;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Editor = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
var Editor_1 = require("./Containers/Editor");
|
|
6
|
-
Object.defineProperty(exports, "Editor", { enumerable: true, get: function () { return Editor_1.Editor; } });
|
|
7
|
-
tslib_1.__exportStar(require("./types"), exports);
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Block } from '../../models';
|
|
2
|
-
import { EditorProps } from '../types';
|
|
3
|
-
export type EditorBlockId = number | string;
|
|
4
|
-
export declare function useEditorState({ content: intialContent, custom }: Omit<EditorProps, 'children'>): {
|
|
5
|
-
content: import("../../models").PageContent;
|
|
6
|
-
editControlsProps: {
|
|
7
|
-
activeBlockId: import("./reducer").EditorBlockId;
|
|
8
|
-
orderedBlocksCount: number;
|
|
9
|
-
onDelete: (id: EditorBlockId) => void;
|
|
10
|
-
onSelect: (id: EditorBlockId) => void;
|
|
11
|
-
onCopy: (index: number) => void;
|
|
12
|
-
onOrderChange: (oldIndex: number, newIndex: number) => void;
|
|
13
|
-
};
|
|
14
|
-
onAdd: (block: Block) => void;
|
|
15
|
-
};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useEditorState = void 0;
|
|
4
|
-
const react_1 = require("react");
|
|
5
|
-
const models_1 = require("../../models");
|
|
6
|
-
const utils_1 = require("../../utils");
|
|
7
|
-
const reducer_1 = require("./reducer");
|
|
8
|
-
const utils_2 = require("./utils");
|
|
9
|
-
function useEditorState({ content: intialContent, custom }) {
|
|
10
|
-
const headerBlockTypes = (0, react_1.useMemo)(() => [...models_1.HeaderBlockTypes, ...(0, utils_1.getCustomHeaderTypes)(custom)], [custom]);
|
|
11
|
-
const reducer = (0, react_1.useMemo)(() => (0, reducer_1.getReducer)(headerBlockTypes), [headerBlockTypes]);
|
|
12
|
-
const [{ activeBlockId, content, orderedBlocksCount }, dispatch] = (0, react_1.useReducer)(reducer, {
|
|
13
|
-
activeBlockId: 0,
|
|
14
|
-
orderedBlocksCount: (0, utils_1.getOrderedBlocks)(intialContent.blocks, headerBlockTypes).length,
|
|
15
|
-
content: (0, utils_2.addEditorProps)(intialContent),
|
|
16
|
-
});
|
|
17
|
-
return (0, react_1.useMemo)(() => {
|
|
18
|
-
return {
|
|
19
|
-
content,
|
|
20
|
-
editControlsProps: {
|
|
21
|
-
activeBlockId,
|
|
22
|
-
orderedBlocksCount,
|
|
23
|
-
onDelete: (id) => dispatch({ type: reducer_1.DELETE_BLOCK, payload: id }),
|
|
24
|
-
onSelect: (id) => dispatch({ type: reducer_1.SELECT_BLOCK, payload: id }),
|
|
25
|
-
onCopy: (index) => dispatch({ type: reducer_1.COPY_BLOCK, payload: index }),
|
|
26
|
-
onOrderChange: (oldIndex, newIndex) => dispatch({ type: reducer_1.ORDER_BLOCK, payload: { oldIndex, newIndex } }),
|
|
27
|
-
},
|
|
28
|
-
onAdd: (block) => dispatch({ type: reducer_1.ADD_BLOCK, payload: block }),
|
|
29
|
-
};
|
|
30
|
-
}, [content, activeBlockId, orderedBlocksCount]);
|
|
31
|
-
}
|
|
32
|
-
exports.useEditorState = useEditorState;
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Block, CustomConfig, PageContent } from '../../models';
|
|
2
|
-
export type EditorBlockId = number | string;
|
|
3
|
-
interface EditorState {
|
|
4
|
-
content: PageContent;
|
|
5
|
-
activeBlockId: EditorBlockId;
|
|
6
|
-
orderedBlocksCount: number;
|
|
7
|
-
custom?: CustomConfig;
|
|
8
|
-
}
|
|
9
|
-
interface OrderBlockParams {
|
|
10
|
-
oldIndex: number;
|
|
11
|
-
newIndex: number;
|
|
12
|
-
}
|
|
13
|
-
export declare const SELECT_BLOCK = "SELECT_BLOCK";
|
|
14
|
-
export declare const DELETE_BLOCK = "DELETE_BLOCK";
|
|
15
|
-
export declare const COPY_BLOCK = "COPY_BLOCK";
|
|
16
|
-
export declare const ADD_BLOCK = "ADD_BLOCK";
|
|
17
|
-
export declare const SET_REGION = "SET_REGION";
|
|
18
|
-
export declare const ORDER_BLOCK = "ORDER_BLOCK";
|
|
19
|
-
interface SelectBlock {
|
|
20
|
-
type: typeof SELECT_BLOCK;
|
|
21
|
-
payload: EditorBlockId;
|
|
22
|
-
}
|
|
23
|
-
interface DeleteBlock {
|
|
24
|
-
type: typeof DELETE_BLOCK;
|
|
25
|
-
payload: EditorBlockId;
|
|
26
|
-
}
|
|
27
|
-
interface CopyBlock {
|
|
28
|
-
type: typeof COPY_BLOCK;
|
|
29
|
-
payload: number;
|
|
30
|
-
}
|
|
31
|
-
interface AddBlock {
|
|
32
|
-
type: typeof ADD_BLOCK;
|
|
33
|
-
payload: Block;
|
|
34
|
-
}
|
|
35
|
-
interface OrderBlock {
|
|
36
|
-
type: typeof ORDER_BLOCK;
|
|
37
|
-
payload: OrderBlockParams;
|
|
38
|
-
}
|
|
39
|
-
export type EditorAction = SelectBlock | DeleteBlock | CopyBlock | AddBlock | OrderBlock;
|
|
40
|
-
export declare const getReducer: (headerBlockTypes: string[]) => (state: EditorState, action: EditorAction) => EditorState;
|
|
41
|
-
export {};
|