@gravity-ui/page-constructor 3.4.0 → 3.5.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/CHANGELOG.md +0 -27
  2. package/README.md +0 -2
  3. package/build/cjs/blocks/Banner/schema.d.ts +21 -63
  4. package/build/cjs/blocks/CardLayout/schema.d.ts +4 -10
  5. package/build/cjs/blocks/Companies/schema.d.ts +2 -5
  6. package/build/cjs/blocks/ContentLayout/ContentLayout.js +2 -3
  7. package/build/cjs/blocks/ContentLayout/schema.d.ts +61 -107
  8. package/build/cjs/blocks/ContentLayout/schema.js +18 -23
  9. package/build/cjs/blocks/ExtendedFeatures/schema.d.ts +4 -31
  10. package/build/cjs/blocks/ExtendedFeatures/schema.js +3 -2
  11. package/build/cjs/blocks/FilterBlock/schema.d.ts +5 -13
  12. package/build/cjs/blocks/FilterBlock/schema.js +2 -13
  13. package/build/cjs/blocks/Header/Header.css +7 -6
  14. package/build/cjs/blocks/Header/schema.d.ts +36 -92
  15. package/build/cjs/blocks/Header/schema.js +0 -1
  16. package/build/cjs/blocks/HeaderSlider/schema.d.ts +53 -48
  17. package/build/cjs/blocks/HeaderSlider/schema.js +1 -3
  18. package/build/cjs/blocks/Icons/schema.d.ts +1 -3
  19. package/build/cjs/blocks/Icons/schema.js +1 -2
  20. package/build/cjs/blocks/Info/schema.d.ts +8 -19
  21. package/build/cjs/blocks/Map/schema.d.ts +6 -17
  22. package/build/cjs/blocks/Media/schema.d.ts +152 -204
  23. package/build/cjs/blocks/Media/schema.js +1 -1
  24. package/build/cjs/blocks/PromoFeaturesBlock/schema.d.ts +8 -22
  25. package/build/cjs/blocks/PromoFeaturesBlock/schema.js +0 -1
  26. package/build/cjs/blocks/Questions/schema.d.ts +3 -7
  27. package/build/cjs/blocks/Slider/schema.d.ts +18 -13
  28. package/build/cjs/blocks/Slider/schema.js +5 -4
  29. package/build/cjs/blocks/Table/schema.d.ts +2 -5
  30. package/build/cjs/blocks/Table/schema.js +2 -12
  31. package/build/cjs/blocks/Tabs/schema.d.ts +16 -43
  32. package/build/cjs/components/BlockBase/BlockBase.js +2 -2
  33. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
  34. package/build/cjs/components/Image/schema.d.ts +0 -1
  35. package/build/cjs/components/Image/schema.js +2 -3
  36. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  37. package/build/cjs/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +1 -1
  38. package/build/cjs/customization/BlockDecoration.d.ts +1 -1
  39. package/build/cjs/customization/BlockDecoration.js +6 -5
  40. package/build/cjs/editor/{components → Components}/AddBlock/AddBlock.css +1 -1
  41. package/build/cjs/editor/Components/AddBlock/AddBlock.d.ts +7 -0
  42. package/build/cjs/editor/{components → Components}/AddBlock/AddBlock.js +2 -2
  43. package/build/cjs/editor/Components/EditBlock/EditBlock.d.ts +4 -0
  44. package/build/cjs/editor/Components/EditBlock/EditBlock.js +32 -0
  45. package/build/cjs/editor/Containers/Editor.d.ts +2 -0
  46. package/build/cjs/editor/Containers/Editor.js +24 -0
  47. package/build/cjs/editor/index.d.ts +1 -1
  48. package/build/cjs/editor/index.js +1 -1
  49. package/build/cjs/editor/store/index.d.ts +11 -10
  50. package/build/cjs/editor/store/index.js +15 -66
  51. package/build/cjs/editor/store/reducer.d.ts +9 -24
  52. package/build/cjs/editor/store/reducer.js +31 -17
  53. package/build/cjs/editor/store/utils.d.ts +0 -1
  54. package/build/cjs/editor/store/utils.js +1 -3
  55. package/build/cjs/editor/types/index.d.ts +9 -15
  56. package/build/cjs/editor/types/index.js +0 -6
  57. package/build/cjs/editor/utils/index.d.ts +3 -4
  58. package/build/cjs/editor/utils/index.js +4 -6
  59. package/build/cjs/grid/Col/Col.d.ts +1 -1
  60. package/build/cjs/models/constructor-items/blocks.d.ts +8 -13
  61. package/build/cjs/models/constructor.d.ts +2 -2
  62. package/build/cjs/models/customization.d.ts +8 -3
  63. package/build/cjs/models/navigation.d.ts +0 -1
  64. package/build/cjs/navigation/components/Header/Header.css +0 -2
  65. package/build/cjs/navigation/components/Header/Header.js +4 -15
  66. package/build/cjs/navigation/schema.d.ts +0 -1
  67. package/build/cjs/schema/index.d.ts +228 -9
  68. package/build/cjs/schema/index.js +46 -8
  69. package/build/cjs/schema/validators/common.d.ts +27 -71
  70. package/build/cjs/schema/validators/common.js +17 -50
  71. package/build/cjs/sub-blocks/BackgroundCard/schema.d.ts +5 -12
  72. package/build/cjs/sub-blocks/BasicCard/schema.d.ts +3 -8
  73. package/build/cjs/sub-blocks/Content/schema.d.ts +6 -14
  74. package/build/cjs/sub-blocks/Content/schema.js +1 -9
  75. package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +9 -23
  76. package/build/cjs/sub-blocks/MediaCard/schema.d.ts +6 -16
  77. package/build/cjs/sub-blocks/PriceDetailed/schema.d.ts +0 -1
  78. package/build/cjs/sub-blocks/PriceDetailed/schema.js +1 -5
  79. package/build/cjs/sub-blocks/Quote/schema.d.ts +2 -6
  80. package/build/cjs/text-transform/utils.js +6 -1
  81. package/build/esm/blocks/Banner/schema.d.ts +21 -63
  82. package/build/esm/blocks/CardLayout/schema.d.ts +4 -10
  83. package/build/esm/blocks/Companies/schema.d.ts +2 -5
  84. package/build/esm/blocks/ContentLayout/ContentLayout.js +2 -3
  85. package/build/esm/blocks/ContentLayout/schema.d.ts +61 -107
  86. package/build/esm/blocks/ContentLayout/schema.js +18 -23
  87. package/build/esm/blocks/ExtendedFeatures/schema.d.ts +4 -31
  88. package/build/esm/blocks/ExtendedFeatures/schema.js +4 -3
  89. package/build/esm/blocks/FilterBlock/schema.d.ts +5 -13
  90. package/build/esm/blocks/FilterBlock/schema.js +2 -13
  91. package/build/esm/blocks/Header/Header.css +7 -6
  92. package/build/esm/blocks/Header/schema.d.ts +36 -92
  93. package/build/esm/blocks/Header/schema.js +0 -1
  94. package/build/esm/blocks/HeaderSlider/schema.d.ts +53 -48
  95. package/build/esm/blocks/HeaderSlider/schema.js +1 -2
  96. package/build/esm/blocks/Icons/schema.d.ts +1 -3
  97. package/build/esm/blocks/Icons/schema.js +1 -2
  98. package/build/esm/blocks/Info/schema.d.ts +8 -19
  99. package/build/esm/blocks/Map/schema.d.ts +6 -17
  100. package/build/esm/blocks/Media/schema.d.ts +152 -204
  101. package/build/esm/blocks/Media/schema.js +2 -2
  102. package/build/esm/blocks/PromoFeaturesBlock/schema.d.ts +8 -22
  103. package/build/esm/blocks/PromoFeaturesBlock/schema.js +0 -1
  104. package/build/esm/blocks/Questions/schema.d.ts +3 -7
  105. package/build/esm/blocks/Slider/schema.d.ts +18 -13
  106. package/build/esm/blocks/Slider/schema.js +5 -4
  107. package/build/esm/blocks/Table/schema.d.ts +2 -5
  108. package/build/esm/blocks/Table/schema.js +2 -12
  109. package/build/esm/blocks/Tabs/schema.d.ts +16 -43
  110. package/build/esm/components/BlockBase/BlockBase.js +2 -2
  111. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -1
  112. package/build/esm/components/Image/schema.d.ts +0 -1
  113. package/build/esm/components/Image/schema.js +2 -3
  114. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  115. package/build/esm/containers/PageConstructor/components/ConstructorItem/ConstructorItem.js +1 -1
  116. package/build/esm/customization/BlockDecoration.d.ts +1 -1
  117. package/build/esm/customization/BlockDecoration.js +6 -6
  118. package/build/esm/editor/{components → Components}/AddBlock/AddBlock.css +1 -1
  119. package/build/esm/editor/Components/AddBlock/AddBlock.d.ts +8 -0
  120. package/build/esm/editor/{components → Components}/AddBlock/AddBlock.js +2 -2
  121. package/build/esm/editor/Components/EditBlock/EditBlock.d.ts +5 -0
  122. package/build/esm/editor/Components/EditBlock/EditBlock.js +30 -0
  123. package/build/esm/editor/Containers/Editor.d.ts +2 -0
  124. package/build/esm/editor/Containers/Editor.js +20 -0
  125. package/build/esm/editor/index.d.ts +1 -1
  126. package/build/esm/editor/index.js +1 -1
  127. package/build/esm/editor/store/index.d.ts +11 -10
  128. package/build/esm/editor/store/index.js +17 -68
  129. package/build/esm/editor/store/reducer.d.ts +9 -24
  130. package/build/esm/editor/store/reducer.js +29 -15
  131. package/build/esm/editor/store/utils.d.ts +0 -1
  132. package/build/esm/editor/store/utils.js +0 -1
  133. package/build/esm/editor/types/index.d.ts +9 -15
  134. package/build/esm/editor/types/index.js +1 -5
  135. package/build/esm/editor/utils/index.d.ts +3 -4
  136. package/build/esm/editor/utils/index.js +3 -4
  137. package/build/esm/grid/Col/Col.d.ts +1 -1
  138. package/build/esm/models/constructor-items/blocks.d.ts +8 -13
  139. package/build/esm/models/constructor.d.ts +2 -2
  140. package/build/esm/models/customization.d.ts +8 -3
  141. package/build/esm/models/navigation.d.ts +0 -1
  142. package/build/esm/navigation/components/Header/Header.css +0 -2
  143. package/build/esm/navigation/components/Header/Header.js +5 -16
  144. package/build/esm/navigation/schema.d.ts +0 -1
  145. package/build/esm/schema/index.d.ts +228 -9
  146. package/build/esm/schema/index.js +42 -4
  147. package/build/esm/schema/validators/common.d.ts +27 -71
  148. package/build/esm/schema/validators/common.js +16 -49
  149. package/build/esm/sub-blocks/BackgroundCard/schema.d.ts +5 -12
  150. package/build/esm/sub-blocks/BasicCard/schema.d.ts +3 -8
  151. package/build/esm/sub-blocks/Content/schema.d.ts +6 -14
  152. package/build/esm/sub-blocks/Content/schema.js +1 -9
  153. package/build/esm/sub-blocks/LayoutItem/schema.d.ts +9 -23
  154. package/build/esm/sub-blocks/MediaCard/schema.d.ts +6 -16
  155. package/build/esm/sub-blocks/PriceDetailed/schema.d.ts +0 -1
  156. package/build/esm/sub-blocks/PriceDetailed/schema.js +1 -5
  157. package/build/esm/sub-blocks/Quote/schema.d.ts +2 -6
  158. package/build/esm/text-transform/utils.js +6 -1
  159. package/package.json +4 -5
  160. package/server/models/constructor-items/blocks.d.ts +8 -13
  161. package/server/models/constructor.d.ts +2 -2
  162. package/server/models/customization.d.ts +8 -3
  163. package/server/models/navigation.d.ts +0 -1
  164. package/server/text-transform/utils.js +6 -1
  165. package/build/cjs/editor/components/AddBlock/AddBlock.d.ts +0 -7
  166. package/build/cjs/editor/components/BlockForm/BlockForm.d.ts +0 -12
  167. package/build/cjs/editor/components/BlockForm/BlockForm.js +0 -33
  168. package/build/cjs/editor/components/ControlPanel/ControlPanel.css +0 -26
  169. package/build/cjs/editor/components/ControlPanel/ControlPanel.d.ts +0 -8
  170. package/build/cjs/editor/components/ControlPanel/ControlPanel.js +0 -24
  171. package/build/cjs/editor/components/ControlPanel/i18n/en.json +0 -3
  172. package/build/cjs/editor/components/ControlPanel/i18n/index.d.ts +0 -2
  173. package/build/cjs/editor/components/ControlPanel/i18n/index.js +0 -8
  174. package/build/cjs/editor/components/ControlPanel/i18n/ru.json +0 -3
  175. package/build/cjs/editor/components/EditBlock/EditBlock.d.ts +0 -13
  176. package/build/cjs/editor/components/EditBlock/EditBlock.js +0 -44
  177. package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.css +0 -27
  178. package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.d.ts +0 -13
  179. package/build/cjs/editor/components/ErrorBoundary/ErrorBoundary.js +0 -35
  180. package/build/cjs/editor/components/ErrorBoundary/i18n/en.json +0 -4
  181. package/build/cjs/editor/components/ErrorBoundary/i18n/index.d.ts +0 -2
  182. package/build/cjs/editor/components/ErrorBoundary/i18n/index.js +0 -8
  183. package/build/cjs/editor/components/ErrorBoundary/i18n/ru.json +0 -4
  184. package/build/cjs/editor/components/Layout/Layout.css +0 -36
  185. package/build/cjs/editor/components/Layout/Layout.d.ts +0 -16
  186. package/build/cjs/editor/components/Layout/Layout.js +0 -34
  187. package/build/cjs/editor/components/PagePropsForm/PagePropsForm.d.ts +0 -10
  188. package/build/cjs/editor/components/PagePropsForm/PagePropsForm.js +0 -17
  189. package/build/cjs/editor/containers/Editor/Editor.d.ts +0 -2
  190. package/build/cjs/editor/containers/Editor/Editor.js +0 -40
  191. package/build/cjs/editor/containers/Form/Form.css +0 -94
  192. package/build/cjs/editor/containers/Form/Form.d.ts +0 -11
  193. package/build/cjs/editor/containers/Form/Form.js +0 -47
  194. package/build/cjs/editor/containers/Form/dynamic-form-custom.css +0 -0
  195. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.css +0 -27
  196. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.d.ts +0 -19
  197. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +0 -72
  198. package/build/cjs/editor/dynamic-forms-custom/config.d.ts +0 -2
  199. package/build/cjs/editor/dynamic-forms-custom/config.js +0 -13
  200. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.d.ts +0 -12
  201. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js +0 -75
  202. package/build/cjs/editor/dynamic-forms-custom/parser/detect.d.ts +0 -9
  203. package/build/cjs/editor/dynamic-forms-custom/parser/detect.js +0 -36
  204. package/build/cjs/editor/dynamic-forms-custom/parser/index.d.ts +0 -28
  205. package/build/cjs/editor/dynamic-forms-custom/parser/index.js +0 -188
  206. package/build/cjs/editor/dynamic-forms-custom/parser/types.d.ts +0 -29
  207. package/build/cjs/editor/dynamic-forms-custom/parser/types.js +0 -2
  208. package/build/cjs/editor/dynamic-forms-custom/parser/views.d.ts +0 -37
  209. package/build/cjs/editor/dynamic-forms-custom/parser/views.js +0 -46
  210. package/build/cjs/editor/hooks/useFormSpec.d.ts +0 -2
  211. package/build/cjs/editor/hooks/useFormSpec.js +0 -13
  212. package/build/cjs/editor/hooks/usePreviousValue.d.ts +0 -1
  213. package/build/cjs/editor/hooks/usePreviousValue.js +0 -11
  214. package/build/cjs/editor/styles/root.css +0 -5
  215. package/build/cjs/schema/constants.d.ts +0 -908
  216. package/build/cjs/schema/constants.js +0 -42
  217. package/build/esm/editor/components/AddBlock/AddBlock.d.ts +0 -8
  218. package/build/esm/editor/components/BlockForm/BlockForm.d.ts +0 -12
  219. package/build/esm/editor/components/BlockForm/BlockForm.js +0 -30
  220. package/build/esm/editor/components/ControlPanel/ControlPanel.css +0 -26
  221. package/build/esm/editor/components/ControlPanel/ControlPanel.d.ts +0 -9
  222. package/build/esm/editor/components/ControlPanel/ControlPanel.js +0 -22
  223. package/build/esm/editor/components/ControlPanel/i18n/en.json +0 -3
  224. package/build/esm/editor/components/ControlPanel/i18n/index.d.ts +0 -2
  225. package/build/esm/editor/components/ControlPanel/i18n/index.js +0 -5
  226. package/build/esm/editor/components/ControlPanel/i18n/ru.json +0 -3
  227. package/build/esm/editor/components/EditBlock/EditBlock.d.ts +0 -14
  228. package/build/esm/editor/components/EditBlock/EditBlock.js +0 -41
  229. package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.css +0 -27
  230. package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.d.ts +0 -14
  231. package/build/esm/editor/components/ErrorBoundary/ErrorBoundary.js +0 -31
  232. package/build/esm/editor/components/ErrorBoundary/i18n/en.json +0 -4
  233. package/build/esm/editor/components/ErrorBoundary/i18n/index.d.ts +0 -2
  234. package/build/esm/editor/components/ErrorBoundary/i18n/index.js +0 -5
  235. package/build/esm/editor/components/ErrorBoundary/i18n/ru.json +0 -4
  236. package/build/esm/editor/components/Layout/Layout.css +0 -36
  237. package/build/esm/editor/components/Layout/Layout.d.ts +0 -17
  238. package/build/esm/editor/components/Layout/Layout.js +0 -32
  239. package/build/esm/editor/components/PagePropsForm/PagePropsForm.d.ts +0 -10
  240. package/build/esm/editor/components/PagePropsForm/PagePropsForm.js +0 -13
  241. package/build/esm/editor/containers/Editor/Editor.d.ts +0 -2
  242. package/build/esm/editor/containers/Editor/Editor.js +0 -36
  243. package/build/esm/editor/containers/Form/Form.css +0 -94
  244. package/build/esm/editor/containers/Form/Form.d.ts +0 -12
  245. package/build/esm/editor/containers/Form/Form.js +0 -45
  246. package/build/esm/editor/containers/Form/dynamic-form-custom.css +0 -0
  247. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.css +0 -27
  248. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.d.ts +0 -20
  249. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +0 -68
  250. package/build/esm/editor/dynamic-forms-custom/config.d.ts +0 -2
  251. package/build/esm/editor/dynamic-forms-custom/config.js +0 -9
  252. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.d.ts +0 -12
  253. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js +0 -69
  254. package/build/esm/editor/dynamic-forms-custom/parser/detect.d.ts +0 -9
  255. package/build/esm/editor/dynamic-forms-custom/parser/detect.js +0 -32
  256. package/build/esm/editor/dynamic-forms-custom/parser/index.d.ts +0 -28
  257. package/build/esm/editor/dynamic-forms-custom/parser/index.js +0 -186
  258. package/build/esm/editor/dynamic-forms-custom/parser/types.d.ts +0 -29
  259. package/build/esm/editor/dynamic-forms-custom/parser/types.js +0 -1
  260. package/build/esm/editor/dynamic-forms-custom/parser/views.d.ts +0 -37
  261. package/build/esm/editor/dynamic-forms-custom/parser/views.js +0 -39
  262. package/build/esm/editor/hooks/useFormSpec.d.ts +0 -2
  263. package/build/esm/editor/hooks/useFormSpec.js +0 -9
  264. package/build/esm/editor/hooks/usePreviousValue.d.ts +0 -1
  265. package/build/esm/editor/hooks/usePreviousValue.js +0 -8
  266. package/build/esm/editor/styles/root.css +0 -5
  267. package/build/esm/schema/constants.d.ts +0 -908
  268. package/build/esm/schema/constants.js +0 -39
  269. /package/build/cjs/editor/{components → Components}/EditBlock/EditBlock.css +0 -0
  270. /package/build/esm/editor/{components → Components}/EditBlock/EditBlock.css +0 -0
