@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
@@ -35,6 +35,6 @@ export { default as Author } from './Author/Author';
35
35
  export { default as RouterLink } from './RouterLink/RouterLink';
36
36
  export { default as HTML } from './HTML/HTML';
37
37
  export { default as MetaInfo } from './MetaInfo/MetaInfo';
38
- export { default as FullScreenMedia } from './FullscreenMedia/FullScreenMedia';
38
+ export { default as FullScreenMedia } from './FullscreenMedia/FullscreenMedia';
39
39
  export type { RouterLinkProps } from './RouterLink/RouterLink';
40
40
  export type { ImageBaseProps } from './ImageBase/ImageBase';
@@ -35,4 +35,4 @@ export { default as Author } from './Author/Author';
35
35
  export { default as RouterLink } from './RouterLink/RouterLink';
36
36
  export { default as HTML } from './HTML/HTML';
37
37
  export { default as MetaInfo } from './MetaInfo/MetaInfo';
38
- export { default as FullScreenMedia } from './FullscreenMedia/FullScreenMedia';
38
+ export { default as FullScreenMedia } from './FullscreenMedia/FullscreenMedia';
@@ -36,7 +36,7 @@ export declare const subBlockMap: {
36
36
  "media-card": ({ border, ...mediaProps }: import("./models").MediaCardProps) => JSX.Element;
37
37
  "banner-card": (props: import("./models").BannerCardProps) => JSX.Element;
38
38
  "news-card": (props: import("./models").NewsCardProps) => JSX.Element;
39
- "layout-item": ({ content: { links, ...content }, metaInfo, media, border, fullScreen, className, }: import("./models").LayoutItemProps) => JSX.Element;
39
+ "layout-item": ({ content: { links, ...content }, metaInfo, media, border, fullScreen, fullscreen, className, }: import("./models").LayoutItemProps) => JSX.Element;
40
40
  /**
41
41
  * @deprecated Use LayoutItem
42
42
  */
@@ -1,5 +1,5 @@
1
1
  import { PropsWithChildren } from 'react';
2
- import { ConstructorItem, CustomItem, FetchLoadableData, LoadableData, LoadableProps } from '../../models';
2
+ import { Block, CustomItem, FetchLoadableData, LoadableData, LoadableProps } from '../../models';
3
3
  import './Loadable.css';
4
4
  export interface LoadableState {
5
5
  loading: boolean;
@@ -9,7 +9,7 @@ export interface LoadableState {
9
9
  export interface LoadableComponentsProps extends Omit<PropsWithChildren<LoadableProps>, 'source'> {
10
10
  Component: CustomItem;
11
11
  ChildComponent: CustomItem;
12
- block: ConstructorItem;
12
+ block: Block;
13
13
  blockKey: string;
14
14
  fetch: FetchLoadableData;
15
15
  }
@@ -9,7 +9,7 @@ import { ThemeValueContext } from '../../context/theme/ThemeValueContext';
9
9
  import { Grid } from '../../grid';
10
10
  import { BlockType, BlockTypes, HeaderBlockTypes, SubBlockTypes, } from '../../models';
11
11
  import Layout from '../../navigation/containers/Layout/Layout';
12
- import { block as cnBlock, getCustomBlockTypes, getCustomHeaderTypes, getCustomItems, getCustomSubBlockTypes, getHeaderBlock, getOrderedBlocks, getThemedValue, } from '../../utils';
12
+ import { block as cnBlock, getCustomBlockTypes, getCustomHeaderTypes, getCustomItems, getCustomSubBlockTypes, getThemedValue, } from '../../utils';
13
13
  import { ConstructorBlocks } from './components/ConstructorBlocks';
14
14
  import { ConstructorFootnotes } from './components/ConstructorFootnotes';
15
15
  import { ConstructorHeader } from './components/ConstructorItem';
@@ -26,15 +26,13 @@ export const Constructor = (props) => {
26
26
  itemMap: Object.assign(Object.assign(Object.assign({}, blockMap), subBlockMap), getCustomItems(custom)),
27
27
  loadables: custom === null || custom === void 0 ? void 0 : custom.loadable,
28
28
  shouldRenderBlock,
29
- customization: {
30
- decorators: custom === null || custom === void 0 ? void 0 : custom.decorators,
31
- },
32
29
  },
33
30
  }), [custom, shouldRenderBlock]);
