@gravity-ui/page-constructor 4.29.0 → 4.29.1-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 (140) hide show
  1. package/build/cjs/blocks/Banner/schema.d.ts +9 -0
  2. package/build/cjs/blocks/CardLayout/schema.d.ts +12 -0
  3. package/build/cjs/blocks/ContentLayout/schema.d.ts +6 -0
  4. package/build/cjs/blocks/ExtendedFeatures/schema.d.ts +9 -0
  5. package/build/cjs/blocks/FilterBlock/schema.d.ts +12 -0
  6. package/build/cjs/blocks/Form/Form.css +136 -0
  7. package/build/cjs/blocks/Form/Form.d.ts +4 -0
  8. package/build/cjs/blocks/Form/Form.js +61 -0
  9. package/build/cjs/blocks/Form/HubspotInlineForm.d.ts +7 -0
  10. package/build/cjs/blocks/Form/HubspotInlineForm.js +14 -0
  11. package/build/cjs/blocks/Form/InnerForm/InnerForm.d.ts +9 -0
  12. package/build/cjs/blocks/Form/InnerForm/InnerForm.js +28 -0
  13. package/build/cjs/blocks/Form/schema.d.ts +202 -0
  14. package/build/cjs/blocks/Form/schema.js +44 -0
  15. package/build/cjs/blocks/Header/Header.js +2 -2
  16. package/build/cjs/blocks/Header/schema.d.ts +3 -0
  17. package/build/cjs/blocks/HeaderSlider/schema.d.ts +3 -0
  18. package/build/cjs/blocks/Icons/schema.d.ts +6 -0
  19. package/build/cjs/blocks/Info/schema.d.ts +6 -0
  20. package/build/cjs/blocks/Map/schema.d.ts +9 -0
  21. package/build/cjs/blocks/Media/schema.d.ts +18 -0
  22. package/build/cjs/blocks/PromoFeaturesBlock/schema.d.ts +6 -0
  23. package/build/cjs/blocks/Questions/schema.d.ts +6 -0
  24. package/build/cjs/blocks/Slider/schema.d.ts +6 -0
  25. package/build/cjs/blocks/Table/schema.d.ts +3 -0
  26. package/build/cjs/blocks/Tabs/schema.d.ts +12 -0
  27. package/build/cjs/blocks/index.d.ts +1 -0
  28. package/build/cjs/blocks/index.js +3 -1
  29. package/build/cjs/components/Button/Button.d.ts +1 -0
  30. package/build/cjs/components/Button/Button.js +2 -2
  31. package/build/cjs/components/Media/Image/Image.js +4 -4
  32. package/build/cjs/components/ReactPlayer/ReactPlayer.d.ts +1 -2
  33. package/build/cjs/components/YandexForm/YandexForm.d.ts +2 -17
  34. package/build/cjs/components/YandexForm/YandexForm.js +6 -4
  35. package/build/cjs/components/YandexForm/schema.d.ts +16 -0
  36. package/build/cjs/components/YandexForm/schema.js +13 -0
  37. package/build/cjs/constructor-items.d.ts +1 -0
  38. package/build/cjs/constructor-items.js +1 -0
  39. package/build/cjs/editor/data/templates/form-block.json +20 -0
  40. package/build/cjs/models/components.d.ts +1 -2
  41. package/build/cjs/models/constructor-items/blocks.d.ts +33 -5
  42. package/build/cjs/models/constructor-items/blocks.js +13 -1
  43. package/build/cjs/models/constructor-items/common.d.ts +21 -1
  44. package/build/cjs/models/constructor-items/common.js +6 -1
  45. package/build/cjs/models/constructor-items/sub-blocks.d.ts +4 -1
  46. package/build/cjs/models/guards.d.ts +3 -1
  47. package/build/cjs/models/guards.js +9 -1
  48. package/build/cjs/schema/constants.d.ts +22 -0
  49. package/build/cjs/schema/constants.js +2 -1
  50. package/build/cjs/schema/validators/blocks.d.ts +1 -0
  51. package/build/cjs/schema/validators/blocks.js +1 -0
  52. package/build/cjs/schema/validators/common.d.ts +23 -1
  53. package/build/cjs/schema/validators/common.js +13 -1
  54. package/build/cjs/sub-blocks/BackgroundCard/schema.d.ts +6 -0
  55. package/build/cjs/sub-blocks/BackgroundCard/schema.js +2 -0
  56. package/build/cjs/sub-blocks/BasicCard/schema.d.ts +6 -0
  57. package/build/cjs/sub-blocks/BasicCard/schema.js +2 -0
  58. package/build/cjs/sub-blocks/Content/schema.d.ts +6 -0
  59. package/build/cjs/sub-blocks/HubspotForm/schema.d.ts +22 -0
  60. package/build/cjs/sub-blocks/HubspotForm/schema.js +17 -0
  61. package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +3 -0
  62. package/build/cjs/sub-blocks/Quote/Quote.css +12 -3
  63. package/build/cjs/sub-blocks/Quote/Quote.js +3 -3
  64. package/build/cjs/sub-blocks/Quote/schema.d.ts +7 -0
  65. package/build/cjs/sub-blocks/Quote/schema.js +6 -1
  66. package/build/esm/blocks/Banner/schema.d.ts +9 -0
  67. package/build/esm/blocks/CardLayout/schema.d.ts +12 -0
  68. package/build/esm/blocks/ContentLayout/schema.d.ts +6 -0
  69. package/build/esm/blocks/ExtendedFeatures/schema.d.ts +9 -0
  70. package/build/esm/blocks/FilterBlock/schema.d.ts +12 -0
  71. package/build/esm/blocks/Form/Form.css +136 -0
  72. package/build/esm/blocks/Form/Form.d.ts +5 -0
  73. package/build/esm/blocks/Form/Form.js +59 -0
  74. package/build/esm/blocks/Form/HubspotInlineForm.d.ts +7 -0
  75. package/build/esm/blocks/Form/HubspotInlineForm.js +12 -0
  76. package/build/esm/blocks/Form/InnerForm/InnerForm.d.ts +9 -0
  77. package/build/esm/blocks/Form/InnerForm/InnerForm.js +26 -0
  78. package/build/esm/blocks/Form/schema.d.ts +202 -0
  79. package/build/esm/blocks/Form/schema.js +40 -0
  80. package/build/esm/blocks/Header/Header.js +2 -2
  81. package/build/esm/blocks/Header/schema.d.ts +3 -0
  82. package/build/esm/blocks/HeaderSlider/schema.d.ts +3 -0
  83. package/build/esm/blocks/Icons/schema.d.ts +6 -0
  84. package/build/esm/blocks/Info/schema.d.ts +6 -0
  85. package/build/esm/blocks/Map/schema.d.ts +9 -0
  86. package/build/esm/blocks/Media/schema.d.ts +18 -0
  87. package/build/esm/blocks/PromoFeaturesBlock/schema.d.ts +6 -0
  88. package/build/esm/blocks/Questions/schema.d.ts +6 -0
  89. package/build/esm/blocks/Slider/schema.d.ts +6 -0
  90. package/build/esm/blocks/Table/schema.d.ts +3 -0
  91. package/build/esm/blocks/Tabs/schema.d.ts +12 -0
  92. package/build/esm/blocks/index.d.ts +1 -0
  93. package/build/esm/blocks/index.js +1 -0
  94. package/build/esm/components/Button/Button.d.ts +1 -0
  95. package/build/esm/components/Button/Button.js +2 -2
  96. package/build/esm/components/Media/Image/Image.js +1 -1
  97. package/build/esm/components/ReactPlayer/ReactPlayer.d.ts +1 -2
  98. package/build/esm/components/YandexForm/YandexForm.d.ts +2 -17
  99. package/build/esm/components/YandexForm/YandexForm.js +5 -3
  100. package/build/esm/components/YandexForm/schema.d.ts +16 -0
  101. package/build/esm/components/YandexForm/schema.js +10 -0
  102. package/build/esm/constructor-items.d.ts +1 -0
  103. package/build/esm/constructor-items.js +2 -1
  104. package/build/esm/editor/data/templates/form-block.json +20 -0
  105. package/build/esm/models/components.d.ts +1 -2
  106. package/build/esm/models/constructor-items/blocks.d.ts +33 -5
  107. package/build/esm/models/constructor-items/blocks.js +12 -0
  108. package/build/esm/models/constructor-items/common.d.ts +21 -1
  109. package/build/esm/models/constructor-items/common.js +5 -0
  110. package/build/esm/models/constructor-items/sub-blocks.d.ts +4 -1
  111. package/build/esm/models/guards.d.ts +3 -1
  112. package/build/esm/models/guards.js +7 -1
  113. package/build/esm/schema/constants.d.ts +22 -0
  114. package/build/esm/schema/constants.js +3 -2
  115. package/build/esm/schema/validators/blocks.d.ts +1 -0
  116. package/build/esm/schema/validators/blocks.js +1 -0
  117. package/build/esm/schema/validators/common.d.ts +23 -1
  118. package/build/esm/schema/validators/common.js +13 -1
  119. package/build/esm/sub-blocks/BackgroundCard/schema.d.ts +6 -0
  120. package/build/esm/sub-blocks/BackgroundCard/schema.js +2 -0
  121. package/build/esm/sub-blocks/BasicCard/schema.d.ts +6 -0
  122. package/build/esm/sub-blocks/BasicCard/schema.js +2 -0
  123. package/build/esm/sub-blocks/Content/schema.d.ts +6 -0
  124. package/build/esm/sub-blocks/HubspotForm/schema.d.ts +22 -0
  125. package/build/esm/sub-blocks/HubspotForm/schema.js +14 -0
  126. package/build/esm/sub-blocks/LayoutItem/schema.d.ts +3 -0
  127. package/build/esm/sub-blocks/Quote/Quote.css +12 -3
  128. package/build/esm/sub-blocks/Quote/Quote.js +4 -4
  129. package/build/esm/sub-blocks/Quote/schema.d.ts +7 -0
  130. package/build/esm/sub-blocks/Quote/schema.js +7 -2
  131. package/package.json +2 -2
  132. package/server/models/components.d.ts +1 -2
  133. package/server/models/constructor-items/blocks.d.ts +33 -5
  134. package/server/models/constructor-items/blocks.js +13 -1
  135. package/server/models/constructor-items/common.d.ts +21 -1
  136. package/server/models/constructor-items/common.js +6 -1
  137. package/server/models/constructor-items/sub-blocks.d.ts +4 -1
  138. package/server/models/guards.d.ts +3 -1
  139. package/server/models/guards.js +9 -1
  140. package/widget/index.js +1 -1
