@gravity-ui/page-constructor 2.21.0 → 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.
Files changed (233) hide show
  1. package/CHANGELOG.md +0 -53
  2. package/README.md +1 -1
  3. package/build/cjs/blocks/Header/schema.d.ts +18 -0
  4. package/build/cjs/blocks/HeaderSlider/schema.d.ts +6 -0
  5. package/build/cjs/blocks/Media/schema.d.ts +12 -0
  6. package/build/cjs/blocks/PromoFeaturesBlock/schema.d.ts +6 -0
  7. package/build/cjs/blocks/Security/schema.d.ts +6 -0
  8. package/build/cjs/blocks/Tabs/schema.d.ts +6 -0
  9. package/build/cjs/components/Anchor/Anchor.d.ts +2 -2
  10. package/build/cjs/components/Anchor/Anchor.js +1 -1
  11. package/build/cjs/components/Anchor/__tests__/Anchor.test.js +21 -0
  12. package/build/cjs/components/AnimateBlock/__tests__/AnimateBlock.test.js +36 -0
  13. package/build/cjs/components/Author/__tests__/Author.test.d.ts +1 -0
  14. package/build/cjs/components/Author/__tests__/Author.test.js +49 -0
  15. package/build/cjs/components/BackLink/__tests__/BackLink.test.d.ts +1 -0
  16. package/build/cjs/components/BackLink/__tests__/BackLink.test.js +63 -0
  17. package/build/cjs/components/BackgroundImage/BackgroundImage.js +2 -2
  18. package/build/cjs/components/BlockBase/BlockBase.d.ts +2 -3
  19. package/build/cjs/components/BlockBase/BlockBase.js +2 -4
  20. package/build/cjs/components/BlockBase/__tests__/BlockBase.test.d.ts +1 -0
  21. package/build/cjs/components/BlockBase/__tests__/BlockBase.test.js +44 -0
  22. package/build/cjs/components/Button/Button.css +0 -3
  23. package/build/cjs/components/Button/Button.js +4 -5
  24. package/build/cjs/components/Button/__tests__/Button.test.d.ts +1 -0
  25. package/build/cjs/components/Button/__tests__/Button.test.js +91 -0
  26. package/build/cjs/components/ButtonTabs/__tests__/ButtonTabs.test.d.ts +1 -0
  27. package/build/cjs/components/ButtonTabs/__tests__/ButtonTabs.test.js +58 -0
  28. package/build/cjs/components/FullscreenImage/FullscreenImage.d.ts +2 -2
  29. package/build/cjs/components/FullscreenImage/FullscreenImage.js +5 -5
  30. package/build/cjs/components/FullscreenMedia/FullscreenMedia.d.ts +13 -0
  31. package/build/cjs/components/FullscreenMedia/{FullScreenMedia.js → FullscreenMedia.js} +3 -3
  32. package/build/cjs/components/Image/Image.d.ts +0 -1
  33. package/build/cjs/components/Image/Image.js +2 -2
  34. package/build/cjs/components/Media/FullscreenVideo/FullscreenVideo.d.ts +4 -0
  35. package/build/cjs/components/Media/FullscreenVideo/FullscreenVideo.js +10 -0
  36. package/build/cjs/components/Media/Image/Image.d.ts +1 -0
  37. package/build/cjs/components/Media/Image/Image.js +10 -3
  38. package/build/cjs/components/Media/Media.js +25 -4
  39. package/build/cjs/components/Media/Video/Video.d.ts +1 -1
  40. package/build/cjs/components/VideoBlock/VideoBlock.d.ts +4 -0
  41. package/build/cjs/components/VideoBlock/VideoBlock.js +3 -3
  42. package/build/cjs/components/index.d.ts +1 -1
  43. package/build/cjs/components/index.js +2 -2
  44. package/build/cjs/constructor-items.d.ts +1 -1
  45. package/build/cjs/containers/Loadable/Loadable.d.ts +2 -2
  46. package/build/cjs/containers/PageConstructor/PageConstructor.js +3 -5
  47. package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +2 -3
  48. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.d.ts +1 -1
  49. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +5 -5
  50. package/build/cjs/context/innerContext/InnerContext.d.ts +1 -2
  51. package/build/cjs/grid/Col/Col.d.ts +1 -1
  52. package/build/cjs/hooks/useMetrika.js +7 -0
  53. package/build/cjs/internal-typings/global.d.ts +16 -18
  54. package/build/cjs/models/constructor-items/blocks.d.ts +11 -1
  55. package/build/cjs/models/constructor-items/blocks.js +2 -0
  56. package/build/cjs/models/constructor-items/common.d.ts +7 -3
  57. package/build/cjs/models/constructor-items/sub-blocks.d.ts +4 -0
  58. package/build/cjs/models/constructor.d.ts +1 -4
  59. package/build/cjs/models/index.d.ts +0 -1
  60. package/build/cjs/models/index.js +0 -1
  61. package/build/cjs/schema/validators/common.d.ts +6 -0
  62. package/build/cjs/schema/validators/common.js +6 -0
  63. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -2
  64. package/build/cjs/sub-blocks/HubspotForm/HubspotFormContainer.js +2 -5
  65. package/build/cjs/sub-blocks/HubspotForm/index.d.ts +1 -1
  66. package/build/cjs/sub-blocks/HubspotForm/index.js +5 -6
  67. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.d.ts +1 -1
  68. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +4 -4
  69. package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +9 -0
  70. package/build/cjs/sub-blocks/LayoutItem/schema.js +2 -0
  71. package/build/cjs/sub-blocks/LayoutItem/utils.d.ts +2 -2
  72. package/build/cjs/sub-blocks/LayoutItem/utils.js +5 -5
  73. package/build/cjs/sub-blocks/MediaCard/schema.d.ts +6 -0
  74. package/build/cjs/utils/blocks.d.ts +1 -4
  75. package/build/cjs/utils/blocks.js +1 -11
  76. package/build/esm/blocks/Header/schema.d.ts +18 -0
  77. package/build/esm/blocks/HeaderSlider/schema.d.ts +6 -0
  78. package/build/esm/blocks/Media/schema.d.ts +12 -0
  79. package/build/esm/blocks/PromoFeaturesBlock/schema.d.ts +6 -0
  80. package/build/esm/blocks/Security/schema.d.ts +6 -0
  81. package/build/esm/blocks/Tabs/Tabs.js +2 -2
  82. package/build/esm/blocks/Tabs/schema.d.ts +6 -0
  83. package/build/esm/components/Anchor/Anchor.d.ts +2 -2
  84. package/build/esm/components/Anchor/Anchor.js +1 -1
  85. package/build/esm/components/Anchor/__tests__/Anchor.test.d.ts +1 -0
  86. package/build/esm/components/Anchor/__tests__/Anchor.test.js +18 -0
  87. package/build/esm/components/AnimateBlock/__tests__/AnimateBlock.test.d.ts +1 -0
  88. package/build/esm/components/AnimateBlock/__tests__/AnimateBlock.test.js +33 -0
  89. package/build/esm/components/Author/__tests__/Author.test.d.ts +1 -0
  90. package/build/esm/components/Author/__tests__/Author.test.js +46 -0
  91. package/build/esm/components/BackLink/__tests__/BackLink.test.d.ts +1 -0
  92. package/build/esm/components/BackLink/__tests__/BackLink.test.js +60 -0
  93. package/build/esm/components/BackgroundImage/BackgroundImage.js +2 -2
  94. package/build/esm/components/BlockBase/BlockBase.d.ts +2 -3
  95. package/build/esm/components/BlockBase/BlockBase.js +2 -4
  96. package/build/esm/components/BlockBase/__tests__/BlockBase.test.d.ts +1 -0
  97. package/build/esm/components/BlockBase/__tests__/BlockBase.test.js +41 -0
  98. package/build/esm/components/Button/Button.css +0 -3
  99. package/build/esm/components/Button/Button.js +4 -5
  100. package/build/esm/components/Button/__tests__/Button.test.d.ts +1 -0
  101. package/build/esm/components/Button/__tests__/Button.test.js +88 -0
  102. package/build/esm/components/ButtonTabs/__tests__/ButtonTabs.test.d.ts +1 -0
  103. package/build/esm/components/ButtonTabs/__tests__/ButtonTabs.test.js +55 -0
  104. package/build/esm/components/FullscreenImage/FullscreenImage.d.ts +3 -3
  105. package/build/esm/components/FullscreenImage/FullscreenImage.js +6 -6
  106. package/build/esm/components/FullscreenMedia/FullscreenMedia.d.ts +14 -0
  107. package/build/esm/components/FullscreenMedia/{FullScreenMedia.js → FullscreenMedia.js} +4 -4
  108. package/build/esm/components/Image/Image.d.ts +0 -1
  109. package/build/esm/components/Image/Image.js +2 -2
  110. package/build/esm/components/Media/FullscreenVideo/FullscreenVideo.d.ts +4 -0
  111. package/build/esm/components/Media/FullscreenVideo/FullscreenVideo.js +7 -0
  112. package/build/esm/components/Media/Image/Image.d.ts +1 -0
  113. package/build/esm/components/Media/Image/Image.js +12 -5
  114. package/build/esm/components/Media/Media.js +25 -4
  115. package/build/esm/components/Media/Video/Video.d.ts +1 -1
  116. package/build/esm/components/VideoBlock/VideoBlock.d.ts +4 -0
  117. package/build/esm/components/VideoBlock/VideoBlock.js +3 -3
  118. package/build/esm/components/index.d.ts +1 -1
  119. package/build/esm/components/index.js +1 -1
  120. package/build/esm/constructor-items.d.ts +1 -1
  121. package/build/esm/containers/Loadable/Loadable.d.ts +2 -2
  122. package/build/esm/containers/PageConstructor/PageConstructor.js +4 -6
  123. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +2 -3
  124. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.d.ts +1 -1
  125. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +5 -5
  126. package/build/esm/context/innerContext/InnerContext.d.ts +1 -2
  127. package/build/esm/grid/Col/Col.d.ts +1 -1
  128. package/build/esm/hooks/useMetrika.js +7 -0
  129. package/build/esm/internal-typings/global.d.ts +16 -18
  130. package/build/esm/models/constructor-items/blocks.d.ts +11 -1
  131. package/build/esm/models/constructor-items/blocks.js +2 -0
  132. package/build/esm/models/constructor-items/common.d.ts +7 -3
  133. package/build/esm/models/constructor-items/sub-blocks.d.ts +4 -0
  134. package/build/esm/models/constructor.d.ts +1 -4
  135. package/build/esm/models/index.d.ts +0 -1
  136. package/build/esm/models/index.js +0 -1
  137. package/build/esm/schema/validators/common.d.ts +6 -0
  138. package/build/esm/schema/validators/common.js +6 -0
  139. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.d.ts +1 -2
  140. package/build/esm/sub-blocks/HubspotForm/HubspotFormContainer.js +3 -6
  141. package/build/esm/sub-blocks/HubspotForm/index.d.ts +1 -1
  142. package/build/esm/sub-blocks/HubspotForm/index.js +6 -7
  143. package/build/esm/sub-blocks/LayoutItem/LayoutItem.d.ts +1 -1
  144. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +5 -5
  145. package/build/esm/sub-blocks/LayoutItem/schema.d.ts +9 -0
  146. package/build/esm/sub-blocks/LayoutItem/schema.js +2 -0
  147. package/build/esm/sub-blocks/LayoutItem/utils.d.ts +2 -2
  148. package/build/esm/sub-blocks/LayoutItem/utils.js +2 -2
  149. package/build/esm/sub-blocks/MediaCard/schema.d.ts +6 -0
  150. package/build/esm/utils/blocks.d.ts +1 -4
  151. package/build/esm/utils/blocks.js +0 -7
  152. package/package.json +6 -4
  153. package/server/models/constructor-items/blocks.d.ts +11 -1
  154. package/server/models/constructor-items/blocks.js +2 -0
  155. package/server/models/constructor-items/common.d.ts +7 -3
  156. package/server/models/constructor-items/sub-blocks.d.ts +4 -0
  157. package/server/models/constructor.d.ts +1 -4
  158. package/server/models/index.d.ts +0 -1
  159. package/server/models/index.js +0 -1
  160. package/server/utils/blocks.d.ts +1 -4
  161. package/server/utils/blocks.js +1 -11
  162. package/build/cjs/components/FullscreenMedia/FullScreenMedia.d.ts +0 -9
  163. package/build/cjs/customization/BlockDecoration.d.ts +0 -3
  164. package/build/cjs/customization/BlockDecoration.js +0 -22
  165. package/build/cjs/editor/Components/AddBlock/AddBlock.css +0 -82
  166. package/build/cjs/editor/Components/AddBlock/AddBlock.d.ts +0 -7
  167. package/build/cjs/editor/Components/AddBlock/AddBlock.js +0 -43
  168. package/build/cjs/editor/Components/EditBlock/EditBlock.css +0 -47
  169. package/build/cjs/editor/Components/EditBlock/EditBlock.d.ts +0 -4
  170. package/build/cjs/editor/Components/EditBlock/EditBlock.js +0 -32
  171. package/build/cjs/editor/Containers/Editor.d.ts +0 -2
  172. package/build/cjs/editor/Containers/Editor.js +0 -24
  173. package/build/cjs/editor/data/index.d.ts +0 -13
  174. package/build/cjs/editor/data/index.js +0 -27
  175. package/build/cjs/editor/data/previews/default-preview.d.ts +0 -3
  176. package/build/cjs/editor/data/previews/default-preview.js +0 -18
  177. package/build/cjs/editor/data/previews/header-block.d.ts +0 -3
  178. package/build/cjs/editor/data/previews/header-block.js +0 -19
  179. package/build/cjs/editor/index.d.ts +0 -2
  180. package/build/cjs/editor/index.js +0 -7
  181. package/build/cjs/editor/store/index.d.ts +0 -15
  182. package/build/cjs/editor/store/index.js +0 -32
  183. package/build/cjs/editor/store/reducer.d.ts +0 -41
  184. package/build/cjs/editor/store/reducer.js +0 -59
  185. package/build/cjs/editor/store/utils.d.ts +0 -13
  186. package/build/cjs/editor/store/utils.js +0 -34
  187. package/build/cjs/editor/styles/mixins.css +0 -0
  188. package/build/cjs/editor/styles/variables.css +0 -0
  189. package/build/cjs/editor/types/index.d.ts +0 -17
  190. package/build/cjs/editor/types/index.js +0 -2
  191. package/build/cjs/editor/utils/index.d.ts +0 -11
  192. package/build/cjs/editor/utils/index.js +0 -12
  193. package/build/cjs/models/customization.d.ts +0 -9
  194. package/build/cjs/models/customization.js +0 -2
  195. package/build/esm/components/FullscreenMedia/FullScreenMedia.d.ts +0 -10
  196. package/build/esm/customization/BlockDecoration.d.ts +0 -3
  197. package/build/esm/customization/BlockDecoration.js +0 -17
  198. package/build/esm/editor/Components/AddBlock/AddBlock.css +0 -82
  199. package/build/esm/editor/Components/AddBlock/AddBlock.d.ts +0 -8
  200. package/build/esm/editor/Components/AddBlock/AddBlock.js +0 -41
  201. package/build/esm/editor/Components/EditBlock/EditBlock.css +0 -47
  202. package/build/esm/editor/Components/EditBlock/EditBlock.d.ts +0 -5
  203. package/build/esm/editor/Components/EditBlock/EditBlock.js +0 -30
  204. package/build/esm/editor/Containers/Editor.d.ts +0 -2
  205. package/build/esm/editor/Containers/Editor.js +0 -20
  206. package/build/esm/editor/data/index.d.ts +0 -13
  207. package/build/esm/editor/data/index.js +0 -24
  208. package/build/esm/editor/data/previews/default-preview.d.ts +0 -3
  209. package/build/esm/editor/data/previews/default-preview.js +0 -15
  210. package/build/esm/editor/data/previews/header-block.d.ts +0 -3
  211. package/build/esm/editor/data/previews/header-block.js +0 -16
  212. package/build/esm/editor/index.d.ts +0 -2
  213. package/build/esm/editor/index.js +0 -2
  214. package/build/esm/editor/store/index.d.ts +0 -15
  215. package/build/esm/editor/store/index.js +0 -28
  216. package/build/esm/editor/store/reducer.d.ts +0 -41
  217. package/build/esm/editor/store/reducer.js +0 -55
  218. package/build/esm/editor/store/utils.d.ts +0 -13
  219. package/build/esm/editor/store/utils.js +0 -26
  220. package/build/esm/editor/styles/mixins.css +0 -0
  221. package/build/esm/editor/styles/variables.css +0 -0
  222. package/build/esm/editor/types/index.d.ts +0 -17
  223. package/build/esm/editor/utils/index.d.ts +0 -11
  224. package/build/esm/editor/utils/index.js +0 -6
  225. package/build/esm/models/customization.d.ts +0 -9
  226. package/server/models/customization.d.ts +0 -9
  227. package/server/models/customization.js +0 -2
  228. /package/build/{esm/editor/types/index.js → cjs/components/Anchor/__tests__/Anchor.test.d.ts} +0 -0
  229. /package/build/{esm/models/customization.js → cjs/components/AnimateBlock/__tests__/AnimateBlock.test.d.ts} +0 -0
  230. /package/build/cjs/components/FullscreenImage/{FullScreenImage.css → FullscreenImage.css} +0 -0
  231. /package/build/cjs/components/FullscreenMedia/{FullScreenMedia.css → FullscreenMedia.css} +0 -0
  232. /package/build/esm/components/FullscreenImage/{FullScreenImage.css → FullscreenImage.css} +0 -0
  233. /package/build/esm/components/FullscreenMedia/{FullScreenMedia.css → FullscreenMedia.css} +0 -0