34
31
  const { themeValue: theme } = useContext(ThemeValueContext);
35
32
  const hasFootnotes = footnotes.length > 0;
36
- const header = getHeaderBlock(blocks, context.headerBlockTypes);
37
- const restBlocks = getOrderedBlocks(blocks, context.headerBlockTypes);
33
+ const isHeaderBlock = (block) => context.headerBlockTypes.includes(block.type);
34
+ const header = blocks === null || blocks === void 0 ? void 0 : blocks.find(isHeaderBlock);
35
+ const restBlocks = blocks === null || blocks === void 0 ? void 0 : blocks.filter((block) => !isHeaderBlock(block));
38
36
  const themedBackground = getThemedValue(background, theme);
39
37
  return (React.createElement(InnerContext.Provider, { value: context },
40
38
  React.createElement("div", { className: b() },
@@ -1,6 +1,5 @@
1
1
  import React, { Fragment, useContext } from 'react';
2
2
  import _ from 'lodash';
3
- import { BlockIdContext } from '../../../../context/blockIdContext';
4
3
  import { InnerContext } from '../../../../context/innerContext';
5
4
  import { getBlockKey } from '../../../../utils';
6
5
  import { ConstructorBlock } from '../ConstructorBlock/ConstructorBlock';
@@ -31,9 +30,9 @@ export const ConstructorBlocks = ({ items }) => {
31
30
  if ('children' in item && item.children) {
32
31
  children = item.children.map(renderer.bind(null, blockId));
33
32
  }
34
- itemElement = (React.createElement(ConstructorItem, { data: item, blockKey: blockId }, children));
33
+ itemElement = (React.createElement(ConstructorItem, { data: item, key: blockId, blockKey: blockId }, children));
35
34
  }
36
- return (React.createElement(BlockIdContext.Provider, { value: blockId, key: blockId }, blockTypes.includes(item.type) ? (React.createElement(ConstructorBlock, { data: item }, itemElement)) : (itemElement)));
35
+ return blockTypes.includes(item.type) ? (React.createElement(ConstructorBlock, { data: item, key: blockId }, itemElement)) : (itemElement);
37
36
  };
38
37
  return React.createElement(Fragment, null, items.map(renderer.bind(null, '')));
39
38
  };
@@ -3,5 +3,5 @@ export interface ConstructorItemProps {
3
3
  data: ConstructorItemType;
4
4
  blockKey: string;
5
5
  }
6
- export declare const ConstructorItem: ({ data, children }: WithChildren<ConstructorItemProps>) => JSX.Element;
6
+ export declare const ConstructorItem: ({ data, blockKey, children }: WithChildren<ConstructorItemProps>) => JSX.Element;
7
7
  export declare const ConstructorHeader: ({ data, blockKey, }: Pick<ConstructorItemProps, 'data' | 'blockKey'>) => JSX.Element;
@@ -1,12 +1,12 @@
1
1
  import { __rest } from "tslib";
2
2
  import React, { useContext } from 'react';
3
+ import { BlockIdContext } from '../../../../context/blockIdContext';
3
4
  import { InnerContext } from '../../../../context/innerContext';
4
- import { BlockDecoration } from '../../../../customization/BlockDecoration';
5
- export const ConstructorItem = ({ data, children }) => {
5
+ export const ConstructorItem = ({ data, blockKey, children }) => {
6
6
  const { itemMap } = useContext(InnerContext);
7
7
  const { type } = data, rest = __rest(data, ["type"]);
8
8
  const Component = itemMap[type];
9
- return React.createElement(Component, Object.assign({}, rest), children);
9
+ return (React.createElement(BlockIdContext.Provider, { value: blockKey },
10
+ React.createElement(Component, Object.assign({}, rest), children)));
10
11
  };
11
- export const ConstructorHeader = ({ data, blockKey, }) => (React.createElement(BlockDecoration, { id: data.type },
12
- React.createElement(ConstructorItem, { data: data, key: data.type, blockKey: blockKey })));
12
+ export const ConstructorHeader = ({ data, blockKey, }) => (React.createElement(ConstructorItem, { data: data, key: data.type, blockKey: blockKey }));
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ItemMap } from '../../containers/PageConstructor/PageConstructor';
3
- import { CustomConfig, LoadableConfig, ShouldRenderBlock } from '../../models';
3
+ import { LoadableConfig, ShouldRenderBlock } from '../../models';
4
4
  export interface InnerContextType {
5
5
  blockTypes: string[];
6
6
  subBlockTypes: string[];
@@ -8,6 +8,5 @@ export interface InnerContextType {
8
8
  itemMap: ItemMap;
9
9
  loadables?: LoadableConfig;
10
10
  shouldRenderBlock?: ShouldRenderBlock;
11
- customization?: Pick<CustomConfig, 'decorators'>;
12
11
  }
13
12
  export declare const InnerContext: React.Context<InnerContextType>;
@@ -7,4 +7,4 @@ export interface GridColumnProps extends GridColumnClassParams, Refable<HTMLDivE
7
7
  dataQa?: string;
8
8
  children?: React.ReactNode;
9
9
  }
10
- export declare const Col: React.ForwardRefExoticComponent<Pick<WithChildren<GridColumnProps>, "style" | "children" | "className" | "reset" | "sizes" | "offsets" | "orders" | "hidden" | "visible" | "alignSelf" | "justifyContent" | "dataQa"> & React.RefAttributes<HTMLDivElement>>;
10
+ export declare const Col: React.ForwardRefExoticComponent<Pick<WithChildren<GridColumnProps>, "style" | "children" | "className" | "dataQa" | "reset" | "visible" | "sizes" | "offsets" | "orders" | "hidden" | "alignSelf" | "justifyContent"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,5 +1,6 @@
1
1
  import { useContext } from 'react';
2
2
  import { MetrikaContext } from '../context/metrikaContext';
3
+ import { PixelEventType } from '../models';
3
4
  import { isNewMetrikaFormat } from '../models/guards';
4
5
  // eslint-disable-next-line valid-jsdoc
5
6
  /**
@@ -25,6 +26,12 @@ export const useMetrika = () => {
25
26
  else {
26
27
  metrika.reachGoals(metrikaGoals);
27
28
  }
29
+ if (!pixelEvents && pixel) {
30
+ pixel.trackStandard(PixelEventType.SubmitApplication, {
31
+ content_category: 'custom',
32
+ content_ids: Array.isArray(metrikaGoals) ? metrikaGoals : [metrikaGoals],
33
+ });
34
+ }
28
35
  }
29
36
  if (pixel && pixelEvents) {
30
37
  if (isButtonPixel(pixelEvents)) {
@@ -10,17 +10,22 @@ declare module '*.svg' {
10
10
  export default path;
11
11
  }
12
12
 
13
- declare module '*.md';
13
+ interface CreateFormProps {
14
+ portalId: string;
15
+ formId: string;
16
+ region?: string;
17
+ target?: string;
18
+ cssClass?: string;
19
+ formInstanceId?: string;
20
+ }
14
21
 
15
- declare namespace Hbspt {
16
- interface CreateFormProps {
17
- portalId: string;
18
- formId: string;
19
- region?: string;
20
- target?: string;
21
- cssClass?: string;
22
- formInstanceId?: string;
23
- }
22
+ interface Window {
23
+ hbspt?: {
24
+ forms: {
25
+ create: (args: CreateFormProps) => unknown;
26
+ };
27
+ };
28
+ ymaps: Ymaps;
24
29
  }
25
30
 
26
31
  declare namespace Ymaps {
@@ -58,11 +63,4 @@ declare namespace Ymaps {
58
63
  }
59
64
  }
60
65
 
61
- interface Window {
62
- hbspt?: {
63
- forms: {
64
- create: (args: Hbspt.CreateFormProps) => unknown;
65
- };
66
- };
67
- ymaps: Ymaps;
68
- }
66
+ declare module '*.md';
@@ -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 {};
@@ -3,6 +3,8 @@ export var BlockType;
3
3
  BlockType["PromoFeaturesBlock"] = "promo-features-block";
4
4
  BlockType["ExtendedFeaturesBlock"] = "extended-features-block";
5
5
  BlockType["SliderBlock"] = "slider-block";
6
+ BlockType["CalculatorBlock"] = "calculator-block";
7
+ BlockType["ServiceDemoBlock"] = "service-demo-block";
6
8
  BlockType["QuestionsBlock"] = "questions-block";
7
9
  BlockType["BannerBlock"] = "banner-block";
8
10
  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';
@@ -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';
@@ -1114,6 +1114,12 @@ export declare const MediaProps: {
1114
1114
  type: string;
1115
1115
  })[];
1116
1116
  };
1117
+ fullScreen: {
1118
+ type: string;
1119
+ };
1120
+ fullscreen: {
1121
+ type: string;
1122
+ };
1117
1123
  };
1118
1124
  export declare const YMapMarkerLabel: {
1119
1125
  type: string;
@@ -453,6 +453,12 @@ export const MediaProps = {
453
453
  type: 'string',
454
454
  },
455
455
  dataLens: DataLensProps,
456
+ fullScreen: {
457
+ type: 'boolean',
458
+ },
459
+ fullscreen: {
460
+ type: 'boolean',
461
+ },
456
462
  };
457
463
  export const YMapMarkerLabel = {
458
464
  type: 'object',
@@ -1,6 +1,5 @@
1
- import React from 'react';
2
1
  import { HubspotFormProps } from '../../models';
3
2
  type HubspotFormContainerPropsKeys = 'className' | 'formId' | 'formInstanceId' | 'portalId' | 'region' | 'formClassName' | 'createDOMElement';
4
3
  type HubspotFormContainerProps = Pick<HubspotFormProps, HubspotFormContainerPropsKeys>;
5
- declare const HubspotFormContainer: React.ForwardRefExoticComponent<HubspotFormContainerProps & React.RefAttributes<HTMLDivElement>>;
4
+ declare const HubspotFormContainer: (props: HubspotFormContainerProps) => JSX.Element;
6
5
  export default HubspotFormContainer;
@@ -1,12 +1,10 @@
1
- import React, { forwardRef, useImperativeHandle, useRef } from 'react';
1
+ import React, { useRef } from 'react';
2
2
  import { useMount } from '../../hooks';
3
3
  import loadHubspotScript from './loadHubspotScript';
4
- const HubspotFormContainer = forwardRef((props, ref) => {
4
+ const HubspotFormContainer = (props) => {
5
5
  const { className, formId, formInstanceId, portalId, region, formClassName, createDOMElement, } = props;
6
6
  const containerRef = useRef(null);
7
7
  const hsContainerRef = useRef();
8
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
9
- useImperativeHandle(ref, () => containerRef.current);
10
8
  const containerId = formInstanceId
11
9
  ? `hubspot-form-${formId}-${formInstanceId}`
12
10
  : `hubspot-form-${formId}`;
@@ -44,6 +42,5 @@ const HubspotFormContainer = forwardRef((props, ref) => {
44
42
  };
45
43
  });
46
44
  return React.createElement("div", { className: className, id: containerId, ref: containerRef });
47
- });
48
- HubspotFormContainer.displayName = 'HubspotFormContainer';
45
+ };
49
46
  export default HubspotFormContainer;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import { HubspotFormProps } from '../../models';
3
3
  import './HubspotForm.css';
4
- declare const HubspotForm: React.ForwardRefExoticComponent<HubspotFormProps & React.RefAttributes<HTMLDivElement>>;
4
+ declare const HubspotForm: React.FunctionComponent<HubspotFormProps>;
5
5
  export default HubspotForm;
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, useContext, useMemo } from 'react';
1
+ import React, { useContext, useMemo } from 'react';
2
2
  import { MobileContext } from '../../context/mobileContext';
3
3
  import { ThemeValueContext } from '../../context/theme/ThemeValueContext';
4
4
  import { useAnalytics, useHandleHubspotEvents } from '../../hooks';
@@ -8,7 +8,7 @@ import { block } from '../../utils';
8
8
  import HubspotFormContainer from './HubspotFormContainer';
9
9
  import './HubspotForm.css';
10
10
  const b = block('hubspot-form');
11
- const HubspotForm = forwardRef((props, ref) => {
11
+ const HubspotForm = (props) => {
12
12
  const { className, theme: themeProp, isMobile: isMobileProp, formId, formInstanceId, portalId, region, formClassName, pixelEvents,
13
13
  // hubspotEvents, // TODO: decide how to handle them
14
14
  analyticsEvents, onBeforeSubmit, onSubmit, onBeforeLoad, onLoad, createDOMElement, onSubmitError, } = props;
@@ -23,10 +23,10 @@ const HubspotForm = forwardRef((props, ref) => {
23
23
  onBeforeSubmit,
24
24
  onLoad,
25
25
  onSubmitError,
26
- onSubmit: (event) => {
26
+ onSubmit: (e) => {
27
27
  handleMetrika === null || handleMetrika === void 0 ? void 0 : handleMetrika({ pixelEvents });
28
28
  handleAnalytics(analyticsEvents);
29
- onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(event);
29
+ onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(e);
30
30
  },
31
31
  }), [
32
32
  onBeforeLoad,
@@ -40,7 +40,6 @@ const HubspotForm = forwardRef((props, ref) => {
40
40
  onSubmitError,
41
41
  ]);
42
42
  useHandleHubspotEvents(handlers, formId);
43
- return (React.createElement(HubspotFormContainer, { createDOMElement: createDOMElement, key: [formClassName, formId, formInstanceId, portalId, region].join(), className: b({ theme, mobile }, className), formClassName: formClassName, formId: formId, portalId: portalId, formInstanceId: formInstanceId, region: region, ref: ref }));
44
- });
45
- HubspotForm.displayName = 'HubspotForm';
43
+ return (React.createElement(HubspotFormContainer, { createDOMElement: createDOMElement, key: [formClassName, formId, formInstanceId, portalId, region].join(), className: b({ theme, mobile }, className), formClassName: formClassName, formId: formId, portalId: portalId, formInstanceId: formInstanceId, region: region }));
44
+ };
46
45
  export default HubspotForm;
@@ -1,4 +1,4 @@
1
1
  import { LayoutItemProps } from '../../models';
2
2
  import './LayoutItem.css';
3
- declare const LayoutItem: ({ content: { links, ...content }, metaInfo, media, border, fullScreen, className, }: LayoutItemProps) => JSX.Element;
3
+ declare const LayoutItem: ({ content: { links, ...content }, metaInfo, media, border, fullScreen, fullscreen, className, }: LayoutItemProps) => JSX.Element;
4
4
  export default LayoutItem;
@@ -3,15 +3,15 @@ import React from 'react';
3
3
  import { Content } from '..';
4
4
  import { FullScreenMedia, Media, MetaInfo } from '../../components';
5
5
  import { block } from '../../utils';
6
- import { getLayoutItemLinks, hasFullScreen, showFullScreenIcon } from './utils';
6
+ import { getLayoutItemLinks, hasFullscreen, showFullscreenIcon } from './utils';
7
7
  import './LayoutItem.css';
8
8
  const b = block('layout-item');
9
9
  const LayoutItem = (_a) => {
10
- var _b = _a.content, { links } = _b, content = __rest(_b, ["links"]), { metaInfo, media, border, fullScreen, className } = _a;
10
+ var _b = _a.content, { links } = _b, content = __rest(_b, ["links"]), { metaInfo, media, border, fullScreen, fullscreen, className } = _a;
11
11
  return (React.createElement("div", { className: b(null, className) },
12
- fullScreen && hasFullScreen(media) ? (React.createElement(FullScreenMedia, { showFullScreenIcon: showFullScreenIcon(media) }, (_a = {}) => {
13
- var { className: mediaClassName } = _a, fullScreenMediaProps = __rest(_a, ["className"]);
14
- return (React.createElement(Media, Object.assign({}, media, fullScreenMediaProps, { className: b('media', { border }, mediaClassName) })));
12
+ (fullScreen || fullscreen) && hasFullscreen(media) ? (React.createElement(FullScreenMedia, { showFullscreenIcon: showFullscreenIcon(media) }, (_a = {}) => {
13
+ var { className: mediaClassName, fullScreen: _fullScreen } = _a, fullscreenMediaProps = __rest(_a, ["className", "fullScreen"]);
14
+ return (React.createElement(Media, Object.assign({}, media, fullscreenMediaProps, { className: b('media', { border }, mediaClassName) })));
15
15
  })) : (React.createElement(Media, Object.assign({}, media, { className: b('media', { border }) }))),
16
16
  metaInfo && React.createElement(MetaInfo, { items: metaInfo, className: b('meta-info') }),
17
17
  React.createElement("div", { className: b('content') },
@@ -132,6 +132,12 @@ export declare const LayoutItem: {
132
132
  type: string;
133
133
  })[];
134
134
  };
135
+ fullScreen: {
136
+ type: string;
137
+ };
138
+ fullscreen: {
139
+ type: string;
140
+ };
135
141
  };
136
142
  content: Partial<{
137
143
  title: {
@@ -212,6 +218,9 @@ export declare const LayoutItem: {
212
218
  fullScreen: {
213
219
  type: string;
214
220
  };
221
+ fullscreen: {
222
+ type: string;
223
+ };
215
224
  type: {};
216
225
  when: {};
217
226
  };
@@ -10,5 +10,7 @@ export const LayoutItem = {
10
10
  type: 'boolean',
11
11
  }, fullScreen: {
12
12
  type: 'boolean',
13
+ }, fullscreen: {
14
+ type: 'boolean',
13
15
  } }),
14
16
  };
@@ -24,5 +24,5 @@ export declare const getLayoutItemLinks: (links: LayoutItemProps['content']['lin
24
24
  }[] | undefined;
25
25
  className?: string | undefined;
26
26
  }[] | undefined;
27
- export declare const hasFullScreen: ({ dataLens, image }: MediaProps) => boolean;
28
- export declare const showFullScreenIcon: ({ youtube }: MediaProps) => boolean;
27
+ export declare const hasFullscreen: ({ dataLens, image }: MediaProps) => boolean;
28
+ export declare const showFullscreenIcon: ({ youtube }: MediaProps) => boolean;
@@ -1,6 +1,6 @@
1
1
  export const getLayoutItemLinks = (links) => links === null || links === void 0 ? void 0 : links.map((link) => (Object.assign({ theme: 'normal' }, link)));
2
- export const hasFullScreen = ({ dataLens, image }) => {
2
+ export const hasFullscreen = ({ dataLens, image }) => {
3
3
  // datalens and slider media card don't support fullScreen mode
4
4
  return !(dataLens || Array.isArray(image));
5
5
  };
6
- export const showFullScreenIcon = ({ youtube }) => !youtube;
6
+ export const showFullscreenIcon = ({ youtube }) => !youtube;
@@ -134,6 +134,12 @@ export declare const MediaCardBlock: {
134
134
  type: string;
135
135
  })[];
136
136
  };
137
+ fullScreen: {
138
+ type: string;
139
+ };
140
+ fullscreen: {
141
+ type: string;
142
+ };
137
143
  type: {};
138
144
  when: {};
139
145
  };
@@ -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;
@@ -37,12 +37,6 @@ const getShareUrlWithParams = (url, params = {}) => {
37
37
  });
38
38
  return result.toString();
39
39
  };
40
- export const getOrderedBlocks = (blocks, headerBlockTypes = []) => {
41
- return blocks.filter(({ type }) => !headerBlockTypes.includes(type));
42
- };
43
- export const getHeaderBlock = (blocks, headerBlockTypes = []) => {
44
- return blocks.find(({ type }) => headerBlockTypes.includes(type));
45
- };
46
40
  export const getShareLink = (url, type, title, text) => {
47
41
  // https://github.com/bradvin/social-share-urls
48
42
  switch (type) {
@@ -71,4 +65,3 @@ export const getShareLink = (url, type, title, text) => {
71
65
  return undefined;
72
66
  }
73
67
  };
74
- export 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()); };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/page-constructor",
3
- "version": "2.21.0",
3
+ "version": "2.22.0-alpha",
4
4
  "description": "Gravity UI Page Constructor",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -61,16 +61,15 @@
61
61
  "uuid": "^9.0.0"
62
62
  },
63
63
  "peerDependencies": {
64
- "@doc-tools/transform": "^2.6.1",
64
+ "react": "^16.0.0 || ^17.0.0 || ^18.0.0",
65
65
  "@gravity-ui/uikit": "^4.1.0",
66
- "react": "^16.0.0 || ^17.0.0 || ^18.0.0"
66
+ "@doc-tools/transform": "^2.6.1"
67
67
  },
68
68
  "devDependencies": {
69
69
  "@commitlint/cli": "^17.1.2",
70
70
  "@commitlint/config-conventional": "^17.1.0",
71
71
  "@doc-tools/transform": "2.12.0",
72
72
  "@gravity-ui/eslint-config": "^2.0.0",
73
- "@gravity-ui/icons": "^2.1.0",
74
73
  "@gravity-ui/prettier-config": "^1.0.1",
75
74
  "@gravity-ui/stylelint-config": "^1.0.0",
76
75
  "@gravity-ui/tsconfig": "^1.0.0",
@@ -139,5 +138,8 @@
139
138
  "*.{json,yaml,yml,md}": [
140
139
  "prettier --write"
141
140
  ]
141
+ },
142
+ "publishConfig": {
143
+ "tag": "alpha"
142
144
  }
143
145
  }