@gravity-ui/page-constructor 1.19.1 → 1.20.1

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 (147) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +79 -6
  3. package/build/cjs/blocks/Banner/schema.d.ts +234 -0
  4. package/build/cjs/blocks/CardLayout/schema.d.ts +6 -0
  5. package/build/cjs/blocks/ContentLayout/schema.d.ts +3 -0
  6. package/build/cjs/blocks/ExtendedFeatures/schema.d.ts +81 -0
  7. package/build/cjs/blocks/Header/schema.d.ts +3 -0
  8. package/build/cjs/blocks/HeaderSlider/schema.d.ts +3 -0
  9. package/build/cjs/blocks/Icons/schema.d.ts +6 -0
  10. package/build/cjs/blocks/LinkTable/schema.d.ts +3 -0
  11. package/build/cjs/blocks/Map/schema.d.ts +81 -0
  12. package/build/cjs/blocks/Media/schema.d.ts +162 -0
  13. package/build/cjs/blocks/PromoFeaturesBlock/schema.d.ts +3 -0
  14. package/build/cjs/blocks/Questions/schema.d.ts +3 -0
  15. package/build/cjs/blocks/Share/Share.js +5 -1
  16. package/build/cjs/blocks/Simple/schema.d.ts +3 -0
  17. package/build/cjs/blocks/Slider/schema.d.ts +3 -0
  18. package/build/cjs/blocks/Table/schema.d.ts +3 -0
  19. package/build/cjs/blocks/Tabs/schema.d.ts +81 -0
  20. package/build/cjs/components/BackLink/BackLink.js +5 -1
  21. package/build/cjs/components/Button/Button.js +6 -2
  22. package/build/cjs/components/CardBase/CardBase.d.ts +2 -1
  23. package/build/cjs/components/CardBase/CardBase.js +5 -1
  24. package/build/cjs/components/Link/Link.js +5 -1
  25. package/build/cjs/components/Media/Media.js +3 -2
  26. package/build/cjs/components/Media/Video/Video.js +3 -2
  27. package/build/cjs/components/ReactPlayer/ReactPlayer.js +16 -3
  28. package/build/cjs/components/YandexForm/YandexForm.d.ts +2 -1
  29. package/build/cjs/components/YandexForm/YandexForm.js +14 -2
  30. package/build/cjs/containers/PageConstructor/Provider.d.ts +2 -0
  31. package/build/cjs/containers/PageConstructor/Provider.js +3 -1
  32. package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +7 -4
  33. package/build/cjs/context/analyticsContext/analyticsContext.d.ts +7 -0
  34. package/build/cjs/context/analyticsContext/analyticsContext.js +6 -0
  35. package/build/cjs/context/analyticsContext/index.d.ts +1 -0
  36. package/build/cjs/context/analyticsContext/index.js +4 -0
  37. package/build/cjs/context/blockIdContext/blockIdContext.d.ts +3 -0
  38. package/build/cjs/context/blockIdContext/blockIdContext.js +6 -0
  39. package/build/cjs/context/blockIdContext/index.d.ts +1 -0
  40. package/build/cjs/context/blockIdContext/index.js +4 -0
  41. package/build/cjs/context/metrikaContext/metrikaContext.d.ts +6 -0
  42. package/build/cjs/hooks/index.d.ts +1 -0
  43. package/build/cjs/hooks/index.js +1 -0
  44. package/build/cjs/hooks/useAnalytics.d.ts +2 -0
  45. package/build/cjs/hooks/useAnalytics.js +35 -0
  46. package/build/cjs/hooks/useMetrika.d.ts +6 -0
  47. package/build/cjs/hooks/useMetrika.js +8 -0
  48. package/build/cjs/models/common.d.ts +45 -0
  49. package/build/cjs/models/common.js +22 -1
  50. package/build/cjs/models/constructor-items/common.d.ts +5 -5
  51. package/build/cjs/models/constructor-items/sub-blocks.d.ts +2 -2
  52. package/build/cjs/models/navigation.d.ts +3 -9
  53. package/build/cjs/models/navigation.js +0 -1
  54. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +4 -3
  55. package/build/cjs/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +4 -2
  56. package/build/cjs/schema/validators/common.d.ts +249 -0
  57. package/build/cjs/schema/validators/common.js +14 -0
  58. package/build/cjs/schema/validators/event.d.ts +37 -0
  59. package/build/cjs/schema/validators/event.js +38 -0
  60. package/build/cjs/sub-blocks/HubspotForm/index.js +15 -2
  61. package/build/cjs/sub-blocks/LayoutItem/utils.d.ts +13 -0
  62. package/build/cjs/sub-blocks/Quote/Quote.js +4 -1
  63. package/build/cjs/utils/analytics.d.ts +2 -0
  64. package/build/cjs/utils/analytics.js +17 -0
  65. package/build/cjs/utils/index.d.ts +1 -0
  66. package/build/cjs/utils/index.js +1 -0
  67. package/build/esm/blocks/Banner/schema.d.ts +234 -0
  68. package/build/esm/blocks/CardLayout/schema.d.ts +6 -0
  69. package/build/esm/blocks/ContentLayout/schema.d.ts +3 -0
  70. package/build/esm/blocks/ExtendedFeatures/schema.d.ts +81 -0
  71. package/build/esm/blocks/Header/schema.d.ts +3 -0
  72. package/build/esm/blocks/HeaderSlider/schema.d.ts +3 -0
  73. package/build/esm/blocks/Icons/schema.d.ts +6 -0
  74. package/build/esm/blocks/LinkTable/schema.d.ts +3 -0
  75. package/build/esm/blocks/Map/schema.d.ts +81 -0
  76. package/build/esm/blocks/Media/schema.d.ts +162 -0
  77. package/build/esm/blocks/PromoFeaturesBlock/schema.d.ts +3 -0
  78. package/build/esm/blocks/Questions/schema.d.ts +3 -0
  79. package/build/esm/blocks/Share/Share.js +6 -2
  80. package/build/esm/blocks/Simple/schema.d.ts +3 -0
  81. package/build/esm/blocks/Slider/schema.d.ts +3 -0
  82. package/build/esm/blocks/Table/schema.d.ts +3 -0
  83. package/build/esm/blocks/Tabs/schema.d.ts +81 -0
  84. package/build/esm/components/BackLink/BackLink.js +5 -1
  85. package/build/esm/components/Button/Button.js +6 -2
  86. package/build/esm/components/CardBase/CardBase.d.ts +2 -1
  87. package/build/esm/components/CardBase/CardBase.js +5 -1
  88. package/build/esm/components/Link/Link.js +5 -1
  89. package/build/esm/components/Media/Media.js +3 -2
  90. package/build/esm/components/Media/Video/Video.js +3 -2
  91. package/build/esm/components/ReactPlayer/ReactPlayer.js +17 -4
  92. package/build/esm/components/YandexForm/YandexForm.d.ts +2 -1
  93. package/build/esm/components/YandexForm/YandexForm.js +14 -2
  94. package/build/esm/containers/PageConstructor/Provider.d.ts +2 -0
  95. package/build/esm/containers/PageConstructor/Provider.js +3 -1
  96. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +7 -4
  97. package/build/esm/context/analyticsContext/analyticsContext.d.ts +7 -0
  98. package/build/esm/context/analyticsContext/analyticsContext.js +2 -0
  99. package/build/esm/context/analyticsContext/index.d.ts +1 -0
  100. package/build/esm/context/analyticsContext/index.js +1 -0
  101. package/build/esm/context/blockIdContext/blockIdContext.d.ts +3 -0
  102. package/build/esm/context/blockIdContext/blockIdContext.js +2 -0
  103. package/build/esm/context/blockIdContext/index.d.ts +1 -0
  104. package/build/esm/context/blockIdContext/index.js +1 -0
  105. package/build/esm/context/metrikaContext/metrikaContext.d.ts +6 -0
  106. package/build/esm/hooks/index.d.ts +1 -0
  107. package/build/esm/hooks/index.js +1 -0
  108. package/build/esm/hooks/useAnalytics.d.ts +2 -0
  109. package/build/esm/hooks/useAnalytics.js +31 -0
  110. package/build/esm/hooks/useMetrika.d.ts +6 -0
  111. package/build/esm/hooks/useMetrika.js +8 -0
  112. package/build/esm/models/common.d.ts +45 -0
  113. package/build/esm/models/common.js +21 -0
  114. package/build/esm/models/constructor-items/common.d.ts +5 -5
  115. package/build/esm/models/constructor-items/sub-blocks.d.ts +2 -2
  116. package/build/esm/models/navigation.d.ts +3 -9
  117. package/build/esm/models/navigation.js +0 -1
  118. package/build/esm/navigation/components/NavigationItem/NavigationItem.js +4 -3
  119. package/build/esm/navigation/components/NavigationItem/components/NavigationButton/NavigationButton.js +4 -2
  120. package/build/esm/schema/validators/common.d.ts +249 -0
  121. package/build/esm/schema/validators/common.js +14 -0
  122. package/build/esm/schema/validators/event.d.ts +37 -0
  123. package/build/esm/schema/validators/event.js +35 -0
  124. package/build/esm/sub-blocks/HubspotForm/index.js +16 -3
  125. package/build/esm/sub-blocks/LayoutItem/utils.d.ts +13 -0
  126. package/build/esm/sub-blocks/Quote/Quote.js +6 -3
  127. package/build/esm/utils/analytics.d.ts +2 -0
  128. package/build/esm/utils/analytics.js +13 -0
  129. package/build/esm/utils/index.d.ts +1 -0
  130. package/build/esm/utils/index.js +1 -0
  131. package/package.json +1 -2
  132. package/server/models/common.d.ts +45 -0
  133. package/server/models/common.js +22 -1
  134. package/server/models/constructor-items/common.d.ts +5 -5
  135. package/server/models/constructor-items/sub-blocks.d.ts +2 -2
  136. package/server/models/navigation.d.ts +3 -9
  137. package/server/models/navigation.js +0 -1
  138. package/server/utils/analytics.d.ts +2 -0
  139. package/server/utils/analytics.js +17 -0
  140. package/server/utils/index.d.ts +1 -0
  141. package/server/utils/index.js +1 -0
  142. package/build/cjs/navigation/components/NavigationItem/components/GithubStars/GithubStars.css +0 -14
  143. package/build/cjs/navigation/components/NavigationItem/components/GithubStars/GithubStars.d.ts +0 -5
  144. package/build/cjs/navigation/components/NavigationItem/components/GithubStars/GithubStars.js +0 -11
  145. package/build/esm/navigation/components/NavigationItem/components/GithubStars/GithubStars.css +0 -14
  146. package/build/esm/navigation/components/NavigationItem/components/GithubStars/GithubStars.d.ts +0 -6
  147. package/build/esm/navigation/components/NavigationItem/components/GithubStars/GithubStars.js +0 -7
