@doyourjob/gravity-ui-page-constructor 5.31.136 → 5.31.138-dev.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 (111) hide show
  1. package/build/cjs/blocks/Advantages/Advantages.css +132 -0
  2. package/build/cjs/blocks/Advantages/Advantages.d.ts +3 -0
  3. package/build/cjs/blocks/Advantages/Advantages.js +34 -0
  4. package/build/cjs/blocks/Advantages/schema.d.ts +56 -0
  5. package/build/cjs/blocks/Advantages/schema.js +36 -0
  6. package/build/cjs/blocks/Benchmark/Benchmark.css +75 -0
  7. package/build/cjs/blocks/Benchmark/Benchmark.d.ts +4 -0
  8. package/build/cjs/blocks/Benchmark/Benchmark.js +26 -0
  9. package/build/cjs/blocks/Benchmark/schema.d.ts +328 -0
  10. package/build/cjs/blocks/Benchmark/schema.js +54 -0
  11. package/build/cjs/blocks/index.d.ts +2 -0
  12. package/build/cjs/blocks/index.js +5 -1
  13. package/build/cjs/blocks/validators.d.ts +1 -0
  14. package/build/cjs/blocks/validators.js +1 -0
  15. package/build/cjs/components/AnimateBlock/AnimateBlock.d.ts +1 -0
  16. package/build/cjs/components/AnimateBlock/AnimateBlock.js +2 -1
  17. package/build/cjs/components/Odometer/Odometer.d.ts +9 -0
  18. package/build/cjs/components/Odometer/Odometer.js +28 -0
  19. package/build/cjs/components/Odometer/useOdometer.d.ts +1 -0
  20. package/build/cjs/components/Odometer/useOdometer.js +106 -0
  21. package/build/cjs/components/VideoBlock/VideoBlock.css +2 -1
  22. package/build/cjs/components/index.d.ts +1 -0
  23. package/build/cjs/components/index.js +3 -1
  24. package/build/cjs/constructor-items.d.ts +4 -1
  25. package/build/cjs/constructor-items.js +3 -0
  26. package/build/cjs/containers/PageConstructor/PageConstructor.css +3 -0
  27. package/build/cjs/internal-typings/global.d.ts +8 -0
  28. package/build/cjs/models/constructor-items/blocks.d.ts +36 -2
  29. package/build/cjs/models/constructor-items/blocks.js +2 -0
  30. package/build/cjs/models/constructor-items/sub-blocks.d.ts +20 -2
  31. package/build/cjs/models/constructor-items/sub-blocks.js +1 -0
  32. package/build/cjs/schema/constants.d.ts +308 -0
  33. package/build/cjs/schema/constants.js +5 -2
  34. package/build/cjs/schema/validators/blocks.d.ts +2 -0
  35. package/build/cjs/schema/validators/blocks.js +2 -0
  36. package/build/cjs/schema/validators/sub-blocks.d.ts +1 -0
  37. package/build/cjs/schema/validators/sub-blocks.js +1 -0
  38. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.css +6 -0
  39. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.d.ts +1 -1
  40. package/build/cjs/sub-blocks/LayoutItem/LayoutItem.js +2 -2
  41. package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +3 -0
  42. package/build/cjs/sub-blocks/LayoutItem/schema.js +3 -1
  43. package/build/cjs/sub-blocks/StoryCard/StoryCard.css +93 -0
  44. package/build/cjs/sub-blocks/StoryCard/StoryCard.d.ts +4 -0
  45. package/build/cjs/sub-blocks/StoryCard/StoryCard.js +33 -0
  46. package/build/cjs/sub-blocks/StoryCard/schema.d.ts +310 -0
  47. package/build/cjs/sub-blocks/StoryCard/schema.js +22 -0
  48. package/build/cjs/sub-blocks/index.d.ts +1 -0
  49. package/build/cjs/sub-blocks/index.js +3 -1
  50. package/build/cjs/text-transform/config.js +22 -0
  51. package/build/esm/blocks/Advantages/Advantages.css +132 -0
  52. package/build/esm/blocks/Advantages/Advantages.d.ts +4 -0
  53. package/build/esm/blocks/Advantages/Advantages.js +30 -0
  54. package/build/esm/blocks/Advantages/schema.d.ts +56 -0
  55. package/build/esm/blocks/Advantages/schema.js +33 -0
  56. package/build/esm/blocks/Benchmark/Benchmark.css +75 -0
  57. package/build/esm/blocks/Benchmark/Benchmark.d.ts +5 -0
  58. package/build/esm/blocks/Benchmark/Benchmark.js +24 -0
  59. package/build/esm/blocks/Benchmark/schema.d.ts +328 -0
  60. package/build/esm/blocks/Benchmark/schema.js +51 -0
  61. package/build/esm/blocks/index.d.ts +2 -0
  62. package/build/esm/blocks/index.js +2 -0
  63. package/build/esm/blocks/validators.d.ts +1 -0
  64. package/build/esm/blocks/validators.js +1 -0
  65. package/build/esm/components/AnimateBlock/AnimateBlock.d.ts +1 -0
  66. package/build/esm/components/AnimateBlock/AnimateBlock.js +2 -1
  67. package/build/esm/components/Odometer/Odometer.d.ts +9 -0
  68. package/build/esm/components/Odometer/Odometer.js +25 -0
  69. package/build/esm/components/Odometer/useOdometer.d.ts +1 -0
  70. package/build/esm/components/Odometer/useOdometer.js +102 -0
  71. package/build/esm/components/VideoBlock/VideoBlock.css +2 -1
  72. package/build/esm/components/index.d.ts +1 -0
  73. package/build/esm/components/index.js +1 -0
  74. package/build/esm/constructor-items.d.ts +4 -1
  75. package/build/esm/constructor-items.js +5 -2
  76. package/build/esm/containers/PageConstructor/PageConstructor.css +3 -0
  77. package/build/esm/internal-typings/global.d.ts +8 -0
  78. package/build/esm/models/constructor-items/blocks.d.ts +36 -2
  79. package/build/esm/models/constructor-items/blocks.js +2 -0
  80. package/build/esm/models/constructor-items/sub-blocks.d.ts +20 -2
  81. package/build/esm/models/constructor-items/sub-blocks.js +1 -0
  82. package/build/esm/schema/constants.d.ts +308 -0
  83. package/build/esm/schema/constants.js +7 -4
  84. package/build/esm/schema/validators/blocks.d.ts +2 -0
  85. package/build/esm/schema/validators/blocks.js +2 -0
  86. package/build/esm/schema/validators/sub-blocks.d.ts +1 -0
  87. package/build/esm/schema/validators/sub-blocks.js +1 -0
  88. package/build/esm/sub-blocks/LayoutItem/LayoutItem.css +6 -0
  89. package/build/esm/sub-blocks/LayoutItem/LayoutItem.d.ts +1 -1
  90. package/build/esm/sub-blocks/LayoutItem/LayoutItem.js +2 -2
  91. package/build/esm/sub-blocks/LayoutItem/schema.d.ts +3 -0
  92. package/build/esm/sub-blocks/LayoutItem/schema.js +3 -1
  93. package/build/esm/sub-blocks/StoryCard/StoryCard.css +93 -0
  94. package/build/esm/sub-blocks/StoryCard/StoryCard.d.ts +5 -0
  95. package/build/esm/sub-blocks/StoryCard/StoryCard.js +31 -0
  96. package/build/esm/sub-blocks/StoryCard/schema.d.ts +310 -0
  97. package/build/esm/sub-blocks/StoryCard/schema.js +19 -0
  98. package/build/esm/sub-blocks/index.d.ts +1 -0
  99. package/build/esm/sub-blocks/index.js +1 -0
  100. package/build/esm/text-transform/config.js +22 -0
  101. package/package.json +1 -1
  102. package/schema/index.js +1 -1
  103. package/server/models/constructor-items/blocks.d.ts +36 -2
  104. package/server/models/constructor-items/blocks.js +2 -0
  105. package/server/models/constructor-items/sub-blocks.d.ts +20 -2
  106. package/server/models/constructor-items/sub-blocks.js +1 -0
  107. package/server/text-transform/config.js +22 -0
  108. package/styles/mixins.scss +8 -0
  109. package/styles/root.scss +4 -0
  110. package/styles/styles.css +3 -0
  111. package/widget/index.js +1 -1