@@ -8,6 +8,8 @@ export declare enum BlockType {
8
8
  PromoFeaturesBlock = "promo-features-block",
9
9
  ExtendedFeaturesBlock = "extended-features-block",
10
10
  SliderBlock = "slider-block",
11
+ CalculatorBlock = "calculator-block",
12
+ ServiceDemoBlock = "service-demo-block",
11
13
  QuestionsBlock = "questions-block",
12
14
  BannerBlock = "banner-block",
13
15
  CompaniesBlock = "companies-block",
@@ -50,6 +52,7 @@ export interface LoadableProps {
50
52
  export interface LoadableChildren {
51
53
  loadable?: LoadableProps;
52
54
  }
55
+ export type ServiceDemoProps = Animatable;
53
56
  export declare enum SliderBreakpointNames {
54
57
  Sm = "sm",
55
58
  Md = "md",
@@ -111,6 +114,7 @@ export interface HeaderBlockProps {
111
114
  breadcrumbs?: HeaderBreadCrumbsProps;
112
115
  status?: JSX.Element;
113
116
  }
117
+ export type CalculatorProps = Animatable;
114
118
  export interface SimpleBlockProps extends Animatable, Childable {
115
119
  title: TitleBaseProps;
116
120
  description: string;
@@ -313,9 +317,15 @@ export interface ShareBlockProps {
313
317
  export type HeaderBlockModel = {
314
318
  type: BlockType.HeaderBlock;
315
319
  } & HeaderBlockProps;
320
+ export type CalculatorBlockModel = {
321
+ type: BlockType.CalculatorBlock;
322
+ } & CalculatorProps;
316
323
  export type SliderBlockModel = {
317
324
  type: BlockType.SliderBlock;
318
325
  } & SliderProps;
326
+ export type ServiceDemoBlockModel = {
327
+ type: BlockType.ServiceDemoBlock;
328
+ } & ServiceDemoProps;
319
329
  export type ExtendedFeaturesBlockModel = {
320
330
  type: BlockType.ExtendedFeaturesBlock;
321
331
  } & ExtendedFeaturesProps;
@@ -376,6 +386,6 @@ export type ContentLayoutBlockModel = {
376
386
  export type ShareBLockModel = {
377
387
  type: BlockType.ShareBlock;
378
388
  } & ShareBlockProps;
379
- type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | SecurityBlockModel | TableBlockModel | TabsBlockModel | SimpleBlockModel | LinkTableBlockModel | HeaderBlockModel | PreviewBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel;
389
+ type BlockModels = SliderBlockModel | ServiceDemoBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | CalculatorBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | SecurityBlockModel | TableBlockModel | TabsBlockModel | SimpleBlockModel | LinkTableBlockModel | HeaderBlockModel | PreviewBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel;
380
390
  export type Block = BlockModels & BlockBaseProps;
381
391
  export {};
@@ -6,6 +6,8 @@ var BlockType;
6
6
  BlockType["PromoFeaturesBlock"] = "promo-features-block";
7
7
  BlockType["ExtendedFeaturesBlock"] = "extended-features-block";
8
8
  BlockType["SliderBlock"] = "slider-block";
9
+ BlockType["CalculatorBlock"] = "calculator-block";
10
+ BlockType["ServiceDemoBlock"] = "service-demo-block";
9
11
  BlockType["QuestionsBlock"] = "questions-block";
10
12
  BlockType["BannerBlock"] = "banner-block";
11
13
  BlockType["CompaniesBlock"] = "companies-block";
@@ -1,5 +1,5 @@
1
1
  import { CSSProperties, ReactNode } from 'react';
2
- import { ButtonView, ButtonProps as UikitButtonProps } from '@gravity-ui/uikit';
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, Pick<UikitButtonProps, 'size' | 'width'> {
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, BlockDecoratorProps, ConstructorItem, ThemedMediaProps, WithChildren } from './';
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 {};
@@ -5,4 +5,3 @@ export * from './components';
5
5
  export * from './guards';
6
6
  export * from './react';
7
7
  export * from './navigation';
8
- export * from './customization';
@@ -21,4 +21,3 @@ __exportStar(require("./components"), exports);
21
21
  __exportStar(require("./guards"), exports);
22
22
  __exportStar(require("./react"), exports);
23
23
  __exportStar(require("./navigation"), exports);
24
- __exportStar(require("./customization"), exports);
@@ -1,4 +1,4 @@
1
- import { Block, CustomConfig, PCShareSocialNetwork, TextSize } from '../models';
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.getBlockIndexFromId = exports.getShareLink = exports.getHeaderBlock = exports.getOrderedBlocks = exports.getCustomHeaderTypes = exports.getCustomSubBlockTypes = exports.getCustomItems = exports.getCustomBlockTypes = exports.getBlockKey = exports.getHeaderTag = void 0;
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,3 +0,0 @@
1
- import { PropsWithChildren } from 'react';
2
- import { BlockDecorationProps } from '../models';
3
- export declare const BlockDecoration: (props: PropsWithChildren<BlockDecorationProps>) => JSX.Element;
@@ -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,2 +0,0 @@
1
- import { EditorProps } from '../types';
2
- export declare const Editor: ({ children, ...rest }: EditorProps) => JSX.Element;
@@ -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,3 +0,0 @@
1
- import React from 'react';
2
- declare const DefaultPreview: React.FC<React.SVGProps<SVGSVGElement>>;
3
- export default DefaultPreview;
@@ -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,3 +0,0 @@
1
- import React from 'react';
2
- declare const Header: React.FC<React.SVGProps<SVGSVGElement>>;
3
- export default Header;
@@ -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,2 +0,0 @@
1
- export { Editor } from './Containers/Editor';
2
- export * from './types';
@@ -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;