@gravity-ui/page-constructor 1.26.0-alpha.1 → 2.0.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 (121) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/cjs/blocks/Icons/Icons.js +1 -1
  3. package/build/cjs/blocks/Map/schema.d.ts +0 -12
  4. package/build/cjs/blocks/Share/Share.js +1 -2
  5. package/build/cjs/components/BackLink/BackLink.js +1 -2
  6. package/build/cjs/components/Button/Button.js +1 -2
  7. package/build/cjs/components/FileLink/FileLink.js +1 -2
  8. package/build/cjs/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -2
  9. package/build/cjs/components/Link/Link.js +1 -2
  10. package/build/cjs/components/Map/GoogleMap.js +7 -5
  11. package/build/cjs/components/Map/Map.css +5 -0
  12. package/build/cjs/components/Map/YMap/YMap.d.ts +4 -2
  13. package/build/cjs/components/Map/YMap/YMap.js +18 -10
  14. package/build/cjs/components/Map/YMap/YandexMap.js +18 -9
  15. package/build/cjs/components/Title/Title.js +1 -2
  16. package/build/cjs/components/index.d.ts +0 -1
  17. package/build/cjs/components/index.js +1 -3
  18. package/build/cjs/constructor-items.d.ts +0 -1
  19. package/build/cjs/constructor-items.js +0 -1
  20. package/build/cjs/models/constructor-items/common.d.ts +0 -79
  21. package/build/cjs/models/constructor-items/common.js +1 -14
  22. package/build/cjs/models/constructor-items/sub-blocks.d.ts +2 -6
  23. package/build/cjs/models/constructor-items/sub-blocks.js +0 -1
  24. package/build/cjs/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +1 -2
  25. package/build/cjs/navigation/components/SocialIcon/SocialIcon.js +1 -1
  26. package/build/cjs/schema/index.js +1 -3
  27. package/build/cjs/schema/validators/common.d.ts +0 -6
  28. package/build/cjs/schema/validators/common.js +0 -4
  29. package/build/cjs/schema/validators/sub-blocks.d.ts +0 -1
  30. package/build/cjs/schema/validators/sub-blocks.js +0 -1
  31. package/build/cjs/sub-blocks/Quote/Quote.js +1 -1
  32. package/build/cjs/sub-blocks/index.d.ts +0 -1
  33. package/build/cjs/sub-blocks/index.js +1 -3
  34. package/build/cjs/text-transform/blocks.js +0 -27
  35. package/build/esm/blocks/Icons/Icons.js +2 -2
  36. package/build/esm/blocks/Map/schema.d.ts +0 -12
  37. package/build/esm/blocks/Share/Share.js +1 -2
  38. package/build/esm/components/BackLink/BackLink.js +1 -2
  39. package/build/esm/components/Button/Button.js +1 -2
  40. package/build/esm/components/FileLink/FileLink.js +1 -2
  41. package/build/esm/components/HeaderBreadcrumbs/HeaderBreadcrumbs.js +1 -2
  42. package/build/esm/components/Link/Link.js +1 -2
  43. package/build/esm/components/Map/GoogleMap.js +7 -5
  44. package/build/esm/components/Map/Map.css +5 -0
  45. package/build/esm/components/Map/YMap/YMap.d.ts +4 -2
  46. package/build/esm/components/Map/YMap/YMap.js +18 -10
  47. package/build/esm/components/Map/YMap/YandexMap.js +18 -9
  48. package/build/esm/components/Title/Title.js +1 -2
  49. package/build/esm/components/index.d.ts +0 -1
  50. package/build/esm/components/index.js +0 -1
  51. package/build/esm/constructor-items.d.ts +0 -1
  52. package/build/esm/constructor-items.js +1 -2
  53. package/build/esm/models/constructor-items/common.d.ts +0 -79
  54. package/build/esm/models/constructor-items/common.js +0 -13
  55. package/build/esm/models/constructor-items/sub-blocks.d.ts +2 -6
  56. package/build/esm/models/constructor-items/sub-blocks.js +0 -1
  57. package/build/esm/navigation/components/NavigationItem/components/GithubButton/GithubButton.js +1 -2
  58. package/build/esm/navigation/components/SocialIcon/SocialIcon.js +2 -2
  59. package/build/esm/schema/index.js +2 -4
  60. package/build/esm/schema/validators/common.d.ts +0 -6
  61. package/build/esm/schema/validators/common.js +0 -4
  62. package/build/esm/schema/validators/sub-blocks.d.ts +0 -1
  63. package/build/esm/schema/validators/sub-blocks.js +0 -1
  64. package/build/esm/sub-blocks/Quote/Quote.js +2 -2
  65. package/build/esm/sub-blocks/index.d.ts +0 -1
  66. package/build/esm/sub-blocks/index.js +0 -1
  67. package/build/esm/text-transform/blocks.js +0 -27
  68. package/package.json +10 -6
  69. package/server/models/constructor-items/common.d.ts +0 -79
  70. package/server/models/constructor-items/common.js +1 -14
  71. package/server/models/constructor-items/sub-blocks.d.ts +2 -6
  72. package/server/models/constructor-items/sub-blocks.js +0 -1
  73. package/server/text-transform/blocks.js +0 -27
  74. package/build/cjs/components/LinkBase/LinkBase.d.ts +0 -3
  75. package/build/cjs/components/LinkBase/LinkBase.js +0 -18
  76. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.css +0 -35
  77. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.d.ts +0 -12
  78. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +0 -60
  79. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.css +0 -62
  80. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.d.ts +0 -10
  81. package/build/cjs/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +0 -54
  82. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.d.ts +0 -3
  83. package/build/cjs/sub-blocks/PriceDetailed/PriceDetailed.js +0 -22
  84. package/build/cjs/sub-blocks/PriceDetailed/PriceDetails/Details/List.css +0 -11
  85. package/build/cjs/sub-blocks/PriceDetailed/PriceDetails/Details/List.d.ts +0 -7
  86. package/build/cjs/sub-blocks/PriceDetailed/PriceDetails/Details/List.js +0 -15
  87. package/build/cjs/sub-blocks/PriceDetailed/PriceDetails/Details/Settings.css +0 -20
  88. package/build/cjs/sub-blocks/PriceDetailed/PriceDetails/Details/Settings.d.ts +0 -8
  89. package/build/cjs/sub-blocks/PriceDetailed/PriceDetails/Details/Settings.js +0 -15
  90. package/build/cjs/sub-blocks/PriceDetailed/PriceDetails/PriceDetails.css +0 -43
  91. package/build/cjs/sub-blocks/PriceDetailed/PriceDetails/PriceDetails.d.ts +0 -11
  92. package/build/cjs/sub-blocks/PriceDetailed/PriceDetails/PriceDetails.js +0 -56
  93. package/build/cjs/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.css +0 -9
  94. package/build/cjs/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.d.ts +0 -10
  95. package/build/cjs/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +0 -15
  96. package/build/cjs/sub-blocks/PriceDetailed/schema.d.ts +0 -93
  97. package/build/cjs/sub-blocks/PriceDetailed/schema.js +0 -155
  98. package/build/esm/components/LinkBase/LinkBase.d.ts +0 -3
  99. package/build/esm/components/LinkBase/LinkBase.js +0 -16
  100. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.css +0 -35
  101. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.d.ts +0 -13
  102. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +0 -58
  103. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.css +0 -62
  104. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.d.ts +0 -11
  105. package/build/esm/sub-blocks/PriceDetailed/PriceDescription/PriceDescription.js +0 -52
  106. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.d.ts +0 -3
  107. package/build/esm/sub-blocks/PriceDetailed/PriceDetailed.js +0 -19
  108. package/build/esm/sub-blocks/PriceDetailed/PriceDetails/Details/List.css +0 -11
  109. package/build/esm/sub-blocks/PriceDetailed/PriceDetails/Details/List.d.ts +0 -8
  110. package/build/esm/sub-blocks/PriceDetailed/PriceDetails/Details/List.js +0 -13
  111. package/build/esm/sub-blocks/PriceDetailed/PriceDetails/Details/Settings.css +0 -20
  112. package/build/esm/sub-blocks/PriceDetailed/PriceDetails/Details/Settings.d.ts +0 -9
  113. package/build/esm/sub-blocks/PriceDetailed/PriceDetails/Details/Settings.js +0 -13
  114. package/build/esm/sub-blocks/PriceDetailed/PriceDetails/PriceDetails.css +0 -43
  115. package/build/esm/sub-blocks/PriceDetailed/PriceDetails/PriceDetails.d.ts +0 -12
  116. package/build/esm/sub-blocks/PriceDetailed/PriceDetails/PriceDetails.js +0 -54
  117. package/build/esm/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.css +0 -9
  118. package/build/esm/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.d.ts +0 -11
  119. package/build/esm/sub-blocks/PriceDetailed/SeparatePriceDetailed/SeparatePriceDetailed.js +0 -13
  120. package/build/esm/sub-blocks/PriceDetailed/schema.d.ts +0 -93
  121. package/build/esm/sub-blocks/PriceDetailed/schema.js +0 -152