@@ -0,0 +1,132 @@
1
+ .pc-advantages-block__item-desc, .pc-advantages-block__item-title, .pc-advantages-block__link, .pc-advantages-block__title {
2
+ margin: 0;
3
+ }
4
+
5
+ /* use this for style redefinitions to awoid problems with
6
+ unpredictable css rules order in build */
7
+ @media (min-width: 769px) {
8
+ .pc-advantages-block.pc-AnimateBlock, .pc-AnimateBlock .pc-advantages-block {
9
+ position: relative;
10
+ top: 100px;
11
+ opacity: 0;
12
+ }
13
+ .pc-advantages-block.pc-AnimateBlock.animate, .pc-AnimateBlock .pc-advantages-block.animate {
14
+ top: 0;
15
+ opacity: 1;
16
+ transition: top 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
17
+ transition-delay: 0s;
18
+ }
19
+ }
20
+ .pc-advantages-block__header {
21
+ flex: 1;
22
+ display: flex;
23
+ flex-direction: column;
24
+ }
25
+ .pc-advantages-block__header.pc-advantages-block__header {
26
+ padding-top: 32px;
27
+ padding-bottom: 32px;
28
+ }
29
+
30
+ .pc-advantages-block__title {
31
+ font-weight: var(--g-text-accent-font-weight);
32
+ font-size: 48px;
33
+ line-height: 52px;
34
+ color: var(--pc-color-ab-base);
35
+ }
36
+ .pc-advantages-block__title p {
37
+ margin: 0;
38
+ }
39
+ @media (max-width: 577px) {
40
+ .pc-advantages-block__title {
41
+ font-size: var(--g-text-display-2-font-size, var(--pc-text-display-2-font-size));
42
+ line-height: var(--g-text-display-2-line-height, var(--pc-text-display-2-line-height));
43
+ }
44
+ }
45
+ .pc-advantages-block__link {
46
+ font-weight: var(--g-text-accent-font-weight);
47
+ font-size: 48px;
48
+ line-height: 52px;
49
+ transition: color 0.3s ease;
50
+ color: var(--pc-color-ab-second);
51
+ margin-bottom: 32px;
52
+ }
53
+ @media (hover: hover) and (pointer: fine) {
54
+ .pc-advantages-block__link:hover {
55
+ color: var(--pc-color-ab-base);
56
+ }
57
+ }
58
+ @media (max-width: 577px) {
59
+ .pc-advantages-block__link {
60
+ font-size: var(--g-text-display-2-font-size, var(--pc-text-display-2-font-size));
61
+ line-height: var(--g-text-display-2-line-height, var(--pc-text-display-2-line-height));
62
+ }
63
+ }
64
+ .pc-advantages-block__wrap-logo {
65
+ margin-top: auto;
66
+ }
67
+ .pc-advantages-block__logo {
68
+ display: block;
69
+ object-fit: contain;
70
+ height: 76px;
71
+ }
72
+ .pc-advantages-block__item {
73
+ display: flex;
74
+ margin-left: 0;
75
+ margin-bottom: 16px;
76
+ border-left: none;
77
+ border-right: none;
78
+ border-top: 1px var(--pc-color-ab-border) solid;
79
+ transition: opacity 0.3s ease;
80
+ }
81
+ @media (hover: hover) and (pointer: fine) {
82
+ .pc-advantages-block__item:hover {
83
+ opacity: 0.5;
84
+ }
85
+ }
86
+ .pc-advantages-block__item-wrap {
87
+ padding: 32px 0;
88
+ }
89
+ .pc-advantages-block__item-image {
90
+ width: 230px;
91
+ height: 230px;
92
+ display: block;
93
+ margin-left: 32px;
94
+ }
95
+ .pc-advantages-block__item-title {
96
+ font-size: var(--g-text-header-2-font-size, var(--pc-text-header-2-font-size));
97
+ line-height: var(--g-text-header-2-line-height, var(--pc-text-header-2-line-height));
98
+ color: var(--pc-text-header-color);
99
+ font-weight: var(--g-text-accent-font-weight);
100
+ color: var(--pc-color-ab-second);
101
+ margin-bottom: 8px;
102
+ }
103
+ .pc-advantages-block__item-desc {
104
+ font-size: var(--g-text-header-2-font-size, var(--pc-text-header-2-font-size));
105
+ line-height: var(--g-text-header-2-line-height, var(--pc-text-header-2-line-height));
106
+ color: var(--pc-text-header-color);
107
+ font-weight: var(--g-text-accent-font-weight);
108
+ color: var(--pc-color-ab-base);
109
+ opacity: 0.6;
110
+ }
111
+ @media (min-width: 1185px) {
112
+ .pc-advantages-block__item {
113
+ border-left: 1px var(--pc-color-ab-border) solid;
114
+ border-right: 1px var(--pc-color-ab-border) solid;
115
+ margin-left: 8px;
116
+ margin-bottom: 0;
117
+ }
118
+ .pc-advantages-block__item + .pc-advantages-block__item {
119
+ border-top: 1px var(--pc-color-ab-border) solid;
120
+ }
121
+ .pc-advantages-block__item-wrap {
122
+ padding: 32px;
123
+ }
124
+ }
125
+ @media (max-width: 769px) {
126
+ .pc-advantages-block__item {
127
+ flex-direction: column;
128
+ }
129
+ .pc-advantages-block__item-wrap {
130
+ padding: 16px 0;
131
+ }
132
+ }
@@ -0,0 +1,3 @@
1
+ import { AdvantagesBlockProps } from '../../models';
2
+ export declare const AdvantagesBlock: (props: AdvantagesBlockProps) => JSX.Element;
3
+ export default AdvantagesBlock;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdvantagesBlock = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const uikit_1 = require("@gravity-ui/uikit");
7
+ const components_1 = require("../../components");
8
+ const AnimateBlock_1 = tslib_1.__importDefault(require("../../components/AnimateBlock/AnimateBlock"));
9
+ const grid_1 = require("../../grid");
10
+ const utils_1 = require("../../utils");
11
+ const b = (0, utils_1.block)('advantages-block');
12
+ const colSizesHeader = { all: 12, xl: 6 };
13
+ const colSizesBody = { all: 12, xl: 6 };
14
+ const AdvantagesBlock = (props) => {
15
+ const { animated, title, link, logo, items } = props;
16
+ return (react_1.default.createElement(AnimateBlock_1.default, { className: b(), animate: animated },
17
+ react_1.default.createElement(grid_1.Grid, null,
18
+ react_1.default.createElement(grid_1.Row, null,
19
+ react_1.default.createElement(grid_1.Col, { sizes: colSizesHeader, className: b('header') },
20
+ title && (react_1.default.createElement("h2", { className: b('title') },
21
+ react_1.default.createElement(components_1.HTML, null, title))),
22
+ link && (react_1.default.createElement(uikit_1.Link, { className: b('link'), href: link.url }, link.text)),
23
+ logo && (react_1.default.createElement("div", { className: b('wrap-logo') },
24
+ react_1.default.createElement(components_1.Image, { className: b('logo'), src: logo, alt: "", "aria-hidden": "true" })))),
25
+ react_1.default.createElement(grid_1.Col, { sizes: colSizesBody },
26
+ react_1.default.createElement(grid_1.Grid, null, items === null || items === void 0 ? void 0 : items.map((item, index) => (react_1.default.createElement(components_1.RouterLink, { href: item.url, key: index },
27
+ react_1.default.createElement(uikit_1.Link, { href: item.url, className: b('item') },
28
+ react_1.default.createElement("div", { className: b('item-wrap') },
29
+ react_1.default.createElement("h3", { className: b('item-title') }, item.title),
30
+ react_1.default.createElement("div", { className: b('item-desc') }, item.description)),
31
+ item.image && (react_1.default.createElement(components_1.Image, { className: b('item-image'), src: item.image, alt: "", "aria-hidden": "true" }))))))))))));
32
+ };
33
+ exports.AdvantagesBlock = AdvantagesBlock;
34
+ exports.default = exports.AdvantagesBlock;
@@ -0,0 +1,56 @@
1
+ export declare const AdvantagesBlock: {
2
+ 'advantages-block': {
3
+ additionalProperties: boolean;
4
+ required: boolean;
5
+ properties: {
6
+ title: {
7
+ type: string;
8
+ };
9
+ link: {
10
+ type: string;
11
+ additionalProperties: boolean;
12
+ required: boolean;
13
+ properties: {
14
+ url: {
15
+ type: string;
16
+ };
17
+ text: {
18
+ type: string;
19
+ };
20
+ };
21
+ };
22
+ logo: {
23
+ type: string;
24
+ };
25
+ items: {
26
+ type: string;
27
+ items: {
28
+ type: string;
29
+ additionalProperties: boolean;
30
+ required: boolean;
31
+ properties: {
32
+ url: {
33
+ type: string;
34
+ };
35
+ image: {
36
+ type: string;
37
+ };
38
+ title: {
39
+ type: string;
40
+ };
41
+ description: {
42
+ type: string;
43
+ };
44
+ };
45
+ };
46
+ };
47
+ animated: {
48
+ type: string;
49
+ };
50
+ type: {};
51
+ when: {
52
+ type: string;
53
+ };
54
+ };
55
+ };
56
+ };
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdvantagesBlock = void 0;
4
+ const common_1 = require("../../schema/validators/common");
5
+ exports.AdvantagesBlock = {
6
+ 'advantages-block': {
7
+ additionalProperties: false,
8
+ required: false,
9
+ properties: Object.assign(Object.assign(Object.assign({}, common_1.BaseProps), common_1.AnimatableProps), { title: {
10
+ type: 'string',
11
+ }, link: {
12
+ type: 'object',
13
+ additionalProperties: false,
14
+ required: true,
15
+ properties: {
16
+ url: { type: 'string' },
17
+ text: { type: 'string' },
18
+ },
19
+ }, logo: {
20
+ type: 'string',
21
+ }, items: {
22
+ type: 'array',
23
+ items: {
24
+ type: 'object',
25
+ additionalProperties: false,
26
+ required: true,
27
+ properties: {
28
+ url: { type: 'string' },
29
+ image: { type: 'string' },
30
+ title: { type: 'string' },
31
+ description: { type: 'string' },
32
+ },
33
+ },
34
+ } }),
35
+ },
36
+ };
@@ -0,0 +1,75 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-benchmark-block {
4
+ display: flex;
5
+ flex-direction: column;
6
+ align-items: center;
7
+ }
8
+ .pc-benchmark-block__title {
9
+ margin-bottom: 32px;
10
+ }
11
+ .pc-benchmark-block__content {
12
+ flex: 1;
13
+ border: 1px #001a2b solid;
14
+ border-radius: 24px;
15
+ overflow: hidden;
16
+ }
17
+ .pc-benchmark-block__wrap {
18
+ display: flex;
19
+ flex-direction: column;
20
+ align-items: center;
21
+ border: 0.5px #001a2b solid;
22
+ margin-top: -0.5px;
23
+ margin-bottom: -0.5px;
24
+ }
25
+ .pc-benchmark-block__wrap.pc-benchmark-block__wrap {
26
+ padding-top: 32px;
27
+ padding-bottom: 24px;
28
+ }
29
+
30
+ .pc-benchmark-block__wrap-inner {
31
+ width: 100%;
32
+ display: flex;
33
+ }
34
+ @media (max-width: 1081px) {
35
+ .pc-benchmark-block__wrap-inner {
36
+ flex-direction: column;
37
+ }
38
+ }
39
+ .pc-benchmark-block__wrap-title {
40
+ text-align: center;
41
+ margin-bottom: 48px;
42
+ }
43
+ @media (max-width: 1081px) {
44
+ .pc-benchmark-block__wrap-title {
45
+ margin-bottom: 24px;
46
+ }
47
+ }
48
+ .pc-benchmark-block__item {
49
+ flex: 1;
50
+ text-align: center;
51
+ padding-left: 8px;
52
+ padding-right: 8px;
53
+ }
54
+ @media (max-width: 1081px) {
55
+ .pc-benchmark-block__item + .pc-benchmark-block__item {
56
+ margin-top: 32px;
57
+ }
58
+ }
59
+ .pc-benchmark-block__value {
60
+ font-size: 64px;
61
+ line-height: 52px;
62
+ font-weight: 600;
63
+ letter-spacing: -0.002em;
64
+ margin-top: 12px;
65
+ margin-bottom: 12px;
66
+ }
67
+ @media (max-width: 769px) {
68
+ .pc-benchmark-block__value {
69
+ font-size: 32px;
70
+ line-height: 26px;
71
+ }
72
+ }
73
+ .pc-benchmark-block__label {
74
+ font-weight: 700;
75
+ }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { BenchmarkBlockProps } from '../../models';
3
+ declare const Benchmark: React.FC<BenchmarkBlockProps>;
4
+ export default Benchmark;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importStar(require("react"));
5
+ const uikit_1 = require("@gravity-ui/uikit");
6
+ const components_1 = require("../../components");
7
+ const grid_1 = require("../../grid");
8
+ const utils_1 = require("../../utils");
9
+ const b = (0, utils_1.block)('benchmark-block');
10
+ const defaultSizes = { all: 12 };
11
+ const Benchmark = ({ title, data, duration, animated }) => {
12
+ const [playNumbers, setPlayNumbers] = (0, react_1.useState)(false);
13
+ const handleOnAnimateStart = (0, react_1.useCallback)(() => setPlayNumbers(true), []);
14
+ return (react_1.default.createElement(components_1.AnimateBlock, { className: b(), animate: animated, onAnimateStart: handleOnAnimateStart },
15
+ title && react_1.default.createElement(components_1.Title, { title: title, className: b('title') }),
16
+ react_1.default.createElement(grid_1.Grid, { className: b('content') },
17
+ react_1.default.createElement(grid_1.Row, null, data.map((column, columnIndex) => (react_1.default.createElement(grid_1.Col, { key: columnIndex, sizes: column.sizes || defaultSizes, className: b('wrap') },
18
+ column.title && (react_1.default.createElement(uikit_1.Text, { variant: "header-2", className: b('wrap-title') }, column.title)),
19
+ react_1.default.createElement("div", { className: b('wrap-inner') }, column.items.map((item, index) => (react_1.default.createElement("div", { key: index, className: b('item') },
20
+ item.top && (react_1.default.createElement(uikit_1.Text, { variant: "body-1", className: b('label') }, item.top)),
21
+ react_1.default.createElement("div", { className: b('value') },
22
+ react_1.default.createElement(components_1.Odometer, { value: item.value, initValue: item.init, duration: duration, animated: playNumbers }),
23
+ item.postfix),
24
+ item.bottom && (react_1.default.createElement(uikit_1.Text, { variant: "body-1", className: b('label') }, item.bottom)))))))))))));
25
+ };
26
+ exports.default = Benchmark;