@@ -1,7 +1,7 @@
1
1
  import React, { CSSProperties, ReactNode } from 'react';
2
2
  import { ButtonView, ButtonProps as UikitButtonProps } from '@gravity-ui/uikit';
3
3
  import { ThemeSupporting } from '../../utils';
4
- import { AnalyticsEventsBase, ClassNameProps, PixelEventType, QAProps } from '../common';
4
+ import { AnalyticsEventsBase, ClassNameProps, PixelEvent, PixelEventType, QAProps } from '../common';
5
5
  export declare enum AuthorType {
6
6
  Column = "column",
7
7
  Line = "line"
@@ -42,6 +42,10 @@ export declare enum MediaVideoControlsType {
42
42
  Default = "default",
43
43
  Custom = "custom"
44
44
  }
45
+ export declare enum QuoteType {
46
+ Chevron = "chevron",
47
+ EnglishDouble = "english-double"
48
+ }
45
49
  export type TextTheme = 'light' | 'dark';
46
50
  export type TextSize = 'xs' | 's' | 'm' | 'l';
47
51
  export type DividerSize = '0' | 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl' | 'xxxl';
@@ -333,4 +337,20 @@ export interface TitleProps {
333
337
  title?: TitleItemProps | string;
334
338
  subtitle?: string;
335
339
  }
340
+ export interface YandexFormProps extends AnalyticsEventsBase {
341
+ id: number | string;
342
+ containerId?: string;
343
+ theme?: string;
344
+ className?: string;
345
+ headerHeight?: number;
346
+ customFormOrigin?: string;
347
+ customFormSection?: string;
348
+ params?: {
349
+ [key: string]: string;
350
+ };
351
+ onSubmit?: () => void;
352
+ onLoad?: () => void;
353
+ metrikaGoals?: string | string[];
354
+ pixelEvents?: string | string[] | PixelEvent | PixelEvent[];
355
+ }
336
356
  export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MediaVideoControlsType = exports.MediaVideoType = exports.CustomControlsButtonPositioning = exports.CustomControlsType = exports.PlayButtonThemes = exports.PlayButtonType = exports.PriceLabelColor = exports.PriceDetailsType = exports.AuthorType = void 0;
3
+ exports.QuoteType = exports.MediaVideoControlsType = exports.MediaVideoType = exports.CustomControlsButtonPositioning = exports.CustomControlsType = exports.PlayButtonThemes = exports.PlayButtonType = exports.PriceLabelColor = exports.PriceDetailsType = exports.AuthorType = void 0;
4
4
  // enums
5
5
  var AuthorType;
6
6
  (function (AuthorType) {
@@ -51,3 +51,8 @@ var MediaVideoControlsType;
51
51
  MediaVideoControlsType["Default"] = "default";
52
52
  MediaVideoControlsType["Custom"] = "custom";
53
53
  })(MediaVideoControlsType = exports.MediaVideoControlsType || (exports.MediaVideoControlsType = {}));
54
+ var QuoteType;
55
+ (function (QuoteType) {
56
+ QuoteType["Chevron"] = "chevron";
57
+ QuoteType["EnglishDouble"] = "english-double";
58
+ })(QuoteType = exports.QuoteType || (exports.QuoteType = {}));
@@ -1,4 +1,4 @@
1
- import { ClassNameProps } from '../../models';
1
+ import { ClassNameProps, QuoteType } from '../../models';
2
2
  import { ThemeSupporting } from '../../utils';
3
3
  import { HubspotEventData, HubspotEventHandlers } from '../../utils/hubspot';
4
4
  import { AnalyticsEventsBase, PixelEvent } from '../common';
@@ -67,9 +67,11 @@ export interface QuoteProps extends Themable, CardBaseProps {
67
67
  logo: ImageProps;
68
68
  color?: string;
69
69
  url?: string;
70
+ urlTitle?: string;
70
71
  author?: AuthorItem;
71
72
  buttonText?: string;
72
73
  theme?: TextTheme;
74
+ quoteType?: QuoteType;
73
75
  }
74
76
  export interface BackgroundCardProps extends CardBaseProps, AnalyticsEventsBase, Omit<ContentBlockProps, 'colSizes' | 'centered'> {
75
77
  url?: string;
@@ -80,6 +82,7 @@ export interface BackgroundCardProps extends CardBaseProps, AnalyticsEventsBase,
80
82
  }
81
83
  export interface BasicCardProps extends CardBaseProps, AnalyticsEventsBase, Omit<ContentBlockProps, 'colSizes' | 'centered' | 'size' | 'theme'> {
82
84
  url: string;
85
+ urlTitle?: string;
83
86
  icon?: ImageProps;
84
87
  target?: string;
85
88
  iconPosition?: IconPosition;
@@ -1,4 +1,6 @@
1
- import { Block, ConstructorItem } from './';
1
+ import { Block, ConstructorItem, FormBlockData, FormBlockHubspotData, FormBlockYandexData } from './';
2
2
  import { MetrikaGoal, NewMetrikaGoal } from './index';
3
3
  export declare function isBlock(block: ConstructorItem): block is Block;
4
4
  export declare function isNewMetrikaFormat(metrika: MetrikaGoal): metrika is NewMetrikaGoal[];
5
+ export declare function isYandexDataForm(data: FormBlockData): data is FormBlockYandexData;
6
+ export declare function isHubspotDataForm(data: FormBlockData): data is FormBlockHubspotData;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isNewMetrikaFormat = exports.isBlock = void 0;
3
+ exports.isHubspotDataForm = exports.isYandexDataForm = exports.isNewMetrikaFormat = exports.isBlock = void 0;
4
4
  const _1 = require("./");
5
5
  function isBlock(block) {
6
6
  return block.type in _1.BlockTypes;
@@ -10,3 +10,11 @@ function isNewMetrikaFormat(metrika) {
10
10
  return Boolean(Array.isArray(metrika) && metrika.length && typeof metrika[0] === 'object');
11
11
  }
12
12
  exports.isNewMetrikaFormat = isNewMetrikaFormat;
13
+ function isYandexDataForm(data) {
14
+ return Boolean(data.yandex);
15
+ }
16
+ exports.isYandexDataForm = isYandexDataForm;
17
+ function isHubspotDataForm(data) {
18
+ return Boolean(data.hubspot);
19
+ }
20
+ exports.isHubspotDataForm = isHubspotDataForm;
@@ -8,6 +8,9 @@ export declare const cardSchemas: {
8
8
  url: {
9
9
  type: string;
10
10
  };
11
+ urlTitle: {
12
+ type: string;
13
+ };
11
14
  icon: {
12
15
  oneOf: ({
13
16
  type: string;
@@ -52,6 +55,9 @@ export declare const cardSchemas: {
52
55
  url: {
53
56
  type: string;
54
57
  };
58
+ urlTitle: {
59
+ type: string;
60
+ };
55
61
  resetMargin: {
56
62
  type: string;
57
63
  };
@@ -163,6 +169,9 @@ export declare const cardSchemas: {
163
169
  url: {
164
170
  type: string;
165
171
  };
172
+ urlTitle: {
173
+ type: string;
174
+ };
166
175
  buttonText: {
167
176
  type: string;
168
177
  };
@@ -202,6 +211,10 @@ export declare const cardSchemas: {
202
211
  };
203
212
  };
204
213
  };
214
+ quoteType: {
215
+ type: string;
216
+ enum: import("../models").QuoteType[];
217
+ };
205
218
  type: {};
206
219
  when: {
207
220
  type: string;
@@ -215,6 +228,9 @@ export declare const cardSchemas: {
215
228
  url: {
216
229
  type: string;
217
230
  };
231
+ urlTitle: {
232
+ type: string;
233
+ };
218
234
  background: {
219
235
  oneOf: (({
220
236
  type: string;
@@ -372,6 +388,9 @@ export declare const cardSchemas: {
372
388
  url: {
373
389
  type: string;
374
390
  };
391
+ urlTitle: {
392
+ type: string;
393
+ };
375
394
  resetMargin: {
376
395
  type: string;
377
396
  };
@@ -589,6 +608,9 @@ export declare const cardSchemas: {
589
608
  url: {
590
609
  type: string;
591
610
  };
611
+ urlTitle: {
612
+ type: string;
613
+ };
592
614
  primary: {
593
615
  type: string;
594
616
  };
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.constructorCardSchemaNames = exports.constructorBlockSchemaNames = exports.cardSchemas = exports.blockSchemas = void 0;
4
4
  const blocks_1 = require("./validators/blocks");
5
5
  const sub_blocks_1 = require("./validators/sub-blocks");
6
- exports.blockSchemas = 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({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.BannerBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.TabsBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.ShareBlock), blocks_1.FilterBlock);
6
+ exports.blockSchemas = 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({}, sub_blocks_1.Divider), blocks_1.ExtendedFeaturesBlock), blocks_1.PromoFeaturesBlock), blocks_1.SliderBlock), blocks_1.QuestionsBlock), blocks_1.HeaderBlock), blocks_1.BannerBlock), blocks_1.CompaniesBlock), blocks_1.MediaBlock), blocks_1.MapBlock), blocks_1.InfoBlock), blocks_1.TableBlock), blocks_1.TabsBlock), blocks_1.HeaderSliderBlock), blocks_1.IconsBlock), blocks_1.CardLayoutBlock), blocks_1.ContentLayoutBlock), blocks_1.ShareBlock), blocks_1.FilterBlock), blocks_1.FormBlock);
7
7
  exports.cardSchemas = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, sub_blocks_1.MediaCardBlock), blocks_1.BannerCard), sub_blocks_1.PriceDetailedBlock), sub_blocks_1.BackgroundCard), sub_blocks_1.Quote), sub_blocks_1.BasicCard);