@@ -6,17 +6,6 @@ export declare enum AuthorType {
6
6
  Column = "column",
7
7
  Line = "line"
8
8
  }
9
- export declare enum PriceDetailsType {
10
- MARKED_LIST = "marked-list",
11
- SETTINGS = "settings"
12
- }
13
- export declare enum PriceLabelColor {
14
- BLUE = "blue",
15
- GREEN = "green",
16
- YELLOW = "yellow",
17
- PURPLE = "purple",
18
- RED = "red"
19
- }
20
9
  export declare enum PreviewItemType {
21
10
  Video = "video",
22
11
  Image = "image"
@@ -48,7 +37,6 @@ export type ColumnsCount = 1 | 2 | 3 | 4;
48
37
  export type LegendTableMarkerType = 'disk';
49
38
  export type LinkTheme = 'file-link' | 'normal' | 'back' | 'underline';
50
39
  export type MediaDirection = 'media-content' | 'content-media';
51
- export type PriceDescriptionColor = 'cornflower' | 'black';
52
40
  export type PreviewRatioMediaContent = '2-1' | '1-1';
53
41
  export type ContentSize = 's' | 'l';
54
42
  export type ContentTextSize = 's' | 'm' | 'l';
@@ -111,8 +99,6 @@ export interface MediaVideoProps extends AnalyticsEventsBase {
111
99
  controls?: MediaVideoControlsType;
112
100
  metrika?: MetrikaVideo;
113
101
  }
114
- export interface LinkBaseProps extends React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement> {
115
- }
116
102
  export interface LinkProps extends AnalyticsEventsBase, Stylable {
117
103
  url: string;
118
104
  text?: string;
@@ -191,7 +177,6 @@ export interface MediaProps extends Animatable, Partial<MediaComponentDataLensPr
191
177
  export type Coordinate = number[];
192
178
  export interface MapBaseProps {
193
179
  zoom?: number;
194
- center?: Coordinate;
195
180
  }
196
181
  export interface GMapProps extends MapBaseProps {
197
182
  address: string;
@@ -199,7 +184,6 @@ export interface GMapProps extends MapBaseProps {
199
184
  export interface YMapProps extends MapBaseProps {
200
185
  markers: YMapMarker[];
201
186
  id: string;
202
- center: Coordinate;
203
187
  }
204
188
  export interface YMapMarker {
205
189
  address?: string;
@@ -275,69 +259,6 @@ export type CardBorder = 'shadow' | 'line' | 'none';
275
259
  export interface CardBaseProps {
276
260
  border?: CardBorder;
277
261
  }
278
- export interface PriceDescriptionProps {
279
- title: string;
280
- detailedTitle?: string;
281
- description: string;
282
- label?: {
283
- color: PriceLabelColor;
284
- text?: string;
285
- size?: TextSize;
286
- };
287
- }
288
- export interface PriceDetailsSettingsProps {
289
- title: string;
290
- description: string;
291
- }
292
- export interface PriceDetailsListProps {
293
- text: string;
294
- }
295
- export interface PriceDetailsProps {
296
- items?: PriceDetailsSettingsProps[] | PriceDetailsListProps[];
297
- }
298
- export interface PriceItemProps extends PriceDetailsProps, PriceDescriptionProps {
299
- }
300
- export interface PriceFoldableDetailsProps {
301
- title: string;
302
- size?: TextSize;
303
- titleColor?: PriceDescriptionColor;
304
- }
305
- export interface PriceDetailedProps extends CardBaseProps {
306
- items: PriceItemProps[];
307
- description?: {
308
- titleSize?: TextSize;
309
- descriptionSize?: TextSize;
310
- titleColor?: PriceDescriptionColor;
311
- };
312
- details?: {
313
- titleSize?: TextSize;
314
- descriptionSize?: TextSize;
315
- };
316
- priceType?: PriceDetailsType;
317
- numberGroupItems?: 3 | 4 | 5;
318
- isCombined?: boolean;
319
- useMixedView?: boolean;
320
- foldable?: PriceFoldableDetailsProps;
321
- labelsDefaultText?: Record<PriceLabelColor, string>;
322
- }
323
- export interface PriceDetailedProps extends CardBaseProps {
324
- items: PriceItemProps[];
325
- description?: {
326
- titleSize?: TextSize;
327
- descriptionSize?: TextSize;
328
- titleColor?: PriceDescriptionColor;
329
- };
330
- details?: {
331
- titleSize?: TextSize;
332
- descriptionSize?: TextSize;
333
- };
334
- priceType?: PriceDetailsType;
335
- numberGroupItems?: 3 | 4 | 5;
336
- isCombined?: boolean;
337
- useMixedView?: boolean;
338
- foldable?: PriceFoldableDetailsProps;
339
- labelsDefaultText?: Record<PriceLabelColor, string>;
340
- }
341
262
  export interface AuthorProps {
342
263
  author: AuthorItem;
343
264
  className?: string;
@@ -4,19 +4,6 @@ export var AuthorType;
4
4
  AuthorType["Column"] = "column";
5
5
  AuthorType["Line"] = "line";
6
6
  })(AuthorType || (AuthorType = {}));
7
- export var PriceDetailsType;
8
- (function (PriceDetailsType) {
9
- PriceDetailsType["MARKED_LIST"] = "marked-list";
10
- PriceDetailsType["SETTINGS"] = "settings";
11
- })(PriceDetailsType || (PriceDetailsType = {}));
12
- export var PriceLabelColor;
13
- (function (PriceLabelColor) {
14
- PriceLabelColor["BLUE"] = "blue";
15
- PriceLabelColor["GREEN"] = "green";
16
- PriceLabelColor["YELLOW"] = "yellow";
17
- PriceLabelColor["PURPLE"] = "purple";
18
- PriceLabelColor["RED"] = "red";
19
- })(PriceLabelColor || (PriceLabelColor = {}));
20
7
  export var PreviewItemType;
21
8
  (function (PreviewItemType) {
22
9
  PreviewItemType["Video"] = "video";
@@ -1,7 +1,7 @@
1
1
  import { ClassNameProps } from '../../models';
2
2
  import { ThemeSupporting } from '../../utils';
3
3
  import { HubspotEventData, HubspotEventHandlers } from '../../utils/hubspot';
4
- import { AuthorItem, ButtonPixel, ButtonProps, CardBaseProps, ContentTheme, DividerSize, ImageObjectProps, ImageProps, LinkProps, MediaProps, PriceDetailedProps, TextTheme, Themable, ThemedImage } from './common';
4
+ import { AuthorItem, ButtonPixel, ButtonProps, CardBaseProps, ContentTheme, DividerSize, ImageObjectProps, ImageProps, LinkProps, MediaProps, TextTheme, Themable, ThemedImage } from './common';
5
5
  import { ContentBlockProps } from './blocks';
6
6
  import { AnalyticsEventsBase, PixelEvent } from '../common';
7
7
  export declare enum SubBlockType {
@@ -12,7 +12,6 @@ export declare enum SubBlockType {
12
12
  * @deprecated Will be moved to params use BasicCard instead
13
13
  */
14
14
  Partner = "partner",
15
- PriceDetailed = "price-detailed",
16
15
  MediaCard = "media-card",
17
16
  BannerCard = "banner-card",
18
17
  /**
@@ -162,9 +161,6 @@ export type BackgroundCardModel = {
162
161
  export type PartnerModel = {
163
162
  type: SubBlockType.Partner;
164
163
  } & PartnerProps;
165
- export type PriceDetailedModel = {
166
- type: SubBlockType.PriceDetailed;
167
- } & PriceDetailedProps;
168
164
  export type MediaCardModel = {
169
165
  type: SubBlockType.MediaCard;
170
166
  } & MediaCardProps;
@@ -177,5 +173,5 @@ export type BannerCardModel = {
177
173
  export type BasicCardModel = {
178
174
  type: SubBlockType.BasicCard;
179
175
  } & BasicCardProps;
180
- export type SubBlockModels = DividerModel | QuoteModel | NewsCardModel | PartnerModel | PriceDetailedModel | MediaCardModel | TutorialCardModel | CardWithImageModel | BackgroundCardModel | HubspotFormModel | BannerCardModel | BasicCardModel;
176
+ export type SubBlockModels = DividerModel | QuoteModel | NewsCardModel | PartnerModel | MediaCardModel | TutorialCardModel | CardWithImageModel | BackgroundCardModel | HubspotFormModel | BannerCardModel | BasicCardModel;
181
177
  export type SubBlock = SubBlockModels;
@@ -7,7 +7,6 @@ export var SubBlockType;
7
7
  * @deprecated Will be moved to params use BasicCard instead
8
8
  */
9
9
  SubBlockType["Partner"] = "partner";
10
- SubBlockType["PriceDetailed"] = "price-detailed";
11
10
  SubBlockType["MediaCard"] = "media-card";
12
11
  SubBlockType["BannerCard"] = "banner-card";
13
12
  /**
@@ -1,7 +1,6 @@
1
1
  import React, { useRef, useEffect } from 'react';
2
2
  import { block } from '../../../../../utils';
3
3
  import { NavigationGithubButtonIcon } from '../../../../../models';
4
- import { LinkBase } from '../../../../../components';
5
4
  import './GithubButton.css';
6
5
  const b = block('github-button');
7
6
  const DEFAULT_LABEL = 'Stars on GitHub';
@@ -40,5 +39,5 @@ export const GithubButton = ({ text, url, className, label, size, icon, }) => {
40
39
  }, []);
41
40
  return (React.createElement("div", { className: b(null, className) },
42
41
  React.createElement("span", { ref: containerRef },
43
- React.createElement(LinkBase, Object.assign({ href: url, ref: linkRef, "data-show-count": "true", "aria-label": label || DEFAULT_LABEL }, (icon && { 'data-icon': NavigationGithubButtonIcon[icon] }), (size && { 'data-size': size })), text))));
42
+ React.createElement("a", Object.assign({ href: url, ref: linkRef, "data-show-count": "true", "aria-label": label || DEFAULT_LABEL }, (icon && { 'data-icon': NavigationGithubButtonIcon[icon] }), (size && { 'data-size': size })), text))));
44
43
  };
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import { block } from '../../../utils';
3
- import { Image, LinkBase } from '../../../components';
3
+ import { Image } from '../../../components';
4
4
  import { getMediaImage } from '../../../components/Media/Image/utils';
5
5
  import './SocialIcon.css';
6
6
  const b = block('social-icon');
7
7
  const SocialIcon = ({ icon, url, className }) => {
8
8
  const iconData = getMediaImage(icon);
9
- return (React.createElement(LinkBase, { href: url, target: "_blank", rel: "noopener noreferrer", className: b(null, className) },
9
+ return (React.createElement("a", { href: url, target: "_blank", rel: "noopener noreferrer", className: b(null, className) },
10
10
  React.createElement(Image, Object.assign({ className: b('icon') }, iconData))));
11
11
  };
12
12
  export default SocialIcon;
@@ -1,6 +1,6 @@
1
1
  export { validators } from './validators';
2
2
  import { TabsBlock, BannerCard, SliderBlock, ExtendedFeaturesBlock, HeaderBlock, BannerBlock, CompaniesBlock, MediaBlock, InfoBlock, QuestionsBlock, SecurityBlock, TableBlock, SimpleBlock, LinkTableBlock, PromoFeaturesBlock, PreviewBlock, ContentLayoutBlock, HeaderSliderBlock, IconsBlock, CardLayoutBlock, ShareBlock, MapBlock, } from './validators/blocks';
3
- import { PartnerBlock, MediaCardBlock, TutorialCard, BackgroundCard, NewsCard, CardWithImage, PriceDetailedBlock, Quote, Divider, BasicCard, } from './validators/sub-blocks';
3
+ import { PartnerBlock, MediaCardBlock, TutorialCard, BackgroundCard, NewsCard, CardWithImage, Quote, Divider, BasicCard, } from './validators/sub-blocks';
4
4
  import { AnimatableProps, BackgroundProps, MenuProps, withTheme } from './validators/common';
5
5
  import { filteredItem } from './validators/utils';
6
6
  import { LogoProps, NavigationHeaderProps } from './validators/navigation';
@@ -10,7 +10,7 @@ export const getBlocksCases = (blocks) => {
10
10
  export function generateDefaultSchema(config) {
11
11
  const { cards = {}, blocks = {}, extensions = {} } = config !== null && config !== void 0 ? config : {};
12
12
  const blockValidators = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, Divider), ExtendedFeaturesBlock), PromoFeaturesBlock), SliderBlock), QuestionsBlock), HeaderBlock), BannerBlock), CompaniesBlock), MediaBlock), MapBlock), InfoBlock), SecurityBlock), TableBlock), TabsBlock), SimpleBlock), LinkTableBlock), PreviewBlock), HeaderSliderBlock), IconsBlock), CardLayoutBlock), ContentLayoutBlock), ShareBlock);
13
- const cardValidators = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, PartnerBlock), MediaCardBlock), BannerCard), PriceDetailedBlock), TutorialCard), BackgroundCard), NewsCard), CardWithImage), Quote), BasicCard);
13
+ const cardValidators = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, PartnerBlock), MediaCardBlock), BannerCard), TutorialCard), BackgroundCard), NewsCard), CardWithImage), Quote), BasicCard);
14
14
  const constructorBlockSchemaNames = [
15
15
  'divider',
16
16
  'quote',
@@ -32,7 +32,6 @@ export function generateDefaultSchema(config) {
32
32
  'simple-block',
33
33
  'link-table-block',
34
34
  'preview-block',
35
- 'price-detailed',
36
35
  'header-slider-block',
37
36
  'cards-with-image-block',
38
37
  'icons-block',
@@ -44,7 +43,6 @@ export function generateDefaultSchema(config) {
44
43
  'partner',
45
44
  'media-card',
46
45
  'banner-card',
47
- 'price-detailed',
48
46
  'tutoral-card',
49
47
  'background-card',
50
48
  'news-card',
@@ -1168,12 +1168,6 @@ export declare const MapProps: {
1168
1168
  zoom: {
1169
1169
  type: string;
1170
1170
  };
1171
- center: {
1172
- type: string;
1173
- items: {
1174
- type: string;
1175
- };
1176
- };
1177
1171
  address: {
1178
1172
  type: string;
1179
1173
  };
@@ -489,10 +489,6 @@ export const MapProps = {
489
489
  zoom: {
490
490
  type: 'number',
491
491
  },
492
- center: {
493
- type: 'array',
494
- items: { type: 'number' },
495
- },
496
492
  address: {
497
493
  type: 'string',
498
494
  },
@@ -1,4 +1,3 @@
1
- export * from '../../sub-blocks/PriceDetailed/schema';
2
1
  export * from '../../sub-blocks/BackgroundCard/schema';
3
2
  export * from '../../sub-blocks/Content/schema';
4
3
  export * from '../../sub-blocks/MediaCard/schema';
@@ -1,4 +1,3 @@
1
- export * from '../../sub-blocks/PriceDetailed/schema';
2
1
  export * from '../../sub-blocks/BackgroundCard/schema';
3
2
  export * from '../../sub-blocks/Content/schema';
4
3
  export * from '../../sub-blocks/MediaCard/schema';
@@ -2,7 +2,7 @@ import React, { useCallback, useContext } from 'react';
2
2
  import { Button } from '@gravity-ui/uikit';
3
3
  import { block, getThemedValue } from '../../utils';
4
4
  import { AuthorType, DefaultEventNames } from '../../models';
5
- import { Author, Image, HTML, RouterLink } from '../../components';
5
+ import { Author, Image, HTML } from '../../components';
6
6
  import { ThemeValueContext } from '../../context/theme/ThemeValueContext';
7
7
  import { getMediaImage } from '../../components/Media/Image/utils';
8
8
  import { useAnalytics } from '../../hooks';
@@ -17,7 +17,7 @@ const Quote = (props) => {
17
17
  const handleButtonClick = useCallback(() => handleAnalytics(), [handleAnalytics]);
18
18
  const renderFooter = Boolean(author || url) && (React.createElement("div", { className: b('author-wrapper') },
19
19
  author && (React.createElement(Author, { className: b('author', { theme: textTheme }), author: author, type: AuthorType.Line })),
20
- url && buttonText && (React.createElement(Button, { view: "outlined", size: "xl", href: url, component: RouterLink, className: b('link-button', { theme: textTheme }), onClick: handleButtonClick }, buttonText))));
20
+ url && buttonText && (React.createElement(Button, { view: "outlined", size: "xl", href: url, className: b('link-button', { theme: textTheme }), onClick: handleButtonClick }, buttonText))));
21
21
  return (React.createElement("div", { className: b({ theme: textTheme, border }), style: color ? { backgroundColor: color } : {} },
22
22
  React.createElement("div", { key: text, className: b('content-wrapper') },
23
23
  React.createElement("div", null,
@@ -2,7 +2,6 @@ export { default as Divider } from './Divider/Divider';
2
2
  export { default as Quote } from './Quote/Quote';
3
3
  export { default as NewsCard } from './NewsCard/NewsCard';
4
4
  export { default as Partner } from './Partner/Partner';
5
- export { default as PriceDetailed } from './PriceDetailed/PriceDetailed';
6
5
  export { default as MediaCard } from './MediaCard/MediaCard';
7
6
  export { default as BannerCard } from './BannerCard/BannerCard';
8
7
  export { default as TutorialCard } from './TutorialCard/TutorialCard';
@@ -2,7 +2,6 @@ export { default as Divider } from './Divider/Divider';
2
2
  export { default as Quote } from './Quote/Quote';
3
3
  export { default as NewsCard } from './NewsCard/NewsCard';
4
4
  export { default as Partner } from './Partner/Partner';
5
- export { default as PriceDetailed } from './PriceDetailed/PriceDetailed';
6
5
  export { default as MediaCard } from './MediaCard/MediaCard';
7
6
  export { default as BannerCard } from './BannerCard/BannerCard';
8
7
  export { default as TutorialCard } from './TutorialCard/TutorialCard';
@@ -41,27 +41,6 @@ const parseItemsTitle = (transformer, items) => items.map((_a) => {
41
41
  var { title } = _a, rest = __rest(_a, ["title"]);
42
42
  return (Object.assign({ title: title && parseTitle(transformer, title) }, rest));
43
43
  });
44
- function parsePriceDetailedBlock(transformer, block) {
45
- const { priceType } = block;
46
- block.items = block.items.map((item) => {
47
- const { description, items: details = [] } = item;
48
- if (priceType === 'marked-list') {
49
- item.items = details.map((detail) => {
50
- detail.text = detail.text && transformer(detail.text);
51
- return detail;
52
- });
53
- }
54
- else {
55
- item.items = details.map((detail) => {
56
- detail.description = detail.description && transformer(detail.description);
57
- return detail;
58
- });
59
- }
60
- item.description = transformer(description);
61
- return item;
62
- });
63
- return block;
64
- }
65
44
  const parseContentLayout = (transformer, content) => {
66
45
  if (content) {
67
46
  const { text, additionalInfo } = content;
@@ -273,12 +252,6 @@ const config = {
273
252
  transformer: yfmTransformer,
274
253
  },
275
254
  ],
276
- [SubBlockType.PriceDetailed]: [
277
- {
278
- transformer: yfmTransformer,
279
- parser: parsePriceDetailedBlock,
280
- },
281
- ],
282
255
  [BlockType.HeaderBlock]: [
283
256
  {
284
257
  fields: ['description'],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/page-constructor",
3
- "version": "1.26.0-alpha.1",
3
+ "version": "2.0.0-alpha.0",
4
4
  "description": "Gravity UI Page Constructor",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -61,8 +61,8 @@
61
61
  "uuid": "^9.0.0"
62
62
  },
63
63
  "peerDependencies": {
64
- "react": "^16.0.0 || ^17.0.0",
65
- "@gravity-ui/uikit": "^3.11.0",
64
+ "react": "^16.0.0 || ^17.0.0 || ^18.0.0",
65
+ "@gravity-ui/uikit": "^4.1.0",
66
66
  "@doc-tools/transform": "^2.6.1"
67
67
  },
68
68
  "devDependencies": {
@@ -73,19 +73,20 @@
73
73
  "@gravity-ui/prettier-config": "^1.0.1",
74
74
  "@gravity-ui/stylelint-config": "^1.0.0",
75
75
  "@gravity-ui/tsconfig": "^1.0.0",
76
- "@gravity-ui/uikit": "^3.11.0",
76
+ "@gravity-ui/uikit": "^4.1.0",
77
77
  "@storybook/addon-actions": "^6.3.12",
78
78
  "@storybook/addon-essentials": "^6.5.10",
79
79
  "@storybook/addon-knobs": "^6.3.1",
80
80
  "@storybook/addon-viewport": "^6.3.12",
81
81
  "@storybook/preset-scss": "^1.0.3",
82
- "@storybook/react": "^6.5.10",
82
+ "@storybook/react": "^6.5.16",
83
83
  "@testing-library/jest-dom": "^5.16.5",
84
84
  "@testing-library/react": "^13.4.0",
85
85
  "@testing-library/user-event": "^14.4.3",
86
86
  "@types/jest": "^29.2.4",
87
87
  "@types/lodash": "^4.14.176",
88
- "@types/react": "^16.14.20",
88
+ "@types/react": "^18.0.27",
89
+ "@types/react-dom": "^18.0.10",
89
90
  "@types/react-slick": "^0.23.7",
90
91
  "@types/react-transition-group": "^4.4.4",
91
92
  "@types/sanitize-html": "^2.6.0",
@@ -136,5 +137,8 @@
136
137
  "*.{json,yaml,yml,md}": [
137
138
  "prettier --write"
138
139
  ]
140
+ },
141
+ "publishConfig": {
142
+ "tag": "alpha"
139
143
  }
140
144
  }
@@ -6,17 +6,6 @@ export declare enum AuthorType {
6
6
  Column = "column",
7
7
  Line = "line"
8
8
  }
9
- export declare enum PriceDetailsType {
10
- MARKED_LIST = "marked-list",
11
- SETTINGS = "settings"
12
- }
13
- export declare enum PriceLabelColor {
14
- BLUE = "blue",
15
- GREEN = "green",
16
- YELLOW = "yellow",
17
- PURPLE = "purple",
18
- RED = "red"
19
- }
20
9
  export declare enum PreviewItemType {
21
10
  Video = "video",
22
11
  Image = "image"
@@ -48,7 +37,6 @@ export type ColumnsCount = 1 | 2 | 3 | 4;
48
37
  export type LegendTableMarkerType = 'disk';
49
38
  export type LinkTheme = 'file-link' | 'normal' | 'back' | 'underline';
50
39
  export type MediaDirection = 'media-content' | 'content-media';
51
- export type PriceDescriptionColor = 'cornflower' | 'black';
52
40
  export type PreviewRatioMediaContent = '2-1' | '1-1';
53
41
  export type ContentSize = 's' | 'l';
54
42
  export type ContentTextSize = 's' | 'm' | 'l';
@@ -111,8 +99,6 @@ export interface MediaVideoProps extends AnalyticsEventsBase {
111
99
  controls?: MediaVideoControlsType;
112
100
  metrika?: MetrikaVideo;
113
101
  }
114
- export interface LinkBaseProps extends React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement> {
115
- }
116
102
  export interface LinkProps extends AnalyticsEventsBase, Stylable {
117
103
  url: string;
118
104
  text?: string;
@@ -191,7 +177,6 @@ export interface MediaProps extends Animatable, Partial<MediaComponentDataLensPr
191
177
  export type Coordinate = number[];
192
178
  export interface MapBaseProps {
193
179
  zoom?: number;
194
- center?: Coordinate;
195
180
  }
196
181
  export interface GMapProps extends MapBaseProps {
197
182
  address: string;
@@ -199,7 +184,6 @@ export interface GMapProps extends MapBaseProps {
199
184
  export interface YMapProps extends MapBaseProps {
200
185
  markers: YMapMarker[];
201
186
  id: string;
202
- center: Coordinate;
203
187
  }
204
188
  export interface YMapMarker {
205
189
  address?: string;
@@ -275,69 +259,6 @@ export type CardBorder = 'shadow' | 'line' | 'none';
275
259
  export interface CardBaseProps {
276
260
  border?: CardBorder;
277
261
  }
278
- export interface PriceDescriptionProps {
279
- title: string;
280
- detailedTitle?: string;
281
- description: string;
282
- label?: {
283
- color: PriceLabelColor;
284
- text?: string;
285
- size?: TextSize;
286
- };
287
- }
288
- export interface PriceDetailsSettingsProps {
289
- title: string;
290
- description: string;
291
- }
292
- export interface PriceDetailsListProps {
293
- text: string;
294
- }
295
- export interface PriceDetailsProps {
296
- items?: PriceDetailsSettingsProps[] | PriceDetailsListProps[];
297
- }
298
- export interface PriceItemProps extends PriceDetailsProps, PriceDescriptionProps {
299
- }
300
- export interface PriceFoldableDetailsProps {
301
- title: string;
302
- size?: TextSize;
303
- titleColor?: PriceDescriptionColor;
304
- }
305
- export interface PriceDetailedProps extends CardBaseProps {
306
- items: PriceItemProps[];
307
- description?: {
308
- titleSize?: TextSize;
309
- descriptionSize?: TextSize;
310
- titleColor?: PriceDescriptionColor;
311
- };
312
- details?: {
313
- titleSize?: TextSize;
314
- descriptionSize?: TextSize;
315
- };
316
- priceType?: PriceDetailsType;
317
- numberGroupItems?: 3 | 4 | 5;
318
- isCombined?: boolean;
319
- useMixedView?: boolean;
320
- foldable?: PriceFoldableDetailsProps;
321
- labelsDefaultText?: Record<PriceLabelColor, string>;
322
- }
323
- export interface PriceDetailedProps extends CardBaseProps {
324
- items: PriceItemProps[];
325
- description?: {
326
- titleSize?: TextSize;
327
- descriptionSize?: TextSize;
328
- titleColor?: PriceDescriptionColor;
329
- };
330
- details?: {
331
- titleSize?: TextSize;
332
- descriptionSize?: TextSize;
333
- };
334
- priceType?: PriceDetailsType;
335
- numberGroupItems?: 3 | 4 | 5;
336
- isCombined?: boolean;
337
- useMixedView?: boolean;
338
- foldable?: PriceFoldableDetailsProps;
339
- labelsDefaultText?: Record<PriceLabelColor, string>;
340
- }
341
262
  export interface AuthorProps {
342
263
  author: AuthorItem;
343
264
  className?: string;
@@ -1,25 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MediaVideoControlsType = exports.MediaVideoType = exports.PlayButtonThemes = exports.PlayButtonType = exports.PreviewItemType = exports.PriceLabelColor = exports.PriceDetailsType = exports.AuthorType = void 0;
3
+ exports.MediaVideoControlsType = exports.MediaVideoType = exports.PlayButtonThemes = exports.PlayButtonType = exports.PreviewItemType = exports.AuthorType = void 0;
4
4
  // enums
5
5
  var AuthorType;
6
6
  (function (AuthorType) {
7
7
  AuthorType["Column"] = "column";
8
8
  AuthorType["Line"] = "line";
9
9
  })(AuthorType = exports.AuthorType || (exports.AuthorType = {}));
10
- var PriceDetailsType;
11
- (function (PriceDetailsType) {
12
- PriceDetailsType["MARKED_LIST"] = "marked-list";
13
- PriceDetailsType["SETTINGS"] = "settings";
14
- })(PriceDetailsType = exports.PriceDetailsType || (exports.PriceDetailsType = {}));
15
- var PriceLabelColor;
16
- (function (PriceLabelColor) {
17
- PriceLabelColor["BLUE"] = "blue";
18
- PriceLabelColor["GREEN"] = "green";
19
- PriceLabelColor["YELLOW"] = "yellow";
20
- PriceLabelColor["PURPLE"] = "purple";
21
- PriceLabelColor["RED"] = "red";
22
- })(PriceLabelColor = exports.PriceLabelColor || (exports.PriceLabelColor = {}));
23
10
  var PreviewItemType;
24
11
  (function (PreviewItemType) {
25
12
  PreviewItemType["Video"] = "video";
@@ -1,7 +1,7 @@
1
1
  import { ClassNameProps } from '../../models';
2
2
  import { ThemeSupporting } from '../../utils';
3
3
  import { HubspotEventData, HubspotEventHandlers } from '../../utils/hubspot';
4
- import { AuthorItem, ButtonPixel, ButtonProps, CardBaseProps, ContentTheme, DividerSize, ImageObjectProps, ImageProps, LinkProps, MediaProps, PriceDetailedProps, TextTheme, Themable, ThemedImage } from './common';
4
+ import { AuthorItem, ButtonPixel, ButtonProps, CardBaseProps, ContentTheme, DividerSize, ImageObjectProps, ImageProps, LinkProps, MediaProps, TextTheme, Themable, ThemedImage } from './common';
5
5
  import { ContentBlockProps } from './blocks';
6
6
  import { AnalyticsEventsBase, PixelEvent } from '../common';
7
7
  export declare enum SubBlockType {
@@ -12,7 +12,6 @@ export declare enum SubBlockType {
12
12
  * @deprecated Will be moved to params use BasicCard instead
13
13
  */
14
14
  Partner = "partner",
15
- PriceDetailed = "price-detailed",
16
15
  MediaCard = "media-card",
17
16
  BannerCard = "banner-card",
18
17
  /**
@@ -162,9 +161,6 @@ export type BackgroundCardModel = {
162
161
  export type PartnerModel = {
163
162
  type: SubBlockType.Partner;
164
163
  } & PartnerProps;
165
- export type PriceDetailedModel = {
166
- type: SubBlockType.PriceDetailed;
167
- } & PriceDetailedProps;
168
164
  export type MediaCardModel = {
169
165
  type: SubBlockType.MediaCard;
170
166
  } & MediaCardProps;
@@ -177,5 +173,5 @@ export type BannerCardModel = {
177
173
  export type BasicCardModel = {
178
174
  type: SubBlockType.BasicCard;
179
175
  } & BasicCardProps;
180
- export type SubBlockModels = DividerModel | QuoteModel | NewsCardModel | PartnerModel | PriceDetailedModel | MediaCardModel | TutorialCardModel | CardWithImageModel | BackgroundCardModel | HubspotFormModel | BannerCardModel | BasicCardModel;
176
+ export type SubBlockModels = DividerModel | QuoteModel | NewsCardModel | PartnerModel | MediaCardModel | TutorialCardModel | CardWithImageModel | BackgroundCardModel | HubspotFormModel | BannerCardModel | BasicCardModel;
181
177
  export type SubBlock = SubBlockModels;
@@ -10,7 +10,6 @@ var SubBlockType;
10
10
  * @deprecated Will be moved to params use BasicCard instead
11
11
  */
12
12
  SubBlockType["Partner"] = "partner";
13
- SubBlockType["PriceDetailed"] = "price-detailed";
14
13
  SubBlockType["MediaCard"] = "media-card";
15
14
  SubBlockType["BannerCard"] = "banner-card";
16
15
  /**
@@ -58,27 +58,6 @@ const parseItemsTitle = (transformer, items) => items.map((_a) => {
58
58
  var { title } = _a, rest = __rest(_a, ["title"]);
59
59
  return (Object.assign({ title: title && parseTitle(transformer, title) }, rest));
60
60
  });
61
- function parsePriceDetailedBlock(transformer, block) {
62
- const { priceType } = block;
63
- block.items = block.items.map((item) => {
64
- const { description, items: details = [] } = item;
65
- if (priceType === 'marked-list') {
66
- item.items = details.map((detail) => {
67
- detail.text = detail.text && transformer(detail.text);
68
- return detail;
69
- });
70
- }
71
- else {
72
- item.items = details.map((detail) => {
73
- detail.description = detail.description && transformer(detail.description);
74
- return detail;
75
- });
76
- }
77
- item.description = transformer(description);
78
- return item;
79
- });
80
- return block;
81
- }
82
61
  const parseContentLayout = (transformer, content) => {
83
62
  if (content) {
84
63
  const { text, additionalInfo } = content;
@@ -292,12 +271,6 @@ const config = {
292
271
  transformer: yfmTransformer,
293
272
  },
294
273
  ],
295
- [models_1.SubBlockType.PriceDetailed]: [
296
- {
297
- transformer: yfmTransformer,
298
- parser: parsePriceDetailedBlock,
299
- },
300
- ],
301
274
  [models_1.BlockType.HeaderBlock]: [
302
275
  {
303
276
  fields: ['description'],
@@ -1,3 +0,0 @@
1
- import { LinkBaseProps, WithChildren } from '../../models';
2
- declare const LinkBase: (props: WithChildren<LinkBaseProps>) => JSX.Element;
3
- export default LinkBase;