@@ -1,11 +1,6 @@
1
1
  export declare const ContentBase: {
2
2
  title: {
3
3
  oneOf: ({
4
- type: string;
5
- contentType: string;
6
- optionName: string;
7
- } | {
8
- optionName: string;
9
4
  type: string;
10
5
  additionalProperties: boolean;
11
6
  required: string[];
@@ -25,13 +20,14 @@ export declare const ContentBase: {
25
20
  type: string;
26
21
  };
27
22
  };
28
- contentType?: undefined;
23
+ } | {
24
+ type: string;
25
+ contentType: string;
29
26
  })[];
30
27
  };
31
28
  text: {
32
29
  type: string;
33
30
  contentType: string;
34
- inputType: string;
35
31
  };
36
32
  additionalInfo: {
37
33
  type: string;
@@ -78,11 +74,6 @@ export declare const ContentBlock: {
78
74
  };
79
75
  title: {
80
76
  oneOf: ({
81
- type: string;
82
- contentType: string;
83
- optionName: string;
84
- } | {
85
- optionName: string;
86
77
  type: string;
87
78
  additionalProperties: boolean;
88
79
  required: string[];
@@ -102,13 +93,14 @@ export declare const ContentBlock: {
102
93
  type: string;
103
94
  };
104
95
  };
105
- contentType?: undefined;
96
+ } | {
97
+ type: string;
98
+ contentType: string;
106
99
  })[];
107
100
  };