8
8
  exports.constructorBlockSchemaNames = [
9
9
  'divider',
@@ -30,6 +30,7 @@ exports.constructorBlockSchemaNames = [
30
30
  'content-layout-block',
31
31
  'share-block',
32
32
  'filter-block',
33
+ 'form-block',
33
34
  ];
34
35
  exports.constructorCardSchemaNames = [
35
36
  'media-card',
@@ -16,3 +16,4 @@ export * from '../../blocks/CardLayout/schema';
16
16
  export * from '../../blocks/ContentLayout/schema';
17
17
  export * from '../../blocks/Share/schema';
18
18
  export * from '../../blocks/FilterBlock/schema';
19
+ export * from '../../blocks/Form/schema';
@@ -19,3 +19,4 @@ tslib_1.__exportStar(require("../../blocks/CardLayout/schema"), exports);
19
19
  tslib_1.__exportStar(require("../../blocks/ContentLayout/schema"), exports);
20
20
  tslib_1.__exportStar(require("../../blocks/Share/schema"), exports);
21
21
  tslib_1.__exportStar(require("../../blocks/FilterBlock/schema"), exports);
22
+ tslib_1.__exportStar(require("../../blocks/Form/schema"), exports);
@@ -1,4 +1,4 @@
1
- import { CustomControlsButtonPositioning, CustomControlsType, MediaVideoControlsType, Theme } from '../../models';
1
+ import { CustomControlsButtonPositioning, CustomControlsType, MediaVideoControlsType, QuoteType, Theme } from '../../models';
2
2
  export declare const mediaDirection: string[];
3
3
  export declare const textSize: string[];
4
4
  export declare const containerSizesArray: string[];
@@ -19,6 +19,7 @@ export declare const sizeNumber: {
19
19
  minimum: number;
20
20
  };
21
21
  export declare const contentThemes: string[];
22
+ export declare const quoteTypes: QuoteType[];
22
23
  export declare const customControlsType: CustomControlsType[];
23
24
  export declare const customControlsButtonPositioning: CustomControlsButtonPositioning[];
24
25
  export declare const BaseProps: {
@@ -376,6 +377,9 @@ export declare const LinkProps: {
376
377
  url: {
377
378
  type: string;
378
379
  };
380
+ urlTitle: {
381
+ type: string;
382
+ };
379
383
  arrow: {
380
384
  type: string;
381
385
  };
@@ -544,6 +548,9 @@ export declare const ButtonProps: {
544
548
  url: {
545
549
  type: string;
546
550
  };
551
+ urlTitle: {
552
+ type: string;
553
+ };
547
554
  primary: {
548
555
  type: string;
549
556
  };
@@ -795,6 +802,9 @@ export declare const AnchorProps: {
795
802
  url: {
796
803
  type: string;
797
804
  };
805
+ urlTitle: {
806
+ type: string;
807
+ };
798
808
  };
799
809
  };
800
810
  export declare const BlockBaseProps: {
@@ -810,6 +820,9 @@ export declare const BlockBaseProps: {
810
820
  url: {
811
821
  type: string;
812
822
  };
823
+ urlTitle: {
824
+ type: string;
825
+ };
813
826
  };
814
827
  };
815
828
  visible: {
@@ -843,6 +856,9 @@ export declare const TitleProps: {
843
856
  url: {
844
857
  type: string;
845
858
  };
859
+ urlTitle: {
860
+ type: string;
861
+ };
846
862
  resetMargin: {
847
863
  type: string;
848
864
  };
@@ -859,6 +875,9 @@ export declare const ButtonBlock: {
859
875
  url: {
860
876
  type: string;
861
877
  };
878
+ urlTitle: {
879
+ type: string;
880
+ };
862
881
  primary: {
863
882
  type: string;
864
883
  };
@@ -1463,6 +1482,9 @@ export declare const BlockHeaderProps: {
1463
1482
  url: {
1464
1483
  type: string;
1465
1484
  };
1485
+ urlTitle: {
1486
+ type: string;
1487
+ };
1466
1488
  resetMargin: {
1467
1489
  type: string;
1468
1490
  };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BlockHeaderProps = exports.CardBase = exports.MapProps = exports.YMapMarker = exports.YMapMarkerLabel = exports.MediaProps = exports.ButtonBlock = exports.TitleProps = exports.BlockBaseProps = exports.AnchorProps = exports.withTheme = exports.MenuProps = exports.ButtonProps = exports.authorItem = exports.FileLinkProps = exports.LinkProps = exports.BackgroundProps = exports.DataLensProps = exports.DataLensObjectProps = exports.JustifyProps = exports.ThemeProps = exports.VideoProps = exports.CustomControlsOptionsProps = exports.PlayButtonProps = exports.LoopProps = exports.ChildrenCardsProps = exports.ChildrenProps = exports.AnimatableProps = exports.sliderSizesObject = exports.containerSizesObject = exports.BaseProps = exports.customControlsButtonPositioning = exports.customControlsType = exports.contentThemes = exports.sizeNumber = exports.dividerEnum = exports.fileLinkTypes = exports.videoControlsTypes = exports.playIconThemes = exports.playIconTypes = exports.videoTypes = exports.contentTextWidth = exports.contentSizes = exports.sliderSizesArray = exports.containerSizesArray = exports.textSize = exports.mediaDirection = void 0;
3
+ exports.BlockHeaderProps = exports.CardBase = exports.MapProps = exports.YMapMarker = exports.YMapMarkerLabel = exports.MediaProps = exports.ButtonBlock = exports.TitleProps = exports.BlockBaseProps = exports.AnchorProps = exports.withTheme = exports.MenuProps = exports.ButtonProps = exports.authorItem = exports.FileLinkProps = exports.LinkProps = exports.BackgroundProps = exports.DataLensProps = exports.DataLensObjectProps = exports.JustifyProps = exports.ThemeProps = exports.VideoProps = exports.CustomControlsOptionsProps = exports.PlayButtonProps = exports.LoopProps = exports.ChildrenCardsProps = exports.ChildrenProps = exports.AnimatableProps = exports.sliderSizesObject = exports.containerSizesObject = exports.BaseProps = exports.customControlsButtonPositioning = exports.customControlsType = exports.quoteTypes = exports.contentThemes = exports.sizeNumber = exports.dividerEnum = exports.fileLinkTypes = exports.videoControlsTypes = exports.playIconThemes = exports.playIconTypes = exports.videoTypes = exports.contentTextWidth = exports.contentSizes = exports.sliderSizesArray = exports.containerSizesArray = exports.textSize = exports.mediaDirection = void 0;
4
4
  const schema_1 = require("../../components/Image/schema");
5
5
  const models_1 = require("../../models");
6
6
  const event_1 = require("./event");
@@ -19,6 +19,7 @@ exports.fileLinkTypes = ['vertical', 'horizontal'];
19
19
  exports.dividerEnum = { enum: [0, 'xxs', 'xs', 's', 'm', 'l', 'xl', 'xxl', 'xxxl'] };
20
20
  exports.sizeNumber = { type: 'number', maximum: 12, minimum: 1 };
21
21
  exports.contentThemes = ['default', 'dark', 'light'];
22
+ exports.quoteTypes = Object.values(models_1.QuoteType);
22
23
  exports.customControlsType = [
23
24
  models_1.CustomControlsType.WithMuteButton,
24
25
  models_1.CustomControlsType.WithPlayPauseButton,
@@ -210,6 +211,8 @@ exports.LinkProps = {
210
211
  contentType: 'text',
211
212
  }, url: {
212
213
  type: 'string',
214
+ }, urlTitle: {
215
+ type: 'string',
213
216
  }, arrow: {
214
217
  type: 'boolean',
215
218
  }, theme: {
@@ -285,6 +288,9 @@ exports.ButtonProps = {
285
288
  url: {
286
289
  type: 'string',
287
290
  },
291
+ urlTitle: {
292
+ type: 'string',
293
+ },
288
294
  primary: {
289
295
  type: 'boolean',
290
296
  },
@@ -439,6 +445,9 @@ exports.AnchorProps = {
439
445
  url: {
440
446
  type: 'string',
441
447
  },
448
+ urlTitle: {
449
+ type: 'string',
450
+ },
442
451
  },
443
452
  };
444
453
  exports.BlockBaseProps = Object.assign(Object.assign({}, exports.BaseProps), { anchor: exports.AnchorProps, visible: {
@@ -465,6 +474,9 @@ exports.TitleProps = {
465
474
  url: {
466
475
  type: 'string',
467
476
  },
477
+ urlTitle: {
478
+ type: 'string',
479
+ },
468
480
  resetMargin: {
469
481
  type: 'boolean',
470
482
  },
@@ -6,6 +6,9 @@ export declare const BackgroundCard: {
6
6
  url: {
7
7
  type: string;
8
8
  };
9
+ urlTitle: {
10
+ type: string;
11
+ };
9
12
  background: {
10
13
  oneOf: (({
11
14
  type: string;
@@ -163,6 +166,9 @@ export declare const BackgroundCard: {
163
166
  url: {
164
167
  type: string;
165
168
  };
169
+ urlTitle: {
170
+ type: string;
171
+ };
166
172
  resetMargin: {
167
173
  type: string;
168
174
  };
@@ -14,6 +14,8 @@ exports.BackgroundCard = {
14
14
  required: ['title', 'text'],
15
15
  properties: Object.assign(Object.assign(Object.assign(Object.assign({}, common_1.BaseProps), common_1.CardBase), BackgroundCardContentProps), { url: {
16
16
  type: 'string',
17
+ }, urlTitle: {
18
+ type: 'string',
17
19
  }, background: (0, common_1.withTheme)(schema_1.ImageObjectProps), backgroundColor: {
18
20
  type: 'string',
19
21
  }, paddingBottom: {
@@ -6,6 +6,9 @@ export declare const BasicCard: {
6
6
  url: {
7
7
  type: string;
8
8
  };
9
+ urlTitle: {
10
+ type: string;
11
+ };
9
12
  icon: {
10
13
  oneOf: ({
11
14
  type: string;
@@ -50,6 +53,9 @@ export declare const BasicCard: {
50
53
  url: {
51
54
  type: string;
52
55
  };
56
+ urlTitle: {
57
+ type: string;
58
+ };
53
59
  resetMargin: {
54
60
  type: string;
55
61
  };
@@ -13,6 +13,8 @@ exports.BasicCard = {
13
13
  required: [],
14
14
  properties: Object.assign(Object.assign(Object.assign(Object.assign({}, common_1.BaseProps), common_1.CardBase), BasicCardContentProps), { url: {
15
15
  type: 'string',
16
+ }, urlTitle: {
17
+ type: 'string',
16
18
  }, icon: schema_1.ImageProps, target: {
17
19
  type: 'string',
18
20
  enum: ['_blank', '_parent', '_top', '_self'],
@@ -59,6 +59,9 @@ export declare const ContentBase: {
59
59
  url: {
60
60
  type: string;
61
61
  };
62
+ urlTitle: {
63
+ type: string;
64
+ };
62
65
  resetMargin: {
63
66
  type: string;
64
67
  };
@@ -147,6 +150,9 @@ export declare const ContentBlock: {
147
150
  url: {
148
151
  type: string;
149
152
  };
153
+ urlTitle: {
154
+ type: string;
155
+ };
150
156
  resetMargin: {
151
157
  type: string;
152
158
  };
@@ -0,0 +1,22 @@
1
+ export declare const HubspotFormProps: {
2
+ type: string;
3
+ required: string[];
4
+ properties: {
5
+ region: {
6
+ type: string;
7
+ };
8
+ portalId: {
9
+ type: string;
10
+ };
11
+ formId: {
12
+ type: string;
13
+ };
14
+ formInstanceId: {
15
+ type: string;
16
+ };
17
+ type: {};
18
+ when: {
19
+ type: string;
20
+ };
21
+ };
22
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HubspotFormProps = void 0;
4
+ const common_1 = require("../../schema/validators/common");
5
+ exports.HubspotFormProps = {
6
+ type: 'object',
7
+ required: ['portalId', 'formId'],
8
+ properties: Object.assign(Object.assign({}, common_1.BaseProps), { region: {
9
+ type: 'string',
10
+ }, portalId: {
11
+ type: 'string',
12
+ }, formId: {
13
+ type: 'string',
14
+ }, formInstanceId: {
15
+ type: 'string',
16
+ } }),
17
+ };
@@ -270,6 +270,9 @@ export declare const LayoutItem: {
270
270
  url: {
271
271
  type: string;
272
272
  };
273
+ urlTitle: {
274
+ type: string;
275
+ };
273
276
  resetMargin: {
274
277
  type: string;
275
278
  };
@@ -60,14 +60,23 @@ unpredictable css rules order in build */
60
60
  font-size: var(--g-text-body-3-font-size);
61
61
  line-height: var(--g-text-body-3-line-height);
62
62
  }
63
- .pc-quote__content::before {
63
+ .pc-quote__content_quote-type_chevron::before {
64
64
  position: absolute;
65
65
  top: -1px;
66
66
  left: -10px;
67
67
  content: "«";
68
68
  }
69
- .pc-quote__text::after {
70
- content: "».";
69
+ .pc-quote__content_quote-type_chevron .pc-quote__text::after {
70
+ content: "»";
71
+ }
72
+ .pc-quote__content_quote-type_english-double::before {
73
+ position: absolute;
74
+ top: -1px;
75
+ left: -8px;
76
+ content: "“";
77
+ }
78
+ .pc-quote__content_quote-type_english-double .pc-quote__text::after {
79
+ content: "”";
71
80
  }
72
81
  .pc-quote__image {
73
82
  width: 100%;
@@ -11,7 +11,7 @@ const models_1 = require("../../models");
11
11
  const utils_2 = require("../../utils");
12
12
  const b = (0, utils_2.block)('quote');
13
13
  const Quote = (props) => {
14
- const { theme: textTheme = 'light', color, image, border = 'shadow', text, logo, author, url, buttonText, } = props;
14
+ const { theme: textTheme = 'light', color, image, border = 'shadow', text, logo, author, url, urlTitle, buttonText, quoteType = models_1.QuoteType.Chevron, } = props;
15
15
  const theme = (0, theme_1.useTheme)();
16
16
  const imageThemed = (0, utils_2.getThemedValue)(image, theme);
17
17
  const imageData = (0, utils_1.getMediaImage)(imageThemed);
@@ -19,13 +19,13 @@ const Quote = (props) => {
19
19
  const handleButtonClick = (0, react_1.useCallback)(() => handleAnalytics(), [handleAnalytics]);
20
20
  const renderFooter = Boolean(author || url) && (react_1.default.createElement("div", { className: b('author-wrapper') },
21
21
  author && (react_1.default.createElement(components_1.Author, { className: b('author', { theme: textTheme }), author: author, type: models_1.AuthorType.Line })),
22
- url && buttonText && (react_1.default.createElement(uikit_1.Button, { view: "outlined", size: "xl", href: url, className: b('link-button', { theme: textTheme }), onClick: handleButtonClick }, buttonText))));
22
+ url && buttonText && (react_1.default.createElement(uikit_1.Button, { view: "outlined", size: "xl", href: url, className: b('link-button', { theme: textTheme }), onClick: handleButtonClick, title: urlTitle }, buttonText))));
23
23
  const logoProps = (0, utils_1.getMediaImage)(logo);
24
24
  return (react_1.default.createElement("div", { className: b({ theme: textTheme, border }), style: color ? { backgroundColor: color } : {} },
25
25
  react_1.default.createElement("div", { key: text, className: b('content-wrapper') },
26
26
  react_1.default.createElement("div", null,
27
27
  react_1.default.createElement(components_1.Image, Object.assign({ className: b('logo') }, logoProps)),
28
- react_1.default.createElement("div", { className: b('content') },
28
+ react_1.default.createElement("div", { className: b('content', { 'quote-type': quoteType }) },
29
29
  react_1.default.createElement("span", { className: b('text') },
30
30
  react_1.default.createElement(components_1.HTML, null, text)))),
31
31
  renderFooter),
@@ -51,6 +51,9 @@ export declare const Quote: {
51
51
  url: {
52
52
  type: string;
53
53
  };
54
+ urlTitle: {
55
+ type: string;
56
+ };
54
57
  buttonText: {
55
58
  type: string;
56
59
  };
@@ -90,6 +93,10 @@ export declare const Quote: {
90
93
  };
91
94
  };
92
95
  };
96
+ quoteType: {
97
+ type: string;
98
+ enum: import("../..").QuoteType[];
99
+ };
93
100
  type: {};
94
101
  when: {
95
102
  type: string;
@@ -14,8 +14,13 @@ exports.Quote = {
14
14
  type: 'string',
15
15
  }, url: {
16
16
  type: 'string',
17
+ }, urlTitle: {
18
+ type: 'string',
17
19
  }, buttonText: {
18
20
  type: 'string',
19
- }, theme: common_1.ThemeProps, author: common_1.authorItem }),
21
+ }, theme: common_1.ThemeProps, author: common_1.authorItem, quoteType: {
22
+ type: 'string',
23
+ enum: common_1.quoteTypes,
24
+ } }),
20
25
  },
21
26
  };
@@ -58,6 +58,9 @@ export declare const BannerCardProps: {
58
58
  url: {
59
59
  type: string;
60
60
  };
61
+ urlTitle: {
62
+ type: string;
63
+ };
61
64
  primary: {
62
65
  type: string;
63
66
  };
@@ -354,6 +357,9 @@ export declare const BannerBlock: {
354
357
  url: {
355
358
  type: string;
356
359
  };
360
+ urlTitle: {
361
+ type: string;
362
+ };
357
363
  primary: {
358
364
  type: string;
359
365
  };
@@ -651,6 +657,9 @@ export declare const BannerCard: {
651
657
  url: {
652
658
  type: string;
653
659
  };
660
+ urlTitle: {
661
+ type: string;
662
+ };
654
663
  primary: {
655
664
  type: string;
656
665
  };
@@ -34,6 +34,9 @@ export declare const CardLayoutProps: {
34
34
  url: {
35
35
  type: string;
36
36
  };
37
+ urlTitle: {
38
+ type: string;
39
+ };
37
40
  resetMargin: {
38
41
  type: string;
39
42
  };
@@ -60,6 +63,9 @@ export declare const CardLayoutProps: {
60
63
  url: {
61
64
  type: string;
62
65
  };
66
+ urlTitle: {
67
+ type: string;
68
+ };
63
69
  };
64
70
  };
65
71
  visible: {
@@ -115,6 +121,9 @@ export declare const CardLayoutBlock: {
115
121
  url: {
116
122
  type: string;
117
123
  };
124
+ urlTitle: {
125
+ type: string;
126
+ };
118
127
  resetMargin: {
119
128
  type: string;
120
129
  };
@@ -141,6 +150,9 @@ export declare const CardLayoutBlock: {
141
150
  url: {
142
151
  type: string;
143
152
  };
153
+ urlTitle: {
154
+ type: string;
155
+ };
144
156
  };
145
157
  };
146
158
  visible: {