@@ -1,7 +1,7 @@
1
1
  import { CSSProperties, ReactNode } from 'react';
2
2
  import { ButtonSize, ButtonView } from '@gravity-ui/uikit';
3
3
  import { ThemeSupporting } from '../../utils/theme';
4
- import { ClassNameProps, PixelEventType } from '../common';
4
+ import { AnalyticsEventsBase, ClassNameProps, PixelEventType } from '../common';
5
5
  export declare enum AuthorType {
6
6
  Column = "column",
7
7
  Line = "line"
@@ -100,7 +100,7 @@ export interface BackgroundImageProps extends React.HTMLProps<HTMLDivElement>, P
100
100
  imageClassName?: string;
101
101
  hide?: boolean;
102
102
  }
103
- export interface MediaVideoProps {
103
+ export interface MediaVideoProps extends AnalyticsEventsBase {
104
104
  src: string[];
105
105
  type?: MediaVideoType;
106
106
  loop?: LoopProps | boolean;
@@ -111,7 +111,7 @@ export interface MediaVideoProps {
111
111
  controls?: MediaVideoControlsType;
112
112
  metrika?: MetrikaVideo;
113
113
  }
114
- export interface LinkProps extends Stylable {
114
+ export interface LinkProps extends AnalyticsEventsBase, Stylable {
115
115
  url: string;
116
116
  text?: string;
117
117
  textSize?: TextSize;
@@ -130,7 +130,7 @@ export interface FileLinkProps extends ClassNameProps {
130
130
  theme?: ContentTheme;
131
131
  onClick?: () => void;
132
132
  }
133
- export interface ButtonProps {
133
+ export interface ButtonProps extends AnalyticsEventsBase {
134
134
  text: string;
135
135
  url: string;
136
136
  primary?: boolean;
@@ -163,7 +163,7 @@ export interface MediaVideoProps {
163
163
  metrika?: MetrikaVideo;
164
164
  }
165
165
  export type ThemedMediaVideoProps = ThemeSupporting<MediaVideoProps>;
166
- export interface MediaComponentVideoProps {
166
+ export interface MediaComponentVideoProps extends AnalyticsEventsBase {
167
167
  video: MediaVideoProps;
168
168
  height?: number;
169
169
  metrika?: MetrikaVideo;
@@ -3,7 +3,7 @@ import { ThemeSupporting } from '../../utils';
3
3
  import { HubspotEventData, HubspotEventHandlers } from '../../utils/hubspot';
4
4
  import { AuthorItem, ButtonPixel, ButtonProps, CardBaseProps, ContentTheme, DividerSize, ImageObjectProps, ImageProps, LinkProps, MediaProps, PriceDetailedProps, TextTheme, Themable, ThemedImage } from './common';
5
5
  import { ContentBlockProps } from './blocks';
6
- import { PixelEvent } from '../common';
6
+ import { AnalyticsEventsBase, PixelEvent } from '../common';
7
7
  export declare enum SubBlockType {
8
8
  Divider = "divider",
9
9
  Quote = "quote",
@@ -38,7 +38,7 @@ export interface DividerProps {
38
38
  size?: DividerSize;
39
39
  border?: boolean;
40
40
  }
41
- export interface HubspotFormProps extends HubspotEventHandlers {
41
+ export interface HubspotFormProps extends HubspotEventHandlers, AnalyticsEventsBase {
42
42
  className?: string;
43
43
  theme?: ContentTheme;
44
44
  isMobile?: boolean;
@@ -4,19 +4,13 @@ export declare enum NavigationItemType {
4
4
  Link = "link",
5
5
  Dropdown = "dropdown",
6
6
  Button = "button",
7
- Social = "social",
8
- GithubStars = "github-stars"
7
+ Social = "social"
9
8
  }
10
9
  export interface NavigationItemBase {
11
10
  text: string;
12
11
  icon?: ImageProps;
13
12
  url?: string;
14
13
  }
15
- export interface NavigationGithubButton extends Omit<NavigationItemBase, 'icon'> {
16
- type: NavigationItemType.GithubStars;
17
- url: string;
18
- label?: string;
19
- }
20
14
  export interface NavigationLinkItem extends Omit<NavigationItemBase, 'url'> {
21
15
  type: NavigationItemType.Link;
22
16
  url: string;
@@ -35,8 +29,8 @@ export interface NavigationSocialItem extends Omit<NavigationItemBase, 'text'> {
35
29
  icon: ImageProps;
36
30
  url: string;
37
31
  }
38
- export type NavigationItemModel = NavigationLinkItem | NavigationButtonItem | NavigationDropdownItem | NavigationGithubButton;
39
- export type NavigationItemData = NavigationLinkItem | NavigationButtonItem | NavigationSocialItem | DropdownItemData | NavigationGithubButton;
32
+ export type NavigationItemModel = NavigationLinkItem | NavigationButtonItem | NavigationDropdownItem;
33
+ export type NavigationItemData = NavigationLinkItem | NavigationButtonItem | NavigationSocialItem | DropdownItemData;
40
34
  export type DropdownItemData = Omit<NavigationDropdownItem, 'items'>;
41
35
  export interface NavigationLogoData {
42
36
  icon: ImageProps;
@@ -7,5 +7,4 @@ var NavigationItemType;
7
7
  NavigationItemType["Dropdown"] = "dropdown";
8
8
  NavigationItemType["Button"] = "button";
9
9
  NavigationItemType["Social"] = "social";
10
- NavigationItemType["GithubStars"] = "github-stars";
11
10
  })(NavigationItemType = exports.NavigationItemType || (exports.NavigationItemType = {}));
@@ -0,0 +1,2 @@
1
+ import { AnalyticsCounters } from '../models';
2
+ export declare const isCounterAllowed: (counter: string, counters?: AnalyticsCounters) => boolean;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCounterAllowed = void 0;
4
+ const isCounterAllowed = (counter, counters) => {
5
+ var _a, _b;
6
+ if (!counters) {
7
+ return true;
8
+ }
9
+ if ((_a = counters.exclude) === null || _a === void 0 ? void 0 : _a.includes(counter)) {
10
+ return false;
11
+ }
12
+ else if ((_b = counters.include) === null || _b === void 0 ? void 0 : _b.includes(counter)) {
13
+ return true;
14
+ }
15
+ return false;
16
+ };
17
+ exports.isCounterAllowed = isCounterAllowed;
@@ -1,4 +1,5 @@
1
1
  export * from './common';
2
+ export * from './analytics';
2
3
  export * from './blocks';
3
4
  export * from './scroll';
4
5
  export * from './url';
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.isHubspotEventData = exports.configure = exports.Lang = void 0;
18
18
  __exportStar(require("./common"), exports);
19
+ __exportStar(require("./analytics"), exports);
19
20
  __exportStar(require("./blocks"), exports);
20
21
  __exportStar(require("./scroll"), exports);
21
22
  __exportStar(require("./url"), exports);
@@ -1,14 +0,0 @@
1
- .pc-github-stars {
2
- position: relative;
3
- display: flex;
4
- align-items: center;
5
- white-space: nowrap;
6
- display: flex;
7
- align-items: center;
8
- height: 100%;
9
- }
10
- .pc-github-stars span {
11
- display: flex;
12
- flex-direction: column;
13
- justify-content: center;
14
- }
@@ -1,5 +0,0 @@
1
- import { NavigationItemProps } from '../../NavigationItem';
2
- import { NavigationGithubButton } from '../../../../../models';
3
- type NavigationGithubButtonProps = NavigationItemProps & NavigationGithubButton;
4
- export declare const GithubStars: ({ text, url, className, label }: NavigationGithubButtonProps) => JSX.Element;
5
- export {};
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GithubStars = void 0;
4
- const tslib_1 = require("tslib");
5
- const react_1 = tslib_1.__importDefault(require("react"));
6
- const react_github_btn_1 = tslib_1.__importDefault(require("react-github-btn"));
7
- const utils_1 = require("../../../../../utils");
8
- const b = (0, utils_1.block)('github-stars');
9
- const GithubStars = ({ text, url, className, label }) => (react_1.default.createElement("div", { className: b(null, className) },
10
- react_1.default.createElement(react_github_btn_1.default, { href: url, "data-show-count": "true", "aria-label": label || 'Stars on GitHub' }, text)));
11
- exports.GithubStars = GithubStars;
@@ -1,14 +0,0 @@
1
- .pc-github-stars {
2
- position: relative;
3
- display: flex;
4
- align-items: center;
5
- white-space: nowrap;
6
- display: flex;
7
- align-items: center;
8
- height: 100%;
9
- }
10
- .pc-github-stars span {
11
- display: flex;
12
- flex-direction: column;
13
- justify-content: center;
14
- }
@@ -1,6 +0,0 @@
1
- import { NavigationItemProps } from '../../NavigationItem';
2
- import { NavigationGithubButton } from '../../../../../models';
3
- import './GithubStars.css';
4
- type NavigationGithubButtonProps = NavigationItemProps & NavigationGithubButton;
5
- export declare const GithubStars: ({ text, url, className, label }: NavigationGithubButtonProps) => JSX.Element;
6
- export {};
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
- import GitHubButton from 'react-github-btn';
3
- import { block } from '../../../../../utils';
4
- import './GithubStars.css';
5
- const b = block('github-stars');
6
- export const GithubStars = ({ text, url, className, label }) => (React.createElement("div", { className: b(null, className) },
7
- React.createElement(GitHubButton, { href: url, "data-show-count": "true", "aria-label": label || 'Stars on GitHub' }, text)));