108
101
  text: {
109
102
  type: string;
110
103
  contentType: string;
111
- inputType: string;
112
104
  };
113
105
  additionalInfo: {
114
106
  type: string;
@@ -2,19 +2,11 @@ import { ButtonBlock, LinkProps, TitleProps, containerSizesArray, contentSizes,
2
2
  import { filteredArray } from '../../schema/validators/utils';
3
3
  export const ContentBase = {
4
4
  title: {
5
- oneOf: [
6
- {
7
- type: 'string',
8
- contentType: 'text',
9
- optionName: 'text',
10
- },
11
- Object.assign(Object.assign({}, TitleProps), { optionName: 'options' }),
12
- ],
5
+ oneOf: [{ type: 'string', contentType: 'text' }, TitleProps],
13
6
  },
14
7
  text: {
15
8
  type: 'string',
16
9
  contentType: 'yfm',
17
- inputType: 'textarea',
18
10
  },
19
11
  additionalInfo: {
20
12
  type: 'string',
@@ -8,8 +8,7 @@ export declare const LayoutItem: {
8
8
  type: string;
9
9
  };
10
10
  image: {
11
- oneOf: ({
12
- optionName: string;
11
+ anyOf: ({
13
12
  oneOf: ({
14
13
  type: string;
15
14
  properties: {
@@ -20,10 +19,7 @@ export declare const LayoutItem: {
20
19
  } | {
21
20
  type: string;
22
21
  pattern: string;
23
- optionName: string;
24
22
  })[];
25
- type?: undefined;
26
- items?: undefined;
27
23
  } | {
28
24
  type: string;
29
25
  items: {
@@ -37,10 +33,8 @@ export declare const LayoutItem: {
37
33
  } | {
38
34
  type: string;
39
35
  pattern: string;
40
- optionName: string;
41
36
  })[];
42
37
  };
43
- optionName: string;
44
38
  })[];
45
39
  };
46
40
  video: {
@@ -55,8 +49,7 @@ export declare const LayoutItem: {
55
49
  };
56
50
  };
57
51
  loop: {
58
- oneOf: ({
59
- optionName: string;
52
+ anyOf: ({
60
53
  type: string;
61
54
  additionalProperties: boolean;
62
55
  required: string[];
@@ -70,7 +63,6 @@ export declare const LayoutItem: {
70
63
  };
71
64
  } | {
72
65
  type: string;
73
- optionName: string;
74
66
  })[];
75
67
  };
76
68
  type: {
@@ -80,13 +72,13 @@ export declare const LayoutItem: {
80
72
  muted: {
81
73
  type: string;
82
74
  };
83
- autoplay: {
75
+ playing: {
84
76
  type: string;
85
77
  };
86
78
  elapsedTime: {
87
79
  type: string;
88
80
  };
89
- playButton: {
81
+ playIcon: {
90
82
  type: string;
91
83
  additionalProperties: boolean;
92
84
  properties: {
@@ -124,10 +116,6 @@ export declare const LayoutItem: {
124
116
  };
125
117
  dataLens: {
126
118
  oneOf: ({
127
- type: string;
128
- optionName: string;
129
- } | {
130
- optionName: string;
131
119
  type: string;
132
120
  additionalProperties: boolean;
133
121
  required: string[];
@@ -140,6 +128,8 @@ export declare const LayoutItem: {
140
128
  enum: string[];
141
129
  };
142
130
  };
131
+ } | {
132
+ type: string;
143
133
  })[];
144
134
  };
145
135
  fullscreen: {
@@ -227,11 +217,6 @@ export declare const LayoutItem: {
227
217
  content: Partial<{
228
218
  title: {
229
219
  oneOf: ({
230
- type: string;
231
- contentType: string;
232
- optionName: string;
233
- } | {
234
- optionName: string;
235
220
  type: string;
236
221
  additionalProperties: boolean;
237
222
  required: string[];
@@ -251,13 +236,14 @@ export declare const LayoutItem: {
251
236
  type: string;
252
237
  };
253
238
  };
254
- contentType?: undefined;
239
+ } | {
240
+ type: string;
241
+ contentType: string;
255
242
  })[];
256
243
  };
257
244
  text: {
258
245
  type: string;
259
246
  contentType: string;
260
- inputType: string;
261
247
  };
262
248
  additionalInfo: {
263
249
  type: string;
@@ -10,8 +10,7 @@ export declare const MediaCardBlock: {
10
10
  type: string;
11
11
  };
12
12
  image: {
13
- oneOf: ({
14
- optionName: string;
13
+ anyOf: ({
15
14
  oneOf: ({
16
15
  type: string;
17
16
  properties: {
@@ -22,10 +21,7 @@ export declare const MediaCardBlock: {
22
21
  } | {
23
22
  type: string;
24
23
  pattern: string;
25
- optionName: string;
26
24
  })[];
27
- type?: undefined;
28
- items?: undefined;
29
25
  } | {
30
26
  type: string;
31
27
  items: {
@@ -39,10 +35,8 @@ export declare const MediaCardBlock: {
39
35
  } | {
40
36
  type: string;
41
37
  pattern: string;
42
- optionName: string;
43
38
  })[];
44
39
  };
45
- optionName: string;
46
40
  })[];
47
41
  };
48
42
  video: {
@@ -57,8 +51,7 @@ export declare const MediaCardBlock: {
57
51
  };
58
52
  };
59
53
  loop: {
60
- oneOf: ({
61
- optionName: string;
54
+ anyOf: ({
62
55
  type: string;
63
56
  additionalProperties: boolean;
64
57
  required: string[];
@@ -72,7 +65,6 @@ export declare const MediaCardBlock: {
72
65
  };
73
66
  } | {
74
67
  type: string;
75
- optionName: string;
76
68
  })[];
77
69
  };
78
70
  type: {
@@ -82,13 +74,13 @@ export declare const MediaCardBlock: {
82
74
  muted: {
83
75
  type: string;
84
76
  };
85
- autoplay: {
77
+ playing: {
86
78
  type: string;
87
79
  };
88
80
  elapsedTime: {
89
81
  type: string;
90
82
  };
91
- playButton: {
83
+ playIcon: {
92
84
  type: string;
93
85
  additionalProperties: boolean;
94
86
  properties: {
@@ -126,10 +118,6 @@ export declare const MediaCardBlock: {
126
118
  };
127
119
  dataLens: {
128
120
  oneOf: ({
129
- type: string;
130
- optionName: string;
131
- } | {
132
- optionName: string;
133
121
  type: string;
134
122
  additionalProperties: boolean;
135
123
  required: string[];
@@ -142,6 +130,8 @@ export declare const MediaCardBlock: {
142
130
  enum: string[];
143
131
  };
144
132
  };
133
+ } | {
134
+ type: string;
145
135
  })[];
146
136
  };
147
137
  fullscreen: {
@@ -49,7 +49,6 @@ export declare const PriceDetailedBlock: {
49
49
  priceType: {
50
50
  type: string;
51
51
  enum: string[];
52
- default: string;
53
52
  };
54
53
  numberGroupItems: {
55
54
  type: string;
@@ -124,10 +124,7 @@ const PriceDetailsListProps = {
124
124
  };
125
125
  const PriceDetailsProps = {
126
126
  items: {
127
- oneOf: [
128
- Object.assign(Object.assign({}, filteredArray(Object.assign({}, PriceDetailsListProps))), { optionName: 'marked-list' }),
129
- Object.assign(Object.assign({}, filteredArray(Object.assign({}, PriceDetailsSettingsProps))), { optionName: 'settings' }),
130
- ],
127
+ anyOf: [filteredArray(PriceDetailsListProps), filteredArray(PriceDetailsSettingsProps)],
131
128
  },
132
129
  };
133
130
  const PriceItem = {
@@ -143,7 +140,6 @@ export const PriceDetailedBlock = {
143
140
  properties: Object.assign(Object.assign(Object.assign({}, BaseProps), AnimatableProps), { items: filteredArray(PriceItem), description: PriceDetailedDescriptionProps, details: PriceDetailedDetailsProps, priceType: {
144
141
  type: 'string',
145
142
  enum: PriceDetailedDetailsType,
146
- default: 'settings',
147
143
  }, numberGroupItems: {
148
144
  type: 'number',
149
145
  enum: [3, 4, 5],
@@ -8,7 +8,7 @@ export declare const Quote: {
8
8
  contentType: string;
9
9
  };
10
10
  image: {
11
- oneOf: (({
11
+ oneOf: ({
12
12
  oneOf: ({
13
13
  type: string;
14
14
  properties: {
@@ -19,16 +19,12 @@ export declare const Quote: {
19
19
  } | {
20
20
  type: string;
21
21
  pattern: string;
22
- optionName: string;
23
22
  })[];
24
- } & {
25
- optionName: string;
26
- }) | {
23
+ } | {
27
24
  type: string;
28
25
  additionalProperties: boolean;
29
26
  required: import("../..").Theme[];
30
27
  properties: {};
31
- optionName: string;
32
28
  })[];
33
29
  };
34
30
  logo: {
@@ -23,7 +23,12 @@ export const DEFAULT_ALLOWED_TAGS = [
23
23
  ];
24
24
  export const typografConfig = {
25
25
  enabled: ['common/nbsp/afterNumber', 'common/nbsp/afterParagraphMark'],
26
- disabled: ['common/symbols/cf', 'ru/other/phone-number'],
26
+ disabled: [
27
+ 'common/symbols/cf',
28
+ 'ru/other/phone-number',
29
+ 'common/space/afterColon',
30
+ 'common/space/afterSemicolon',
31
+ ],
27
32
  };
28
33
  export const sanitizeStripOptions = {
29
34
  allowedTags: [],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/page-constructor",
3
- "version": "3.4.0",
3
+ "version": "3.5.0-alpha.0",
4
4
  "description": "Gravity UI Page Constructor",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -48,10 +48,8 @@
48
48
  "dependencies": {
49
49
  "@gravity-ui/i18n": "^1.0.0",
50
50
  "bem-cn-lite": "^4.0.0",
51
- "final-form": "^4.20.9",
52
51
  "github-buttons": "2.23.0",
53
52
  "lodash": "^4.17.21",
54
- "react-final-form": "^6.5.9",
55
53
  "react-player": "^2.9.0",
56
54
  "react-slick": "^0.28.1",
57
55
  "react-spring": "^9.3.0",
@@ -71,7 +69,6 @@
71
69
  "@commitlint/cli": "^17.1.2",
72
70
  "@commitlint/config-conventional": "^17.1.0",
73
71
  "@doc-tools/transform": "2.12.0",
74
- "@gravity-ui/dynamic-forms": "^1.7.1",
75
72
  "@gravity-ui/eslint-config": "^2.0.0",
76
73
  "@gravity-ui/icons": "^2.1.0",
77
74
  "@gravity-ui/prettier-config": "^1.0.1",
@@ -88,7 +85,6 @@
88
85
  "@testing-library/react": "^13.4.0",
89
86
  "@testing-library/user-event": "^14.4.3",
90
87
  "@types/jest": "^29.2.4",
91
- "@types/json-schema": "^7.0.12",
92
88
  "@types/lodash": "^4.14.176",
93
89
  "@types/react": "^18.0.27",
94
90
  "@types/react-dom": "^18.0.10",
@@ -143,5 +139,8 @@
143
139
  "*.{json,yaml,yml,md}": [
144
140
  "prettier --write"
145
141
  ]
142
+ },
143
+ "publishConfig": {
144
+ "tag": "alpha"
146
145
  }
147
146
  }
@@ -30,7 +30,6 @@ export interface Childable {
30
30
  children?: SubBlock[];
31
31
  }
32
32
  export interface BlockBaseProps {
33
- type: BlockType;
34
33
  index?: number;
35
34
  anchor?: AnchorProps;
36
35
  visible?: GridColumnSize;
@@ -245,18 +244,14 @@ export interface IconsBlockProps {
245
244
  src: string;
246
245
  }[];
247
246
  }
248
- interface ContentLayoutBlockParams {
249
- size?: ContentSize;
250
- background?: BackgroundImageProps;
251
- centered?: boolean;
252
- theme?: ContentTheme;
253
- textWidth?: ContentTextSize;
254
- }
255
- export interface ContentLayoutBlockProps extends ContentLayoutBlockParams {
256
- /**
257
- * @deprecated Use params on top level instead
258
- */
259
- properties?: ContentLayoutBlockParams;
247
+ export interface ContentLayoutBlockProps {
248
+ properties?: {
249
+ size?: ContentSize;
250
+ background?: BackgroundImageProps;
251
+ centered?: boolean;
252
+ theme?: ContentTheme;
253
+ textWidth?: ContentTextSize;
254
+ };
260
255
  textContent: ContentBlockProps;
261
256
  fileContent?: FileLinkProps[];
262
257
  }
@@ -1,5 +1,5 @@
1
1
  import React, { PropsWithChildren } from 'react';
2
- import { Animatable, Block, BlockDecorationProps, ConstructorItem, ThemedMediaProps, WithChildren } from './';
2
+ import { Animatable, Block, BlockDecoratorProps, ConstructorItem, ThemedMediaProps, WithChildren } from './';
3
3
  export interface PageData {
4
4
  content: PageContent;
5
5
  }
@@ -41,7 +41,7 @@ export interface CustomConfig {
41
41
  headers?: CustomItems;
42
42
  loadable?: LoadableConfig;
43
43
  decorators?: {
44
- block?: ((props: BlockDecorationProps) => React.ReactElement)[];
44
+ block?: ((props: BlockDecoratorProps) => React.ReactElement)[];
45
45
  };
46
46
  }
47
47
  export {};
@@ -1,4 +1,9 @@
1
1
  import { PropsWithChildren } from 'react';
2
- import { BlockBaseProps } from './constructor-items';
3
- export type BlockDecorationProps = Pick<BlockBaseProps, 'index' | 'type'> & PropsWithChildren;
4
- export type BlockDecorator = (props: BlockDecorationProps) => React.ReactElement;
2
+ export interface BlockDecorationProps extends PropsWithChildren {
3
+ id: string | number;
4
+ }
5
+ export interface BlockDecoratorProps extends PropsWithChildren {
6
+ id: string | number;
7
+ isHeader?: boolean;
8
+ }
9
+ export type BlockDecorator = (props: BlockDecoratorProps) => React.ReactElement;
@@ -63,7 +63,6 @@ export interface HeaderData {
63
63
  leftItems: NavigationItemModel[];
64
64
  rightItems?: NavigationItemModel[];
65
65
  iconSize?: number;
66
- withBorder?: boolean;
67
66
  }
68
67
  export interface FooterColumn {
69
68
  title: string;
@@ -39,7 +39,12 @@ exports.DEFAULT_ALLOWED_TAGS = [
39
39
  ];
40
40
  exports.typografConfig = {
41
41
  enabled: ['common/nbsp/afterNumber', 'common/nbsp/afterParagraphMark'],
42
- disabled: ['common/symbols/cf', 'ru/other/phone-number'],
42
+ disabled: [
43
+ 'common/symbols/cf',
44
+ 'ru/other/phone-number',
45
+ 'common/space/afterColon',
46
+ 'common/space/afterSemicolon',
47
+ ],
43
48
  };
44
49
  exports.sanitizeStripOptions = {
45
50
  allowedTags: [],
@@ -1,7 +0,0 @@
1
- import { PropsWithChildren } from 'react';
2
- import { Block, ClassNameProps } from '../../../models';
3
- export interface AddBlockProps extends ClassNameProps {
4
- onAdd: (data: Block) => void;
5
- }
6
- declare const AddBlock: ({ onAdd, className }: PropsWithChildren<AddBlockProps>) => JSX.Element;
7
- export default AddBlock;
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- import { Block } from '../../../models';
3
- import { CustomSpec } from '../../dynamic-forms-custom/parser/types';
4
- interface BlockFormProps {
5
- data: Block;
6
- spec: CustomSpec;
7
- onChange: (data: Block) => void;
8
- onSelect: () => void;
9
- active?: boolean;
10
- }
11
- export declare const BlockForm: React.MemoExoticComponent<({ data: { type, ...content }, onChange, onSelect, active, spec: specRaw }: BlockFormProps) => JSX.Element>;
12
- export {};
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BlockForm = void 0;
4
- const tslib_1 = require("tslib");
5
- const react_1 = tslib_1.__importStar(require("react"));
6
- const dynamic_forms_1 = require("@gravity-ui/dynamic-forms");
7
- const lodash_1 = tslib_1.__importDefault(require("lodash"));
8
- const react_final_form_1 = require("react-final-form");
9
- const config_1 = require("../../dynamic-forms-custom/config");
10
- const usePreviousValue_1 = tslib_1.__importDefault(require("../../hooks/usePreviousValue"));
11
- exports.BlockForm = (0, react_1.memo)((_a) => {
12
- var _b = _a.data, { type } = _b, content = tslib_1.__rest(_b, ["type"]), { onChange, onSelect, active, spec: specRaw } = _a;
13
- // get initial values only at first render, then the form manages data
14
- // eslint-disable-next-line react-hooks/exhaustive-deps
15
- const initialValues = (0, react_1.useMemo)(() => ({ content }), []);
16
- const prevContent = (0, usePreviousValue_1.default)(content);
17
- const spec = (0, react_1.useMemo)(() => (Object.assign(Object.assign({}, specRaw), { viewSpec: Object.assign(Object.assign({}, specRaw.viewSpec), { layoutOpen: active }) })), [specRaw, active]);
18
- return (react_1.default.createElement(react_final_form_1.Form, { initialValues: initialValues, onSubmit: lodash_1.default.noop }, () => (react_1.default.createElement("div", { onClick: () => {
19
- if (!active) {
20
- onSelect();
21
- }
22
- } },
23
- react_1.default.createElement(react_final_form_1.FormSpy, { onChange: ({ values }) => {
24
- // fix for FormSpy onChange called twice without content changes
25
- if (!lodash_1.default.isEqual(values.content, prevContent)) {
26
- onChange(Object.assign({ type }, values.content));
27
- }
28
- }, subscription: { values: true } }),
29
- react_1.default.createElement(dynamic_forms_1.DynamicField, { name: "content",
30
- // there is no way other way to manage with form open/close state now
31
- key: String(active), spec: spec, config: config_1.dynamicConfig })))));
32
- });
33
- exports.BlockForm.displayName = 'BlockForm';
@@ -1,26 +0,0 @@
1
- /* use this for style redefinitions to awoid problems with
2
- unpredictable css rules order in build */
3
- .pc-control-panel {
4
- display: flex;
5
- justify-content: center;
6
- width: 100%;
7
- height: var(--editor-header-height);
8
- padding: 8px 20px;
9
- background-color: var(--yc-color-base-background);
10
- border-bottom: 1px solid var(--yc-color-line-generic);
11
- }
12
- .pc-control-panel__icon {
13
- display: flex;
14
- align-items: center;
15
- }
16
- .pc-control-panel__radio-button {
17
- margin-left: 12px;
18
- }
19
- .pc-control-panel__radio-button .yc-radio-button__option {
20
- display: flex;
21
- align-items: center;
22
- }
23
- .pc-control-panel__mode-switch {
24
- display: flex;
25
- align-items: center;
26
- }
@@ -1,8 +0,0 @@
1
- import { ClassNameProps } from '../../../models';
2
- import { ViewModeItem } from '../../types';
3
- export interface ControlPanelProps extends ClassNameProps {
4
- viewMode?: ViewModeItem;
5
- onViewModeChange: (viewMode: ViewModeItem) => void;
6
- }
7
- declare const ControlPanel: ({ viewMode, onViewModeChange, className, }: ControlPanelProps) => JSX.Element;
8
- export default ControlPanel;
@@ -1,24 +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 icons_1 = require("@gravity-ui/icons");
6
- const uikit_1 = require("@gravity-ui/uikit");
7
- const utils_1 = require("../../../utils");
8
- const types_1 = require("../../types");
9
- const i18n_1 = tslib_1.__importDefault(require("./i18n"));
10
- const ICON_SIZE = 14;
11
- const b = (0, utils_1.block)('control-panel');
12
- const ControlPanelViewModeIcons = {
13
- [types_1.ViewModeItem.Edititng]: icons_1.Pencil,
14
- [types_1.ViewModeItem.View]: icons_1.Display,
15
- };
16
- const ControlPanel = ({ viewMode = types_1.ViewModeItem.Edititng, onViewModeChange, className, }) => (react_1.default.createElement("div", { className: b(null, className) },
17
- react_1.default.createElement("div", { className: b('mode-switch') },
18
- react_1.default.createElement("span", null, (0, i18n_1.default)('mode')),
19
- react_1.default.createElement(uikit_1.RadioButton, { className: b('radio-button'), value: viewMode, onUpdate: (value) => onViewModeChange(value) }, Object.values(types_1.ViewModeItem).map((item) => {
20
- const Icon = ControlPanelViewModeIcons[item];
21
- return (react_1.default.createElement(uikit_1.RadioButton.Option, { key: item, value: item },
22
- react_1.default.createElement(Icon, { className: b('icon'), width: ICON_SIZE, height: ICON_SIZE })));
23
- })))));
24
- exports.default = ControlPanel;
@@ -1,3 +0,0 @@
1
- {
2
- "mode": "Mode"
3
- }
@@ -1,2 +0,0 @@
1
- declare const _default: (key: string, params?: import("@gravity-ui/i18n").Params | undefined) => string;
2
- export default _default;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const registerKeyset_1 = require("../../../../utils/registerKeyset");
5
- const en_json_1 = tslib_1.__importDefault(require("./en.json"));
6
- const ru_json_1 = tslib_1.__importDefault(require("./ru.json"));
7
- const COMPONENT = 'ControlPanel';
8
- exports.default = (0, registerKeyset_1.registerKeyset)({ en: en_json_1.default, ru: ru_json_1.default }, COMPONENT);
@@ -1,3 +0,0 @@
1
- {
2
- "mode": "Режим"
3
- }
@@ -1,13 +0,0 @@
1
- import React from 'react';
2
- import { EditBlockProps } from '../../types';
3
- export declare enum EditBlockControls {
4
- Up = "up",
5
- Down = "down",
6
- Copy = "copy",
7
- Delete = "delete"
8
- }
9
- export type EditBlockActions = {
10
- [key in EditBlockControls]?: () => void;
11
- };
12
- declare const _default: React.MemoExoticComponent<({ actions, isActive, onSelect, isHeader, children }: EditBlockProps) => JSX.Element>;
13
- export default _default;